diff --git a/lib/build/antlr4-runtime-4.13.2.jar b/lib/build/antlr4-runtime-4.13.2.jar deleted file mode 100644 index 350c1d0f..00000000 Binary files a/lib/build/antlr4-runtime-4.13.2.jar and /dev/null differ diff --git a/lib/build/asm-9.7.1.jar b/lib/build/asm-9.8.jar similarity index 84% rename from lib/build/asm-9.7.1.jar rename to lib/build/asm-9.8.jar index fe3d0016..4f0c86e0 100644 Binary files a/lib/build/asm-9.7.1.jar and b/lib/build/asm-9.8.jar differ diff --git a/lib/build/closure-compiler-v20240317.jar b/lib/build/closure-compiler-v20250407.jar similarity index 65% rename from lib/build/closure-compiler-v20240317.jar rename to lib/build/closure-compiler-v20250407.jar index 1025f31a..424f24c6 100644 Binary files a/lib/build/closure-compiler-v20240317.jar and b/lib/build/closure-compiler-v20250407.jar differ diff --git a/lib/build/commons-beanutils-1.10.1.jar b/lib/build/commons-beanutils-1.11.0.jar similarity index 64% rename from lib/build/commons-beanutils-1.10.1.jar rename to lib/build/commons-beanutils-1.11.0.jar index 16080c18..6b7b9936 100644 Binary files a/lib/build/commons-beanutils-1.10.1.jar and b/lib/build/commons-beanutils-1.11.0.jar differ diff --git a/lib/build/commons-collections4-4.4.jar b/lib/build/commons-collections4-4.4.jar deleted file mode 100644 index da06c3e4..00000000 Binary files a/lib/build/commons-collections4-4.4.jar and /dev/null differ diff --git a/lib/build/commons-collections4-4.5.0.jar b/lib/build/commons-collections4-4.5.0.jar new file mode 100644 index 00000000..aa1c4ef2 Binary files /dev/null and b/lib/build/commons-collections4-4.5.0.jar differ diff --git a/lib/build/commons-jexl3-3.4.0.jar b/lib/build/commons-jexl3-3.4.0.jar deleted file mode 100644 index 93788e2d..00000000 Binary files a/lib/build/commons-jexl3-3.4.0.jar and /dev/null differ diff --git a/lib/build/commons-jexl3-3.5.0.jar b/lib/build/commons-jexl3-3.5.0.jar new file mode 100644 index 00000000..4f01d06f Binary files /dev/null and b/lib/build/commons-jexl3-3.5.0.jar differ diff --git a/lib/build/core-0.6.8.jar b/lib/build/core-0.6.8.jar deleted file mode 100644 index ad86ce44..00000000 Binary files a/lib/build/core-0.6.8.jar and /dev/null differ diff --git a/lib/build/core-0.6.9.jar b/lib/build/core-0.6.9.jar new file mode 100644 index 00000000..c570f8fd Binary files /dev/null and b/lib/build/core-0.6.9.jar differ diff --git a/lib/build/flyway-core-11.4.1.jar b/lib/build/flyway-core-11.7.2.jar similarity index 75% rename from lib/build/flyway-core-11.4.1.jar rename to lib/build/flyway-core-11.7.2.jar index f3aaaa50..08cc3a18 100644 Binary files a/lib/build/flyway-core-11.4.1.jar and b/lib/build/flyway-core-11.7.2.jar differ diff --git a/lib/build/flyway-database-postgresql-11.4.1.jar b/lib/build/flyway-database-postgresql-11.7.2.jar similarity index 83% rename from lib/build/flyway-database-postgresql-11.4.1.jar rename to lib/build/flyway-database-postgresql-11.7.2.jar index 4deb732f..94829eb7 100644 Binary files a/lib/build/flyway-database-postgresql-11.4.1.jar and b/lib/build/flyway-database-postgresql-11.7.2.jar differ diff --git a/lib/build/gson-2.13.0.jar b/lib/build/gson-2.13.1.jar similarity index 76% rename from lib/build/gson-2.13.0.jar rename to lib/build/gson-2.13.1.jar index 4db5cce2..159b930f 100644 Binary files a/lib/build/gson-2.13.0.jar and b/lib/build/gson-2.13.1.jar differ diff --git a/lib/build/jackson-annotations-2.18.3.jar b/lib/build/jackson-annotations-2.19.0.jar similarity index 75% rename from lib/build/jackson-annotations-2.18.3.jar rename to lib/build/jackson-annotations-2.19.0.jar index b0320196..6b884750 100644 Binary files a/lib/build/jackson-annotations-2.18.3.jar and b/lib/build/jackson-annotations-2.19.0.jar differ diff --git a/lib/build/jackson-core-2.18.3.jar b/lib/build/jackson-core-2.19.0.jar similarity index 51% rename from lib/build/jackson-core-2.18.3.jar rename to lib/build/jackson-core-2.19.0.jar index febb5dfe..9e9dd143 100644 Binary files a/lib/build/jackson-core-2.18.3.jar and b/lib/build/jackson-core-2.19.0.jar differ diff --git a/lib/build/jackson-databind-2.18.3.jar b/lib/build/jackson-databind-2.18.3.jar deleted file mode 100644 index 33265047..00000000 Binary files a/lib/build/jackson-databind-2.18.3.jar and /dev/null differ diff --git a/lib/build/jackson-databind-2.19.0.jar b/lib/build/jackson-databind-2.19.0.jar new file mode 100644 index 00000000..6dd6f975 Binary files /dev/null and b/lib/build/jackson-databind-2.19.0.jar differ diff --git a/lib/build/jackson-dataformat-toml-2.18.3.jar b/lib/build/jackson-dataformat-toml-2.18.3.jar deleted file mode 100644 index 75044509..00000000 Binary files a/lib/build/jackson-dataformat-toml-2.18.3.jar and /dev/null differ diff --git a/lib/build/jackson-dataformat-toml-2.19.0.jar b/lib/build/jackson-dataformat-toml-2.19.0.jar new file mode 100644 index 00000000..48636480 Binary files /dev/null and b/lib/build/jackson-dataformat-toml-2.19.0.jar differ diff --git a/lib/build/jackson-datatype-jsr310-2.18.3.jar b/lib/build/jackson-datatype-jsr310-2.19.0.jar similarity index 61% rename from lib/build/jackson-datatype-jsr310-2.18.3.jar rename to lib/build/jackson-datatype-jsr310-2.19.0.jar index e73200ed..706f9aad 100644 Binary files a/lib/build/jackson-datatype-jsr310-2.18.3.jar and b/lib/build/jackson-datatype-jsr310-2.19.0.jar differ diff --git a/lib/build/jmail-1.6.3.jar b/lib/build/jmail-1.6.3.jar deleted file mode 100644 index c19b01fd..00000000 Binary files a/lib/build/jmail-1.6.3.jar and /dev/null differ diff --git a/lib/build/jmail-2.0.0.jar b/lib/build/jmail-2.0.0.jar new file mode 100644 index 00000000..e5cf004b Binary files /dev/null and b/lib/build/jmail-2.0.0.jar differ diff --git a/lib/build/jobrunr-7.4.1.jar b/lib/build/jobrunr-7.4.1.jar deleted file mode 100644 index e08f11f2..00000000 Binary files a/lib/build/jobrunr-7.4.1.jar and /dev/null differ diff --git a/lib/build/jobrunr-7.5.1.jar b/lib/build/jobrunr-7.5.1.jar new file mode 100644 index 00000000..eb65f525 Binary files /dev/null and b/lib/build/jobrunr-7.5.1.jar differ diff --git a/lib/build/jsoup-1.19.1.jar b/lib/build/jsoup-1.19.1.jar deleted file mode 100644 index c9338554..00000000 Binary files a/lib/build/jsoup-1.19.1.jar and /dev/null differ diff --git a/lib/build/jsoup-1.20.1.jar b/lib/build/jsoup-1.20.1.jar new file mode 100644 index 00000000..951d798f Binary files /dev/null and b/lib/build/jsoup-1.20.1.jar differ diff --git a/lib/build/libphonenumber-9.0.3.jar b/lib/build/libphonenumber-9.0.3.jar deleted file mode 100644 index f1efe1bf..00000000 Binary files a/lib/build/libphonenumber-9.0.3.jar and /dev/null differ diff --git a/lib/build/libphonenumber-9.0.6.jar b/lib/build/libphonenumber-9.0.6.jar new file mode 100644 index 00000000..03ce948f Binary files /dev/null and b/lib/build/libphonenumber-9.0.6.jar differ diff --git a/lib/build/postgresql-42.7.5.jar b/lib/build/postgresql-42.7.5.jar deleted file mode 100644 index 279942c1..00000000 Binary files a/lib/build/postgresql-42.7.5.jar and /dev/null differ diff --git a/lib/build/postgresql-42.7.6.jar b/lib/build/postgresql-42.7.6.jar new file mode 100644 index 00000000..8f3bc82a Binary files /dev/null and b/lib/build/postgresql-42.7.6.jar differ diff --git a/lib/build/restfb-2025.6.0.jar b/lib/build/restfb-2025.11.0.jar similarity index 63% rename from lib/build/restfb-2025.6.0.jar rename to lib/build/restfb-2025.11.0.jar index e6d759bd..42a8cf30 100644 Binary files a/lib/build/restfb-2025.6.0.jar and b/lib/build/restfb-2025.11.0.jar differ diff --git a/lib/build/stripe-java-29.0.0.jar b/lib/build/stripe-java-29.2.0.jar similarity index 71% rename from lib/build/stripe-java-29.0.0.jar rename to lib/build/stripe-java-29.2.0.jar index 7d814225..199e6d6a 100644 Binary files a/lib/build/stripe-java-29.0.0.jar and b/lib/build/stripe-java-29.2.0.jar differ diff --git a/package-lock.json b/package-lock.json index d7978bf4..c7e01ff6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,10 +11,10 @@ "license": "Apache License 2.0", "dependencies": { "@superset-ui/embedded-sdk": "0.1.3", - "ace-builds": "1.39.1", - "add-to-calendar-button": "2.8.9", - "bootstrap": "5.3.5", - "chart.js": "4.4.8", + "ace-builds": "1.41.0", + "add-to-calendar-button": "2.9.1", + "bootstrap": "5.3.6", + "chart.js": "4.4.9", "clipboard": "2.0.11", "dragula": "3.7.3", "dropzone": "5.9.3", @@ -25,8 +25,8 @@ "jquery": "3.7.1", "jquery-formatcurrency": "1.6.3", "js-cookie": "3.0.5", - "jspreadsheet-ce": "5.0.1", - "jsuites": "5.9.2", + "jspreadsheet-ce": "5.0.2", + "jsuites": "5.10.0", "leaflet": "1.9.4", "leaflet.markercluster": "1.5.3", "masonry-layout": "4.2.2", @@ -35,10 +35,11 @@ "motion-ui": "2.0.8", "payform": "1.4.0", "prismjs": "1.30.0", + "quill": "^2.0.3", "sortablejs": "1.15.6", "spectrum-colorpicker": "1.8.1", - "swiper": "11.2.6", - "tinymce": "6.8.5", + "swiper": "11.2.8", + "tinymce": "6.8.6", "what-input": "5.2.12" }, "devDependencies": { @@ -549,9 +550,9 @@ "optional": true }, "node_modules/ace-builds": { - "version": "1.39.1", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.39.1.tgz", - "integrity": "sha512-HcJbBzx8qY66t9gZo/sQu7pi0wO/CFLdYn1LxQO1WQTfIkMfyc7LRnBpsp/oNCSSU/LL83jXHN1fqyOTuIhUjg==", + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.41.0.tgz", + "integrity": "sha512-tiEUfw7V/FpHuI4tG7KS+muOTMIuPh6zReBAD2Uqhe9t00tLeyVGxjXu0tSqz5OIPWy7/wvuJBVXAsNWx0rYvQ==", "license": "BSD-3-Clause" }, "node_modules/acorn": { @@ -578,12 +579,12 @@ } }, "node_modules/add-to-calendar-button": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/add-to-calendar-button/-/add-to-calendar-button-2.8.9.tgz", - "integrity": "sha512-l3a74NzFfkxHikmJwYk8e5lfZdWE3thHtTAQtOcecD4nMVQyfhwpfoqGrJzXIHGdFiOUNpb6ykemUWKI/cILHg==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/add-to-calendar-button/-/add-to-calendar-button-2.9.1.tgz", + "integrity": "sha512-tOvSB738Me1zgXFuJ6LVEaWf2SftEMETRch79hKLrrA+NdLR8LNk7vQSnewzDV/uzUx/wgqqvPJah3mmAGgxdQ==", "license": "ELv2", "dependencies": { - "timezones-ical-library": "^1.9.1" + "timezones-ical-library": "^1.10.0" }, "engines": { "node": ">=18.17.0", @@ -601,9 +602,9 @@ "license": "MIT" }, "node_modules/bootstrap": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.5.tgz", - "integrity": "sha512-ct1CHKtiobRimyGzmsSldEtM03E8fcEX4Tb3dGXz1V8faRwM50+vfHwTzOxB3IlKO7m+9vTH3s/3C6T2EAPeTA==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.6.tgz", + "integrity": "sha512-jX0GAcRzvdwISuvArXn3m7KZscWWFAf1MKBcnzaN02qWMb3jpMoUX4/qgeiGzqyIb4ojulRzs89UCUmGcFSzTA==", "funding": [ { "type": "github", @@ -626,9 +627,9 @@ "license": "MIT/X11" }, "node_modules/chart.js": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz", - "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.9.tgz", + "integrity": "sha512-EyZ9wWKgpAU0fLJ43YAEIF8sr5F2W3LqbS40ZJyHIner2lY14ufqv2VMp69MAiZ2rpwxEUxEhIH/0U3xyRynxg==", "license": "MIT", "dependencies": { "@kurkle/color": "^0.3.0" @@ -1239,6 +1240,18 @@ "version": "1.1.1", "license": "MIT" }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "license": "Apache-2.0" + }, "node_modules/fizzy-ui-utils": { "version": "2.0.7", "license": "MIT", @@ -1354,18 +1367,18 @@ } }, "node_modules/jspreadsheet-ce": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jspreadsheet-ce/-/jspreadsheet-ce-5.0.1.tgz", - "integrity": "sha512-yGGGEJDUznR37o9FMDDYLj5xd0lc44/avzm/YM8wvMSf0Nux0/L4S91CFU5haTJJJO9LSvcj5Xq6xl3KuIrg+g==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jspreadsheet-ce/-/jspreadsheet-ce-5.0.2.tgz", + "integrity": "sha512-Xhz/6PNe3LnxS/sp02pWN6DTn8ARW2nka6Hwe1aOpvvXXilzGYGlrMUWWjjC5ktVbbBEGl3moUQfCxBsE0scrg==", "dependencies": { "@jspreadsheet/formula": "^2.0.2", "jsuites": "^5.8.5" } }, "node_modules/jsuites": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/jsuites/-/jsuites-5.9.2.tgz", - "integrity": "sha512-VelBbqi6lLElfNUCe5hJ4i3tIyS5RDfs+FSL0eEbOujKIM6IrDrpqfWugEoIhKFqcRR6avRaR8NqjuiVIYZyvA==" + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/jsuites/-/jsuites-5.10.0.tgz", + "integrity": "sha512-s5GCJkl+LVtuPPOBUgqEA6zJf39+hGorsaw07UTkLjTFs3CmrfRTdUfN82izP266lB81hGQKRvLysIRKw+gggQ==" }, "node_modules/jwt-decode": { "version": "4.0.0", @@ -1461,6 +1474,19 @@ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "license": "MIT" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "license": "MIT" + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -1565,6 +1591,12 @@ "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.2.tgz", "integrity": "sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==" }, + "node_modules/parchment": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz", + "integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==", + "license": "BSD-3-Clause" + }, "node_modules/path-data-parser": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", @@ -1622,6 +1654,35 @@ "node": ">=6" } }, + "node_modules/quill": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/quill/-/quill-2.0.3.tgz", + "integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==", + "license": "BSD-3-Clause", + "dependencies": { + "eventemitter3": "^5.0.1", + "lodash-es": "^4.17.21", + "parchment": "^3.0.0", + "quill-delta": "^5.1.0" + }, + "engines": { + "npm": ">=8.2.3" + } + }, + "node_modules/quill-delta": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz", + "integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==", + "license": "MIT", + "dependencies": { + "fast-diff": "^1.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/robust-predicates": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", @@ -2057,9 +2118,9 @@ } }, "node_modules/swiper": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.6.tgz", - "integrity": "sha512-8aXpYKtjy3DjcbzZfz+/OX/GhcU5h+looA6PbAzHMZT6ESSycSp9nAjPCenczgJyslV+rUGse64LMGpWE3PX9Q==", + "version": "11.2.8", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.8.tgz", + "integrity": "sha512-S5FVf6zWynPWooi7pJ7lZhSUe2snTzqLuUzbd5h5PHUOhzgvW0bLKBd2wv0ixn6/5o9vwc/IkQT74CRcLJQzeg==", "funding": [ { "type": "patreon", @@ -2108,9 +2169,9 @@ "license": "MIT" }, "node_modules/timezones-ical-library": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/timezones-ical-library/-/timezones-ical-library-1.9.1.tgz", - "integrity": "sha512-OBC7oPoQi6JZn6u/2xQcFTMbe1BLjPrv+QUh5jHfYmg0QTR5HnuhwsBqHfvScNTHqTrDxqlXofXzSm2hFDC1Ow==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/timezones-ical-library/-/timezones-ical-library-1.10.0.tgz", + "integrity": "sha512-aSwylC0FyyxMqMjkuaYz56HBhhooYabGT74CbTuY1uOeIcBXSQTXf+u/mTR0MWJFPQDe21REjex+4wt0OdFDpA==", "license": "Apache-2.0", "engines": { "node": ">=18.17.0", @@ -2132,9 +2193,10 @@ "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==" }, "node_modules/tinymce": { - "version": "6.8.5", - "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.8.5.tgz", - "integrity": "sha512-qAL/FxL7cwZHj4BfaF818zeJJizK9jU5IQzTcSLL4Rj5MaJdiVblEj7aDr80VCV1w9h4Lak9hlnALhq/kVtN1g==" + "version": "6.8.6", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.8.6.tgz", + "integrity": "sha512-++XYEs8lKWvZxDCjrr8Baiw7KiikraZ5JkLMg6EdnUVNKJui0IsrAADj5MsyUeFkcEryfn2jd3p09H7REvewyg==", + "license": "MIT" }, "node_modules/ts-dedent": { "version": "2.2.0", diff --git a/package.json b/package.json index f72ae7cf..170de0dc 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,10 @@ }, "dependencies": { "@superset-ui/embedded-sdk": "0.1.3", - "ace-builds": "1.39.1", - "add-to-calendar-button": "2.8.9", - "bootstrap": "5.3.5", - "chart.js": "4.4.8", + "ace-builds": "1.41.0", + "add-to-calendar-button": "2.9.1", + "bootstrap": "5.3.6", + "chart.js": "4.4.9", "clipboard": "2.0.11", "dragula": "3.7.3", "dropzone": "5.9.3", @@ -28,8 +28,8 @@ "jquery": "3.7.1", "jquery-formatcurrency": "1.6.3", "js-cookie": "3.0.5", - "jspreadsheet-ce": "5.0.1", - "jsuites": "5.9.2", + "jspreadsheet-ce": "5.0.2", + "jsuites": "5.10.0", "leaflet": "1.9.4", "leaflet.markercluster": "1.5.3", "masonry-layout": "4.2.2", @@ -38,10 +38,11 @@ "motion-ui": "2.0.8", "payform": "1.4.0", "prismjs": "1.30.0", + "quill": "^2.0.3", "sortablejs": "1.15.6", "spectrum-colorpicker": "1.8.1", - "swiper": "11.2.6", - "tinymce": "6.8.5", + "swiper": "11.2.8", + "tinymce": "6.8.6", "what-input": "5.2.12" }, "non-npm-dependencies": { diff --git a/pom.xml b/pom.xml index 5ed7d4ef..faba5d41 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ commons-beanutils commons-beanutils - 1.10.1 + 1.11.0 commons-codec @@ -71,7 +71,7 @@ org.apache.commons commons-collections4 - 4.4 + 4.5.0 commons-collections @@ -96,7 +96,7 @@ org.apache.commons commons-jexl3 - 3.4.0 + 3.5.0 org.apache.commons @@ -126,12 +126,12 @@ org.flywaydb flyway-core - 11.4.1 + 11.7.2 org.flywaydb flyway-database-postgresql - 11.4.1 + 11.7.2 com.maxmind.geoip2 @@ -146,7 +146,7 @@ com.google.javascript closure-compiler - v20240317 + v20250407 de.grundid.opendatalab @@ -201,32 +201,32 @@ com.fasterxml.jackson.core jackson-core - 2.18.3 + 2.19.0 com.fasterxml.jackson.core jackson-databind - 2.18.3 + 2.19.0 com.fasterxml.jackson.datatype jackson-datatype-jsr310 - 2.18.3 + 2.19.0 com.fasterxml.jackson.dataformat jackson-dataformat-toml - 2.18.3 + 2.19.0 com.fasterxml.jackson.core jackson-annotations - 2.18.3 + 2.19.0 com.google.code.gson gson - 2.13.0 + 2.13.1 javax.json.bind @@ -246,7 +246,7 @@ com.sanctionco.jmail jmail - 1.6.3 + 2.0.0 org.apache.geronimo.specs @@ -256,7 +256,7 @@ org.jobrunr jobrunr - 7.4.1 + 7.5.1 org.apache.johnzon @@ -276,12 +276,12 @@ org.jsoup jsoup - 1.19.1 + 1.20.1 com.googlecode.libphonenumber libphonenumber - 9.0.3 + 9.0.6 org.projectlombok @@ -292,7 +292,7 @@ org.postgresql postgresql - 42.7.5 + 42.7.6 io.github.classgraph @@ -302,7 +302,7 @@ com.restfb restfb - 2025.6.0 + 2025.11.0 com.rometools @@ -351,7 +351,7 @@ com.stripe stripe-java - 29.0.0 + 29.2.0 org.thymeleaf @@ -396,37 +396,37 @@ org.apache.tomcat tomcat-jsp-api - 9.0.104 + 9.0.105 provided org.apache.tomcat tomcat-servlet-api - 9.0.104 + 9.0.105 provided org.junit.jupiter junit-jupiter - 5.12.2 + 5.13.0 test com.tngtech.archunit archunit-junit5 - 1.4.0 + 1.4.1 test org.mockito mockito-core - 5.17.0 + 5.18.0 test org.mockito mockito-junit-jupiter - 5.17.0 + 5.18.0 test diff --git a/src/main/webapp/WEB-INF/dependencies.json b/src/main/webapp/WEB-INF/dependencies.json index 0bdadf23..61a86134 100644 --- a/src/main/webapp/WEB-INF/dependencies.json +++ b/src/main/webapp/WEB-INF/dependencies.json @@ -9,13 +9,13 @@ }, "ace": { "package": "ace-builds", - "version": "1.39.1", + "version": "1.41.0", "paths": [ "node_modules/ace-builds/src-min-noconflict/*" ] }, "add-to-calendar-button": { - "version": "2.8.9", + "version": "2.9.1", "paths": [ "node_modules/add-to-calendar-button/dist/atcb.js" ] @@ -25,7 +25,7 @@ }, "chartjs": { "package": "chart.js", - "version": "4.4.8", + "version": "4.4.9", "paths": [ "node_modules/chart.js/dist/chart.umd.js" ] @@ -92,7 +92,7 @@ }, "jspreadsheet": { "package": "jspreadsheet-ce", - "version": "5.0.1", + "version": "5.0.2", "paths": [ "node_modules/jspreadsheet-ce/dist/index.js", "node_modules/jspreadsheet-ce/dist/index.d.ts", @@ -102,7 +102,7 @@ ] }, "jsuites": { - "version": "5.9.2", + "version": "5.10.0", "paths": [ "node_modules/jsuites/dist/jsuites.css", "node_modules/jsuites/dist/jsuites.d.ts", @@ -175,7 +175,7 @@ ] }, "swiper": { - "version": "11.2.6", + "version": "11.2.8", "paths": [ "node_modules/swiper/swiper-bundle.css", "node_modules/swiper/swiper-bundle.js", @@ -188,7 +188,7 @@ ] }, "tinymce": { - "version": "6.8.5", + "version": "6.8.6", "paths": [ "node_modules/tinymce/tinymce.js", "node_modules/tinymce/tinymce.min.js", diff --git a/src/main/webapp/javascript/ace-1.39.1/ace.js b/src/main/webapp/javascript/ace-1.39.1/ace.js deleted file mode 100644 index 772189be..00000000 --- a/src/main/webapp/javascript/ace-1.39.1/ace.js +++ /dev/null @@ -1,23 +0,0 @@ -(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;un.length)t=n.length;t-=e.length;var r=n.indexOf(e,t);return r!==-1&&r===t}),String.prototype.repeat||r(String.prototype,"repeat",function(e){var t="",n=this;while(e>0){e&1&&(t+=n);if(e>>=1)n+=n}return t}),String.prototype.includes||r(String.prototype,"includes",function(e,t){return this.indexOf(e,t)!=-1}),Object.assign||(Object.assign=function(e){if(e===undefined||e===null)throw new TypeError("Cannot convert undefined or null to object");var t=Object(e);for(var n=1;n>>0,r=arguments[1],i=r>>0,s=i<0?Math.max(n+i,0):Math.min(i,n),o=arguments[2],u=o===undefined?n:o>>0,a=u<0?Math.max(n+u,0):Math.min(u,n);while(s0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var r=typeof navigator=="object"?navigator:{},i=(/mac|win|linux/i.exec(r.platform)||["other"])[0].toLowerCase(),s=r.userAgent||"",o=r.appName||"";t.isWin=i=="win",t.isMac=i=="mac",t.isLinux=i=="linux",t.isIE=o=="Microsoft Internet Explorer"||o.indexOf("MSAppHost")>=0?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window["opera"])=="[object Opera]",t.isWebKit=parseFloat(s.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(s.split(" Chrome/")[1])||undefined,t.isSafari=parseFloat(s.split(" Safari/")[1])&&!t.isChrome||undefined,t.isEdge=parseFloat(s.split(" Edge/")[1])||undefined,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isAndroid=s.indexOf("Android")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function u(){var e=o;o=null,e&&e.forEach(function(e){a(e[0],e[1])})}function a(e,n,r){if(typeof document=="undefined")return;if(o)if(r)u();else if(r===!1)return o.push([e,n]);if(s)return;var i=r;if(!r||!r.getRootNode)i=document;else{i=r.getRootNode();if(!i||i==r)i=document}var a=i.ownerDocument||i;if(n&&t.hasCssString(n,i))return null;n&&(e+="\n/*# sourceURL=ace/css/"+n+" */");var f=t.createElement("style");f.appendChild(a.createTextNode(e)),n&&(f.id=n),i==a&&(i=t.getDocumentHead(a)),i.insertBefore(f,i.firstChild)}var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function l(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e&&e.appendChild&&t&&t.appendChild(e),e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s=1.5:!0,r.isChromeOS&&(t.HI_DPI=!1);if(typeof document!="undefined"){var f=document.createElement("div");t.HI_DPI&&f.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof f.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),f=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=u[t+"Path"];return o==null?o=u.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return u.$moduleUrls[e]=t};var a=function(t,n){if(t==="ace/theme/textmate"||t==="./theme/textmate")return n(null,e("./theme/textmate"));if(f)return f(t,n);console.error("loader is not configured")},f;t.setLoader=function(e){f=e},t.dynamicModules=Object.create(null),t.$loading={},t.$loaded={},t.loadModule=function(e,n){var r;if(Array.isArray(e))var s=e[0],o=e[1];else if(typeof e=="string")var o=e;var u=function(e){if(e&&!t.$loading[o])return n&&n(e);t.$loading[o]||(t.$loading[o]=[]),t.$loading[o].push(n);if(t.$loading[o].length>1)return;var r=function(){a(o,function(e,n){n&&(t.$loaded[o]=n),t._emit("load.module",{name:o,module:n});var r=t.$loading[o];t.$loading[o]=null,r.forEach(function(e){e&&e(n)})})};if(!t.get("packaged"))return r();i.loadScript(t.moduleUrl(o,s),r),l()};if(t.dynamicModules[o])t.dynamicModules[o]().then(function(e){e.default?u(e.default):u(e)});else{try{r=this.$require(o)}catch(f){}u(r||t.$loaded[o])}},t.$require=function(e){if(typeof n["require"]=="function"){var t="require";return n[t](e)}},t.setModuleLoader=function(e,n){t.dynamicModules[e]=n};var l=function(){!u.basePath&&!u.workerPath&&!u.modePath&&!u.themePath&&!Object.keys(u.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),l=function(){})};t.version="1.39.1"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(e,t,n){"use strict";function s(t){if(!i||!i.document)return;r.set("packaged",t||e.packaged||n.packaged||i.define&&define.packaged);var s={},u="",a=document.currentScript||document._currentScript,f=a&&a.ownerDocument||document;a&&a.src&&(u=a.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");var l=f.getElementsByTagName("script");for(var c=0;c ["+this.end.row+"/"+this.end.column+"]"},e.prototype.contains=function(e,t){return this.compare(e,t)==0},e.prototype.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},e.prototype.comparePoint=function(e){return this.compare(e.row,e.column)},e.prototype.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},e.prototype.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},e.prototype.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},e.prototype.isStart=function(e,t){return this.start.row==e&&this.start.column==t},e.prototype.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},e.prototype.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},e.prototype.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},e.prototype.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},e.prototype.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},e.prototype.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},e.prototype.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},e.prototype.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.clipRows=function(t,n){if(this.end.row>n)var r={row:n+1,column:0};else if(this.end.rown)var i={row:n+1,column:0};else if(this.start.row1?(u++,u>4&&(u=1)):u=1;if(i.isIE){var o=Math.abs(e.clientX-a)>5||Math.abs(e.clientY-f)>5;if(!l||o)u=1;l&&clearTimeout(l),l=setTimeout(function(){l=null},n[u-1]||600),u==1&&(a=e.clientX,f=e.clientY)}e._clicks=u,r[s]("mousedown",e);if(u>4)u=0;else if(u>1)return r[s](h[u],e)}var u=0,a,f,l,h={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){c(e,"mousedown",p,o)})},t.getModifierString=function(e){return r.KEY_MODS[p(e)]},t.addCommandKeyListener=function(e,n,r){var i=null;c(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=d(n,e,e.keyCode);return i=e.defaultPrevented,t},r),c(e,"keypress",function(e){i&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),i=null)},r),c(e,"keyup",function(e){s[e.keyCode]=null},r),s||(v(),c(window,"focus",v))};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var m=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+m++,i=function(s){s.data==r&&(t.stopPropagation(s),h(n,"message",i),e())};c(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(e,t,n){"use strict";var r;n.exports={lineMode:!1,pasteCancelled:function(){return r&&r>Date.now()-50?!0:r=!1},cancel:function(){r=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../config").nls,s=e("../lib/useragent"),o=e("../lib/dom"),u=e("../lib/lang"),a=e("../clipboard"),f=s.isChrome<18,l=s.isIE,c=s.isChrome>63,h=400,p=e("../lib/keys"),d=p.KEY_MODS,v=s.isIOS,m=v?/\s/:/\n/,g=s.isMobile,y;y=function(e,t){function Q(){T=!0,n.blur(),n.focus(),T=!1}function Y(e){e.keyCode==27&&n.value.lengthk&&N[s]=="\n")o=p.end;else if(rk&&N.slice(0,s).split("\n").length>2)o=p.down;else if(s>k&&N[s-1]==" ")o=p.right,u=d.option;else if(s>k||s==k&&k!=C&&r==s)o=p.right;r!==s&&(u|=d.shift);if(o){var a=t.onCommandKey({},u,o);if(!a&&t.commands){o=p.keyCodeToString(o);var f=t.commands.findKeyCommand(u,o);f&&t.execCommand(f)}C=r,k=s,H("")}};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=o.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck","false"),n.style.opacity="0",e.insertBefore(n,e.firstChild);var y=!1,b=!1,w=!1,E=!1,S="";g||(n.style.fontSize="1px");var x=!1,T=!1,N="",C=0,k=0,L=0,A=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER,M=0;try{var _=document.activeElement===n}catch(D){}this.setNumberOfExtraLines=function(e){A=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER;if(e<0){M=0;return}M=e},this.setAriaLabel=function(){var e="";t.$textInputAriaLabel&&(e+="".concat(t.$textInputAriaLabel,", "));if(t.session){var r=t.session.selection.cursor.row;e+=i("text-input.aria-label","Cursor at row $0",[r+1])}n.setAttribute("aria-label",e)},this.setAriaOptions=function(e){e.activeDescendant?(n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-autocomplete",e.inline?"both":"list"),n.setAttribute("aria-activedescendant",e.activeDescendant)):(n.setAttribute("aria-haspopup","false"),n.setAttribute("aria-autocomplete","both"),n.removeAttribute("aria-activedescendant")),e.role&&n.setAttribute("role",e.role),e.setLabel&&(n.setAttribute("aria-roledescription",i("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),r.addListener(n,"blur",function(e){if(T)return;t.onBlur(e),_=!1},t),r.addListener(n,"focus",function(e){if(T)return;_=!0;if(s.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),s.isEdge?setTimeout(H):H()},t),this.$focusScroll=!1,this.focus=function(){this.setAriaOptions({setLabel:t.renderer.enableKeyboardAccessibility});if(S||c||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var r=n.getBoundingClientRect().top!=0}catch(i){return}var s=[];if(r){var o=n.parentElement;while(o&&o.nodeType==1)s.push(o),o.setAttribute("ace_nocontext","true"),!o.parentElement&&o.getRootNode?o=o.getRootNode().host:o=o.parentElement}n.focus({preventScroll:!0}),r&&s.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return _},t.on("beforeEndOperation",function(){var e=t.curOp,r=e&&e.command&&e.command.name;if(r=="insertstring")return;var i=r&&(e.docChanged||e.selectionChanged);w&&i&&(N=n.value="",K()),H()}),t.on("changeSelection",this.setAriaLabel);var P=function(e,n){var r=n;for(var i=1;i<=e-A&&i<2*M+1;i++)r+=t.session.getLine(e-i).length+1;return r},H=v?function(e){if(!_||y&&!e||E)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=N=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(C!=i||k!=s)&&n.setSelectionRange(i,s),C=i,k=s}:function(){if(w||E)return;if(!_&&!I)return;w=!0;var e=0,r=0,i="";if(t.session){var s=t.selection,o=s.getRange(),u=s.cursor.row;if(u===O+1)A=O+1,O=A+2*M;else if(u===A-1)O=A-1,A=O-2*M;else if(uO+1)A=u>M?u-M:0,O=u>M?u+M:2*M;var a=[];for(var f=A;f<=O;f++)a.push(t.session.getLine(f));i=a.join("\n"),e=P(o.start.row,o.start.column),r=P(o.end.row,o.end.column);if(o.start.rowO){var c=t.session.getLine(O+1);r=o.end.row>O+1?c.length:o.end.column,r+=i.length+1,i=i+"\n"+c}else g&&u>0&&(i="\n"+i,r+=1,e+=1);i.length>h&&(e=N.length&&e.value===N&&N&&e.selectionEnd!==k},j=function(e){if(w)return;y?y=!1:B(n)?(t.selectAll(),H()):g&&n.selectionStart!=C&&H()},F=null;this.setInputHandler=function(e){F=e},this.getInputHandler=function(){return F};var I=!1,q=function(e,r){I&&(I=!1);if(b)return H(),e&&t.onPaste(e),b=!1,"";var i=n.selectionStart,o=n.selectionEnd,u=C,a=N.length-k,f=e,l=e.length-i,c=e.length-o,h=0;while(u>0&&N[h]==e[h])h++,u--;f=f.slice(h),h=1;while(a>0&&N.length-h>C-1&&N[N.length-h]==e[e.length-h])h++,a--;l-=h-1,c-=h-1;var p=f.length-h+1;p<0&&(u=-p,p=0),f=f.slice(0,p);if(!r&&!f&&!l&&!u&&!a&&!c)return"";E=!0;var d=!1;return s.isAndroid&&f==". "&&(f=" ",d=!0),f&&!u&&!a&&!l&&!c||x?t.onTextInput(f):t.onTextInput(f,{extendLeft:u,extendRight:a,restoreStart:l,restoreEnd:c}),E=!1,N=e,C=i,k=o,L=c,d?"\n":f},R=function(e){if(w)return J();if(e&&e.inputType){if(e.inputType=="historyUndo")return t.execCommand("undo");if(e.inputType=="historyRedo")return t.execCommand("redo")}var r=n.value,i=q(r,!0);(r.length>h+100||m.test(i)||g&&C<1&&C==k)&&H()},U=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||f)return;var i=l||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return U(e,t,!0)}},z=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);U(e,s)?(v&&(H(s),y=s,setTimeout(function(){y=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(y=!0,n.value=s,n.select(),setTimeout(function(){y=!1,H(),i?t.onCut():t.onCopy()}))},W=function(e){z(e,!0)},X=function(e){z(e,!1)},V=function(e){var i=U(e);if(a.pasteCancelled())return;typeof i=="string"?(i&&t.onPaste(i,e),s.isIE&&setTimeout(H),r.preventDefault(e)):(n.value="",b=!0)};r.addCommandKeyListener(n,function(e,n,r){if(w)return;return t.onCommandKey(e,n,r)},t),r.addListener(n,"select",j,t),r.addListener(n,"input",R,t),r.addListener(n,"cut",W,t),r.addListener(n,"copy",X,t),r.addListener(n,"paste",V,t),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(s.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:X(e);break;case 86:V(e);break;case 88:W(e)}},t);var $=function(e){if(w||!t.onCompositionStart||t.$readOnly)return;w={};if(x)return;e.data&&(w.useTextareaForIME=!1),setTimeout(J,0),t._signal("compositionStart"),t.on("mousedown",Q);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,w.markerRange=r,w.selectionStart=C,t.onCompositionStart(w),w.useTextareaForIME?(N=n.value="",C=0,k=0):(n.msGetInputContext&&(w.context=n.msGetInputContext()),n.getInputContext&&(w.context=n.getInputContext()))},J=function(){if(!w||!t.onCompositionUpdate||t.$readOnly)return;if(x)return Q();if(w.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;q(e),w.markerRange&&(w.context&&(w.markerRange.start.column=w.selectionStart=w.context.compositionStartOffset),w.markerRange.end.column=w.markerRange.start.column+k-w.selectionStart+L)}},K=function(e){if(!t.onCompositionEnd||t.$readOnly)return;w=!1,t.onCompositionEnd(),t.off("mousedown",Q),e&&R()},G=u.delayedCall(J,50).schedule.bind(null,null);r.addListener(n,"compositionstart",$,t),r.addListener(n,"compositionupdate",J,t),r.addListener(n,"keyup",Y,t),r.addListener(n,"keydown",G,t),r.addListener(n,"compositionend",K,t),this.getElement=function(){return n},this.setCommandMode=function(e){x=e,n.readOnly=!1},this.setReadOnly=function(e){x||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){I=!0,H(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,i){S||(S=n.style.cssText),n.style.cssText=(i?"z-index:100000;":"")+(s.isIE?"opacity:0.1;":"")+"text-indent: -"+(C+k)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=o.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(a.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){o.translate(n,e.clientX-l-2,Math.min(e.clientY-f-2,c))};h(e);if(e.type!="mousedown")return;t.renderer.$isMousePressed=!0,clearTimeout(Z),s.isWin&&r.capture(t.container,h,et)},this.onContextMenuClose=et;var Z,tt=function(e){t.textInput.onContextMenu(e),et()};r.addListener(n,"mouseup",tt,t),r.addListener(n,"mousedown",function(e){e.preventDefault(),et()},t),r.addListener(t.renderer.scroller,"contextmenu",tt,t),r.addListener(n,"contextmenu",tt,t),v&&nt(e,t,n),this.destroy=function(){n.parentElement&&n.parentElement.removeChild(n)}},t.TextInput=y,t.$setUserAgentForTests=function(e,t){g=e,v=t}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550,o=function(){function e(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}return e.prototype.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},e.prototype.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.setStyle("ace_selecting"),this.setState("select")},e.prototype.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},e.prototype.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},e.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},e.prototype.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},e.prototype.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},e.prototype.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},e.prototype.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},e.prototype.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowedn.clientHeight;r||t.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=this&&this.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},s=e("./lib/dom"),o=e("./lib/event"),u=e("./range").Range,a=e("./lib/scroll").preventParentScroll,f="ace_tooltip",l=function(){function e(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}return e.prototype.$init=function(){return this.$element=s.createElement("div"),this.$element.className=f,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},e.prototype.getElement=function(){return this.$element||this.$init()},e.prototype.setText=function(e){this.getElement().textContent=e},e.prototype.setHtml=function(e){this.getElement().innerHTML=e},e.prototype.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},e.prototype.setClassName=function(e){s.addCssClass(this.getElement(),e)},e.prototype.setTheme=function(e){this.$element.className=f+" "+(e.isDark?"ace_dark ":"")+(e.cssClass||"")},e.prototype.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},e.prototype.hide=function(e){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=f,this.isOpen=!1)},e.prototype.getHeight=function(){return this.getElement().offsetHeight},e.prototype.getWidth=function(){return this.getElement().offsetWidth},e.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},e}(),c=function(){function e(){this.popups=[]}return e.prototype.addPopup=function(e){this.popups.push(e),this.updatePopups()},e.prototype.removePopup=function(e){var t=this.popups.indexOf(e);t!==-1&&(this.popups.splice(t,1),this.updatePopups())},e.prototype.updatePopups=function(){var e,t,n,r;this.popups.sort(function(e,t){return t.priority-e.priority});var s=[];try{for(var o=i(this.popups),u=o.next();!u.done;u=o.next()){var a=u.value,f=!0;try{for(var l=(n=void 0,i(s)),c=l.next();!c.done;c=l.next()){var h=c.value;if(this.doPopupsOverlap(h,a)){f=!1;break}}}catch(p){n={error:p}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}f?s.push(a):a.hide()}}catch(d){e={error:d}}finally{try{u&&!u.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}},e.prototype.doPopupsOverlap=function(e,t){var n=e.getElement().getBoundingClientRect(),r=t.getElement().getBoundingClientRect();return n.leftr.left&&n.topr.top},e}(),h=new c;t.popupManager=h,t.Tooltip=l;var p=function(e){function t(t){t===void 0&&(t=document.body);var n=e.call(this,t)||this;n.timeout=undefined,n.lastT=0,n.idleTime=350,n.lastEvent=undefined,n.onMouseOut=n.onMouseOut.bind(n),n.onMouseMove=n.onMouseMove.bind(n),n.waitForHover=n.waitForHover.bind(n),n.hide=n.hide.bind(n);var r=n.getElement();return r.style.whiteSpace="pre-wrap",r.style.pointerEvents="auto",r.addEventListener("mouseout",n.onMouseOut),r.tabIndex=-1,r.addEventListener("blur",function(){r.contains(document.activeElement)||this.hide()}.bind(n)),r.addEventListener("wheel",a),n}return r(t,e),t.prototype.addToEditor=function(e){e.on("mousemove",this.onMouseMove),e.on("mousedown",this.hide),e.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},t.prototype.removeFromEditor=function(e){e.off("mousemove",this.onMouseMove),e.off("mousedown",this.hide),e.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},t.prototype.onMouseMove=function(e,t){this.lastEvent=e,this.lastT=Date.now();var n=t.$mouseHandler.isMousePressed;if(this.isOpen){var r=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(r.row,r.column)||n||this.isOutsideOfText(this.lastEvent))&&this.hide()}if(this.timeout||n)return;this.lastEvent=e,this.timeout=setTimeout(this.waitForHover,this.idleTime)},t.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var e=Date.now()-this.lastT;if(this.idleTime-e>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-e);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},t.prototype.isOutsideOfText=function(e){var t=e.editor,n=e.getDocumentPosition(),r=t.session.getLine(n.row);if(n.column==r.length){var i=t.renderer.pixelToScreenCoordinates(e.clientX,e.clientY),s=t.session.documentToScreenPosition(n.row,n.column);if(s.column!=i.column||s.row!=i.row)return!0}return!1},t.prototype.setDataProvider=function(e){this.$gatherData=e},t.prototype.showForRange=function(e,t,n,r){var i=10;if(r&&r!=this.lastEvent)return;if(this.isOpen&&document.activeElement==this.getElement())return;var s=e.renderer;this.isOpen||(h.addPopup(this),this.$registerCloseEvents(),this.setTheme(s.theme)),this.isOpen=!0,this.addMarker(t,e.session),this.range=u.fromPoints(t.start,t.end);var o=s.textToScreenCoordinates(t.start.row,t.start.column),a=s.scroller.getBoundingClientRect();o.pageXt.session.documentToScreenRow(a.row,a.column))return c()}r.showTooltip(i);if(!r.isOpen)return;t.on("mousewheel",c),t.on("changeSession",c),window.addEventListener("keydown",c,!0);if(e.$tooltipFollowsMouse)p(u);else{var h=u.getGutterRow(),d=n.$lines.get(h);if(d){var v=d.element.querySelector(".ace_gutter_annotation"),m=v.getBoundingClientRect(),g=r.getElement().style;g.left=m.right-f+"px",g.top=m.bottom-l+"px"}else p(u)}}function c(e){if(e&&e.type==="keydown"&&(e.ctrlKey||e.metaKey))return;if(e&&e.type==="mouseout"&&(!e.relatedTarget||r.getElement().contains(e.relatedTarget)))return;i&&(i=clearTimeout(i)),r.isOpen&&(r.hideTooltip(),t.off("mousewheel",c),t.off("changeSession",c),window.removeEventListener("keydown",c,!0))}function p(e){r.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,r=new h(t,!0);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var i,u;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(s.hasCssClass(n,"ace_fold-widget"))return c();r.isOpen&&e.$tooltipFollowsMouse&&p(t),u=t;if(i)return;i=setTimeout(function(){i=null,u&&!e.isMousePressed&&a()},50)}),o.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!r.isOpen)return;i=setTimeout(function(){i=null,c(e)},50)},t)}var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=this&&this.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},s=e("../lib/dom"),o=e("../lib/event"),u=e("../tooltip").Tooltip,a=e("../config").nls,f=5,l=3;t.GUTTER_TOOLTIP_LEFT_OFFSET=f,t.GUTTER_TOOLTIP_TOP_OFFSET=l,t.GutterHandler=c;var h=function(e){function t(t,n){n===void 0&&(n=!1);var r=e.call(this,t.container)||this;r.editor=t,r.visibleTooltipRow;var i=r.getElement();return i.setAttribute("role","tooltip"),i.style.pointerEvents="auto",n&&(r.onMouseOut=r.onMouseOut.bind(r),i.addEventListener("mouseout",r.onMouseOut)),r}return r(t,e),t.prototype.onMouseOut=function(e){if(!this.isOpen)return;if(!e.relatedTarget||this.getElement().contains(e.relatedTarget))return;if(e&&e.currentTarget.contains(e.relatedTarget))return;this.hideTooltip()},t.prototype.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),u.prototype.setPosition.call(this,e,t)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:a("gutter-tooltip.aria-label.error.singular","error"),plural:a("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:a("gutter-tooltip.aria-label.security.singular","security finding"),plural:a("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:a("gutter-tooltip.aria-label.warning.singular","warning"),plural:a("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:a("gutter-tooltip.aria-label.info.singular","information message"),plural:a("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:a("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:a("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(e){var n,r=this.editor.renderer.$gutterLayer,i=r.$annotations[e],o;i?o={displayText:Array.from(i.displayText),type:Array.from(i.type)}:o={displayText:[],type:[]};var u=r.session.getFoldLine(e);if(u&&r.$showFoldedAnnotations){var a={error:[],security:[],warning:[],info:[],hint:[]},f={error:1,security:2,warning:3,info:4,hint:5},l;for(var c=e+1;c<=u.end.row;c++){if(!r.$annotations[c])continue;for(var h=0;ha?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.$resetCursorStyle(),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("div");n.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",n.textContent="\u00a0";var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.on("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",t.container.appendChild(n),i.setDragImage&&i.setDragImage(n,0,0),setTimeout(function(){t.container.removeChild(n)}),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e),t),i.addListener(c,"dragend",this.onDragEnd.bind(e),t),i.addListener(c,"dragenter",this.onDragEnter.bind(e),t),i.addListener(c,"dragover",this.onDragOver.bind(e),t),i.addListener(c,"dragleave",this.onDragLeave.bind(e),t),i.addListener(c,"drop",this.onDrop.bind(e),t);var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent,i=e("../lib/event"),s=e("../lib/dom");t.addTouchListeners=function(e,t){function b(){var e=window.navigator&&window.navigator.clipboard,r=!1,i=function(){var n=t.getCopyText(),i=t.session.getUndoManager().hasUndo();y.replaceChild(s.buildDom(r?["span",!n&&o("selectall")&&["span",{"class":"ace_mobile-button",action:"selectall"},"Select All"],n&&o("copy")&&["span",{"class":"ace_mobile-button",action:"copy"},"Copy"],n&&o("cut")&&["span",{"class":"ace_mobile-button",action:"cut"},"Cut"],e&&o("paste")&&["span",{"class":"ace_mobile-button",action:"paste"},"Paste"],i&&o("undo")&&["span",{"class":"ace_mobile-button",action:"undo"},"Undo"],o("find")&&["span",{"class":"ace_mobile-button",action:"find"},"Find"],o("openCommandPalette")&&["span",{"class":"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),y.firstChild)},o=function(e){return t.commands.canExecute(e,t)},u=function(n){var s=n.target.getAttribute("action");if(s=="more"||!r)return r=!r,i();if(s=="paste")e.readText().then(function(e){t.execCommand(s,e)});else if(s){if(s=="cut"||s=="copy")e?e.writeText(t.getCopyText()):document.execCommand("copy");t.execCommand(s)}y.firstChild.style.display="none",r=!1,s!="openCommandPalette"&&t.focus()};y=s.buildDom(["div",{"class":"ace_mobile-menu",ontouchstart:function(e){n="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),u(e)},onclick:u},["span"],["span",{"class":"ace_mobile-button",action:"more"},"..."]],t.container)}function w(){if(!t.getOption("enableMobileMenu")){y&&E();return}y||b();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.renderer.textToScreenCoordinates(0,0).pageX,i=t.renderer.scrollLeft,s=t.container.getBoundingClientRect();y.style.top=n.pageY-s.top-3+"px",n.pageX-s.left=2?t.selection.getLineRange(p.row):t.session.getBracketRange(p);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n="wait"}function T(){h+=60,c=setInterval(function(){h--<=0&&(clearInterval(c),c=null),Math.abs(v)<.01&&(v=0),Math.abs(m)<.01&&(m=0),h<20&&(v=.9*v),h<20&&(m=.9*m);var e=t.session.getScrollTop();t.renderer.scrollBy(10*v,10*m),e==t.session.getScrollTop()&&(h=0)},10)}var n="scroll",o,u,a,f,l,c,h=0,p,d=0,v=0,m=0,g,y;i.addListener(e,"contextmenu",function(e){if(!g)return;var n=t.textInput.getElement();n.focus()},t),i.addListener(e,"touchstart",function(e){var i=e.touches;if(l||i.length>1){clearTimeout(l),l=null,a=-1,n="zoom";return}g=t.$mouseHandler.isMousePressed=!0;var s=t.renderer.layerConfig.lineHeight,c=t.renderer.layerConfig.lineHeight,y=e.timeStamp;f=y;var b=i[0],w=b.clientX,E=b.clientY;Math.abs(o-w)+Math.abs(u-E)>s&&(a=-1),o=e.clientX=w,u=e.clientY=E,v=m=0;var T=new r(e,t);p=T.getDocumentPosition();if(y-a<500&&i.length==1&&!h)d++,e.preventDefault(),e.button=0,x();else{d=0;var N=t.selection.cursor,C=t.selection.isEmpty()?N:t.selection.anchor,k=t.renderer.$cursorLayer.getPixelPosition(N,!0),L=t.renderer.$cursorLayer.getPixelPosition(C,!0),A=t.renderer.scroller.getBoundingClientRect(),O=t.renderer.layerConfig.offset,M=t.renderer.scrollLeft,_=function(e,t){return e/=c,t=t/s-.75,e*e+t*t};if(e.clientXP?"cursor":"anchor"),P<3.5?n="anchor":D<3.5?n="cursor":n="scroll",l=setTimeout(S,450)}a=y},t),i.addListener(e,"touchend",function(e){g=t.$mouseHandler.isMousePressed=!1,c&&clearInterval(c),n=="zoom"?(n="",h=0):l?(t.selection.moveToPosition(p),h=0,w()):n=="scroll"?(T(),E()):w(),clearTimeout(l),l=null},t),i.addListener(e,"touchmove",function(e){l&&(clearTimeout(l),l=null);var i=e.touches;if(i.length>1||n=="zoom")return;var s=i[0],a=o-s.clientX,c=u-s.clientY;if(n=="wait"){if(!(a*a+c*c>4))return e.preventDefault();n="cursor"}o=s.clientX,u=s.clientY,e.clientX=s.clientX,e.clientY=s.clientY;var h=e.timeStamp,p=h-f;f=h;if(n=="scroll"){var d=new r(e,t);d.speed=1,d.wheelX=a,d.wheelY=c,10*Math.abs(a)0)if(g==16){for(w=b;w-1){for(w=b;w=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o=e){u=i+1;while(u=e)u++;for(a=i,l=u-1;a=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+10&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;fT&&n[f]0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f=0&&(e=this.session.$docRowCache[n])}return e},e.prototype.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},e.prototype.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;ut&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},e.prototype.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p=u&&hn+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent},e}();t.BidiHandler=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(){function e(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})}return e.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},e.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},e.prototype.getCursor=function(){return this.lead.getPosition()},e.prototype.setAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},e.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},e.prototype.getSelectionLead=function(){return this.lead.getPosition()},e.prototype.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},e.prototype.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},e.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},e.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},e.prototype.setRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},e.prototype.$setSelection=function(e,t,n,r){if(this.$silent)return;var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},e.prototype.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},e.prototype.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},e.prototype.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},e.prototype.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},e.prototype.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},e.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},e.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},e.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},e.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},e.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},e.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},e.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},e.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},e.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},e.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},e.prototype.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},e.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},e.prototype.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},e.prototype.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},e.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},e.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},e.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},e.prototype.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},e.prototype.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},e.prototype.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},e.prototype.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},e.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},e.prototype.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},e.prototype.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},e.prototype.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},e.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},e.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},e.prototype.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);if(e!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];e<0?e-=i.rowsAbove||0:e>0&&(e+=i.rowCount-(i.rowsAbove||0))}var s=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&s.row===this.lead.row&&s.column===this.lead.column,this.moveCursorTo(s.row,s.column+t,t===0)},e.prototype.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},e.prototype.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},e.prototype.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},e.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},e.prototype.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},e.prototype.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},e.prototype.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},e.prototype.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},e.prototype.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},e.prototype.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0},e}();u.prototype.setSelectionAnchor=u.prototype.setAnchor,u.prototype.getSelectionAnchor=u.prototype.getAnchor,u.prototype.setSelectionRange=u.prototype.setRange,r.implement(u.prototype,s),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(e,t,n){"use strict";var r=e("./lib/report_error").reportError,i=2e3,s=function(){function e(e){this.splitRegex,this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}}return e.prototype.$setMaxTokenCount=function(e){i=e|0},e.prototype.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},e}();s.prototype.reportError=r,t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(e,t,n){"use strict";var r=e("../lib/deep_copy").deepCopy,i;i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentTokenRow=function(){return this.$row},e.prototype.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},e.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},e.prototype.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)},e}();t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],a=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d;d=function(e){e=e||{},this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l),v=i.getTokenAt(u.row,u.column);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(v&&/(?:string)\.quasi|\.xml/.test(v.type)){var m=[/tag\-(?:open|name)/,/attribute\-name/];if(m.some(function(e){return e.test(v.type)})||/(string)\.quasi/.test(v.type)&&v.value[u.column-v.start-1]!=="$")return;return d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}}if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var g=a.substring(u.column,u.column+1);if(g=="}"){var y=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(y!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var b="";d.isMaybeInsertedClosing(u,a)&&(b=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var g=a.substring(u.column,u.column+1);if(g==="}"){var w=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!w)return null;var E=this.$getIndent(i.getLine(w.row))}else{if(!b){d.clearMaybeInsertedClosing();return}var E=this.$getIndent(a)}var S=E+i.getTabString();return{text:"\n"+S+"\n"+E+b,selection:[1,S.length,1,S.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(v),T=r.$mode.$pairQuotesAfter,N=T&&T[o]&&T[o].test(d);if(!N&&S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;var C=l[f.column-2];if(!(d!=o||C!=o&&!E.test(C)))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}}),e.closeDocComment!==!1&&this.add("doc comment end","insertion",function(e,t,n,r,i){if(e==="doc-start"&&(i==="\n"||i==="\r\n")&&n.selection.isEmpty()){var s=n.getCursorPosition();if(s.column===0)return;var o=r.doc.getLine(s.row),u=r.doc.getLine(s.row+1),a=r.getTokens(s.row),f=0;for(var l=0;l=s.column){if(f===s.column){if(!/\.doc/.test(c.type))return;if(/\*\//.test(c.value)){var h=a[l+1];if(!h||!/\.doc/.test(h.type))return}}var p=s.column-(f-c.value.length),d=c.value.indexOf("*/"),v=c.value.indexOf("/**",d>-1?d+2:0);if(v!==-1&&p>v&&p=d&&p<=v||!/\.doc/.test(c.type))return;break}}var m=this.$getIndent(o);if(/\s*\*/.test(u))return/^\s*\*/.test(o)?{text:i+m+"* ",selection:[1,2+m.length,1,2+m.length]}:{text:i+m+" * ",selection:[1,3+m.length,1,3+m.length]};if(/\/\*\*/.test(o.substring(0,s.column)))return{text:i+m+" * "+i+" "+m+"*/",selection:[1,4+m.length,1,4+m.length]}}})},d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],u=function(e){(function(t){var n=o[e],r=t[n];t[o[e]]=function(){return this.$delegator(n,arguments,r)}})(a)},a=this;for(var t=0;tt[n].column&&n++,s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},e.prototype.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){if(e){t=!1,e.row=n;while(e.$oldWidget)e.$oldWidget.row=n,e=e.$oldWidget}}),t&&(this.session.lineWidgets=null)},e.prototype.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},e.prototype.addLineWidget=function(e){this.$registerLineWidget(e),e.session=this.session;if(!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=r.createElement("div"),e.el.innerHTML=e.html),e.text&&!e.el&&(e.el=r.createElement("div"),e.el.textContent=e.text),e.el&&(r.addCssClass(e.el,"ace_lineWidgetContainer"),e.className&&r.addCssClass(e.el,e.className),e.el.style.position="absolute",e.el.style.zIndex="5",t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex="3"),e.pixelHeight==null&&(e.pixelHeight=e.el.offsetHeight)),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight);var n=this.session.getFoldAt(e.row,0);e.$fold=n;if(n){var i=this.session.lineWidgets;e.row==n.end.row&&!i[n.start.row]?i[n.start.row]=e:e.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},e.prototype.removeLineWidget=function(e){e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else while(n){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},e.prototype.getWidgetsAtRow=function(e){var t=this.session.lineWidgets,n=t&&t[e],r=[];while(n)r.push(n),n=n.$oldWidget;return r},e.prototype.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},e.prototype.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}},e}();t.LineWidgets=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";function o(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var t=u(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(t.row,t.column,!0)},e.prototype.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},e.prototype.detach=function(){this.document.off("change",this.$onChange)},e.prototype.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},e.prototype.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n},e}();s.prototype.$insertRight=!1,r.implement(s.prototype,i),t.Anchor=s}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(){function e(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}return e.prototype.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e||"")},e.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},e.prototype.createAnchor=function(e,t){return new u(this,e,t)},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},e.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},e.prototype.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},e.prototype.getNewLineMode=function(){return this.$newLineMode},e.prototype.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},e.prototype.getLine=function(e){return this.$lines[e]||""},e.prototype.getLines=function(e,t){return this.$lines.slice(e,t+1)},e.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},e.prototype.getLength=function(){return this.$lines.length},e.prototype.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},e.prototype.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},e.prototype.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},e.prototype.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},e.prototype.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},e.prototype.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},e.prototype.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},e.prototype.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},e.prototype.clonePos=function(e){return{row:e.row,column:e.column}},e.prototype.pos=function(e,t){return{row:e,column:t}},e.prototype.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},e.prototype.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},e.prototype.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},e.prototype.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},e.prototype.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},e.prototype.$safeApplyDelta=function(e){var t=this.$lines.length;(e.action=="remove"&&e.start.row20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}}return e.prototype.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},e.prototype.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},e.prototype.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},e.prototype.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},e.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},e.prototype.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},e.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},e.prototype.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},e.prototype.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},e.prototype.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens},e.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},e}();r.implement(s.prototype,i),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./range").Range,s=function(){function e(e,t,n){n===void 0&&(n="text"),this.setRegexp(e),this.clazz=t,this.type=n,this.docLen=0}return e.prototype.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},e.prototype.update=function(e,t,n,s){if(!this.regExp)return;var o=s.firstRow,u=s.lastRow,a={},f=n.$editor.$search,l=f.$isMultilineSearch(n.$editor.getLastSearchOptions());for(var c=o;c<=u;c++){var h=this.cache[c];if(h==null||n.getValue().length!=this.docLen){if(l){h=[];var p=f.$multiLineForward(n,this.regExp,c,u);if(p){var d=p.endRow<=u?p.endRow-1:u;d>c&&(c=d),h.push(new i(p.startRow,p.startCol,p.endRow,p.endCol))}h.length>this.MAX_RANGES&&(h=h.slice(0,this.MAX_RANGES))}else h=r.getMatchOffsets(n.getLine(c),this.regExp),h.length>this.MAX_RANGES&&(h=h.slice(0,this.MAX_RANGES)),h=h.map(function(e){return new i(c,e.offset,c,e.offset+e.length)});this.cache[c]=h.length?h:""}if(h.length===0)continue;for(var v=h.length;v--;){var m=h[v].toScreenRange(n),g=m.toString();if(a[g])continue;a[g]=!0,t.drawSingleLineMarker(e,m,this.clazz,s)}}this.docLen=n.getValue().length},e}();s.prototype.MAX_RANGES=500,t.SearchHighlight=s}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;ithis.$undoDepth-1&&this.$undoStack.splice(0,r-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev}if(e.action=="remove"||e.action=="insert")this.$lastDelta=e;this.lastDeltas.push(e)},e.prototype.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},e.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},e.prototype.markIgnored=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack;for(var r=n.length;r--;){var i=n[r][0];if(i.id<=e)break;i.id0},e.prototype.canRedo=function(){return this.$redoStack.length>0},e.prototype.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},e.prototype.isAtBookmark=function(){return this.$rev===this.mark},e.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},e.prototype.fromJSON=function(e){this.reset(),this.$undoStack=e.$undoStack,this.$redoStack=e.$redoStack},e.prototype.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)},e}();r.prototype.hasUndo=r.prototype.canUndo,r.prototype.hasRedo=r.prototype.canRedo,r.prototype.isClean=r.prototype.isAtBookmark,r.prototype.markClean=r.prototype.bookmark;var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){function e(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}return e.prototype.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},e.prototype.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},e.prototype.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},e.prototype.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},e.prototype.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},e.prototype.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},e.prototype.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},e.prototype.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},e.prototype.containsPoint=function(e){return this.pointIndex(e)>=0},e.prototype.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},e.prototype.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;or)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column==t.column&&this.$bias<=0||(a.start.column+=l,a.start.row+=f));if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$bias<0)continue;a.end.column==t.column&&l>0&&oa.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;oi)break;if(a.end.rowt.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.rowt.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column,c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),o.collapseChildren||p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;if(e==null)n=new r(0,0,this.getLength(),0),t==null&&(t=!0);else if(typeof e=="number")n=new r(e,0,e,this.getLine(e).length);else if("row"in e)n=r.fromPoints(e,e);else{if(Array.isArray(e))return i=[],e.forEach(function(e){i=i.concat(this.unfold(e))},this),i;n=e}i=this.getFoldsInRangeList(n);var s=i;while(i.length==1&&r.comparePoints(i[0].start,n.start)<0&&r.comparePoints(i[0].end,n.end)>0)this.expandFolds(i),i=this.getFoldsInRangeList(n);t!=0?this.removeFolds(i):this.expandFolds(i);if(s.length)return s},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(tc)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn(),f}},this.foldAll=function(e,t,n,r){n==undefined&&(n=1e5);var i=this.foldWidgets;if(!i)return;t=t||this.getLength(),e=e||0;for(var s=e;s=e&&(s=o.end.row,o.collapseChildren=n,this.addFold("...",o))}},this.foldToLevel=function(e){this.foldAll();while(e-->0)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,function(t){var n=e.getTokens(t);for(var r=0;r=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t instanceof u&&(t=t.domEvent);var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator,u=e("../mouse/mouse_event").MouseEvent;t.Folding=a}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(e,t){var n=this.getLine(e.row),r=/([\(\[\{])|([\)\]\}])/,s=!t&&n.charAt(e.column-1),o=s&&s.match(r);o||(s=(t===undefined||t)&&n.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(r));if(!o)return null;var u=new i(e.row,e.column-1,e.row,e.column),a=o[1]?this.$findClosingBracket(o[1],e):this.$findOpeningBracket(o[2],e);if(!a)return[u];var f=new i(a.row,a.column,a.row,a.column+1);return[u,f]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a"?r=!0:t.type.indexOf("tag-name")!==-1&&(n=!0));while(t&&!n);return t},this.$findClosingTag=function(e,t){var n,r=t.value,s=t.value,o=0,u=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);t=e.stepForward();var a=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length),f=!1;do{n=t;if(n.type.indexOf("tag-close")!==-1&&!f){var l=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);f=!0}t=e.stepForward();if(t){if(t.value===">"&&!f){var l=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);f=!0}if(t.type.indexOf("tag-name")!==-1){r=t.value;if(s===r)if(n.value==="<")o++;else if(n.value==="")return;var p=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}}else if(s===r&&t.value==="/>"){o--;if(o<0)var c=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2),h=c,p=h,l=new i(a.end.row,a.end.column,a.end.row,a.end.column+1)}}}while(t&&o>=0);if(u&&l&&c&&p&&a&&h)return{openTag:new i(u.start.row,u.start.column,l.end.row,l.end.column),closeTag:new i(c.start.row,c.start.column,p.end.row,p.end.column),openTagName:a,closeTagName:h}},this.$findOpeningTag=function(e,t){var n=e.getCurrentToken(),r=t.value,s=0,o=e.getCurrentTokenRow(),u=e.getCurrentTokenColumn(),a=u+2,f=new i(o,u,o,a);e.stepForward();var l=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);t.type.indexOf("tag-close")===-1&&(t=e.stepForward());if(!t||t.value!==">")return;var c=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);e.stepBackward(),e.stepBackward();do{t=n,o=e.getCurrentTokenRow(),u=e.getCurrentTokenColumn(),a=u+t.value.length,n=e.stepBackward();if(t)if(t.type.indexOf("tag-name")!==-1){if(r===t.value)if(n.value==="<"){s++;if(s>0){var h=new i(o,u,o,a),p=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);do t=e.stepForward();while(t&&t.value!==">");var d=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}else n.value===""){var v=0,m=n;while(m){if(m.type.indexOf("tag-name")!==-1&&m.value===r){s--;break}if(m.value==="<")break;m=e.stepBackward(),v++}for(var g=0;g=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./bidihandler").BidiHandler,o=e("./config"),u=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,f=e("./mode/text").Mode,l=e("./range").Range,c=e("./line_widgets").LineWidgets,h=e("./document").Document,p=e("./background_tokenizer").BackgroundTokenizer,d=e("./search_highlight").SearchHighlight,v=e("./undomanager").UndoManager,m=function(){function e(t,n){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++e.$uid,this.$foldData.toString=function(){return this.join("\n")},this.bgTokenizer=new p((new f).getTokenizer(),this);var r=this;this.bgTokenizer.on("update",function(e){r._signal("tokenizerUpdate",e)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof t!="object"||!t.getLine)t=new h(t);this.setDocument(t),this.selection=new a(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new s(this),o.resetOptions(this),this.setMode(n),o._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return e.prototype.$initOperationListeners=function(){var e=this;this.curOp=null,this.on("change",function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.docChanged=!0},!0),this.on("changeSelection",function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.selectionChanged=!0},!0),this.$operationResetTimer=i.delayedCall(this.endOperation.bind(this,!0))},e.prototype.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(e={}),this.$operationResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",e)},e.prototype.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1){this.curOp=null,this._signal("endOperation",e);return}if(e==1&&this.curOp.command&&this.curOp.command.name=="mouse")return;var t=this.selection.toJSON();this.curOp.selectionAfter=t,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(t),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",e)}},e.prototype.setDocument=function(e){this.doc&&this.doc.off("change",this.$onChange),this.doc=e,e.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},e.prototype.getDocument=function(){return this.doc},Object.defineProperty(e.prototype,"widgetManager",{get:function(){var e=new c(this);return this.widgetManager=e,this.$editor&&e.attach(this.$editor),e},set:function(e){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:e})},enumerable:!1,configurable:!0}),e.prototype.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},e.prototype.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},e.prototype.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},e.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},e.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},e.prototype.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},e.prototype.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},e.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},e.prototype.setTabSize=function(e){this.setOption("tabSize",e)},e.prototype.getTabSize=function(){return this.$tabSize},e.prototype.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},e.prototype.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},e.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},e.prototype.setOverwrite=function(e){this.setOption("overwrite",e)},e.prototype.getOverwrite=function(){return this.$overwrite},e.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},e.prototype.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},e.prototype.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},e.prototype.getBreakpoints=function(){return this.$breakpoints},e.prototype.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},e.prototype.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},e.prototype.getLine=function(e){return this.doc.getLine(e)},e.prototype.getLines=function(e,t){return this.doc.getLines(e,t)},e.prototype.getLength=function(){return this.doc.getLength()},e.prototype.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},e.prototype.insert=function(e,t){return this.doc.insert(e,t)},e.prototype.remove=function(e){return this.doc.remove(e)},e.prototype.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},e.prototype.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},e.prototype.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;ne.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},e.prototype.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},e.prototype.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},e.prototype.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},e.prototype.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},e.prototype.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},e.prototype.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},e.prototype.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},e.prototype.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},e.prototype.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},e.prototype.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},e.prototype.getUseWrapMode=function(){return this.$useWrapMode},e.prototype.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},e.prototype.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},e.prototype.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},e.prototype.getWrapLimit=function(){return this.$wrapLimit},e.prototype.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},e.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},e.prototype.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},e.prototype.$updateRowLengthCache=function(e,t){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},e.prototype.$updateWrapData=function(e,t){var n=this.doc.getAllLines(),r=this.getTabSize(),i=this.$wrapData,s=this.$wrapLimit,o,u,a=e;t=Math.min(t,n.length-1);while(a<=t)u=this.getFoldLine(a,u),u?(o=[],u.walk(function(e,t,r,i){var s;if(e!=null){s=this.$getDisplayTokens(e,o.length),s[0]=b;for(var u=1;ut-h){var p=s+t-h;if(e[p-1]>=S&&e[p]>=S){c(p);continue}if(e[p]==b||e[p]==w){for(p;p!=s-1;p--)if(e[p]==b)break;if(p>s){c(p);continue}p=s+t;for(p;p>2)),s-1);while(p>d&&e[p]d&&e[p]d&&e[p]==E)p--}else while(p>d&&e[p]d){c(++p);continue}p=s+t,e[p]==y&&p--,c(p-h)}return r},e.prototype.$getDisplayTokens=function(e,t){var n=[],r;t=t||0;for(var i=0;i39&&s<48||s>57&&s<64?n.push(E):s>=4352&&N(s)?n.push(g,y):n.push(g)}return n},e.prototype.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&N(r)?n+=2:n+=1;if(n>t)break}return[n,i]},e.prototype.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),!this.$useWrapMode||!this.$wrapData[e]?t:this.$wrapData[e].length+t},e.prototype.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},e.prototype.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},e.prototype.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return this.lineWidgets&&this.lineWidgets[u]&&this.lineWidgets[u].rowsAbove&&(r+=this.lineWidgets[u].rowsAbove),{row:r,column:v+this.$getStringScreenWidth(d)[0]}},e.prototype.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},e.prototype.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},e.prototype.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},e.prototype.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},e.prototype.getPrecedingCharacter=function(){var e=this.selection.getCursor();if(e.column===0)return e.row===0?"":this.doc.getNewLineCharacter();var t=this.getLine(e.row);return t[e.column-1]},e.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},e}();m.$uid=0,m.prototype.$modes=o.$modes,m.prototype.getValue=m.prototype.toString,m.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},m.prototype.$overwrite=!1,m.prototype.$mode=null,m.prototype.$modeId=null,m.prototype.$scrollTop=0,m.prototype.$scrollLeft=0,m.prototype.$wrapLimit=80,m.prototype.$useWrapMode=!1,m.prototype.$wrapLimitRange={min:null,max:null},m.prototype.lineWidgets=null,m.prototype.isFullWidth=N,r.implement(m.prototype,u);var g=1,y=2,b=3,w=4,E=9,S=10,x=11,T=12;e("./edit_session/folding").Folding.call(m.prototype),e("./edit_session/bracket_match").BracketMatch.call(m.prototype),o.defineOptions(m.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e),e>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=m}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function i(e,r){r===void 0&&(r=!0);var i=n&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");if(i.test(e)||t.regExp)return n&&t.$supportsUnicodeFlag?r?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b";return""}var n=r.supportsLookbehind(),s=Array.from(e),o=s[0],u=s[s.length-1];return i(o)+e+i(u,!1)}function a(e,t,n){var r=null,i=0;while(i<=e.length){t.lastIndex=i;var s=t.exec(e);if(!s)break;var o=s.index+s[0].length;if(o>e.length-n)break;if(!r||o>r.index+r[0].length)r=s;i=s.index+1}return r}function f(e,t){var n=5e3,r={row:t,column:0},i=e.doc.positionToIndex(r),s=i+n,o=e.doc.indexToPosition(s),u=o.row;return u+1}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){function e(){this.$options={}}return e.prototype.set=function(e){return i.mixin(this.$options,e),this},e.prototype.getOptions=function(){return r.copyObject(this.$options)},e.prototype.setOptions=function(e){this.$options=e},e.prototype.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},e.prototype.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g,y=0;yy&&(y=w),o.push(new s(g.startRow,g.startCol,g.endRow,g.endCol))}}else{g=r.getMatchOffsets(i[y],u);for(var h=0;hx&&o[h].end.row==T)h--;o=o.slice(y,h+1);for(y=0,h=o.length;y=i){n+="\\";break}var o=e.charCodeAt(r);switch(o){case t.Backslash:n+="\\";break;case t.n:n+="\n";break;case t.t:n+=" "}continue}if(s===t.DollarSign){r++;if(r>=i){n+="$";break}var u=e.charCodeAt(r);if(u===t.DollarSign){n+="$$";continue}if(u===t.Digit0||u===t.Ampersand){n+="$&";continue}if(t.Digit1<=u&&u<=t.Digit9){n+="$"+e[r];continue}}n+=e[r]}return n||e},e.prototype.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=this.$isMultilineSearch(n);i&&(e=e.replace(/\r\n|\r|\n/g,"\n"));var s=r.exec(e);if(!s||!i&&s[0].length!=e.length)return null;t=n.regExp?this.parseReplaceString(t):t.replace(/\$/g,"$$$$"),t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var o=Math.min(e.length,e.length);o--;){var u=e[o];u&&u.toLowerCase()!=u?t[o]=t[o].toUpperCase():t[o]=t[o].toLowerCase()}t=t.join("")}return t},e.prototype.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n));var i=e.caseSensitive?"gm":"gmi";try{new RegExp(n,"u"),e.$supportsUnicodeFlag=!0,i+="u"}catch(s){e.$supportsUnicodeFlag=!1}e.wholeWord&&(n=u(n,e)),e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var o=new RegExp(n,i)}catch(s){o=!1}return e.re=o},e.prototype.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;ir)break;var a=e.getLine(o++);i=i==null?a:i+"\n"+a}var l=t.exec(i);t.lastIndex=0;if(l){var c=i.slice(0,l.index).split("\n"),h=l[0].split("\n"),p=n+c.length-1,d=c[c.length-1].length,v=p+h.length-1,m=h.length==1?d+h[0].length:h[h.length-1].length;return{startRow:p,startCol:d,endRow:v,endCol:m}}}return null},e.prototype.$multiLineBackward=function(e,t,n,r,i){var s,o=f(e,r),u=e.getLine(r).length-n;for(var l=r;l>=i;){for(var c=0;c=i;c++){var h=e.getLine(l--);s=s==null?h:h+"\n"+s}var p=a(s,t,u);if(p){var d=s.slice(0,p.index).split("\n"),v=p[0].split("\n"),m=l+d.length,g=d[d.length-1].length,y=m+v.length-1,b=v.length==1?g+v[0].length:v[v.length-1].length;return{startRow:m,startCol:g,endRow:y,endCol:b}}}return null},e.prototype.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i=this.$isMultilineSearch(t),s=this.$multiLineForward,o=this.$multiLineBackward,u=t.backwards==1,a=t.skipCurrent!=0,f=n.unicode,l=t.range,c=t.start;c||(c=l?l[u?"end":"start"]:e.selection.getRange()),c.start&&(c=c[a!=u?"end":"start"]);var h=l?l.start.row:0,p=l?l.end.row:e.getLength()-1;if(u)var d=function(e){var n=c.row;if(m(n,c.column,e))return;for(n--;n>=h;n--)if(m(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=p,h=c.row;n>=h;n--)if(m(n,Number.MAX_VALUE,e))return};else var d=function(e){var n=c.row;if(m(n,c.column,e))return;for(n+=1;n<=p;n++)if(m(n,0,e))return;if(t.wrap==0)return;for(n=h,p=c.row;n<=p;n++)if(m(n,0,e))return};if(t.$isMultiLine)var v=n.length,m=function(t,r,i){var s=u?t-v+1:t;if(s<0||s+v>e.getLength())return;var o=e.getLine(s),a=o.search(n[0]);if(!u&&ar)return;if(i(s,a,s+v-1,l))return!0};else if(u)var m=function(t,s,u){if(i){var a=o(e,n,s,t,h);if(!a)return!1;if(u(a.startRow,a.startCol,a.endRow,a.endCol))return!0}else{var l=e.getLine(t),c=[],p,d=0;n.lastIndex=0;while(p=n.exec(l)){var v=p[0].length;d=p.index;if(!v){if(d>=l.length)break;n.lastIndex=d+=r.skipEmptyMatch(l,d,f)}if(p.index+v>s)break;c.push(p.index,v)}for(var m=c.length-1;m>=0;m-=2){var g=c[m-1],v=c[m];if(u(t,g,t,g+v))return!0}}};else var m=function(t,o,u){n.lastIndex=o;if(i){var a=s(e,n,t,p);if(a){var l=a.endRow<=p?a.endRow-1:p;l>t&&(t=l)}if(!a)return!1;if(u(a.startRow,a.startCol,a.endRow,a.endCol))return!0}else{var c=e.getLine(t),h,d;while(d=n.exec(c)){var v=d[0].length;h=d.index;if(u(t,h,t,h+v))return!0;if(!v){n.lastIndex=h+=r.skipEmptyMatch(c,h,f);if(h>=c.length)return!1}}}};return{forEach:d}},e}();t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("../lib/keys"),s=e("../lib/useragent"),o=i.KEY_MODS,u=function(){function e(e,t){this.$init(e,t,!1)}return e.prototype.$init=function(e,t,n){this.platform=t||(s.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=n},e.prototype.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},e.prototype.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},e.prototype.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=o[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var s=this.parseKeys(e),u=o[s.hashId]+s.key;this._addCommandToBinding(r+u,t,n)},this)},e.prototype._addCommandToBinding=function(e,t,n){var r=this.commandKeyBinding,i;if(!t)delete r[e];else if(!r[e]||this.$singleCommand)r[e]=t;else{Array.isArray(r[e])?(i=r[e].indexOf(t))!=-1&&r[e].splice(i,1):r[e]=[r[e]],typeof n!="number"&&(n=a(t));var s=r[e];for(i=0;in)break}s.splice(i,0,t)}},e.prototype.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},e.prototype.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},e.prototype.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},e.prototype._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},e.prototype.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),r=i[n];if(i.FUNCTION_KEYS[r])n=i.FUNCTION_KEYS[r].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=i.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},e.prototype.findKeyCommand=function(e,t){var n=o[e]+t;return this.commandKeyBinding[n]},e.prototype.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=o[t]+n,s=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,s=this.commandKeyBinding[e.$keyChain]||s);if(s)if(s=="chainKeys"||s[s.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:s}},e.prototype.getStatusText=function(e,t){return t.$keyChain||""},e}(),f=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.$singleCommand=!0,r}return r(t,e),t}(u);f.call=function(e,t,n){u.prototype.$init.call(e,t,n,!0)},u.call=function(e,t,n){u.prototype.$init.call(e,t,n,!1)},t.HashHandler=f,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("../lib/oop"),s=e("../keyboard/hash_handler").MultiHashHandler,o=e("../lib/event_emitter").EventEmitter,u=function(e){function t(t,n){var r=e.call(this,n,t)||this;return r.byName=r.commands,r.setDefaultHandler("exec",function(e){return e.args?e.command.exec(e.editor,e.args,e.event,!1):e.command.exec(e.editor,{},e.event,!0)}),r}return r(t,e),t.prototype.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);var i={editor:t,command:e,args:n};return this.canExecute(e,t)?(i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0):(this._signal("commandUnavailable",i),!1)},t.prototype.canExecute=function(e,t){return typeof e=="string"&&(e=this.commands[e]),e?t&&t.$readOnly&&!e.readOnly?!1:this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t)?!1:!0:!1},t.prototype.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},t.prototype.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})},t}(s);i.implement(u.prototype,o),t.CommandManager=u}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:o(null,null),exec:function(e){e.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:o("Ctrl+F3","F3"),exec:function(e){e.openLink()}},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0||e+t=0&&this.$isFoldWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(e+t))return e+t}return null},e.prototype.$findNearestAnnotation=function(e){if(this.$isAnnotationVisible(e))return e;var t=0;while(e-t>0||e+t=0&&this.$isAnnotationVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(e+t))return e+t}return null},e.prototype.$focusFoldWidget=function(e){if(e==null)return;var t=this.$getFoldWidget(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()},e.prototype.$focusAnnotation=function(e){if(e==null)return;var t=this.$getAnnotation(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()},e.prototype.$blurFoldWidget=function(e){var t=this.$getFoldWidget(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$blurAnnotation=function(e){var t=this.$getAnnotation(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$moveFoldWidgetUp=function(){var e=this.activeRowIndex;while(e>0){e--;if(this.$isFoldWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=e,this.$focusFoldWidget(this.activeRowIndex);return}}return},e.prototype.$moveFoldWidgetDown=function(){var e=this.activeRowIndex;while(e0){e--;if(this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);return}}return},e.prototype.$moveAnnotationDown=function(){var e=this.activeRowIndex;while(e=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},i=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/lang"),u=e("./lib/useragent"),a=e("./keyboard/textinput").TextInput,f=e("./mouse/mouse_handler").MouseHandler,l=e("./mouse/fold_handler").FoldHandler,c=e("./keyboard/keybinding").KeyBinding,h=e("./edit_session").EditSession,p=e("./search").Search,d=e("./range").Range,v=e("./lib/event_emitter").EventEmitter,m=e("./commands/command_manager").CommandManager,g=e("./commands/default_commands").commands,y=e("./config"),b=e("./token_iterator").TokenIterator,w=e("./keyboard/gutter_handler").GutterKeyboardHandler,E=e("./config").nls,S=e("./clipboard"),x=e("./lib/keys"),T=e("./lib/event"),N=e("./tooltip").HoverTooltip,C=function(){function e(t,n,r){this.session,this.$toDestroy=[];var i=t.getContainerElement();this.container=i,this.renderer=t,this.id="editor"+ ++e.$uid,this.commands=new m(u.isMac?"mac":"win",g),typeof document=="object"&&(this.textInput=new a(t.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new f(this),new l(this)),this.keyBinding=new c(this),this.$search=(new p).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=o.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(n||r&&r.session||new h("")),y.resetOptions(this),r&&this.setOptions(r),y._signal("editor",this)}return e.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},e.prototype.startOperation=function(e){this.session.startOperation(e)},e.prototype.endOperation=function(e){this.session.endOperation(e)},e.prototype.onStartOperation=function(e){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,e||(this.previousCommand=null)},e.prototype.onEndOperation=function(e){if(this.curOp&&this.session){if(e&&e.returnValue===!1){this.curOp=null;return}this._signal("beforeEndOperation");if(!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},e.prototype.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},e.prototype.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;y.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},e.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},e.prototype.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),t&&(t.$editor=null),e&&e._signal("changeEditor",{editor:this}),e&&(e.$editor=this),e&&!e.destroyed&&e.bgTokenizer.scheduleStart()},e.prototype.getSession=function(){return this.session},e.prototype.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},e.prototype.getValue=function(){return this.session.getValue()},e.prototype.getSelection=function(){return this.selection},e.prototype.resize=function(e){this.renderer.onResize(e)},e.prototype.setTheme=function(e,t){this.renderer.setTheme(e,t)},e.prototype.getTheme=function(){return this.renderer.getTheme()},e.prototype.setStyle=function(e){this.renderer.setStyle(e)},e.prototype.unsetStyle=function(e){this.renderer.unsetStyle(e)},e.prototype.getFontSize=function(){return this.getOption("fontSize")||s.computedStyle(this.container).fontSize},e.prototype.setFontSize=function(e){this.setOption("fontSize",e)},e.prototype.$highlightBrackets=function(){if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||t.destroyed)return;t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach(function(e){t.removeMarker(e)}),t.$bracketHighlight=null);var n=e.getCursorPosition(),r=e.getKeyboardHandler(),i=r&&r.$getDirectionForHighlight&&r.$getDirectionForHighlight(e),s=t.getMatchingBracketRanges(n,i);if(!s){var o=new b(t,n.row,n.column),u=o.getCurrentToken();if(u&&/\b(?:tag-open|tag-name)/.test(u.type)){var a=t.getMatchingTags(n);a&&(s=[a.openTagName.isEmpty()?a.openTag:a.openTagName,a.closeTagName.isEmpty()?a.closeTag:a.closeTagName])}}!s&&t.$mode.getMatching&&(s=t.$mode.getMatching(e.session));if(!s){e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide();return}var f="ace_bracket";Array.isArray(s)?s.length==1&&(f="ace_error_bracket"):s=[s],s.length==2&&(d.comparePoints(s[0].end,s[1].start)==0?s=[d.fromPoints(s[0].start,s[1].end)]:d.comparePoints(s[0].start,s[1].end)==0&&(s=[d.fromPoints(s[1].start,s[0].end)])),t.$bracketHighlight={ranges:s,markerIds:s.map(function(e){return t.addMarker(e,f,"text")})},e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide()},50)},e.prototype.focus=function(){this.textInput.focus()},e.prototype.isFocused=function(){return this.textInput.isFocused()},e.prototype.blur=function(){this.textInput.blur()},e.prototype.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},e.prototype.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},e.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},e.prototype.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:Infinity;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange()},e.prototype.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},e.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},e.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},e.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},e.prototype.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(t=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new d(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},e.prototype.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},e.prototype.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},e.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},e.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},e.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},e.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},e.prototype.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},e.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},e.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},e.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},e.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},e.prototype.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;iu.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e);n.insert(i,e),s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new d(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new d(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(this.$enableAutoIndent){if(n.getDocument().isNewLine(e)){var h=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},h)}c&&r.autoOutdent(l,n,i.row)}},e.prototype.autoIndent=function(){var e=this.session,t=e.getMode(),n=this.selection.isEmpty()?[new d(0,0,e.doc.getLength()-1,0)]:this.selection.getAllRanges(),r="",i="",s="",o=e.getTabString();for(var u=0;u0&&(r=e.getState(l-1),i=e.getLine(l-1),s=t.getNextLineIndent(r,i,o));var c=e.getLine(l),h=t.$getIndent(c);if(s!==h){if(h.length>0){var p=new d(l,0,l,h.length);e.remove(p)}s.length>0&&e.insert({row:l,column:0},s)}t.autoOutdent(r,e,l)}}},e.prototype.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},e.prototype.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,n.start.column<0&&(n.start.row--,n.start.column+=this.session.getLine(n.start.row).length+1),this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},e.prototype.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},e.prototype.setOverwrite=function(e){this.session.setOverwrite(e)},e.prototype.getOverwrite=function(){return this.session.getOverwrite()},e.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},e.prototype.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},e.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},e.prototype.setDragDelay=function(e){this.setOption("dragDelay",e)},e.prototype.getDragDelay=function(){return this.getOption("dragDelay")},e.prototype.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},e.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},e.prototype.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},e.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},e.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},e.prototype.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},e.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},e.prototype.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},e.prototype.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},e.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},e.prototype.setHighlightIndentGuides=function(e){this.renderer.setHighlightIndentGuides(e)},e.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},e.prototype.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},e.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},e.prototype.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},e.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},e.prototype.setReadOnly=function(e){this.setOption("readOnly",e)},e.prototype.getReadOnly=function(){return this.getOption("readOnly")},e.prototype.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},e.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},e.prototype.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},e.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},e.prototype.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},e.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},e.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},e.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},e.prototype.setGhostText=function(e,t){this.renderer.setGhostText(e,t)},e.prototype.removeGhostText=function(){this.renderer.removeGhostText()},e.prototype.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var i=new d(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},e.prototype.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},e.prototype.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},e.prototype.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},e.prototype.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new d(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=u&&s<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;h=a&&u<=f&&p.match(/((?:https?|ftp):\/\/[\S]+)/)){l=p.replace(/[\s:.,'";}\]]+$/,"");break}a=f}}catch(d){n={error:d}}finally{try{h&&!h.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}return l},e.prototype.openLink=function(){var e=this.selection.getCursor(),t=this.findLinkAt(e.row,e.column);return t&&window.open(t,"_blank"),t!=null},e.prototype.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},e.prototype.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n));n.start=s,n.end=o,e.setSelectionRange(n,r)}},e.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},e.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},e.prototype.moveText=function(e,t,n){return this.session.moveText(e,t,n)},e.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},e.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},e.prototype.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;lp+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},e.prototype.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},e.prototype.onCompositionStart=function(e){this.renderer.showComposition(e)},e.prototype.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},e.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},e.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},e.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},e.prototype.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},e.prototype.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},e.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},e.prototype.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},e.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},e.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},e.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},e.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},e.prototype.scrollPageDown=function(){this.$moveByPage(1)},e.prototype.scrollPageUp=function(){this.$moveByPage(-1)},e.prototype.scrollToRow=function(e){this.renderer.scrollToRow(e)},e.prototype.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},e.prototype.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},e.prototype.getCursorPosition=function(){return this.selection.getCursor()},e.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},e.prototype.getSelectionRange=function(){return this.selection.getRange()},e.prototype.selectAll=function(){this.selection.selectAll()},e.prototype.clearSelection=function(){this.selection.clearSelection()},e.prototype.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},e.prototype.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},e.prototype.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new b(this.session,n.row,n.column),i=r.getCurrentToken(),s=0;i&&i.type.indexOf("tag-name")!==-1&&(i=r.stepBackward());var o=i||r.stepForward();if(!o)return;var u,a=!1,f={},l=n.column-o.start,c,h={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g))for(;l1?f[o.value]++:i.value==="=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},e.prototype.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},e.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},e.prototype.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&i.mixin(t,e);var r=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(r)||this.$search.$options.needle,e||(r=this.session.getWordRange(r.start.row,r.start.column),e=this.session.getTextRange(r)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:r});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?r.start=r.end:r.end=r.start,this.selection.setRange(r)},e.prototype.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},e.prototype.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},e.prototype.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},e.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(e){e.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},e.prototype.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},e.prototype.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",s.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},e.prototype.prompt=function(e,t,n){var r=this;y.loadModule("ace/ext/prompt",function(i){i.prompt(r,e,t,n)})},e}();C.$uid=0,C.prototype.curOp=null,C.prototype.prevOp={},C.prototype.$mergeableCommands=["backspace","del","insertstring"],C.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],i.implement(C.prototype,v),y.defineOptions(C.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){var t=this;this.textInput.setReadOnly(e),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(e){var n=!1;if(e&&e.type=="keydown"){n=e&&e.key&&e.key.length==1&&!e.ctrlKey&&!e.metaKey;if(!n)return}else e&&e.type!=="exec"&&(n=!0);if(n){t.hoverTooltip||(t.hoverTooltip=new N);var r=s.createElement("div");r.textContent=E("editor.tooltip.disable-editing","Editing is disabled"),t.hoverTooltip.isOpen||t.hoverTooltip.showForRange(t,t.getSelectionRange(),r)}else t.hoverTooltip&&t.hoverTooltip.isOpen&&t.hoverTooltip.hide()});var n=this.textInput.getElement();e?(T.addListener(n,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(T.removeListener(n,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?k.attach(this):k.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?k.attach(this):k.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),s.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!e&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),s.addCssClass(this.container,"ace_hasPlaceholder");var t=s.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(e){var t={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(e){e.blur(),e.renderer.scroller.focus()},readOnly:!0},n=function(e){if(e.target==this.renderer.scroller&&e.keyCode===x.enter){e.preventDefault();var t=this.getCursorPosition().row;this.isRowVisible(t)||this.scrollToLine(t,!0,!0),this.focus()}},r;e?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(u.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",E("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",E("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",n.bind(this)),this.commands.addCommand(t),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",E("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",E("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),r||(r=new w(this)),r.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",n.bind(this)),this.commands.removeCommand(t),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),r&&r.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(e){this.$textInputAriaLabel=e},initialValue:""},enableMobileMenu:{set:function(e){this.$enableMobileMenu=e},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var k={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=C}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(){function e(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return e.prototype.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},e.prototype.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},e.prototype.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},e.prototype.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLineCount(e)},e.prototype.getLength=function(){return this.cells.length},e.prototype.get=function(e){return this.cells[e]},e.prototype.shift=function(){this.$cacheCell(this.cells.shift())},e.prototype.pop=function(){this.$cacheCell(this.cells.pop())},e.prototype.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;ns&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,l),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},e.prototype.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},e.prototype.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},e.prototype.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},e.prototype.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRowr&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},e.prototype.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,l);this.$renderCell(u,e,s,i),r.push(u),i++}return r},e.prototype.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],f=s.childNodes[1],l=s.childNodes[2],c=l.firstChild,h=o.$firstLineNumber,p=o.$breakpoints,d=o.$decorations,v=o.gutterRenderer||this.$renderer,m=this.$showFoldWidgets&&o.foldWidgets,g=n?n.start.row:Number.MAX_VALUE,y=t.lineHeight+"px",b=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",w=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",E=(v?v.getText(o,i):i+h).toString();this.$highlightGutterLine&&(i==this.$cursorRow||n&&i=g&&this.$cursorRow<=n.end.row)&&(b+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),p[i]&&(b+=p[i]),d[i]&&(b+=d[i]),this.$annotations[i]&&i!==g&&(b+=this.$annotations[i].className);if(m){var S=m[i];S==null&&(S=m[i]=o.getFoldWidget(i))}if(S){var x="ace_fold-widget ace_"+S,T=S=="start"&&i==g&&in.right-t.right)return"foldWidgets"},e}();f.prototype.$fixedWidth=!1,f.prototype.$highlightGutterLine=!0,f.prototype.$renderer="",f.prototype.$showLineNumbers=!0,f.prototype.$showFoldWidgets=!0,i.implement(f.prototype,o),t.Gutter=f}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";function o(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}var r=e("../range").Range,i=e("../lib/dom"),s=function(){function e(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}return e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setMarkers=function(e){this.markers=e},e.prototype.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},e.prototype.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.ip,l==f),i,l==f?0:1,s)},e.prototype.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:"+s+"px;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:"+s+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},e.prototype.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},e.prototype.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+(e.width+(i||0))+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},e.prototype.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},e.prototype.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},e}();s.prototype.$padding=0,t.Marker=s}),ace.define("ace/layer/text_util",["require","exports","module"],function(e,t,n){var r=new Set(["text","rparen","lparen"]);t.isTextToken=function(e){return r.has(e)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=e("../config").nls,f=e("./text_util").isTextToken,l=function(){function e(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)}return e.prototype.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},e.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},e.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},e.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},e.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},e.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},e.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},e.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},e.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},e.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},e.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},e.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;nl&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1),f&&(c.style.top=this.$lines.computeLineTop(u,e,this.session)+"px");var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},e.prototype.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},e.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},e.prototype.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),l,c=0;while(l=o.exec(r)){var h=l[1],p=l[2],d=l[3],v=l[4],m=l[5];if(!i.showSpaces&&p)continue;var g=c!=l.index?r.slice(c,l.index):"";c=l.index+l[0].length,g&&u.appendChild(this.dom.createTextNode(g,this.element));if(h){var y=i.session.getScreenTabSize(t+l.index);u.appendChild(i.$tabStrings[y].cloneNode(!0)),t+=y-1}else if(p)if(i.showSpaces){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space",b.textContent=s.stringRepeat(i.SPACE_CHAR,p.length),u.appendChild(b)}else u.appendChild(this.dom.createTextNode(p,this.element));else if(d){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space ace_invalid",b.textContent=s.stringRepeat(i.SPACE_CHAR,d.length),u.appendChild(b)}else if(v){t+=1;var b=this.dom.createElement("span");b.style.width=i.config.characterWidth*2+"px",b.className=i.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",b.textContent=i.showSpaces?i.SPACE_CHAR:v,u.appendChild(b)}else if(m){t+=1;var b=this.dom.createElement("span");b.style.width=i.config.characterWidth*2+"px",b.className="ace_cjk",b.textContent=m,u.appendChild(b)}}u.appendChild(this.dom.createTextNode(c?r.slice(c):r,this.element));if(!f(n.type)){var w="ace_"+n.type.replace(/\./g," ace_"),b=this.dom.createElement("span");n.type=="fold"&&(b.style.width=n.value.length*this.config.characterWidth+"px",b.setAttribute("title",a("inline-fold.closed.title","Unfold code"))),b.className=w,b.appendChild(u),e.appendChild(b)}else e.appendChild(u);return t+r.length},e.prototype.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;ss[o].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[t.row]!==""&&t.column===e[t.row].length){this.$highlightIndentGuideMarker.dir=1;for(var o=t.row+1;o0))return;r=e.element.childNodes[0]}var i=r.childNodes;if(i){var s=i[t-1];s&&s.classList&&s.classList.contains("ace_indent-guide")&&s.classList.add("ace_indent-guide-active")}}},e.prototype.$renderHighlightIndentGuide=function(){if(!this.$lines)return;var e=this.$lines.cells;this.$clearActiveIndentGuide();var t=this.$highlightIndentGuideMarker.indentLevel;if(t!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var n=0;n=this.$highlightIndentGuideMarker.start+1){if(r.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(r,t)}}else for(var n=e.length-1;n>=0;n--){var r=e[n];if(this.$highlightIndentGuideMarker.end&&r.row=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,u,null,"",!0)},e.prototype.$renderSimpleLine=function(e,t){var n=0;for(var r=0;rthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,i,s);n=this.$renderToken(e,n,i,s)}},e.prototype.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.textContent=i?"":"",e.appendChild(s)},e.prototype.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showEOL&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},e.prototype.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},e.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},e}();l.prototype.EOF_CHAR="\u00b6",l.prototype.EOL_CHAR_LF="\u00ac",l.prototype.EOL_CHAR_CRLF="\u00a4",l.prototype.EOL_CHAR=l.prototype.EOL_CHAR_LF,l.prototype.TAB_CHAR="\u2014",l.prototype.SPACE_CHAR="\u00b7",l.prototype.$padding=0,l.prototype.MAX_LINE_LENGTH=1e4,l.prototype.showInvisibles=!1,l.prototype.showSpaces=!1,l.prototype.showTabs=!1,l.prototype.showEOL=!1,l.prototype.displayIndentGuides=!0,l.prototype.$highlightIndentGuides=!0,l.prototype.$tabStrings=[],l.prototype.destroy={},l.prototype.onChangeTabSize=l.prototype.$computeTabString,r.implement(l.prototype,u),t.Text=l}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(){function e(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return e.prototype.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},e.prototype.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},e.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,r.removeCssClass(this.element,"ace_animate-blinking")},e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},e.prototype.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},e.prototype.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},e.prototype.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},e.prototype.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},e.prototype.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,r.removeCssClass(this.element,"ace_smooth-blinking")),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this)));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},e.prototype.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},e.prototype.isCursorInView=function(e,t){return e.top>=0&&e.tope.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},e.prototype.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},e.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},e}();i.prototype.$padding=0,i.prototype.drawCursor=null,t.Cursor=i}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/event"),u=e("./lib/event_emitter").EventEmitter,a=32768,f=function(){function e(e,t){this.element=s.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+t,this.inner=s.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\u00a0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();i.implement(f.prototype,u);var l=function(e){function t(t,n){var r=e.call(this,t,"-v")||this;return r.scrollTop=0,r.scrollHeight=0,n.$scrollbarWidth=r.width=s.scrollbarWidth(t.ownerDocument),r.inner.style.width=r.element.style.width=(r.width||15)+5+"px",r.$minWidth=0,r}return r(t,e),t.prototype.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.element.style.height=e+"px"},t.prototype.setScrollHeight=function(e){this.scrollHeight=e,e>a?(this.coeff=a/e,e=a):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},t.prototype.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)},t}(f);l.prototype.setInnerHeight=l.prototype.setScrollHeight;var c=function(e){function t(t,n){var r=e.call(this,t,"-h")||this;return r.scrollLeft=0,r.height=n.$scrollbarWidth,r.inner.style.height=r.element.style.height=(r.height||15)+5+"px",r}return r(t,e),t.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.setWidth=function(e){this.element.style.width=e+"px"},t.prototype.setInnerWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)},t}(f);t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/event"),u=e("./lib/event_emitter").EventEmitter;s.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1);var a=function(){function e(e,t){this.element=s.createElement("div"),this.element.className="ace_sb"+t,this.inner=s.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();i.implement(a.prototype,u);var f=function(e){function t(t,n){var r=e.call(this,t,"-v")||this;return r.scrollTop=0,r.scrollHeight=0,r.parent=t,r.width=r.VScrollWidth,r.renderer=n,r.inner.style.width=r.element.style.width=(r.width||15)+"px",r.$minWidth=0,r}return r(t,e),t.prototype.onMouseDown=function(e,t){if(e!=="mousedown")return;if(o.getButton(t)!==0||t.detail===2)return;if(t.target===this.inner){var n=this,r=t.clientY,i=function(e){r=e.clientY},s=function(){clearInterval(l)},u=t.clientY,a=this.thumbTop,f=function(){if(r===undefined)return;var e=n.scrollTopFromThumbTop(a+r-u);if(e===n.scrollTop)return;n._emit("scroll",{data:e})};o.capture(this.inner,i,s);var l=setInterval(f,20);return o.preventDefault(t)}var c=t.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(c)}),o.preventDefault(t)},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(e){var t=e*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return t>>=0,t<0?t=0:t>this.pageHeight-this.viewHeight&&(t=this.pageHeight-this.viewHeight),t},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.height=Math.max(0,e),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(e,t){if(this.pageHeight===e&&!t)return;this.pageHeight=e,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop}))},t.prototype.setScrollTop=function(e){this.scrollTop=e,e<0&&(e=0),this.thumbTop=e*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},t}(a);f.prototype.setInnerHeight=f.prototype.setScrollHeight;var l=function(e){function t(t,n){var r=e.call(this,t,"-h")||this;return r.scrollLeft=0,r.scrollWidth=0,r.height=r.HScrollHeight,r.inner.style.height=r.element.style.height=(r.height||12)+"px",r.renderer=n,r}return r(t,e),t.prototype.onMouseDown=function(e,t){if(e!=="mousedown")return;if(o.getButton(t)!==0||t.detail===2)return;if(t.target===this.inner){var n=this,r=t.clientX,i=function(e){r=e.clientX},s=function(){clearInterval(l)},u=t.clientX,a=this.thumbLeft,f=function(){if(r===undefined)return;var e=n.scrollLeftFromThumbLeft(a+r-u);if(e===n.scrollLeft)return;n._emit("scroll",{data:e})};o.capture(this.inner,i,s);var l=setInterval(f,20);return o.preventDefault(t)}var c=t.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(c)}),o.preventDefault(t)},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(e){var t=e*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return t>>=0,t<0?t=0:t>this.pageWidth-this.viewWidth&&(t=this.pageWidth-this.viewWidth),t},t.prototype.setWidth=function(e){this.width=Math.max(0,e),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(e,t){if(this.pageWidth===e&&!t)return;this.pageWidth=e,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft}))},t.prototype.setScrollLeft=function(e){this.scrollLeft=e,e<0&&(e=0),this.thumbLeft=e*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},t}(a);l.prototype.setInnerWidth=l.prototype.setScrollWidth,t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(){function e(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}}return e.prototype.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},e.prototype.clear=function(e){var t=this.changes;return this.changes=0,t},e}();t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=512,l=typeof ResizeObserver=="function",c=200,h=function(){function e(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()}return e.prototype.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},e.prototype.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},e.prototype.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){e.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},e.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},e.prototype.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},e.prototype.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},e.prototype.$measureCharWidth=function(e){this.$main.textContent=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},e.prototype.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},e.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},e.prototype.$getZoom=function(e){return!e||!e.parentElement?1:(Number(window.getComputedStyle(e).zoom)||1)*this.$getZoom(e.parentElement)},e.prototype.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},e.prototype.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)},e}();h.prototype.$characterSize={width:0,height:0},r.implement(h.prototype,a),t.FontMetrics=h}),ace.define("ace/css/editor-css",["require","exports","module"],function(e,t,n){n.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n forced-color-adjust: none;\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n.ace_invisible {\n font-variant-ligatures: none;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n.ace_icon_svg.ace_hint {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");\n background-color: silver;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts   instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre-wrap;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n overflow: auto;\n max-width: min(33em, 66vw);\n overscroll-behavior: contain;\n}\n.ace_tooltip pre {\n white-space: pre-wrap;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n position: relative;\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n z-index: 1;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n}\n\n.ace_ghost_text_container > div {\n white-space: pre;\n}\n\n.ghost_text_line_wrapped::after {\n content: "\u21a9";\n position: absolute;\n}\n\n.ace_lineWidgetContainer.ace_ghost_text {\n margin: 0px 4px\n}\n\n.ace_screenreader-only {\n position:absolute;\n left:-10000px;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n}\n\n.ace_hidden_token {\n display: none;\n}'}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event_emitter").EventEmitter,o=function(){function e(e,t){this.canvas=r.createElement("canvas"),this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.canvasHeight=e.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=e.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},e.element.appendChild(this.canvas)}return e.prototype.$updateDecorators=function(e){function i(e,t){return e.priorityt.priority?1:0}var t=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(e){this.maxHeight=e.maxHeight,this.lineHeight=e.lineHeight,this.canvasHeight=e.height;var n=(e.lastRow+1)*this.lineHeight;nthis.canvasHeight&&(v=this.canvasHeight-this.halfMinDecorationHeight),h=Math.round(v-this.halfMinDecorationHeight),p=Math.round(v+this.halfMinDecorationHeight)}r.fillStyle=t[s[a].type]||null,r.fillRect(0,c,this.canvasWidth,p-h)}}var m=this.renderer.session.selection.getCursor();if(m){var l=this.compensateFoldRows(m.row,u),c=Math.round((m.row-l)*this.lineHeight*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,c,this.canvasWidth,2)}},e.prototype.compensateFoldRows=function(e,t){var n=0;if(t&&t.length>0)for(var r=0;rt[r].start.row&&e=t[r].end.row&&(n+=t[r].end.row-t[r].start.row);return n},e}();i.implement(o.prototype,s),t.Decorator=o}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./config"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./scrollbar_custom").HScrollBar,d=e("./scrollbar_custom").VScrollBar,v=e("./renderloop").RenderLoop,m=e("./layer/font_metrics").FontMetrics,g=e("./lib/event_emitter").EventEmitter,y=e("./css/editor-css"),b=e("./layer/decorators").Decorator,w=e("./lib/useragent"),E=e("./layer/text_util").isTextToken;i.importCssString(y,"ace_editor.css",!1);var S=function(){function e(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),o.get("useStrictCSP")==null&&o.set("useStrictCSP",!1),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.on("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.on("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new m(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!w.isIOS,this.$loop=new v(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),o.resetOptions(this),o._signal("renderer",this)}return e.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),i.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},e.prototype.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},e.prototype.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},e.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},e.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},e.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},e.prototype.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},e.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},e.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},e.prototype.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),!r&&this.$maxLines&&this.lineHeight>1&&(!i.style.height||i.style.height=="0px")&&(i.style.height="1px",r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);this.$resizeTimer&&this.$resizeTimer.cancel();if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)},e.prototype.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(o.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(o.scrollerWidth);if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},e.prototype.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},e.prototype.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},e.prototype.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},e.prototype.getAnimatedScroll=function(){return this.$animatedScroll},e.prototype.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},e.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},e.prototype.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},e.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},e.prototype.setHighlightIndentGuides=function(e){this.setOption("highlightIndentGuides",e)},e.prototype.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},e.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},e.prototype.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},e.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},e.prototype.getShowGutter=function(){return this.getOption("showGutter")},e.prototype.setShowGutter=function(e){return this.setOption("showGutter",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},e.prototype.getContainerElement=function(){return this.container},e.prototype.getMouseEventTarget=function(){return this.scroller},e.prototype.getTextAreaContainer=function(){return this.container},e.prototype.$moveTextAreaToCursor=function(){if(this.$isMousePressed)return;var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(!n)return;t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,s=n.top,o=n.left;s-=r.offset;var u=t&&t.useTextareaForIME||w.isMobile?this.lineHeight:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1,f=this.$size.height-u;if(!t)s+=this.lineHeight;else if(t.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0]}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,f))},e.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},e.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},e.prototype.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},e.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},e.prototype.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},e.prototype.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},e.prototype.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},e.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},e.prototype.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},e.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},e.prototype.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},e.prototype.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},e.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},e.prototype.freeze=function(){this.$frozen=!0},e.prototype.unfreeze=function(){this.$frozen=!1},e.prototype.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName));if(e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_LINES?((this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender",e)},e.prototype.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},e.prototype.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),n=t.height<=2*this.lineHeight);var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},e.prototype.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},e.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},e.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},e.prototype.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},e.prototype.updateBreakpoints=function(e){this._rows=e,this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},e.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},e.prototype.showCursor=function(){this.$cursorLayer.showCursor()},e.prototype.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},e.prototype.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},e.prototype.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},e.prototype.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},e.prototype.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},e.prototype.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},e.prototype.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},e.prototype.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME==undefined&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},e.prototype.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},e.prototype.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=""},e.prototype.setGhostText=function(e,t){var n=this.session.selection.cursor,r=t||{row:n.row,column:n.column};this.removeGhostText();var s=this.$calculateWrappedTextChunks(e,r);this.addToken(s[0].text,"ghost_text",r.row,r.column),this.$ghostText={text:e,position:{row:r.row,column:r.column}};var o=i.createElement("div");if(s.length>1){var u=this.hideTokensAfterPosition(r.row,r.column),a;s.slice(1).forEach(function(e){var t=i.createElement("div"),n=i.createElement("span");n.className="ace_ghost_text",e.wrapped&&(t.className="ghost_text_line_wrapped"),e.text.length===0&&(e.text=" "),n.appendChild(i.createTextNode(e.text)),t.appendChild(n),o.appendChild(t),a=t}),u.forEach(function(e){var t=i.createElement("span");E(e.type)||(t.className="ace_"+e.type.replace(/\./g," ace_")),t.appendChild(i.createTextNode(e.value)),a.appendChild(t)}),this.$ghostTextWidget={el:o,row:r.row,column:r.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var f=this.$cursorLayer.getPixelPosition(r,!0),l=this.container,c=l.getBoundingClientRect().height,h=s.length*this.lineHeight,p=h0){var f=0;a.push(i[o].length);for(var l=0;l1||Math.abs(e.$size.height-r)>1?e.$resizeTimer.delay():e.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)},e}();S.prototype.CHANGE_CURSOR=1,S.prototype.CHANGE_MARKER=2,S.prototype.CHANGE_GUTTER=4,S.prototype.CHANGE_SCROLL=8,S.prototype.CHANGE_LINES=16,S.prototype.CHANGE_TEXT=32,S.prototype.CHANGE_SIZE=64,S.prototype.CHANGE_MARKER_BACK=128,S.prototype.CHANGE_MARKER_FRONT=256,S.prototype.CHANGE_FULL=512,S.prototype.CHANGE_H_SCROLL=1024,S.prototype.$changes=0,S.prototype.$padding=null,S.prototype.$frozen=!1,S.prototype.STEPS=8,r.implement(S.prototype,g),o.defineOptions(S.prototype,"renderer",{useResizeObserver:{set:function(e){!e&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):e&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(e){this.$gutterLayer.$useSvgGutterIcons=e},initialValue:!1},showFoldedAnnotations:{set:function(e){this.$gutterLayer.$showFoldedAnnotations=e},initialValue:!1},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(e){this.$textLayer.setHighlightIndentGuides(e)==1?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(e){this.$updateCustomScrollbar(e)},initialValue:!1},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!w.isMobile&&!w.isIE}}),t.VirtualRenderer=S}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";function u(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}function a(e){if(typeof Worker=="undefined")return{postMessage:function(){},terminate:function(){}};if(o.get("loadWorkerFromBlob")){var t=u(e),n=window.URL||window.webkitURL,r=n.createObjectURL(t);return new Worker(r)}return new Worker(e)}var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),f=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.$createWorkerFromOldConfig=function(t,n,r,i,s){e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var u=this.$normalizePath;i=i||u(e.toUrl("ace/worker/worker.js",null,"_"));var f={};t.forEach(function(t){f[t]=u(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=a(i),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:f,module:n,classname:r}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(e){e.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(){function e(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}return e.prototype.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},e.prototype.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},e.prototype.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},e.prototype.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},e.prototype.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},e.prototype.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},e.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},e.prototype.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}if(!e.textInput)return;var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()},e),u.addListener(t,"keyup",r,e),u.addListener(t,"blur",r,e)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){var e=this.ranges.length?this.ranges:[this.getRange()],t=[];for(var n=0;n1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?this.on("mousedown",o):this.off("mousedown",o)},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var p=e.getLine(l).length;return new r(f,u,l,p)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(i.comparePoints);if(!r.length)return;var s=o(r,{row:t,column:-1},i.comparePoints);s<0&&(s=-s-1),s>=r.length?s=n>0?0:r.length-1:s===0&&n<0&&(s=r.length-1);var u=r[s];if(!u||!n)return;if(u.row===t){do u=r[s+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[s+=n];while(u&&u.row==t);return a.length&&a}var r=e("../lib/dom"),i=e("../range").Range,s=e("../config").nls;t.showErrorMarker=function(e,t){var n=e.session,i=e.getCursorPosition(),o=i.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];i.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,i.row=c.row,l=e.renderer.$gutterLayer.$annotations[i.row]}else{if(a)return;l={displayText:[s("error-marker.good-state","Looks good!")],className:"ace_ok"}}e.session.unfold(i.row),e.selection.moveToPosition(i);var h={row:i.row,fixedWidth:!0,coverGutter:!0,el:r.createElement("div"),type:"errorMarker"},p=h.el.appendChild(r.createElement("div")),d=h.el.appendChild(r.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(i).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,l.displayText.forEach(function(e,t){p.appendChild(r.createTextNode(e)),t=n[1]?(e.length>n[1]&&(r="invalid"),n.shift(),n.shift(),this.next=n.shift()):this.next="",r},regex:/"#*/,next:"start"},{defaultToken:"string.quoted.raw.source.rust"}]},{token:"string.quoted.double.source.rust",regex:'"',push:[{token:"string.quoted.double.source.rust",regex:'"',next:"pop"},{token:"constant.character.escape.source.rust",regex:o},{defaultToken:"string.quoted.double.source.rust"}]},{token:["keyword.source.rust","text","entity.name.function.source.rust","punctuation"],regex:"\\b(fn)(\\s+)((?:r#)?"+u+")(<)(?!<)",push:"generics"},{token:["keyword.source.rust","text","entity.name.function.source.rust"],regex:"\\b(fn)(\\s+)((?:r#)?"+u+")"},{token:["support.constant","punctuation"],regex:"("+u+"::)(<)(?!<)",push:"generics"},{token:"support.constant",regex:u+"::"},{token:"variable.language.source.rust",regex:"\\bself\\b"},s.getStartRule("doc-start"),{token:"comment.line.doc.source.rust",regex:"///.*$"},{token:"comment.line.doc.source.rust",regex:"//!.*$"},{token:"comment.line.double-dash.source.rust",regex:"//.*$"},{token:"comment.start.block.source.rust",regex:"/\\*",stateName:"comment",push:[{token:"comment.start.block.source.rust",regex:"/\\*",push:"comment"},{token:"comment.end.block.source.rust",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.source.rust"}]},{token:["keyword.source.rust","identifier","punctuaction"],regex:"(?:(impl)|("+u+"))(<)(?!<)",stateName:"generics",push:[{token:"keyword.operator",regex:/<<|=/},{token:"punctuaction",regex:"<(?!<)",push:"generics"},{token:"variable.other.source.rust",regex:"'"+u+"(?![\\'])"},{token:"storage.type.source.rust",regex:"\\b(u8|u16|u32|u64|u128|usize|i8|i16|i32|i64|i128|isize|char|bool)\\b"},{token:"keyword",regex:"\\b(?:const|dyn)\\b"},{token:"punctuation",regex:">",next:"pop"},{include:"punctuation"},{include:"operators"},{include:"constants"},{token:"identifier",regex:"\\b"+u+"\\b"}]},{token:e,regex:u},{token:"meta.preprocessor.source.rust",regex:"\\b\\w\\(\\w\\)*!|#\\[[\\w=\\(\\)_]+\\]\\b"},{include:"punctuation"},{include:"operators"},{include:"constants"}],punctuation:[{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"punctuation.operator",regex:/[?:,;.]/}],operators:[{token:"keyword.operator",regex:/\$|[-=]>|[-+%^=!&|<>]=?|[*/](?![*/])=?/}],constants:[{token:"constant.numeric.source.rust",regex:/\b(?:0x[a-fA-F0-9_]+|0o[0-7_]+|0b[01_]+|[0-9][0-9_]*(?!\.))(?:[iu](?:size|8|16|32|64|128))?\b/},{token:"constant.numeric.source.rust",regex:/\b(?:[0-9][0-9_]*)(?:\.[0-9][0-9_]*)?(?:[Ee][+-][0-9][0-9_]*)?(?:f32|f64)?\b/}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};a.metaData={fileTypes:["rs","rc"],foldingStartMarker:"^.*\\bfn\\s*(\\w+\\s*)?\\([^\\)]*\\)(\\s*\\{[^\\}]*)?\\s*$",foldingStopMarker:"^\\s*\\}",name:"Rust",scopeName:"source.rust"},r.inherits(a,i),t.RustHighlightRules=a}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/rust",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rust_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./rust_highlight_rules").RustHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$quotes={'"':'"'},this.$id="ace/mode/rust"}.call(u.prototype),t.Mode=u}); (function() { - ace.require(["ace/mode/rust"], function(m) { - if (typeof module == "object" && typeof exports == "object" && module) { - module.exports = m; - } - }); - })(); - \ No newline at end of file diff --git a/src/main/webapp/javascript/ace-1.41.0/ace.js b/src/main/webapp/javascript/ace-1.41.0/ace.js new file mode 100644 index 00000000..d3796009 --- /dev/null +++ b/src/main/webapp/javascript/ace-1.41.0/ace.js @@ -0,0 +1,23 @@ +(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;un.length)t=n.length;t-=e.length;var r=n.indexOf(e,t);return r!==-1&&r===t}),String.prototype.repeat||r(String.prototype,"repeat",function(e){var t="",n=this;while(e>0){e&1&&(t+=n);if(e>>=1)n+=n}return t}),String.prototype.includes||r(String.prototype,"includes",function(e,t){return this.indexOf(e,t)!=-1}),Object.assign||(Object.assign=function(e){if(e===undefined||e===null)throw new TypeError("Cannot convert undefined or null to object");var t=Object(e);for(var n=1;n>>0,r=arguments[1],i=r>>0,s=i<0?Math.max(n+i,0):Math.min(i,n),o=arguments[2],u=o===undefined?n:o>>0,a=u<0?Math.max(n+u,0):Math.min(u,n);while(s0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var r=typeof navigator=="object"?navigator:{},i=(/mac|win|linux/i.exec(r.platform)||["other"])[0].toLowerCase(),s=r.userAgent||"",o=r.appName||"";t.isWin=i=="win",t.isMac=i=="mac",t.isLinux=i=="linux",t.isIE=o=="Microsoft Internet Explorer"||o.indexOf("MSAppHost")>=0?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window["opera"])=="[object Opera]",t.isWebKit=parseFloat(s.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(s.split(" Chrome/")[1])||undefined,t.isSafari=parseFloat(s.split(" Safari/")[1])&&!t.isChrome||undefined,t.isEdge=parseFloat(s.split(" Edge/")[1])||undefined,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isAndroid=s.indexOf("Android")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function u(){var e=o;o=null,e&&e.forEach(function(e){a(e[0],e[1])})}function a(e,n,r){if(typeof document=="undefined")return;if(o)if(r)u();else if(r===!1)return o.push([e,n]);if(s)return;var i=r;if(!r||!r.getRootNode)i=document;else{i=r.getRootNode();if(!i||i==r)i=document}var a=i.ownerDocument||i;if(n&&t.hasCssString(n,i))return null;n&&(e+="\n/*# sourceURL=ace/css/"+n+" */");var f=t.createElement("style");f.appendChild(a.createTextNode(e)),n&&(f.id=n),i==a&&(i=t.getDocumentHead(a)),i.insertBefore(f,i.firstChild)}var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function l(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e&&e.appendChild&&t&&t.appendChild(e),e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s=1.5:!0,r.isChromeOS&&(t.HI_DPI=!1);if(typeof document!="undefined"){var f=document.createElement("div");t.HI_DPI&&f.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof f.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),f=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=u[t+"Path"];return o==null?o=u.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return u.$moduleUrls[e]=t};var a=function(t,n){if(t==="ace/theme/textmate"||t==="./theme/textmate")return n(null,e("./theme/textmate"));if(f)return f(t,n);console.error("loader is not configured")},f;t.setLoader=function(e){f=e},t.dynamicModules=Object.create(null),t.$loading={},t.$loaded={},t.loadModule=function(e,n){var r;if(Array.isArray(e))var s=e[0],o=e[1];else if(typeof e=="string")var o=e;var u=function(e){if(e&&!t.$loading[o])return n&&n(e);t.$loading[o]||(t.$loading[o]=[]),t.$loading[o].push(n);if(t.$loading[o].length>1)return;var r=function(){a(o,function(e,n){n&&(t.$loaded[o]=n),t._emit("load.module",{name:o,module:n});var r=t.$loading[o];t.$loading[o]=null,r.forEach(function(e){e&&e(n)})})};if(!t.get("packaged"))return r();i.loadScript(t.moduleUrl(o,s),r),l()};if(t.dynamicModules[o])t.dynamicModules[o]().then(function(e){e.default?u(e.default):u(e)});else{try{r=this.$require(o)}catch(f){}u(r||t.$loaded[o])}},t.$require=function(e){if(typeof n["require"]=="function"){var t="require";return n[t](e)}},t.setModuleLoader=function(e,n){t.dynamicModules[e]=n};var l=function(){!u.basePath&&!u.workerPath&&!u.modePath&&!u.themePath&&!Object.keys(u.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),l=function(){})};t.version="1.41.0"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(e,t,n){"use strict";function s(t){if(!i||!i.document)return;r.set("packaged",t||e.packaged||n.packaged||i.define&&define.packaged);var s={},u="",a=document.currentScript||document._currentScript,f=a&&a.ownerDocument||document;a&&a.src&&(u=a.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");var l=f.getElementsByTagName("script");for(var c=0;c ["+this.end.row+"/"+this.end.column+"]"},e.prototype.contains=function(e,t){return this.compare(e,t)==0},e.prototype.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},e.prototype.comparePoint=function(e){return this.compare(e.row,e.column)},e.prototype.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},e.prototype.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},e.prototype.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},e.prototype.isStart=function(e,t){return this.start.row==e&&this.start.column==t},e.prototype.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},e.prototype.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},e.prototype.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},e.prototype.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},e.prototype.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},e.prototype.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},e.prototype.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},e.prototype.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.clipRows=function(t,n){if(this.end.row>n)var r={row:n+1,column:0};else if(this.end.rown)var i={row:n+1,column:0};else if(this.start.row1?(u++,u>4&&(u=1)):u=1;if(i.isIE){var o=Math.abs(e.clientX-a)>5||Math.abs(e.clientY-f)>5;if(!l||o)u=1;l&&clearTimeout(l),l=setTimeout(function(){l=null},n[u-1]||600),u==1&&(a=e.clientX,f=e.clientY)}e._clicks=u,r[s]("mousedown",e);if(u>4)u=0;else if(u>1)return r[s](h[u],e)}var u=0,a,f,l,h={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){c(e,"mousedown",p,o)})},t.getModifierString=function(e){return r.KEY_MODS[p(e)]},t.addCommandKeyListener=function(e,n,r){var i=null;c(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=d(n,e,e.keyCode);return i=e.defaultPrevented,t},r),c(e,"keypress",function(e){i&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),i=null)},r),c(e,"keyup",function(e){s[e.keyCode]=null},r),s||(v(),c(window,"focus",v))};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var m=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+m++,i=function(s){s.data==r&&(t.stopPropagation(s),h(n,"message",i),e())};c(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(e,t,n){"use strict";var r;n.exports={lineMode:!1,pasteCancelled:function(){return r&&r>Date.now()-50?!0:r=!1},cancel:function(){r=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../config").nls,s=e("../lib/useragent"),o=e("../lib/dom"),u=e("../lib/lang"),a=e("../clipboard"),f=s.isChrome<18,l=s.isIE,c=s.isChrome>63,h=400,p=e("../lib/keys"),d=p.KEY_MODS,v=s.isIOS,m=v?/\s/:/\n/,g=s.isMobile,y;y=function(e,t){function Q(){T=!0,n.blur(),n.focus(),T=!1}function Y(e){e.keyCode==27&&n.value.lengthk&&N[s]=="\n")o=p.end;else if(rk&&N.slice(0,s).split("\n").length>2)o=p.down;else if(s>k&&N[s-1]==" ")o=p.right,u=d.option;else if(s>k||s==k&&k!=C&&r==s)o=p.right;r!==s&&(u|=d.shift);if(o){var a=t.onCommandKey({},u,o);if(!a&&t.commands){o=p.keyCodeToString(o);var f=t.commands.findKeyCommand(u,o);f&&t.execCommand(f)}C=r,k=s,H("")}};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=o.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck","false"),n.style.opacity="0",e.insertBefore(n,e.firstChild),this.setHost=function(e){t=e};var y=!1,b=!1,w=!1,E=!1,S="";g||(n.style.fontSize="1px");var x=!1,T=!1,N="",C=0,k=0,L=0,A=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER,M=0;try{var _=document.activeElement===n}catch(D){}this.setNumberOfExtraLines=function(e){A=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER;if(e<0){M=0;return}M=e},this.setAriaLabel=function(){var e="";t.$textInputAriaLabel&&(e+="".concat(t.$textInputAriaLabel,", "));if(t.session){var r=t.session.selection.cursor.row;e+=i("text-input.aria-label","Cursor at row $0",[r+1])}n.setAttribute("aria-label",e)},this.setAriaOptions=function(e){e.activeDescendant?(n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-autocomplete",e.inline?"both":"list"),n.setAttribute("aria-activedescendant",e.activeDescendant)):(n.setAttribute("aria-haspopup","false"),n.setAttribute("aria-autocomplete","both"),n.removeAttribute("aria-activedescendant")),e.role&&n.setAttribute("role",e.role),e.setLabel&&(n.setAttribute("aria-roledescription",i("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),r.addListener(n,"blur",function(e){if(T)return;t.onBlur(e),_=!1},t),r.addListener(n,"focus",function(e){if(T)return;_=!0;if(s.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),s.isEdge?setTimeout(H):H()},t),this.$focusScroll=!1,this.focus=function(){this.setAriaOptions({setLabel:t.renderer.enableKeyboardAccessibility});if(S||c||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var r=n.getBoundingClientRect().top!=0}catch(i){return}var s=[];if(r){var o=n.parentElement;while(o&&o.nodeType==1)s.push(o),o.setAttribute("ace_nocontext","true"),!o.parentElement&&o.getRootNode?o=o.getRootNode().host:o=o.parentElement}n.focus({preventScroll:!0}),r&&s.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return _},t.on("beforeEndOperation",function(){var e=t.curOp,r=e&&e.command&&e.command.name;if(r=="insertstring")return;var i=r&&(e.docChanged||e.selectionChanged);w&&i&&(N=n.value="",K()),H()}),t.on("changeSelection",this.setAriaLabel);var P=function(e,n){var r=n;for(var i=1;i<=e-A&&i<2*M+1;i++)r+=t.session.getLine(e-i).length+1;return r},H=v?function(e){if(!_||y&&!e||E)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=N=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(C!=i||k!=s)&&n.setSelectionRange(i,s),C=i,k=s}:function(){if(w||E)return;if(!_&&!I)return;w=!0;var e=0,r=0,i="";if(t.session){var s=t.selection,o=s.getRange(),u=s.cursor.row;if(u===O+1)A=O+1,O=A+2*M;else if(u===A-1)O=A-1,A=O-2*M;else if(uO+1)A=u>M?u-M:0,O=u>M?u+M:2*M;var a=[];for(var f=A;f<=O;f++)a.push(t.session.getLine(f));i=a.join("\n"),e=P(o.start.row,o.start.column),r=P(o.end.row,o.end.column);if(o.start.rowO){var c=t.session.getLine(O+1);r=o.end.row>O+1?c.length:o.end.column,r+=i.length+1,i=i+"\n"+c}else g&&u>0&&(i="\n"+i,r+=1,e+=1);i.length>h&&(e=N.length&&e.value===N&&N&&e.selectionEnd!==k},j=function(e){if(w)return;y?y=!1:B(n)?(t.selectAll(),H()):g&&n.selectionStart!=C&&H()},F=null;this.setInputHandler=function(e){F=e},this.getInputHandler=function(){return F};var I=!1,q=function(e,r){I&&(I=!1);if(b)return H(),e&&t.onPaste(e),b=!1,"";var i=n.selectionStart,o=n.selectionEnd,u=C,a=N.length-k,f=e,l=e.length-i,c=e.length-o,h=0;while(u>0&&N[h]==e[h])h++,u--;f=f.slice(h),h=1;while(a>0&&N.length-h>C-1&&N[N.length-h]==e[e.length-h])h++,a--;l-=h-1,c-=h-1;var p=f.length-h+1;p<0&&(u=-p,p=0),f=f.slice(0,p);if(!r&&!f&&!l&&!u&&!a&&!c)return"";E=!0;var d=!1;return s.isAndroid&&f==". "&&(f=" ",d=!0),f&&!u&&!a&&!l&&!c||x?t.onTextInput(f):t.onTextInput(f,{extendLeft:u,extendRight:a,restoreStart:l,restoreEnd:c}),E=!1,N=e,C=i,k=o,L=c,d?"\n":f},R=function(e){if(w)return J();if(e&&e.inputType){if(e.inputType=="historyUndo")return t.execCommand("undo");if(e.inputType=="historyRedo")return t.execCommand("redo")}var r=n.value,i=q(r,!0);(r.length>h+100||m.test(i)||g&&C<1&&C==k)&&H()},U=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||f)return;var i=l||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return U(e,t,!0)}},z=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);U(e,s)?(v&&(H(s),y=s,setTimeout(function(){y=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(y=!0,n.value=s,n.select(),setTimeout(function(){y=!1,H(),i?t.onCut():t.onCopy()}))},W=function(e){z(e,!0)},X=function(e){z(e,!1)},V=function(e){var i=U(e);if(a.pasteCancelled())return;typeof i=="string"?(i&&t.onPaste(i,e),s.isIE&&setTimeout(H),r.preventDefault(e)):(n.value="",b=!0)};r.addCommandKeyListener(n,function(e,n,r){if(w)return;return t.onCommandKey(e,n,r)},t),r.addListener(n,"select",j,t),r.addListener(n,"input",R,t),r.addListener(n,"cut",W,t),r.addListener(n,"copy",X,t),r.addListener(n,"paste",V,t),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(s.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:X(e);break;case 86:V(e);break;case 88:W(e)}},t);var $=function(e){if(w||!t.onCompositionStart||t.$readOnly)return;w={};if(x)return;e.data&&(w.useTextareaForIME=!1),setTimeout(J,0),t._signal("compositionStart"),t.on("mousedown",Q);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,w.markerRange=r,w.selectionStart=C,t.onCompositionStart(w),w.useTextareaForIME?(N=n.value="",C=0,k=0):(n.msGetInputContext&&(w.context=n.msGetInputContext()),n.getInputContext&&(w.context=n.getInputContext()))},J=function(){if(!w||!t.onCompositionUpdate||t.$readOnly)return;if(x)return Q();if(w.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;q(e),w.markerRange&&(w.context&&(w.markerRange.start.column=w.selectionStart=w.context.compositionStartOffset),w.markerRange.end.column=w.markerRange.start.column+k-w.selectionStart+L)}},K=function(e){if(!t.onCompositionEnd||t.$readOnly)return;w=!1,t.onCompositionEnd(),t.off("mousedown",Q),e&&R()},G=u.delayedCall(J,50).schedule.bind(null,null);r.addListener(n,"compositionstart",$,t),r.addListener(n,"compositionupdate",J,t),r.addListener(n,"keyup",Y,t),r.addListener(n,"keydown",G,t),r.addListener(n,"compositionend",K,t),this.getElement=function(){return n},this.setCommandMode=function(e){x=e,n.readOnly=!1},this.setReadOnly=function(e){x||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){I=!0,H(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,i){S||(S=n.style.cssText),n.style.cssText=(i?"z-index:100000;":"")+(s.isIE?"opacity:0.1;":"")+"text-indent: -"+(C+k)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=o.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(a.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){o.translate(n,e.clientX-l-2,Math.min(e.clientY-f-2,c))};h(e);if(e.type!="mousedown")return;t.renderer.$isMousePressed=!0,clearTimeout(Z),s.isWin&&r.capture(t.container,h,et)},this.onContextMenuClose=et;var Z,tt=function(e){t.textInput.onContextMenu(e),et()};r.addListener(n,"mouseup",tt,t),r.addListener(n,"mousedown",function(e){e.preventDefault(),et()},t),r.addListener(t.renderer.scroller,"contextmenu",tt,t),r.addListener(n,"contextmenu",tt,t),v&&nt(e,t,n),this.destroy=function(){n.parentElement&&n.parentElement.removeChild(n)}},t.TextInput=y,t.$setUserAgentForTests=function(e,t){g=e,v=t}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550,o=function(){function e(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}return e.prototype.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},e.prototype.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.setStyle("ace_selecting"),this.setState("select")},e.prototype.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},e.prototype.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},e.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},e.prototype.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},e.prototype.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},e.prototype.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},e.prototype.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},e.prototype.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowedn.clientHeight;r||t.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=this&&this.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},s=e("./lib/dom"),o=e("./lib/event"),u=e("./range").Range,a=e("./lib/scroll").preventParentScroll,f="ace_tooltip",l=function(){function e(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}return e.prototype.$init=function(){return this.$element=s.createElement("div"),this.$element.className=f,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},e.prototype.getElement=function(){return this.$element||this.$init()},e.prototype.setText=function(e){this.getElement().textContent=e},e.prototype.setHtml=function(e){this.getElement().innerHTML=e},e.prototype.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},e.prototype.setClassName=function(e){s.addCssClass(this.getElement(),e)},e.prototype.setTheme=function(e){this.$element.className=f+" "+(e.isDark?"ace_dark ":"")+(e.cssClass||"")},e.prototype.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},e.prototype.hide=function(e){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=f,this.isOpen=!1)},e.prototype.getHeight=function(){return this.getElement().offsetHeight},e.prototype.getWidth=function(){return this.getElement().offsetWidth},e.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},e}(),c=function(){function e(){this.popups=[]}return e.prototype.addPopup=function(e){this.popups.push(e),this.updatePopups()},e.prototype.removePopup=function(e){var t=this.popups.indexOf(e);t!==-1&&(this.popups.splice(t,1),this.updatePopups())},e.prototype.updatePopups=function(){var e,t,n,r;this.popups.sort(function(e,t){return t.priority-e.priority});var s=[];try{for(var o=i(this.popups),u=o.next();!u.done;u=o.next()){var a=u.value,f=!0;try{for(var l=(n=void 0,i(s)),c=l.next();!c.done;c=l.next()){var h=c.value;if(this.doPopupsOverlap(h,a)){f=!1;break}}}catch(p){n={error:p}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}f?s.push(a):a.hide()}}catch(d){e={error:d}}finally{try{u&&!u.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}},e.prototype.doPopupsOverlap=function(e,t){var n=e.getElement().getBoundingClientRect(),r=t.getElement().getBoundingClientRect();return n.leftr.left&&n.topr.top},e}(),h=new c;t.popupManager=h,t.Tooltip=l;var p=function(e){function t(t){t===void 0&&(t=document.body);var n=e.call(this,t)||this;n.timeout=undefined,n.lastT=0,n.idleTime=350,n.lastEvent=undefined,n.onMouseOut=n.onMouseOut.bind(n),n.onMouseMove=n.onMouseMove.bind(n),n.waitForHover=n.waitForHover.bind(n),n.hide=n.hide.bind(n);var r=n.getElement();return r.style.whiteSpace="pre-wrap",r.style.pointerEvents="auto",r.addEventListener("mouseout",n.onMouseOut),r.tabIndex=-1,r.addEventListener("blur",function(){r.contains(document.activeElement)||this.hide()}.bind(n)),r.addEventListener("wheel",a),n}return r(t,e),t.prototype.addToEditor=function(e){e.on("mousemove",this.onMouseMove),e.on("mousedown",this.hide),e.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},t.prototype.removeFromEditor=function(e){e.off("mousemove",this.onMouseMove),e.off("mousedown",this.hide),e.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},t.prototype.onMouseMove=function(e,t){this.lastEvent=e,this.lastT=Date.now();var n=t.$mouseHandler.isMousePressed;if(this.isOpen){var r=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(r.row,r.column)||n||this.isOutsideOfText(this.lastEvent))&&this.hide()}if(this.timeout||n)return;this.lastEvent=e,this.timeout=setTimeout(this.waitForHover,this.idleTime)},t.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var e=Date.now()-this.lastT;if(this.idleTime-e>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-e);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},t.prototype.isOutsideOfText=function(e){var t=e.editor,n=e.getDocumentPosition(),r=t.session.getLine(n.row);if(n.column==r.length){var i=t.renderer.pixelToScreenCoordinates(e.clientX,e.clientY),s=t.session.documentToScreenPosition(n.row,n.column);if(s.column!=i.column||s.row!=i.row)return!0}return!1},t.prototype.setDataProvider=function(e){this.$gatherData=e},t.prototype.showForRange=function(e,t,n,r){var i=10;if(r&&r!=this.lastEvent)return;if(this.isOpen&&document.activeElement==this.getElement())return;var s=e.renderer;this.isOpen||(h.addPopup(this),this.$registerCloseEvents(),this.setTheme(s.theme)),this.isOpen=!0,this.addMarker(t,e.session),this.range=u.fromPoints(t.start,t.end);var o=s.textToScreenCoordinates(t.start.row,t.start.column),a=s.scroller.getBoundingClientRect();o.pageXt.session.documentToScreenRow(a.row,a.column))return c()}r.showTooltip(i);if(!r.isOpen)return;t.on("mousewheel",c),t.on("changeSession",c),window.addEventListener("keydown",c,!0);if(e.$tooltipFollowsMouse)p(u);else{var h=u.getGutterRow(),d=n.$lines.get(h);if(d){var v=d.element.querySelector(".ace_gutter_annotation"),m=v.getBoundingClientRect(),g=r.getElement().style;g.left=m.right-f+"px",g.top=m.bottom-l+"px"}else p(u)}}function c(e){if(e&&e.type==="keydown"&&(e.ctrlKey||e.metaKey))return;if(e&&e.type==="mouseout"&&(!e.relatedTarget||r.getElement().contains(e.relatedTarget)))return;i&&(i=clearTimeout(i)),r.isOpen&&(r.hideTooltip(),t.off("mousewheel",c),t.off("changeSession",c),window.removeEventListener("keydown",c,!0))}function p(e){r.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,r=new h(t,!0);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var i,u;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(s.hasCssClass(n,"ace_fold-widget")||s.hasCssClass(n,"ace_custom-widget"))return c();r.isOpen&&e.$tooltipFollowsMouse&&p(t),u=t;if(i)return;i=setTimeout(function(){i=null,u&&!e.isMousePressed&&a()},50)}),o.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!r.isOpen)return;i=setTimeout(function(){i=null,c(e)},50)},t)}var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=this&&this.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},s=e("../lib/dom"),o=e("../lib/event"),u=e("../tooltip").Tooltip,a=e("../config").nls,f=5,l=3;t.GUTTER_TOOLTIP_LEFT_OFFSET=f,t.GUTTER_TOOLTIP_TOP_OFFSET=l,t.GutterHandler=c;var h=function(e){function t(t,n){n===void 0&&(n=!1);var r=e.call(this,t.container)||this;r.editor=t,r.visibleTooltipRow;var i=r.getElement();return i.setAttribute("role","tooltip"),i.style.pointerEvents="auto",n&&(r.onMouseOut=r.onMouseOut.bind(r),i.addEventListener("mouseout",r.onMouseOut)),r}return r(t,e),t.prototype.onMouseOut=function(e){if(!this.isOpen)return;if(!e.relatedTarget||this.getElement().contains(e.relatedTarget))return;if(e&&e.currentTarget.contains(e.relatedTarget))return;this.hideTooltip()},t.prototype.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),u.prototype.setPosition.call(this,e,t)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:a("gutter-tooltip.aria-label.error.singular","error"),plural:a("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:a("gutter-tooltip.aria-label.security.singular","security finding"),plural:a("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:a("gutter-tooltip.aria-label.warning.singular","warning"),plural:a("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:a("gutter-tooltip.aria-label.info.singular","information message"),plural:a("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:a("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:a("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(e){var n,r=this.editor.renderer.$gutterLayer,i=r.$annotations[e],o;i?o={displayText:Array.from(i.displayText),type:Array.from(i.type)}:o={displayText:[],type:[]};var u=r.session.getFoldLine(e);if(u&&r.$showFoldedAnnotations){var a={error:[],security:[],warning:[],info:[],hint:[]},f={error:1,security:2,warning:3,info:4,hint:5},l;for(var c=e+1;c<=u.end.row;c++){if(!r.$annotations[c])continue;for(var h=0;ha?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.$resetCursorStyle(),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("div");n.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",n.textContent="\u00a0";var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.on("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",t.container.appendChild(n),i.setDragImage&&i.setDragImage(n,0,0),setTimeout(function(){t.container.removeChild(n)}),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e),t),i.addListener(c,"dragend",this.onDragEnd.bind(e),t),i.addListener(c,"dragenter",this.onDragEnter.bind(e),t),i.addListener(c,"dragover",this.onDragOver.bind(e),t),i.addListener(c,"dragleave",this.onDragLeave.bind(e),t),i.addListener(c,"drop",this.onDrop.bind(e),t);var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent,i=e("../lib/event"),s=e("../lib/dom");t.addTouchListeners=function(e,t){function b(){var e=window.navigator&&window.navigator.clipboard,r=!1,i=function(){var n=t.getCopyText(),i=t.session.getUndoManager().hasUndo();y.replaceChild(s.buildDom(r?["span",!n&&o("selectall")&&["span",{"class":"ace_mobile-button",action:"selectall"},"Select All"],n&&o("copy")&&["span",{"class":"ace_mobile-button",action:"copy"},"Copy"],n&&o("cut")&&["span",{"class":"ace_mobile-button",action:"cut"},"Cut"],e&&o("paste")&&["span",{"class":"ace_mobile-button",action:"paste"},"Paste"],i&&o("undo")&&["span",{"class":"ace_mobile-button",action:"undo"},"Undo"],o("find")&&["span",{"class":"ace_mobile-button",action:"find"},"Find"],o("openCommandPalette")&&["span",{"class":"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),y.firstChild)},o=function(e){return t.commands.canExecute(e,t)},u=function(n){var s=n.target.getAttribute("action");if(s=="more"||!r)return r=!r,i();if(s=="paste")e.readText().then(function(e){t.execCommand(s,e)});else if(s){if(s=="cut"||s=="copy")e?e.writeText(t.getCopyText()):document.execCommand("copy");t.execCommand(s)}y.firstChild.style.display="none",r=!1,s!="openCommandPalette"&&t.focus()};y=s.buildDom(["div",{"class":"ace_mobile-menu",ontouchstart:function(e){n="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),u(e)},onclick:u},["span"],["span",{"class":"ace_mobile-button",action:"more"},"..."]],t.container)}function w(){if(!t.getOption("enableMobileMenu")){y&&E();return}y||b();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.renderer.textToScreenCoordinates(0,0).pageX,i=t.renderer.scrollLeft,s=t.container.getBoundingClientRect();y.style.top=n.pageY-s.top-3+"px",n.pageX-s.left=2?t.selection.getLineRange(p.row):t.session.getBracketRange(p);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n="wait"}function T(){h+=60,c=setInterval(function(){h--<=0&&(clearInterval(c),c=null),Math.abs(v)<.01&&(v=0),Math.abs(m)<.01&&(m=0),h<20&&(v=.9*v),h<20&&(m=.9*m);var e=t.session.getScrollTop();t.renderer.scrollBy(10*v,10*m),e==t.session.getScrollTop()&&(h=0)},10)}var n="scroll",o,u,a,f,l,c,h=0,p,d=0,v=0,m=0,g,y;i.addListener(e,"contextmenu",function(e){if(!g)return;var n=t.textInput.getElement();n.focus()},t),i.addListener(e,"touchstart",function(e){var i=e.touches;if(l||i.length>1){clearTimeout(l),l=null,a=-1,n="zoom";return}g=t.$mouseHandler.isMousePressed=!0;var s=t.renderer.layerConfig.lineHeight,c=t.renderer.layerConfig.lineHeight,y=e.timeStamp;f=y;var b=i[0],w=b.clientX,E=b.clientY;Math.abs(o-w)+Math.abs(u-E)>s&&(a=-1),o=e.clientX=w,u=e.clientY=E,v=m=0;var T=new r(e,t);p=T.getDocumentPosition();if(y-a<500&&i.length==1&&!h)d++,e.preventDefault(),e.button=0,x();else{d=0;var N=t.selection.cursor,C=t.selection.isEmpty()?N:t.selection.anchor,k=t.renderer.$cursorLayer.getPixelPosition(N,!0),L=t.renderer.$cursorLayer.getPixelPosition(C,!0),A=t.renderer.scroller.getBoundingClientRect(),O=t.renderer.layerConfig.offset,M=t.renderer.scrollLeft,_=function(e,t){return e/=c,t=t/s-.75,e*e+t*t};if(e.clientXP?"cursor":"anchor"),P<3.5?n="anchor":D<3.5?n="cursor":n="scroll",l=setTimeout(S,450)}a=y},t),i.addListener(e,"touchend",function(e){g=t.$mouseHandler.isMousePressed=!1,c&&clearInterval(c),n=="zoom"?(n="",h=0):l?(t.selection.moveToPosition(p),h=0,w()):n=="scroll"?(T(),E()):w(),clearTimeout(l),l=null},t),i.addListener(e,"touchmove",function(e){l&&(clearTimeout(l),l=null);var i=e.touches;if(i.length>1||n=="zoom")return;var s=i[0],a=o-s.clientX,c=u-s.clientY;if(n=="wait"){if(!(a*a+c*c>4))return e.preventDefault();n="cursor"}o=s.clientX,u=s.clientY,e.clientX=s.clientX,e.clientY=s.clientY;var h=e.timeStamp,p=h-f;f=h;if(n=="scroll"){var d=new r(e,t);d.speed=1,d.wheelX=a,d.wheelY=c,10*Math.abs(a)0)if(g==16){for(w=b;w-1){for(w=b;w=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o=e){u=i+1;while(u=e)u++;for(a=i,l=u-1;a=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+10&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;fT&&n[f]0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f=0&&(e=this.session.$docRowCache[n])}return e},e.prototype.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},e.prototype.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;ut&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},e.prototype.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p=u&&hn+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent},e}();t.BidiHandler=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(){function e(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})}return e.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},e.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},e.prototype.getCursor=function(){return this.lead.getPosition()},e.prototype.setAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},e.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},e.prototype.getSelectionLead=function(){return this.lead.getPosition()},e.prototype.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},e.prototype.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},e.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},e.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},e.prototype.setRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},e.prototype.$setSelection=function(e,t,n,r){if(this.$silent)return;var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},e.prototype.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},e.prototype.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},e.prototype.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},e.prototype.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},e.prototype.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},e.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},e.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},e.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},e.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},e.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},e.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},e.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},e.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},e.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},e.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},e.prototype.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},e.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},e.prototype.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},e.prototype.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},e.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},e.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},e.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},e.prototype.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},e.prototype.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},e.prototype.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},e.prototype.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},e.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},e.prototype.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},e.prototype.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},e.prototype.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},e.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},e.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},e.prototype.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);if(e!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];e<0?e-=i.rowsAbove||0:e>0&&(e+=i.rowCount-(i.rowsAbove||0))}var s=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&s.row===this.lead.row&&s.column===this.lead.column,this.moveCursorTo(s.row,s.column+t,t===0)},e.prototype.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},e.prototype.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},e.prototype.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},e.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},e.prototype.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},e.prototype.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},e.prototype.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},e.prototype.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},e.prototype.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},e.prototype.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0},e}();u.prototype.setSelectionAnchor=u.prototype.setAnchor,u.prototype.getSelectionAnchor=u.prototype.getAnchor,u.prototype.setSelectionRange=u.prototype.setRange,r.implement(u.prototype,s),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(e,t,n){"use strict";var r=e("./lib/report_error").reportError,i=2e3,s=function(){function e(e){this.splitRegex,this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}}return e.prototype.$setMaxTokenCount=function(e){i=e|0},e.prototype.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},e}();s.prototype.reportError=r,t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(e,t,n){"use strict";var r=e("../lib/deep_copy").deepCopy,i;i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentTokenRow=function(){return this.$row},e.prototype.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},e.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},e.prototype.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)},e}();t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],a=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d;d=function(e){e=e||{},this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l),v=i.getTokenAt(u.row,u.column);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(v&&/(?:string)\.quasi|\.xml/.test(v.type)){var m=[/tag\-(?:open|name)/,/attribute\-name/];if(m.some(function(e){return e.test(v.type)})||/(string)\.quasi/.test(v.type)&&v.value[u.column-v.start-1]!=="$")return;return d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}}if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var g=a.substring(u.column,u.column+1);if(g=="}"){var y=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(y!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var b="";d.isMaybeInsertedClosing(u,a)&&(b=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var g=a.substring(u.column,u.column+1);if(g==="}"){var w=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!w)return null;var E=this.$getIndent(i.getLine(w.row))}else{if(!b){d.clearMaybeInsertedClosing();return}var E=this.$getIndent(a)}var S=E+i.getTabString();return{text:"\n"+S+"\n"+E+b,selection:[1,S.length,1,S.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(v),T=r.$mode.$pairQuotesAfter,N=T&&T[o]&&T[o].test(d);if(!N&&S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;var C=l[f.column-2];if(!(d!=o||C!=o&&!E.test(C)))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}}),e.closeDocComment!==!1&&this.add("doc comment end","insertion",function(e,t,n,r,i){if(e==="doc-start"&&(i==="\n"||i==="\r\n")&&n.selection.isEmpty()){var s=n.getCursorPosition();if(s.column===0)return;var o=r.doc.getLine(s.row),u=r.doc.getLine(s.row+1),a=r.getTokens(s.row),f=0;for(var l=0;l=s.column){if(f===s.column){if(!/\.doc/.test(c.type))return;if(/\*\//.test(c.value)){var h=a[l+1];if(!h||!/\.doc/.test(h.type))return}}var p=s.column-(f-c.value.length),d=c.value.indexOf("*/"),v=c.value.indexOf("/**",d>-1?d+2:0);if(v!==-1&&p>v&&p=d&&p<=v||!/\.doc/.test(c.type))return;break}}var m=this.$getIndent(o);if(/\s*\*/.test(u))return/^\s*\*/.test(o)?{text:i+m+"* ",selection:[1,2+m.length,1,2+m.length]}:{text:i+m+" * ",selection:[1,3+m.length,1,3+m.length]};if(/\/\*\*/.test(o.substring(0,s.column)))return{text:i+m+" * "+i+" "+m+"*/",selection:[1,4+m.length,1,4+m.length]}}})},d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],u=function(e){(function(t){var n=o[e],r=t[n];t[o[e]]=function(){return this.$delegator(n,arguments,r)}})(a)},a=this;for(var t=0;tt[n].column&&n++,s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},e.prototype.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){if(e){t=!1,e.row=n;while(e.$oldWidget)e.$oldWidget.row=n,e=e.$oldWidget}}),t&&(this.session.lineWidgets=null)},e.prototype.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},e.prototype.addLineWidget=function(e){this.$registerLineWidget(e),e.session=this.session;if(!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=r.createElement("div"),e.el.innerHTML=e.html),e.text&&!e.el&&(e.el=r.createElement("div"),e.el.textContent=e.text),e.el&&(r.addCssClass(e.el,"ace_lineWidgetContainer"),e.className&&r.addCssClass(e.el,e.className),e.el.style.position="absolute",e.el.style.zIndex="5",t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex="3"),e.pixelHeight==null&&(e.pixelHeight=e.el.offsetHeight)),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight);var n=this.session.getFoldAt(e.row,0);e.$fold=n;if(n){var i=this.session.lineWidgets;e.row==n.end.row&&!i[n.start.row]?i[n.start.row]=e:e.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},e.prototype.removeLineWidget=function(e){e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else while(n){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},e.prototype.getWidgetsAtRow=function(e){var t=this.session.lineWidgets,n=t&&t[e],r=[];while(n)r.push(n),n=n.$oldWidget;return r},e.prototype.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},e.prototype.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}},e}();t.LineWidgets=i}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";function o(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var t=u(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(t.row,t.column,!0)},e.prototype.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},e.prototype.detach=function(){this.document.off("change",this.$onChange)},e.prototype.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},e.prototype.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n},e}();s.prototype.$insertRight=!1,r.implement(s.prototype,i),t.Anchor=s}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(){function e(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}return e.prototype.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e||"")},e.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},e.prototype.createAnchor=function(e,t){return new u(this,e,t)},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},e.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},e.prototype.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},e.prototype.getNewLineMode=function(){return this.$newLineMode},e.prototype.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},e.prototype.getLine=function(e){return this.$lines[e]||""},e.prototype.getLines=function(e,t){return this.$lines.slice(e,t+1)},e.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},e.prototype.getLength=function(){return this.$lines.length},e.prototype.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},e.prototype.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},e.prototype.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},e.prototype.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},e.prototype.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},e.prototype.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},e.prototype.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},e.prototype.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},e.prototype.clonePos=function(e){return{row:e.row,column:e.column}},e.prototype.pos=function(e,t){return{row:e,column:t}},e.prototype.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},e.prototype.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},e.prototype.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},e.prototype.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},e.prototype.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},e.prototype.$safeApplyDelta=function(e){var t=this.$lines.length;(e.action=="remove"&&e.start.row20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}}return e.prototype.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},e.prototype.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},e.prototype.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},e.prototype.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},e.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},e.prototype.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},e.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},e.prototype.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},e.prototype.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},e.prototype.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens},e.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},e}();r.implement(s.prototype,i),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./range").Range,s=function(){function e(e,t,n){n===void 0&&(n="text"),this.setRegexp(e),this.clazz=t,this.type=n,this.docLen=0}return e.prototype.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},e.prototype.update=function(e,t,n,s){if(!this.regExp)return;var o=s.firstRow,u=s.lastRow,a={},f=n.$editor&&n.$editor.$search,l=f&&f.$isMultilineSearch(n.$editor.getLastSearchOptions());for(var c=o;c<=u;c++){var h=this.cache[c];if(h==null||n.getValue().length!=this.docLen){if(l){h=[];var p=f.$multiLineForward(n,this.regExp,c,u);if(p){var d=p.endRow<=u?p.endRow-1:u;d>c&&(c=d),h.push(new i(p.startRow,p.startCol,p.endRow,p.endCol))}h.length>this.MAX_RANGES&&(h=h.slice(0,this.MAX_RANGES))}else h=r.getMatchOffsets(n.getLine(c),this.regExp),h.length>this.MAX_RANGES&&(h=h.slice(0,this.MAX_RANGES)),h=h.map(function(e){return new i(c,e.offset,c,e.offset+e.length)});this.cache[c]=h.length?h:""}if(h.length===0)continue;for(var v=h.length;v--;){var m=h[v].toScreenRange(n),g=m.toString();if(a[g])continue;a[g]=!0,t.drawSingleLineMarker(e,m,this.clazz,s)}}this.docLen=n.getValue().length},e}();s.prototype.MAX_RANGES=500,t.SearchHighlight=s}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;ithis.$undoDepth-1&&this.$undoStack.splice(0,r-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev}if(e.action=="remove"||e.action=="insert")this.$lastDelta=e;this.lastDeltas.push(e)},e.prototype.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},e.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},e.prototype.markIgnored=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack;for(var r=n.length;r--;){var i=n[r][0];if(i.id<=e)break;i.id0},e.prototype.canRedo=function(){return this.$redoStack.length>0},e.prototype.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},e.prototype.isAtBookmark=function(){return this.$rev===this.mark},e.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},e.prototype.fromJSON=function(e){this.reset(),this.$undoStack=e.$undoStack,this.$redoStack=e.$redoStack},e.prototype.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)},e}();r.prototype.hasUndo=r.prototype.canUndo,r.prototype.hasRedo=r.prototype.canRedo,r.prototype.isClean=r.prototype.isAtBookmark,r.prototype.markClean=r.prototype.bookmark;var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){function e(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}return e.prototype.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},e.prototype.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},e.prototype.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},e.prototype.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},e.prototype.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},e.prototype.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},e.prototype.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},e.prototype.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},e.prototype.containsPoint=function(e){return this.pointIndex(e)>=0},e.prototype.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},e.prototype.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;or)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column==t.column&&this.$bias<=0||(a.start.column+=l,a.start.row+=f));if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$bias<0)continue;a.end.column==t.column&&l>0&&oa.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;oi)break;if(a.end.rowt.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.rowt.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column,c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),o.collapseChildren||p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;if(e==null)n=new r(0,0,this.getLength(),0),t==null&&(t=!0);else if(typeof e=="number")n=new r(e,0,e,this.getLine(e).length);else if("row"in e)n=r.fromPoints(e,e);else{if(Array.isArray(e))return i=[],e.forEach(function(e){i=i.concat(this.unfold(e))},this),i;n=e}i=this.getFoldsInRangeList(n);var s=i;while(i.length==1&&r.comparePoints(i[0].start,n.start)<0&&r.comparePoints(i[0].end,n.end)>0)this.expandFolds(i),i=this.getFoldsInRangeList(n);t!=0?this.removeFolds(i):this.expandFolds(i);if(s.length)return s},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(tc)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn();if(f.start.row==f.end.row&&f.start.column>f.end.column)return;return f}},this.foldAll=function(e,t,n,r){n==undefined&&(n=1e5);var i=this.foldWidgets;if(!i)return;t=t||this.getLength(),e=e||0;for(var s=e;s=e&&(s=o.end.row,o.collapseChildren=n,this.addFold("...",o))}},this.foldToLevel=function(e){this.foldAll();while(e-->0)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,function(t){var n=e.getTokens(t);for(var r=0;r=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t instanceof u&&(t=t.domEvent);var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator,u=e("../mouse/mouse_event").MouseEvent;t.Folding=a}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(e,t){var n=this.getLine(e.row),r=/([\(\[\{])|([\)\]\}])/,s=!t&&n.charAt(e.column-1),o=s&&s.match(r);o||(s=(t===undefined||t)&&n.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(r));if(!o)return null;var u=new i(e.row,e.column-1,e.row,e.column),a=o[1]?this.$findClosingBracket(o[1],e):this.$findOpeningBracket(o[2],e);if(!a)return[u];var f=new i(a.row,a.column,a.row,a.column+1);return[u,f]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a"?r=!0:t.type.indexOf("tag-name")!==-1&&(n=!0));while(t&&!n);return t},this.$findClosingTag=function(e,t){var n,r=t.value,s=t.value,o=0,u=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);t=e.stepForward();var a=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length),f=!1;do{n=t;if(n.type.indexOf("tag-close")!==-1&&!f){var l=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);f=!0}t=e.stepForward();if(t){if(t.value===">"&&!f){var l=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);f=!0}if(t.type.indexOf("tag-name")!==-1){r=t.value;if(s===r)if(n.value==="<")o++;else if(n.value==="")return;var p=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}}else if(s===r&&t.value==="/>"){o--;if(o<0)var c=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2),h=c,p=h,l=new i(a.end.row,a.end.column,a.end.row,a.end.column+1)}}}while(t&&o>=0);if(u&&l&&c&&p&&a&&h)return{openTag:new i(u.start.row,u.start.column,l.end.row,l.end.column),closeTag:new i(c.start.row,c.start.column,p.end.row,p.end.column),openTagName:a,closeTagName:h}},this.$findOpeningTag=function(e,t){var n=e.getCurrentToken(),r=t.value,s=0,o=e.getCurrentTokenRow(),u=e.getCurrentTokenColumn(),a=u+2,f=new i(o,u,o,a);e.stepForward();var l=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);t.type.indexOf("tag-close")===-1&&(t=e.stepForward());if(!t||t.value!==">")return;var c=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);e.stepBackward(),e.stepBackward();do{t=n,o=e.getCurrentTokenRow(),u=e.getCurrentTokenColumn(),a=u+t.value.length,n=e.stepBackward();if(t)if(t.type.indexOf("tag-name")!==-1){if(r===t.value)if(n.value==="<"){s++;if(s>0){var h=new i(o,u,o,a),p=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);do t=e.stepForward();while(t&&t.value!==">");var d=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}else n.value===""){var v=0,m=n;while(m){if(m.type.indexOf("tag-name")!==-1&&m.value===r){s--;break}if(m.value==="<")break;m=e.stepBackward(),v++}for(var g=0;g=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./bidihandler").BidiHandler,o=e("./config"),u=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,f=e("./mode/text").Mode,l=e("./range").Range,c=e("./line_widgets").LineWidgets,h=e("./document").Document,p=e("./background_tokenizer").BackgroundTokenizer,d=e("./search_highlight").SearchHighlight,v=e("./undomanager").UndoManager,m=function(){function e(t,n){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++e.$uid,this.$foldData.toString=function(){return this.join("\n")},this.$gutterCustomWidgets={},this.bgTokenizer=new p((new f).getTokenizer(),this);var r=this;this.bgTokenizer.on("update",function(e){r._signal("tokenizerUpdate",e)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof t!="object"||!t.getLine)t=new h(t);this.setDocument(t),this.selection=new a(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new s(this),o.resetOptions(this),this.setMode(n),o._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return e.prototype.$initOperationListeners=function(){var e=this;this.curOp=null,this.on("change",function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.docChanged=!0},!0),this.on("changeSelection",function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.selectionChanged=!0},!0),this.$operationResetTimer=i.delayedCall(this.endOperation.bind(this,!0))},e.prototype.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(e={}),this.$operationResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",e)},e.prototype.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1){this.curOp=null,this._signal("endOperation",e);return}if(e==1&&this.curOp.command&&this.curOp.command.name=="mouse")return;var t=this.selection.toJSON();this.curOp.selectionAfter=t,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(t),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",e)}},e.prototype.setDocument=function(e){this.doc&&this.doc.off("change",this.$onChange),this.doc=e,e.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},e.prototype.getDocument=function(){return this.doc},Object.defineProperty(e.prototype,"widgetManager",{get:function(){var e=new c(this);return this.widgetManager=e,this.$editor&&e.attach(this.$editor),e},set:function(e){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:e})},enumerable:!1,configurable:!0}),e.prototype.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},e.prototype.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},e.prototype.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},e.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},e.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},e.prototype.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},e.prototype.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},e.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},e.prototype.setTabSize=function(e){this.setOption("tabSize",e)},e.prototype.getTabSize=function(){return this.$tabSize},e.prototype.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},e.prototype.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},e.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},e.prototype.setOverwrite=function(e){this.setOption("overwrite",e)},e.prototype.getOverwrite=function(){return this.$overwrite},e.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},e.prototype.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},e.prototype.removeGutterCustomWidget=function(e){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(e)},e.prototype.addGutterCustomWidget=function(e,t){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},e.prototype.getBreakpoints=function(){return this.$breakpoints},e.prototype.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},e.prototype.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},e.prototype.getLine=function(e){return this.doc.getLine(e)},e.prototype.getLines=function(e,t){return this.doc.getLines(e,t)},e.prototype.getLength=function(){return this.doc.getLength()},e.prototype.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},e.prototype.insert=function(e,t){return this.doc.insert(e,t)},e.prototype.remove=function(e){return this.doc.remove(e)},e.prototype.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},e.prototype.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},e.prototype.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;ne.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},e.prototype.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},e.prototype.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},e.prototype.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},e.prototype.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},e.prototype.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},e.prototype.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},e.prototype.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},e.prototype.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},e.prototype.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},e.prototype.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},e.prototype.getUseWrapMode=function(){return this.$useWrapMode},e.prototype.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},e.prototype.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},e.prototype.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},e.prototype.getWrapLimit=function(){return this.$wrapLimit},e.prototype.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},e.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},e.prototype.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},e.prototype.$updateRowLengthCache=function(e,t){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},e.prototype.$updateWrapData=function(e,t){var n=this.doc.getAllLines(),r=this.getTabSize(),i=this.$wrapData,s=this.$wrapLimit,o,u,a=e;t=Math.min(t,n.length-1);while(a<=t)u=this.getFoldLine(a,u),u?(o=[],u.walk(function(e,t,r,i){var s;if(e!=null){s=this.$getDisplayTokens(e,o.length),s[0]=b;for(var u=1;ut-h){var p=s+t-h;if(e[p-1]>=S&&e[p]>=S){c(p);continue}if(e[p]==b||e[p]==w){for(p;p!=s-1;p--)if(e[p]==b)break;if(p>s){c(p);continue}p=s+t;for(p;p>2)),s-1);while(p>d&&e[p]d&&e[p]d&&e[p]==E)p--}else while(p>d&&e[p]d){c(++p);continue}p=s+t,e[p]==y&&p--,c(p-h)}return r},e.prototype.$getDisplayTokens=function(e,t){var n=[],r;t=t||0;for(var i=0;i39&&s<48||s>57&&s<64?n.push(E):s>=4352&&N(s)?n.push(g,y):n.push(g)}return n},e.prototype.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&N(r)?n+=2:n+=1;if(n>t)break}return[n,i]},e.prototype.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),!this.$useWrapMode||!this.$wrapData[e]?t:this.$wrapData[e].length+t},e.prototype.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},e.prototype.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},e.prototype.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return this.lineWidgets&&this.lineWidgets[u]&&this.lineWidgets[u].rowsAbove&&(r+=this.lineWidgets[u].rowsAbove),{row:r,column:v+this.$getStringScreenWidth(d)[0]}},e.prototype.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},e.prototype.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},e.prototype.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},e.prototype.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},e.prototype.getPrecedingCharacter=function(){var e=this.selection.getCursor();if(e.column===0)return e.row===0?"":this.doc.getNewLineCharacter();var t=this.getLine(e.row);return t[e.column-1]},e.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},e}();m.$uid=0,m.prototype.$modes=o.$modes,m.prototype.getValue=m.prototype.toString,m.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},m.prototype.$overwrite=!1,m.prototype.$mode=null,m.prototype.$modeId=null,m.prototype.$scrollTop=0,m.prototype.$scrollLeft=0,m.prototype.$wrapLimit=80,m.prototype.$useWrapMode=!1,m.prototype.$wrapLimitRange={min:null,max:null},m.prototype.lineWidgets=null,m.prototype.isFullWidth=N,r.implement(m.prototype,u);var g=1,y=2,b=3,w=4,E=9,S=10,x=11,T=12;e("./edit_session/folding").Folding.call(m.prototype),e("./edit_session/bracket_match").BracketMatch.call(m.prototype),o.defineOptions(m.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e),e>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=m}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function i(e,r){r===void 0&&(r=!0);var i=n&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");if(i.test(e)||t.regExp)return n&&t.$supportsUnicodeFlag?r?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b";return""}var n=r.supportsLookbehind(),s=Array.from(e),o=s[0],u=s[s.length-1];return i(o)+e+i(u,!1)}function a(e,t,n){var r=null,i=0;while(i<=e.length){t.lastIndex=i;var s=t.exec(e);if(!s)break;var o=s.index+s[0].length;if(o>e.length-n)break;if(!r||o>r.index+r[0].length)r=s;i=s.index+1}return r}function f(e,t){var n=5e3,r={row:t,column:0},i=e.doc.positionToIndex(r),s=i+n,o=e.doc.indexToPosition(s),u=o.row;return u+1}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){function e(){this.$options={}}return e.prototype.set=function(e){return i.mixin(this.$options,e),this},e.prototype.getOptions=function(){return r.copyObject(this.$options)},e.prototype.setOptions=function(e){this.$options=e},e.prototype.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},e.prototype.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g,y=0;yy&&(y=w),o.push(new s(g.startRow,g.startCol,g.endRow,g.endCol))}}else{g=r.getMatchOffsets(i[y],u);for(var h=0;hx&&o[h].end.row==T)h--;o=o.slice(y,h+1);for(y=0,h=o.length;y=i){n+="\\";break}var o=e.charCodeAt(r);switch(o){case t.Backslash:n+="\\";break;case t.n:n+="\n";break;case t.t:n+=" "}continue}if(s===t.DollarSign){r++;if(r>=i){n+="$";break}var u=e.charCodeAt(r);if(u===t.DollarSign){n+="$$";continue}if(u===t.Digit0||u===t.Ampersand){n+="$&";continue}if(t.Digit1<=u&&u<=t.Digit9){n+="$"+e[r];continue}}n+=e[r]}return n||e},e.prototype.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=this.$isMultilineSearch(n);i&&(e=e.replace(/\r\n|\r|\n/g,"\n"));var s=r.exec(e);if(!s||!i&&s[0].length!=e.length)return null;t=n.regExp?this.parseReplaceString(t):t.replace(/\$/g,"$$$$"),t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var o=Math.min(e.length,e.length);o--;){var u=e[o];u&&u.toLowerCase()!=u?t[o]=t[o].toUpperCase():t[o]=t[o].toLowerCase()}t=t.join("")}return t},e.prototype.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n));var i=e.caseSensitive?"gm":"gmi";try{new RegExp(n,"u"),e.$supportsUnicodeFlag=!0,i+="u"}catch(s){e.$supportsUnicodeFlag=!1}e.wholeWord&&(n=u(n,e)),e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var o=new RegExp(n,i)}catch(s){o=!1}return e.re=o},e.prototype.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;ir)break;var a=e.getLine(o++);i=i==null?a:i+"\n"+a}var l=t.exec(i);t.lastIndex=0;if(l){var c=i.slice(0,l.index).split("\n"),h=l[0].split("\n"),p=n+c.length-1,d=c[c.length-1].length,v=p+h.length-1,m=h.length==1?d+h[0].length:h[h.length-1].length;return{startRow:p,startCol:d,endRow:v,endCol:m}}}return null},e.prototype.$multiLineBackward=function(e,t,n,r,i){var s,o=f(e,r),u=e.getLine(r).length-n;for(var l=r;l>=i;){for(var c=0;c=i;c++){var h=e.getLine(l--);s=s==null?h:h+"\n"+s}var p=a(s,t,u);if(p){var d=s.slice(0,p.index).split("\n"),v=p[0].split("\n"),m=l+d.length,g=d[d.length-1].length,y=m+v.length-1,b=v.length==1?g+v[0].length:v[v.length-1].length;return{startRow:m,startCol:g,endRow:y,endCol:b}}}return null},e.prototype.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i=this.$isMultilineSearch(t),s=this.$multiLineForward,o=this.$multiLineBackward,u=t.backwards==1,a=t.skipCurrent!=0,f=n.unicode,l=t.range,c=t.start;c||(c=l?l[u?"end":"start"]:e.selection.getRange()),c.start&&(c=c[a!=u?"end":"start"]);var h=l?l.start.row:0,p=l?l.end.row:e.getLength()-1;if(u)var d=function(e){var n=c.row;if(m(n,c.column,e))return;for(n--;n>=h;n--)if(m(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=p,h=c.row;n>=h;n--)if(m(n,Number.MAX_VALUE,e))return};else var d=function(e){var n=c.row;if(m(n,c.column,e))return;for(n+=1;n<=p;n++)if(m(n,0,e))return;if(t.wrap==0)return;for(n=h,p=c.row;n<=p;n++)if(m(n,0,e))return};if(t.$isMultiLine)var v=n.length,m=function(t,r,i){var s=u?t-v+1:t;if(s<0||s+v>e.getLength())return;var o=e.getLine(s),a=o.search(n[0]);if(!u&&ar)return;if(i(s,a,s+v-1,l))return!0};else if(u)var m=function(t,s,u){if(i){var a=o(e,n,s,t,h);if(!a)return!1;if(u(a.startRow,a.startCol,a.endRow,a.endCol))return!0}else{var l=e.getLine(t),c=[],p,d=0;n.lastIndex=0;while(p=n.exec(l)){var v=p[0].length;d=p.index;if(!v){if(d>=l.length)break;n.lastIndex=d+=r.skipEmptyMatch(l,d,f)}if(p.index+v>s)break;c.push(p.index,v)}for(var m=c.length-1;m>=0;m-=2){var g=c[m-1],v=c[m];if(u(t,g,t,g+v))return!0}}};else var m=function(t,o,u){n.lastIndex=o;if(i){var a=s(e,n,t,p);if(a){var l=a.endRow<=p?a.endRow-1:p;l>t&&(t=l)}if(!a)return!1;if(u(a.startRow,a.startCol,a.endRow,a.endCol))return!0}else{var c=e.getLine(t),h,d;while(d=n.exec(c)){var v=d[0].length;h=d.index;if(u(t,h,t,h+v))return!0;if(!v){n.lastIndex=h+=r.skipEmptyMatch(c,h,f);if(h>=c.length)return!1}}}};return{forEach:d}},e}();t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("../lib/keys"),s=e("../lib/useragent"),o=i.KEY_MODS,u=function(){function e(e,t){this.$init(e,t,!1)}return e.prototype.$init=function(e,t,n){this.platform=t||(s.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=n},e.prototype.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},e.prototype.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},e.prototype.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=o[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var s=this.parseKeys(e),u=o[s.hashId]+s.key;this._addCommandToBinding(r+u,t,n)},this)},e.prototype._addCommandToBinding=function(e,t,n){var r=this.commandKeyBinding,i;if(!t)delete r[e];else if(!r[e]||this.$singleCommand)r[e]=t;else{Array.isArray(r[e])?(i=r[e].indexOf(t))!=-1&&r[e].splice(i,1):r[e]=[r[e]],typeof n!="number"&&(n=a(t));var s=r[e];for(i=0;in)break}s.splice(i,0,t)}},e.prototype.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},e.prototype.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},e.prototype.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},e.prototype._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},e.prototype.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),r=i[n];if(i.FUNCTION_KEYS[r])n=i.FUNCTION_KEYS[r].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=i.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},e.prototype.findKeyCommand=function(e,t){var n=o[e]+t;return this.commandKeyBinding[n]},e.prototype.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=o[t]+n,s=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,s=this.commandKeyBinding[e.$keyChain]||s);if(s)if(s=="chainKeys"||s[s.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:s}},e.prototype.getStatusText=function(e,t){return t.$keyChain||""},e}(),f=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.$singleCommand=!0,r}return r(t,e),t}(u);f.call=function(e,t,n){u.prototype.$init.call(e,t,n,!0)},u.call=function(e,t,n){u.prototype.$init.call(e,t,n,!1)},t.HashHandler=f,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("../lib/oop"),s=e("../keyboard/hash_handler").MultiHashHandler,o=e("../lib/event_emitter").EventEmitter,u=function(e){function t(t,n){var r=e.call(this,n,t)||this;return r.byName=r.commands,r.setDefaultHandler("exec",function(e){return e.args?e.command.exec(e.editor,e.args,e.event,!1):e.command.exec(e.editor,{},e.event,!0)}),r}return r(t,e),t.prototype.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);var i={editor:t,command:e,args:n};return this.canExecute(e,t)?(i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0):(this._signal("commandUnavailable",i),!1)},t.prototype.canExecute=function(e,t){return typeof e=="string"&&(e=this.commands[e]),e?t&&t.$readOnly&&!e.readOnly?!1:this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t)?!1:!0:!1},t.prototype.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},t.prototype.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})},t}(s);i.implement(u.prototype,o),t.CommandManager=u}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:o(null,null),exec:function(e){e.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:o("Ctrl+F3","F3"),exec:function(e){e.openLink()}},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0||e+t=0&&this.$isCustomWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(e+t))return e+t;if(e-t>=0&&this.$isFoldWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(e+t))return e+t}return null},e.prototype.$findNearestAnnotation=function(e){if(this.$isAnnotationVisible(e))return e;var t=0;while(e-t>0||e+t=0&&this.$isAnnotationVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(e+t))return e+t}return null},e.prototype.$focusFoldWidget=function(e){if(e==null)return;var t=this.$getFoldWidget(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()},e.prototype.$focusCustomWidget=function(e){if(e==null)return;var t=this.$getCustomWidget(e);t&&(t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus())},e.prototype.$focusAnnotation=function(e){if(e==null)return;var t=this.$getAnnotation(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()},e.prototype.$blurFoldWidget=function(e){var t=this.$getFoldWidget(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$blurCustomWidget=function(e){var t=this.$getCustomWidget(e);t&&(t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur())},e.prototype.$blurAnnotation=function(e){var t=this.$getAnnotation(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$moveFoldWidgetUp=function(){var e=this.activeRowIndex;while(e>0){e--;if(this.$isFoldWidgetVisible(e)||this.$isCustomWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=e,this.$isFoldWidgetVisible(e)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}}return},e.prototype.$moveFoldWidgetDown=function(){var e=this.activeRowIndex;while(e0){e--;if(this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);return}}return},e.prototype.$moveAnnotationDown=function(){var e=this.activeRowIndex;while(e=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},i=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/lang"),u=e("./lib/useragent"),a=e("./keyboard/textinput").TextInput,f=e("./mouse/mouse_handler").MouseHandler,l=e("./mouse/fold_handler").FoldHandler,c=e("./keyboard/keybinding").KeyBinding,h=e("./edit_session").EditSession,p=e("./search").Search,d=e("./range").Range,v=e("./lib/event_emitter").EventEmitter,m=e("./commands/command_manager").CommandManager,g=e("./commands/default_commands").commands,y=e("./config"),b=e("./token_iterator").TokenIterator,w=e("./keyboard/gutter_handler").GutterKeyboardHandler,E=e("./config").nls,S=e("./clipboard"),x=e("./lib/keys"),T=e("./lib/event"),N=e("./tooltip").HoverTooltip,C=function(){function e(t,n,r){this.id="editor"+ ++e.$uid,this.session,this.$toDestroy=[];var i=t.getContainerElement();this.container=i,this.renderer=t,this.commands=new m(u.isMac?"mac":"win",g),typeof document=="object"&&(this.textInput=new a(t.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new f(this),new l(this)),this.keyBinding=new c(this),this.$search=(new p).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=o.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(n||r&&r.session||new h("")),y.resetOptions(this),r&&this.setOptions(r),y._signal("editor",this)}return e.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},e.prototype.startOperation=function(e){this.session.startOperation(e)},e.prototype.endOperation=function(e){this.session.endOperation(e)},e.prototype.onStartOperation=function(e){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,e||(this.previousCommand=null)},e.prototype.onEndOperation=function(e){if(this.curOp&&this.session){if(e&&e.returnValue===!1){this.curOp=null;return}this._signal("beforeEndOperation");if(!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},e.prototype.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},e.prototype.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;y.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},e.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},e.prototype.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),t&&(t.$editor=null),e&&e._signal("changeEditor",{editor:this}),e&&(e.$editor=this),e&&!e.destroyed&&e.bgTokenizer.scheduleStart()},e.prototype.getSession=function(){return this.session},e.prototype.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},e.prototype.getValue=function(){return this.session.getValue()},e.prototype.getSelection=function(){return this.selection},e.prototype.resize=function(e){this.renderer.onResize(e)},e.prototype.setTheme=function(e,t){this.renderer.setTheme(e,t)},e.prototype.getTheme=function(){return this.renderer.getTheme()},e.prototype.setStyle=function(e,t){this.renderer.setStyle(e,t)},e.prototype.unsetStyle=function(e){this.renderer.unsetStyle(e)},e.prototype.getFontSize=function(){return this.getOption("fontSize")||s.computedStyle(this.container).fontSize},e.prototype.setFontSize=function(e){this.setOption("fontSize",e)},e.prototype.$highlightBrackets=function(){if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||t.destroyed)return;t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach(function(e){t.removeMarker(e)}),t.$bracketHighlight=null);var n=e.getCursorPosition(),r=e.getKeyboardHandler(),i=r&&r.$getDirectionForHighlight&&r.$getDirectionForHighlight(e),s=t.getMatchingBracketRanges(n,i);if(!s){var o=new b(t,n.row,n.column),u=o.getCurrentToken();if(u&&/\b(?:tag-open|tag-name)/.test(u.type)){var a=t.getMatchingTags(n);a&&(s=[a.openTagName.isEmpty()?a.openTag:a.openTagName,a.closeTagName.isEmpty()?a.closeTag:a.closeTagName])}}!s&&t.$mode.getMatching&&(s=t.$mode.getMatching(e.session));if(!s){e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide();return}var f="ace_bracket";Array.isArray(s)?s.length==1&&(f="ace_error_bracket"):s=[s],s.length==2&&(d.comparePoints(s[0].end,s[1].start)==0?s=[d.fromPoints(s[0].start,s[1].end)]:d.comparePoints(s[0].start,s[1].end)==0&&(s=[d.fromPoints(s[1].start,s[0].end)])),t.$bracketHighlight={ranges:s,markerIds:s.map(function(e){return t.addMarker(e,f,"text")})},e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide()},50)},e.prototype.focus=function(){this.textInput.focus()},e.prototype.isFocused=function(){return this.textInput.isFocused()},e.prototype.blur=function(){this.textInput.blur()},e.prototype.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},e.prototype.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},e.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},e.prototype.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:Infinity;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange()},e.prototype.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},e.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},e.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},e.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},e.prototype.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(t=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new d(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},e.prototype.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},e.prototype.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},e.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},e.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},e.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},e.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},e.prototype.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},e.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},e.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},e.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},e.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},e.prototype.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;iu.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e);n.insert(i,e),s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new d(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new d(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(this.$enableAutoIndent){if(n.getDocument().isNewLine(e)){var h=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},h)}c&&r.autoOutdent(l,n,i.row)}},e.prototype.autoIndent=function(){var e=this.session,t=e.getMode(),n=this.selection.isEmpty()?[new d(0,0,e.doc.getLength()-1,0)]:this.selection.getAllRanges(),r="",i="",s="",o=e.getTabString();for(var u=0;u0&&(r=e.getState(l-1),i=e.getLine(l-1),s=t.getNextLineIndent(r,i,o));var c=e.getLine(l),h=t.$getIndent(c);if(s!==h){if(h.length>0){var p=new d(l,0,l,h.length);e.remove(p)}s.length>0&&e.insert({row:l,column:0},s)}t.autoOutdent(r,e,l)}}},e.prototype.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},e.prototype.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,n.start.column<0&&(n.start.row--,n.start.column+=this.session.getLine(n.start.row).length+1),this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},e.prototype.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},e.prototype.setOverwrite=function(e){this.session.setOverwrite(e)},e.prototype.getOverwrite=function(){return this.session.getOverwrite()},e.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},e.prototype.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},e.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},e.prototype.setDragDelay=function(e){this.setOption("dragDelay",e)},e.prototype.getDragDelay=function(){return this.getOption("dragDelay")},e.prototype.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},e.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},e.prototype.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},e.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},e.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},e.prototype.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},e.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},e.prototype.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},e.prototype.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},e.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},e.prototype.setHighlightIndentGuides=function(e){this.renderer.setHighlightIndentGuides(e)},e.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},e.prototype.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},e.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},e.prototype.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},e.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},e.prototype.setReadOnly=function(e){this.setOption("readOnly",e)},e.prototype.getReadOnly=function(){return this.getOption("readOnly")},e.prototype.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},e.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},e.prototype.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},e.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},e.prototype.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},e.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},e.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},e.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},e.prototype.setGhostText=function(e,t){this.renderer.setGhostText(e,t)},e.prototype.removeGhostText=function(){this.renderer.removeGhostText()},e.prototype.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var i=new d(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},e.prototype.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},e.prototype.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},e.prototype.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},e.prototype.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new d(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=u&&s<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;h=a&&u<=f&&p.match(/((?:https?|ftp):\/\/[\S]+)/)){l=p.replace(/[\s:.,'";}\]]+$/,"");break}a=f}}catch(d){n={error:d}}finally{try{h&&!h.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}return l},e.prototype.openLink=function(){var e=this.selection.getCursor(),t=this.findLinkAt(e.row,e.column);return t&&window.open(t,"_blank"),t!=null},e.prototype.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},e.prototype.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n));n.start=s,n.end=o,e.setSelectionRange(n,r)}},e.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},e.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},e.prototype.moveText=function(e,t,n){return this.session.moveText(e,t,n)},e.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},e.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},e.prototype.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;lp+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},e.prototype.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},e.prototype.onCompositionStart=function(e){this.renderer.showComposition(e)},e.prototype.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},e.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},e.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},e.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},e.prototype.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},e.prototype.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},e.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},e.prototype.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},e.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},e.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},e.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},e.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},e.prototype.scrollPageDown=function(){this.$moveByPage(1)},e.prototype.scrollPageUp=function(){this.$moveByPage(-1)},e.prototype.scrollToRow=function(e){this.renderer.scrollToRow(e)},e.prototype.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},e.prototype.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},e.prototype.getCursorPosition=function(){return this.selection.getCursor()},e.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},e.prototype.getSelectionRange=function(){return this.selection.getRange()},e.prototype.selectAll=function(){this.selection.selectAll()},e.prototype.clearSelection=function(){this.selection.clearSelection()},e.prototype.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},e.prototype.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},e.prototype.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new b(this.session,n.row,n.column),i=r.getCurrentToken(),s=0;i&&i.type.indexOf("tag-name")!==-1&&(i=r.stepBackward());var o=i||r.stepForward();if(!o)return;var u,a=!1,f={},l=n.column-o.start,c,h={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g))for(;l1?f[o.value]++:i.value==="=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},e.prototype.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},e.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},e.prototype.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&i.mixin(t,e);var r=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(r)||this.$search.$options.needle,e||(r=this.session.getWordRange(r.start.row,r.start.column),e=this.session.getTextRange(r)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:r});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?r.start=r.end:r.end=r.start,this.selection.setRange(r)},e.prototype.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},e.prototype.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},e.prototype.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},e.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(e){e.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},e.prototype.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},e.prototype.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",s.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},e.prototype.prompt=function(e,t,n){var r=this;y.loadModule("ace/ext/prompt",function(i){i.prompt(r,e,t,n)})},e}();C.$uid=0,C.prototype.curOp=null,C.prototype.prevOp={},C.prototype.$mergeableCommands=["backspace","del","insertstring"],C.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],i.implement(C.prototype,v),y.defineOptions(C.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){var t=this;this.textInput.setReadOnly(e),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(e){var n=!1;if(e&&e.type=="keydown"){n=e&&e.key&&e.key.length==1&&!e.ctrlKey&&!e.metaKey;if(!n)return}else e&&e.type!=="exec"&&(n=!0);if(n){t.hoverTooltip||(t.hoverTooltip=new N);var r=s.createElement("div");r.textContent=E("editor.tooltip.disable-editing","Editing is disabled"),t.hoverTooltip.isOpen||t.hoverTooltip.showForRange(t,t.getSelectionRange(),r)}else t.hoverTooltip&&t.hoverTooltip.isOpen&&t.hoverTooltip.hide()});var n=this.textInput.getElement();e?(T.addListener(n,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(T.removeListener(n,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?k.attach(this):k.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?k.attach(this):k.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),s.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!e&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),s.addCssClass(this.container,"ace_hasPlaceholder");var t=s.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(e){var t={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(e){e.blur(),e.renderer.scroller.focus()},readOnly:!0},n=function(e){if(e.target==this.renderer.scroller&&e.keyCode===x.enter){e.preventDefault();var t=this.getCursorPosition().row;this.isRowVisible(t)||this.scrollToLine(t,!0,!0),this.focus()}},r;e?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(u.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",E("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",E("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",n.bind(this)),this.commands.addCommand(t),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",E("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",E("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),r||(r=new w(this)),r.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",n.bind(this)),this.commands.removeCommand(t),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),r&&r.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(e){this.$textInputAriaLabel=e},initialValue:""},enableMobileMenu:{set:function(e){this.$enableMobileMenu=e},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var k={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=C}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(){function e(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return e.prototype.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},e.prototype.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},e.prototype.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},e.prototype.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLineCount(e)},e.prototype.getLength=function(){return this.cells.length},e.prototype.get=function(e){return this.cells[e]},e.prototype.shift=function(){this.$cacheCell(this.cells.shift())},e.prototype.pop=function(){this.$cacheCell(this.cells.pop())},e.prototype.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;ns&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,l),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},e.prototype.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},e.prototype.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},e.prototype.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},e.prototype.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRowr&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},e.prototype.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,l);this.$renderCell(u,e,s,i),r.push(u),i++}return r},e.prototype.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],f=s.childNodes[1],l=s.childNodes[2],c=s.childNodes[3],h=l.firstChild,p=o.$firstLineNumber,d=o.$breakpoints,v=o.$decorations,m=o.gutterRenderer||this.$renderer,g=this.$showFoldWidgets&&o.foldWidgets,y=n?n.start.row:Number.MAX_VALUE,b=t.lineHeight+"px",w=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",E=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",S=(m?m.getText(o,i):i+p).toString();this.$highlightGutterLine&&(i==this.$cursorRow||n&&i=y&&this.$cursorRow<=n.end.row)&&(w+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),d[i]&&(w+=d[i]),v[i]&&(w+=v[i]),this.$annotations[i]&&i!==y&&(w+=this.$annotations[i].className);if(g){var x=g[i];x==null&&(x=g[i]=o.getFoldWidget(i))}if(x){var T="ace_fold-widget ace_"+x,N=x=="start"&&i==y&&in.right-t.right)return"foldWidgets"},e}();f.prototype.$fixedWidth=!1,f.prototype.$highlightGutterLine=!0,f.prototype.$renderer="",f.prototype.$showLineNumbers=!0,f.prototype.$showFoldWidgets=!0,i.implement(f.prototype,o),t.Gutter=f}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";function o(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}var r=e("../range").Range,i=e("../lib/dom"),s=function(){function e(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}return e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setMarkers=function(e){this.markers=e},e.prototype.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},e.prototype.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.ip,l==f),i,l==f?0:1,s)},e.prototype.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:"+s+"px;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:"+s+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},e.prototype.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},e.prototype.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+(e.width+(i||0))+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},e.prototype.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},e.prototype.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},e}();s.prototype.$padding=0,t.Marker=s}),ace.define("ace/layer/text_util",["require","exports","module"],function(e,t,n){var r=new Set(["text","rparen","lparen"]);t.isTextToken=function(e){return r.has(e)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=e("../config").nls,f=e("./text_util").isTextToken,l=function(){function e(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)}return e.prototype.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},e.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},e.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},e.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},e.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},e.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},e.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},e.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},e.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},e.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},e.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},e.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;nl&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1),f&&(c.style.top=this.$lines.computeLineTop(u,e,this.session)+"px");var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},e.prototype.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},e.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},e.prototype.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),l,c=0;while(l=o.exec(r)){var h=l[1],p=l[2],d=l[3],v=l[4],m=l[5];if(!i.showSpaces&&p)continue;var g=c!=l.index?r.slice(c,l.index):"";c=l.index+l[0].length,g&&u.appendChild(this.dom.createTextNode(g,this.element));if(h){var y=i.session.getScreenTabSize(t+l.index);u.appendChild(i.$tabStrings[y].cloneNode(!0)),t+=y-1}else if(p)if(i.showSpaces){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space",b.textContent=s.stringRepeat(i.SPACE_CHAR,p.length),u.appendChild(b)}else u.appendChild(this.dom.createTextNode(p,this.element));else if(d){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space ace_invalid",b.textContent=s.stringRepeat(i.SPACE_CHAR,d.length),u.appendChild(b)}else if(v){t+=1;var b=this.dom.createElement("span");b.style.width=i.config.characterWidth*2+"px",b.className=i.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",b.textContent=i.showSpaces?i.SPACE_CHAR:v,u.appendChild(b)}else if(m){t+=1;var b=this.dom.createElement("span");b.style.width=i.config.characterWidth*2+"px",b.className="ace_cjk",b.textContent=m,u.appendChild(b)}}u.appendChild(this.dom.createTextNode(c?r.slice(c):r,this.element));if(!f(n.type)){var w="ace_"+n.type.replace(/\./g," ace_"),b=this.dom.createElement("span");n.type=="fold"&&(b.style.width=n.value.length*this.config.characterWidth+"px",b.setAttribute("title",a("inline-fold.closed.title","Unfold code"))),b.className=w,b.appendChild(u),e.appendChild(b)}else e.appendChild(u);return t+r.length},e.prototype.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;ss[o].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[t.row]!==""&&t.column===e[t.row].length){this.$highlightIndentGuideMarker.dir=1;for(var o=t.row+1;o0))return;r=e.element.childNodes[0]}var i=r.childNodes;if(i){var s=i[t-1];s&&s.classList&&s.classList.contains("ace_indent-guide")&&s.classList.add("ace_indent-guide-active")}}},e.prototype.$renderHighlightIndentGuide=function(){if(!this.$lines)return;var e=this.$lines.cells;this.$clearActiveIndentGuide();var t=this.$highlightIndentGuideMarker.indentLevel;if(t!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var n=0;n=this.$highlightIndentGuideMarker.start+1){if(r.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(r,t)}}else for(var n=e.length-1;n>=0;n--){var r=e[n];if(this.$highlightIndentGuideMarker.end&&r.row=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,u,null,"",!0)},e.prototype.$renderSimpleLine=function(e,t){var n=0;for(var r=0;rthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,i,s);n=this.$renderToken(e,n,i,s)}},e.prototype.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.textContent=i?"":"",e.appendChild(s)},e.prototype.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showEOL&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},e.prototype.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},e.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},e}();l.prototype.EOF_CHAR="\u00b6",l.prototype.EOL_CHAR_LF="\u00ac",l.prototype.EOL_CHAR_CRLF="\u00a4",l.prototype.EOL_CHAR=l.prototype.EOL_CHAR_LF,l.prototype.TAB_CHAR="\u2014",l.prototype.SPACE_CHAR="\u00b7",l.prototype.$padding=0,l.prototype.MAX_LINE_LENGTH=1e4,l.prototype.showInvisibles=!1,l.prototype.showSpaces=!1,l.prototype.showTabs=!1,l.prototype.showEOL=!1,l.prototype.displayIndentGuides=!0,l.prototype.$highlightIndentGuides=!0,l.prototype.$tabStrings=[],l.prototype.destroy={},l.prototype.onChangeTabSize=l.prototype.$computeTabString,r.implement(l.prototype,u),t.Text=l}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(){function e(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return e.prototype.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},e.prototype.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},e.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,r.removeCssClass(this.element,"ace_animate-blinking")},e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},e.prototype.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},e.prototype.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},e.prototype.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},e.prototype.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},e.prototype.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,r.removeCssClass(this.element,"ace_smooth-blinking")),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this)));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},e.prototype.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},e.prototype.isCursorInView=function(e,t){return e.top>=0&&e.tope.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},e.prototype.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},e.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},e}();i.prototype.$padding=0,i.prototype.drawCursor=null,t.Cursor=i}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/event"),u=e("./lib/event_emitter").EventEmitter,a=32768,f=function(){function e(e,t){this.element=s.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+t,this.inner=s.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\u00a0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();i.implement(f.prototype,u);var l=function(e){function t(t,n){var r=e.call(this,t,"-v")||this;return r.scrollTop=0,r.scrollHeight=0,n.$scrollbarWidth=r.width=s.scrollbarWidth(t.ownerDocument),r.inner.style.width=r.element.style.width=(r.width||15)+5+"px",r.$minWidth=0,r}return r(t,e),t.prototype.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.element.style.height=e+"px"},t.prototype.setScrollHeight=function(e){this.scrollHeight=e,e>a?(this.coeff=a/e,e=a):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},t.prototype.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)},t}(f);l.prototype.setInnerHeight=l.prototype.setScrollHeight;var c=function(e){function t(t,n){var r=e.call(this,t,"-h")||this;return r.scrollLeft=0,r.height=n.$scrollbarWidth,r.inner.style.height=r.element.style.height=(r.height||15)+5+"px",r}return r(t,e),t.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.setWidth=function(e){this.element.style.width=e+"px"},t.prototype.setInnerWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)},t}(f);t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=this&&this.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){function r(){this.constructor=t}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n),t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/event"),u=e("./lib/event_emitter").EventEmitter;s.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1);var a=function(){function e(e,t){this.element=s.createElement("div"),this.element.className="ace_sb"+t,this.inner=s.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();i.implement(a.prototype,u);var f=function(e){function t(t,n){var r=e.call(this,t,"-v")||this;return r.scrollTop=0,r.scrollHeight=0,r.parent=t,r.width=r.VScrollWidth,r.renderer=n,r.inner.style.width=r.element.style.width=(r.width||15)+"px",r.$minWidth=0,r}return r(t,e),t.prototype.onMouseDown=function(e,t){if(e!=="mousedown")return;if(o.getButton(t)!==0||t.detail===2)return;if(t.target===this.inner){var n=this,r=t.clientY,i=function(e){r=e.clientY},s=function(){clearInterval(l)},u=t.clientY,a=this.thumbTop,f=function(){if(r===undefined)return;var e=n.scrollTopFromThumbTop(a+r-u);if(e===n.scrollTop)return;n._emit("scroll",{data:e})};o.capture(this.inner,i,s);var l=setInterval(f,20);return o.preventDefault(t)}var c=t.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(c)}),o.preventDefault(t)},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(e){var t=e*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return t>>=0,t<0?t=0:t>this.pageHeight-this.viewHeight&&(t=this.pageHeight-this.viewHeight),t},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.height=Math.max(0,e),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(e,t){if(this.pageHeight===e&&!t)return;this.pageHeight=e,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop}))},t.prototype.setScrollTop=function(e){this.scrollTop=e,e<0&&(e=0),this.thumbTop=e*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},t}(a);f.prototype.setInnerHeight=f.prototype.setScrollHeight;var l=function(e){function t(t,n){var r=e.call(this,t,"-h")||this;return r.scrollLeft=0,r.scrollWidth=0,r.height=r.HScrollHeight,r.inner.style.height=r.element.style.height=(r.height||12)+"px",r.renderer=n,r}return r(t,e),t.prototype.onMouseDown=function(e,t){if(e!=="mousedown")return;if(o.getButton(t)!==0||t.detail===2)return;if(t.target===this.inner){var n=this,r=t.clientX,i=function(e){r=e.clientX},s=function(){clearInterval(l)},u=t.clientX,a=this.thumbLeft,f=function(){if(r===undefined)return;var e=n.scrollLeftFromThumbLeft(a+r-u);if(e===n.scrollLeft)return;n._emit("scroll",{data:e})};o.capture(this.inner,i,s);var l=setInterval(f,20);return o.preventDefault(t)}var c=t.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(c)}),o.preventDefault(t)},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(e){var t=e*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return t>>=0,t<0?t=0:t>this.pageWidth-this.viewWidth&&(t=this.pageWidth-this.viewWidth),t},t.prototype.setWidth=function(e){this.width=Math.max(0,e),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(e,t){if(this.pageWidth===e&&!t)return;this.pageWidth=e,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft}))},t.prototype.setScrollLeft=function(e){this.scrollLeft=e,e<0&&(e=0),this.thumbLeft=e*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},t}(a);l.prototype.setInnerWidth=l.prototype.setScrollWidth,t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(){function e(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}}return e.prototype.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},e.prototype.clear=function(e){var t=this.changes;return this.changes=0,t},e}();t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=512,l=typeof ResizeObserver=="function",c=200,h=function(){function e(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()}return e.prototype.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},e.prototype.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},e.prototype.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){e.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},e.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},e.prototype.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},e.prototype.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},e.prototype.$measureCharWidth=function(e){this.$main.textContent=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},e.prototype.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},e.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},e.prototype.$getZoom=function(e){return!e||!e.parentElement?1:(Number(window.getComputedStyle(e).zoom)||1)*this.$getZoom(e.parentElement)},e.prototype.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},e.prototype.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)},e}();h.prototype.$characterSize={width:0,height:0},r.implement(h.prototype,a),t.FontMetrics=h}),ace.define("ace/css/editor-css",["require","exports","module"],function(e,t,n){n.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n forced-color-adjust: none;\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n.ace_invisible {\n font-variant-ligatures: none;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n.ace_icon_svg.ace_hint {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");\n background-color: silver;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts   instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre-wrap;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n overflow: auto;\n max-width: min(33em, 66vw);\n overscroll-behavior: contain;\n}\n.ace_tooltip pre {\n white-space: pre-wrap;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget, .ace_custom-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_custom-widget {\n background: none;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n position: relative;\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n z-index: 1;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n}\n\n.ace_ghost_text_container > div {\n white-space: pre;\n}\n\n.ghost_text_line_wrapped::after {\n content: "\u21a9";\n position: absolute;\n}\n\n.ace_lineWidgetContainer.ace_ghost_text {\n margin: 0px 4px\n}\n\n.ace_screenreader-only {\n position:absolute;\n left:-10000px;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n}\n\n.ace_hidden_token {\n display: none;\n}'}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event_emitter").EventEmitter,o=function(){function e(e,t){this.parentEl=e,this.canvas=r.createElement("canvas"),this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setDimensions(),e.element.appendChild(this.canvas)}return e.prototype.$updateDecorators=function(e){function r(e,t){return e.priorityt.priority?1:0}var t=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(e);var n=this.canvas.getContext("2d"),i=this.renderer.session.$annotations;n.clearRect(0,0,this.canvas.width,this.canvas.height);if(i){var s={info:1,warning:2,error:3};i.forEach(function(e){e.priority=s[e.type]||null}),i=i.sort(r);for(var o=0;othis.canvasHeight&&(p=this.canvasHeight-this.halfMinDecorationHeight),l=Math.round(p-this.halfMinDecorationHeight),c=Math.round(p+this.halfMinDecorationHeight)}n.fillStyle=t[i[o].type]||null,n.fillRect(0,f,this.canvasWidth,c-l)}}var d=this.renderer.session.selection.getCursor();if(d){var a=this.compensateFoldRows(d.row),f=Math.round((d.row-a)*this.lineHeight*this.heightRatio);n.fillStyle="rgba(0, 0, 0, 0.5)",n.fillRect(0,f,this.canvasWidth,2)}},e.prototype.compensateFoldRows=function(e){var t=this.renderer.session.$foldData,n=0;if(t&&t.length>0)for(var r=0;rt[r].start.row&&e=t[r].end.row&&(n+=t[r].end.row-t[r].start.row);return n},e.prototype.compensateLineWidgets=function(e){var t=this.renderer.session.widgetManager;if(t){var n=0;return t.lineWidgets.forEach(function(t,r){e>r&&(n+=t.rowCount||0)}),n-1}return 0},e.prototype.setDimensions=function(e){e?(this.maxHeight=e.maxHeight,this.lineHeight=e.lineHeight,this.canvasHeight=e.height,this.maxHeighte&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},e.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},e.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},e.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},e.prototype.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},e.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},e.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},e.prototype.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),!r&&this.$maxLines&&this.lineHeight>1&&(!i.style.height||i.style.height=="0px")&&(i.style.height="1px",r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);this.$resizeTimer&&this.$resizeTimer.cancel();if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)},e.prototype.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(o.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(o.scrollerWidth);if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},e.prototype.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},e.prototype.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},e.prototype.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},e.prototype.getAnimatedScroll=function(){return this.$animatedScroll},e.prototype.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},e.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},e.prototype.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},e.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},e.prototype.setHighlightIndentGuides=function(e){this.setOption("highlightIndentGuides",e)},e.prototype.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},e.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},e.prototype.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},e.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},e.prototype.getShowGutter=function(){return this.getOption("showGutter")},e.prototype.setShowGutter=function(e){return this.setOption("showGutter",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},e.prototype.getContainerElement=function(){return this.container},e.prototype.getMouseEventTarget=function(){return this.scroller},e.prototype.getTextAreaContainer=function(){return this.container},e.prototype.$moveTextAreaToCursor=function(){if(this.$isMousePressed)return;var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(!n)return;t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,s=n.top,o=n.left;s-=r.offset;var u=t&&t.useTextareaForIME||w.isMobile?this.lineHeight:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1,f=this.$size.height-u;if(!t)s+=this.lineHeight;else if(t.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0]}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,f))},e.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},e.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},e.prototype.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},e.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},e.prototype.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},e.prototype.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},e.prototype.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},e.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},e.prototype.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},e.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},e.prototype.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},e.prototype.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},e.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},e.prototype.freeze=function(){this.$frozen=!0},e.prototype.unfreeze=function(){this.$frozen=!1},e.prototype.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName));if(e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_LINES?((this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender",e)},e.prototype.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},e.prototype.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),n=t.height<=2*this.lineHeight);var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},e.prototype.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},e.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},e.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},e.prototype.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},e.prototype.updateBreakpoints=function(e){this._rows=e,this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},e.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},e.prototype.showCursor=function(){this.$cursorLayer.showCursor()},e.prototype.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},e.prototype.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},e.prototype.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},e.prototype.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},e.prototype.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},e.prototype.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},e.prototype.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},e.prototype.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME==undefined&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},e.prototype.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},e.prototype.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=""},e.prototype.setGhostText=function(e,t){var n=this.session.selection.cursor,r=t||{row:n.row,column:n.column};this.removeGhostText();var s=this.$calculateWrappedTextChunks(e,r);this.addToken(s[0].text,"ghost_text",r.row,r.column),this.$ghostText={text:e,position:{row:r.row,column:r.column}};var o=i.createElement("div");if(s.length>1){var u=this.hideTokensAfterPosition(r.row,r.column),a;s.slice(1).forEach(function(e){var t=i.createElement("div"),n=i.createElement("span");n.className="ace_ghost_text",e.wrapped&&(t.className="ghost_text_line_wrapped"),e.text.length===0&&(e.text=" "),n.appendChild(i.createTextNode(e.text)),t.appendChild(n),o.appendChild(t),a=t}),u.forEach(function(e){var t=i.createElement("span");E(e.type)||(t.className="ace_"+e.type.replace(/\./g," ace_")),t.appendChild(i.createTextNode(e.value)),a.appendChild(t)}),this.$ghostTextWidget={el:o,row:r.row,column:r.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var f=this.$cursorLayer.getPixelPosition(r,!0),l=this.container,c=l.getBoundingClientRect().height,h=s.length*this.lineHeight,p=h0){var f=0;a.push(i[o].length);for(var l=0;l1||Math.abs(e.$size.height-r)>1?e.$resizeTimer.delay():e.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)},e}();S.prototype.CHANGE_CURSOR=1,S.prototype.CHANGE_MARKER=2,S.prototype.CHANGE_GUTTER=4,S.prototype.CHANGE_SCROLL=8,S.prototype.CHANGE_LINES=16,S.prototype.CHANGE_TEXT=32,S.prototype.CHANGE_SIZE=64,S.prototype.CHANGE_MARKER_BACK=128,S.prototype.CHANGE_MARKER_FRONT=256,S.prototype.CHANGE_FULL=512,S.prototype.CHANGE_H_SCROLL=1024,S.prototype.$changes=0,S.prototype.$padding=null,S.prototype.$frozen=!1,S.prototype.STEPS=8,r.implement(S.prototype,g),o.defineOptions(S.prototype,"renderer",{useResizeObserver:{set:function(e){!e&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):e&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(e){this.$gutterLayer.$useSvgGutterIcons=e},initialValue:!1},showFoldedAnnotations:{set:function(e){this.$gutterLayer.$showFoldedAnnotations=e},initialValue:!1},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(e){this.$textLayer.setHighlightIndentGuides(e)==1?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(e){this.$updateCustomScrollbar(e)},initialValue:!1},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!w.isMobile&&!w.isIE}}),t.VirtualRenderer=S}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";function u(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}function a(e){if(typeof Worker=="undefined")return{postMessage:function(){},terminate:function(){}};if(o.get("loadWorkerFromBlob")){var t=u(e),n=window.URL||window.webkitURL,r=n.createObjectURL(t);return new Worker(r)}return new Worker(e)}var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),f=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.$createWorkerFromOldConfig=function(t,n,r,i,s){e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var u=this.$normalizePath;i=i||u(e.toUrl("ace/worker/worker.js",null,"_"));var f={};t.forEach(function(t){f[t]=u(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=a(i),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:f,module:n,classname:r}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(e){e.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(){function e(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}return e.prototype.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},e.prototype.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},e.prototype.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},e.prototype.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},e.prototype.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},e.prototype.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},e.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},e.prototype.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}if(!e.textInput)return;var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()},e),u.addListener(t,"keyup",r,e),u.addListener(t,"blur",r,e)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){var e=this.ranges.length?this.ranges:[this.getRange()],t=[];for(var n=0;n1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?this.on("mousedown",o):this.off("mousedown",o)},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var p=e.getLine(l).length;return new r(f,u,l,p)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(i.comparePoints);if(!r.length)return;var s=o(r,{row:t,column:-1},i.comparePoints);s<0&&(s=-s-1),s>=r.length?s=n>0?0:r.length-1:s===0&&n<0&&(s=r.length-1);var u=r[s];if(!u||!n)return;if(u.row===t){do u=r[s+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[s+=n];while(u&&u.row==t);return a.length&&a}var r=e("../lib/dom"),i=e("../range").Range,s=e("../config").nls;t.showErrorMarker=function(e,t){var n=e.session,i=e.getCursorPosition(),o=i.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];i.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,i.row=c.row,l=e.renderer.$gutterLayer.$annotations[i.row]}else{if(a)return;l={displayText:[s("error-marker.good-state","Looks good!")],className:"ace_ok"}}e.session.unfold(i.row),e.selection.moveToPosition(i);var h={row:i.row,fixedWidth:!0,coverGutter:!0,el:r.createElement("div"),type:"errorMarker"},p=h.el.appendChild(r.createElement("div")),d=h.el.appendChild(r.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(i).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,l.displayText.forEach(function(e,t){p.appendChild(r.createTextNode(e)),t=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?|\\:|\\*=|\\/=|%=|\\+=|\\-=|&=|\\|=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}]},this.embedRules(i,"doc-",[i.getEndRule("pop")]),this.normalizeRules()};r.inherits(o,s),t.JavaHighlightRules=o}),ace.define("ace/mode/drools_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/java_highlight_rules","ace/mode/doc_comment_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./java_highlight_rules").JavaHighlightRules,o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,u="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",a="[a-zA-Z\\$_\u00a1-\uffff][\\.a-zA-Z\\d\\$_\u00a1-\uffff]*",f=function(){var e="date|effective|expires|lock|on|active|no|loop|auto|focus|activation|group|agenda|ruleflow|duration|timer|calendars|refract|direct|dialect|salience|enabled|attributes|extends|template|function|contains|matches|eval|excludes|soundslike|memberof|not|in|or|and|exists|forall|over|from|entry|point|accumulate|acc|collect|action|reverse|result|end|init|instanceof|extends|super|boolean|char|byte|short|int|long|float|double|this|void|class|new|case|final|if|else|for|while|do|default|try|catch|finally|switch|synchronized|return|throw|break|continue|assert|modify|static|public|protected|private|abstract|native|transient|volatile|strictfp|throws|interface|enum|implements|type|window|trait|no-loop|str",t="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",n=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":"null","support.class":t,"support.function":"retract|update|modify|insert"},"identifier"),r=function(){return[{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}]},i=function(e){return[{token:"comment",regex:"\\/\\/.*$"},o.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:e},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"}]},f=function(e){return[{token:"comment.block",regex:"\\*\\/",next:e},{defaultToken:"comment.block"}]},l=function(){return[{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}]};this.$rules={start:[].concat(i("block.comment"),[{token:"entity.name.type",regex:"@[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:["keyword","text","entity.name.type"],regex:"(package)(\\s+)("+a+")"},{token:["keyword","text","keyword","text","entity.name.type"],regex:"(import)(\\s+)(function)(\\s+)("+a+")"},{token:["keyword","text","entity.name.type"],regex:"(import)(\\s+)("+a+")"},{token:["keyword","text","entity.name.type","text","variable"],regex:"(global)(\\s+)("+a+")(\\s+)("+u+")"},{token:["keyword","text","keyword","text","entity.name.type"],regex:"(declare)(\\s+)(trait)(\\s+)("+u+")"},{token:["keyword","text","entity.name.type"],regex:"(declare)(\\s+)("+u+")"},{token:["keyword","text","entity.name.type"],regex:"(extends)(\\s+)("+a+")"},{token:["keyword","text"],regex:"(rule)(\\s+)",next:"asset.name"}],r(),[{token:["variable.other","text","text"],regex:"("+u+")(\\s*)(:)"},{token:["keyword","text"],regex:"(query)(\\s+)",next:"asset.name"},{token:["keyword","text"],regex:"(when)(\\s*)"},{token:["keyword","text"],regex:"(then)(\\s*)",next:"java-start"},{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/}],l()),"block.comment":f("start"),"asset.name":[{token:"entity.name",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"entity.name",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"entity.name",regex:u},{regex:"",token:"empty",next:"start"}]},this.embedRules(o,"doc-",[o.getEndRule("start")]),this.embedRules(s,"java-",[{token:"support.function",regex:"\\b(insert|modify|retract|update)\\b"},{token:"keyword",regex:"\\bend\\b",next:"start"}])};r.inherits(f,i),t.DroolsHighlightRules=f}),ace.define("ace/mode/folding/drools",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,s),function(){this.foldingStartMarker=/\b(rule|declare|query|when|then)\b/,this.foldingStopMarker=/\bend\b/,this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),s=r.match(this.foldingStartMarker);if(s){var u=s.index;if(s[1]){var a={row:n,column:r.length},f=new o(e,a.row,a.column),l="end",c=f.getCurrentToken();c.value=="when"&&(l="then");while(c){if(c.value==l)return i.fromPoints(a,{row:f.getCurrentTokenRow(),column:f.getCurrentTokenColumn()});c=f.stepForward()}}}}}.call(u.prototype)}),ace.define("ace/mode/drools",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/drools_highlight_rules","ace/mode/folding/drools"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./drools_highlight_rules").DroolsHighlightRules,o=e("./folding/drools").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.$id="ace/mode/drools",this.snippetFileId="ace/snippets/drools"}.call(u.prototype),t.Mode=u}); (function() { +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},s.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/java_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="[a-zA-Z_$][a-zA-Z0-9_$]*",t="abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|yield|when|record|var|permits|(?:non\\-)?sealed",n="null|Infinity|NaN|undefined",r="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",s=this.createKeywordMapper({"variable.language":"this","constant.language":n,"support.function":r},"identifier");this.$rules={start:[{include:"comments"},{include:"multiline-strings"},{include:"strings"},{include:"constants"},{regex:"(open(?:\\s+))?module(?=\\s*\\w)",token:"keyword",next:[{regex:"{",token:"paren.lparen",push:[{regex:"}",token:"paren.rparen",next:"pop"},{include:"comments"},{regex:"\\b(requires|transitive|exports|opens|to|uses|provides|with)\\b",token:"keyword"}]},{token:"text",regex:"\\s+"},{token:"identifier",regex:"\\w+"},{token:"punctuation.operator",regex:"."},{token:"text",regex:"\\s+"},{regex:"",next:"start"}]},{include:"statements"}],comments:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment.doc",regex:/\/\*\*(?!\/)/,push:"doc-start"},{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],strings:[{token:["punctuation","string"],regex:/(\.)(")/,push:[{token:"lparen",regex:/\\\{/,push:[{token:"text",regex:/$/,next:"start"},{token:"rparen",regex:/}/,next:"pop"},{include:"strings"},{include:"constants"},{include:"statements"}]},{token:"string",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}],"multiline-strings":[{token:["punctuation","string"],regex:/(\.)(""")/,push:[{token:"string",regex:'"""',next:"pop"},{token:"lparen",regex:/\\\{/,push:[{token:"text",regex:/$/,next:"start"},{token:"rparen",regex:/}/,next:"pop"},{include:"multiline-strings"},{include:"strings"},{include:"constants"},{include:"statements"}]},{token:"constant.language.escape",regex:/\\./},{defaultToken:"string"}]},{token:"string",regex:'"""',push:[{token:"string",regex:'"""',next:"pop"},{token:"constant.language.escape",regex:/\\./},{defaultToken:"string"}]}],constants:[{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/},{token:"constant.language.boolean",regex:"(?:true|false)\\b"}],statements:[{token:["keyword","text","identifier"],regex:"(record)(\\s+)("+e+")\\b"},{token:"keyword",regex:"(?:"+t+")\\b"},{token:"storage.type.annotation",regex:"@"+e+"\\b"},{token:"entity.name.function",regex:e+"(?=\\()"},{token:s,regex:e+"\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\||\\^|\\*|\\/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?|\\:|\\*=|\\/=|%=|\\+=|\\-=|&=|\\|=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}]},this.embedRules(i,"doc-",[i.getEndRule("pop")]),this.normalizeRules()};r.inherits(o,s),t.JavaHighlightRules=o}),ace.define("ace/mode/drools_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/java_highlight_rules","ace/mode/doc_comment_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./java_highlight_rules").JavaHighlightRules,o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,u="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",a="[a-zA-Z\\$_\u00a1-\uffff][\\.a-zA-Z\\d\\$_\u00a1-\uffff]*",f=function(){var e="date|effective|expires|lock|on|active|no|loop|auto|focus|activation|group|agenda|ruleflow|duration|timer|calendars|refract|direct|dialect|salience|enabled|attributes|extends|template|function|contains|matches|eval|excludes|soundslike|memberof|not|in|or|and|exists|forall|over|from|entry|point|accumulate|acc|collect|action|reverse|result|end|init|instanceof|extends|super|boolean|char|byte|short|int|long|float|double|this|void|class|new|case|final|if|else|for|while|do|default|try|catch|finally|switch|synchronized|return|throw|break|continue|assert|modify|static|public|protected|private|abstract|native|transient|volatile|strictfp|throws|interface|enum|implements|type|window|trait|no-loop|str",t="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",n=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":"null","support.class":t,"support.function":"retract|update|modify|insert"},"identifier"),r=function(){return[{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}]},i=function(e){return[{token:"comment",regex:"\\/\\/.*$"},o.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:e},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"}]},f=function(e){return[{token:"comment.block",regex:"\\*\\/",next:e},{defaultToken:"comment.block"}]},l=function(){return[{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}]};this.$rules={start:[].concat(i("block.comment"),[{token:"entity.name.type",regex:"@[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:["keyword","text","entity.name.type"],regex:"(package)(\\s+)("+a+")"},{token:["keyword","text","keyword","text","entity.name.type"],regex:"(import)(\\s+)(function)(\\s+)("+a+")"},{token:["keyword","text","entity.name.type"],regex:"(import)(\\s+)("+a+")"},{token:["keyword","text","entity.name.type","text","variable"],regex:"(global)(\\s+)("+a+")(\\s+)("+u+")"},{token:["keyword","text","keyword","text","entity.name.type"],regex:"(declare)(\\s+)(trait)(\\s+)("+u+")"},{token:["keyword","text","entity.name.type"],regex:"(declare)(\\s+)("+u+")"},{token:["keyword","text","entity.name.type"],regex:"(extends)(\\s+)("+a+")"},{token:["keyword","text"],regex:"(rule)(\\s+)",next:"asset.name"}],r(),[{token:["variable.other","text","text"],regex:"("+u+")(\\s*)(:)"},{token:["keyword","text"],regex:"(query)(\\s+)",next:"asset.name"},{token:["keyword","text"],regex:"(when)(\\s*)"},{token:["keyword","text"],regex:"(then)(\\s*)",next:"java-start"},{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/}],l()),"block.comment":f("start"),"asset.name":[{token:"entity.name",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"entity.name",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"entity.name",regex:u},{regex:"",token:"empty",next:"start"}]},this.embedRules(o,"doc-",[o.getEndRule("start")]),this.embedRules(s,"java-",[{token:"support.function",regex:"\\b(insert|modify|retract|update)\\b"},{token:"keyword",regex:"\\bend\\b",next:"start"}])};r.inherits(f,i),t.DroolsHighlightRules=f}),ace.define("ace/mode/folding/drools",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function a(e,t,n,r){var s=n[0].length,o=e.getLength(),u=r,a=r;while(++ru){var l=e.getLine(a).length;return new i(u,s,a,l)}}var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,s),function(){this.foldingStartMarker=/\b(rule|declare|query|when|then)\b/,this.foldingStopMarker=/\bend\b/,this.importRegex=/^import /,this.globalRegex=/^global /,this.getBaseFoldWidget=this.getFoldWidget,this.getFoldWidget=function(e,t,n){if(t==="markbegin"){var r=e.getLine(n);if(this.importRegex.test(r))if(n===0||!this.importRegex.test(e.getLine(n-1)))return"start";if(this.globalRegex.test(r))if(n===0||!this.globalRegex.test(e.getLine(n-1)))return"start"}return this.getBaseFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),s=r.match(this.foldingStartMarker);if(s&&s[1]){var u={row:n,column:r.length},f=new o(e,u.row,u.column),l="end",c=f.getCurrentToken();c.value=="when"&&(l="then");while(c){if(c.value==l)return i.fromPoints(u,{row:f.getCurrentTokenRow(),column:f.getCurrentTokenColumn()});c=f.stepForward()}}s=r.match(this.importRegex);if(s)return a(e,this.importRegex,s,n);s=r.match(this.globalRegex);if(s)return a(e,this.globalRegex,s,n)}}.call(u.prototype)}),ace.define("ace/mode/drools",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/drools_highlight_rules","ace/mode/folding/drools"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./drools_highlight_rules").DroolsHighlightRules,o=e("./folding/drools").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.$id="ace/mode/drools",this.snippetFileId="ace/snippets/drools"}.call(u.prototype),t.Mode=u}); (function() { ace.require(["ace/mode/drools"], function(m) { if (typeof module == "object" && typeof exports == "object" && module) { module.exports = m; diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-edifact.js b/src/main/webapp/javascript/ace-1.41.0/mode-edifact.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-edifact.js rename to src/main/webapp/javascript/ace-1.41.0/mode-edifact.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-eiffel.js b/src/main/webapp/javascript/ace-1.41.0/mode-eiffel.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-eiffel.js rename to src/main/webapp/javascript/ace-1.41.0/mode-eiffel.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-ejs.js b/src/main/webapp/javascript/ace-1.41.0/mode-ejs.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-ejs.js rename to src/main/webapp/javascript/ace-1.41.0/mode-ejs.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-elixir.js b/src/main/webapp/javascript/ace-1.41.0/mode-elixir.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-elixir.js rename to src/main/webapp/javascript/ace-1.41.0/mode-elixir.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-elm.js b/src/main/webapp/javascript/ace-1.41.0/mode-elm.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-elm.js rename to src/main/webapp/javascript/ace-1.41.0/mode-elm.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-erlang.js b/src/main/webapp/javascript/ace-1.41.0/mode-erlang.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-erlang.js rename to src/main/webapp/javascript/ace-1.41.0/mode-erlang.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-flix.js b/src/main/webapp/javascript/ace-1.41.0/mode-flix.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-flix.js rename to src/main/webapp/javascript/ace-1.41.0/mode-flix.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-forth.js b/src/main/webapp/javascript/ace-1.41.0/mode-forth.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-forth.js rename to src/main/webapp/javascript/ace-1.41.0/mode-forth.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-fortran.js b/src/main/webapp/javascript/ace-1.41.0/mode-fortran.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-fortran.js rename to src/main/webapp/javascript/ace-1.41.0/mode-fortran.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-fsharp.js b/src/main/webapp/javascript/ace-1.41.0/mode-fsharp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-fsharp.js rename to src/main/webapp/javascript/ace-1.41.0/mode-fsharp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-fsl.js b/src/main/webapp/javascript/ace-1.41.0/mode-fsl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-fsl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-fsl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-ftl.js b/src/main/webapp/javascript/ace-1.41.0/mode-ftl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-ftl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-ftl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-gcode.js b/src/main/webapp/javascript/ace-1.41.0/mode-gcode.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-gcode.js rename to src/main/webapp/javascript/ace-1.41.0/mode-gcode.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-gherkin.js b/src/main/webapp/javascript/ace-1.41.0/mode-gherkin.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-gherkin.js rename to src/main/webapp/javascript/ace-1.41.0/mode-gherkin.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-gitignore.js b/src/main/webapp/javascript/ace-1.41.0/mode-gitignore.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-gitignore.js rename to src/main/webapp/javascript/ace-1.41.0/mode-gitignore.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-glsl.js b/src/main/webapp/javascript/ace-1.41.0/mode-glsl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-glsl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-glsl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-gobstones.js b/src/main/webapp/javascript/ace-1.41.0/mode-gobstones.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-gobstones.js rename to src/main/webapp/javascript/ace-1.41.0/mode-gobstones.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-golang.js b/src/main/webapp/javascript/ace-1.41.0/mode-golang.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-golang.js rename to src/main/webapp/javascript/ace-1.41.0/mode-golang.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-graphqlschema.js b/src/main/webapp/javascript/ace-1.41.0/mode-graphqlschema.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-graphqlschema.js rename to src/main/webapp/javascript/ace-1.41.0/mode-graphqlschema.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-groovy.js b/src/main/webapp/javascript/ace-1.41.0/mode-groovy.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-groovy.js rename to src/main/webapp/javascript/ace-1.41.0/mode-groovy.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-haml.js b/src/main/webapp/javascript/ace-1.41.0/mode-haml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-haml.js rename to src/main/webapp/javascript/ace-1.41.0/mode-haml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-handlebars.js b/src/main/webapp/javascript/ace-1.41.0/mode-handlebars.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-handlebars.js rename to src/main/webapp/javascript/ace-1.41.0/mode-handlebars.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-haskell.js b/src/main/webapp/javascript/ace-1.41.0/mode-haskell.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-haskell.js rename to src/main/webapp/javascript/ace-1.41.0/mode-haskell.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-haskell_cabal.js b/src/main/webapp/javascript/ace-1.41.0/mode-haskell_cabal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-haskell_cabal.js rename to src/main/webapp/javascript/ace-1.41.0/mode-haskell_cabal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-haxe.js b/src/main/webapp/javascript/ace-1.41.0/mode-haxe.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-haxe.js rename to src/main/webapp/javascript/ace-1.41.0/mode-haxe.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-hjson.js b/src/main/webapp/javascript/ace-1.41.0/mode-hjson.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-hjson.js rename to src/main/webapp/javascript/ace-1.41.0/mode-hjson.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-html.js b/src/main/webapp/javascript/ace-1.41.0/mode-html.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-html.js rename to src/main/webapp/javascript/ace-1.41.0/mode-html.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-html_elixir.js b/src/main/webapp/javascript/ace-1.41.0/mode-html_elixir.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-html_elixir.js rename to src/main/webapp/javascript/ace-1.41.0/mode-html_elixir.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-html_ruby.js b/src/main/webapp/javascript/ace-1.41.0/mode-html_ruby.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-html_ruby.js rename to src/main/webapp/javascript/ace-1.41.0/mode-html_ruby.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-ini.js b/src/main/webapp/javascript/ace-1.41.0/mode-ini.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-ini.js rename to src/main/webapp/javascript/ace-1.41.0/mode-ini.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-io.js b/src/main/webapp/javascript/ace-1.41.0/mode-io.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-io.js rename to src/main/webapp/javascript/ace-1.41.0/mode-io.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-ion.js b/src/main/webapp/javascript/ace-1.41.0/mode-ion.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-ion.js rename to src/main/webapp/javascript/ace-1.41.0/mode-ion.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-jack.js b/src/main/webapp/javascript/ace-1.41.0/mode-jack.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-jack.js rename to src/main/webapp/javascript/ace-1.41.0/mode-jack.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-jade.js b/src/main/webapp/javascript/ace-1.41.0/mode-jade.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-jade.js rename to src/main/webapp/javascript/ace-1.41.0/mode-jade.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-java.js b/src/main/webapp/javascript/ace-1.41.0/mode-java.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-java.js rename to src/main/webapp/javascript/ace-1.41.0/mode-java.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-javascript.js b/src/main/webapp/javascript/ace-1.41.0/mode-javascript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-javascript.js rename to src/main/webapp/javascript/ace-1.41.0/mode-javascript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-jexl.js b/src/main/webapp/javascript/ace-1.41.0/mode-jexl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-jexl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-jexl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-json.js b/src/main/webapp/javascript/ace-1.41.0/mode-json.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-json.js rename to src/main/webapp/javascript/ace-1.41.0/mode-json.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-json5.js b/src/main/webapp/javascript/ace-1.41.0/mode-json5.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-json5.js rename to src/main/webapp/javascript/ace-1.41.0/mode-json5.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-jsoniq.js b/src/main/webapp/javascript/ace-1.41.0/mode-jsoniq.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-jsoniq.js rename to src/main/webapp/javascript/ace-1.41.0/mode-jsoniq.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-jsp.js b/src/main/webapp/javascript/ace-1.41.0/mode-jsp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-jsp.js rename to src/main/webapp/javascript/ace-1.41.0/mode-jsp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-jssm.js b/src/main/webapp/javascript/ace-1.41.0/mode-jssm.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-jssm.js rename to src/main/webapp/javascript/ace-1.41.0/mode-jssm.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-jsx.js b/src/main/webapp/javascript/ace-1.41.0/mode-jsx.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-jsx.js rename to src/main/webapp/javascript/ace-1.41.0/mode-jsx.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-julia.js b/src/main/webapp/javascript/ace-1.41.0/mode-julia.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-julia.js rename to src/main/webapp/javascript/ace-1.41.0/mode-julia.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-kotlin.js b/src/main/webapp/javascript/ace-1.41.0/mode-kotlin.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-kotlin.js rename to src/main/webapp/javascript/ace-1.41.0/mode-kotlin.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-latex.js b/src/main/webapp/javascript/ace-1.41.0/mode-latex.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-latex.js rename to src/main/webapp/javascript/ace-1.41.0/mode-latex.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-latte.js b/src/main/webapp/javascript/ace-1.41.0/mode-latte.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-latte.js rename to src/main/webapp/javascript/ace-1.41.0/mode-latte.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-less.js b/src/main/webapp/javascript/ace-1.41.0/mode-less.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-less.js rename to src/main/webapp/javascript/ace-1.41.0/mode-less.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-liquid.js b/src/main/webapp/javascript/ace-1.41.0/mode-liquid.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-liquid.js rename to src/main/webapp/javascript/ace-1.41.0/mode-liquid.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-lisp.js b/src/main/webapp/javascript/ace-1.41.0/mode-lisp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-lisp.js rename to src/main/webapp/javascript/ace-1.41.0/mode-lisp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-livescript.js b/src/main/webapp/javascript/ace-1.41.0/mode-livescript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-livescript.js rename to src/main/webapp/javascript/ace-1.41.0/mode-livescript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-logiql.js b/src/main/webapp/javascript/ace-1.41.0/mode-logiql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-logiql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-logiql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-logtalk.js b/src/main/webapp/javascript/ace-1.41.0/mode-logtalk.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-logtalk.js rename to src/main/webapp/javascript/ace-1.41.0/mode-logtalk.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-lsl.js b/src/main/webapp/javascript/ace-1.41.0/mode-lsl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-lsl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-lsl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-lua.js b/src/main/webapp/javascript/ace-1.41.0/mode-lua.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-lua.js rename to src/main/webapp/javascript/ace-1.41.0/mode-lua.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-luapage.js b/src/main/webapp/javascript/ace-1.41.0/mode-luapage.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-luapage.js rename to src/main/webapp/javascript/ace-1.41.0/mode-luapage.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-lucene.js b/src/main/webapp/javascript/ace-1.41.0/mode-lucene.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-lucene.js rename to src/main/webapp/javascript/ace-1.41.0/mode-lucene.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-makefile.js b/src/main/webapp/javascript/ace-1.41.0/mode-makefile.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-makefile.js rename to src/main/webapp/javascript/ace-1.41.0/mode-makefile.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-markdown.js b/src/main/webapp/javascript/ace-1.41.0/mode-markdown.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-markdown.js rename to src/main/webapp/javascript/ace-1.41.0/mode-markdown.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-mask.js b/src/main/webapp/javascript/ace-1.41.0/mode-mask.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-mask.js rename to src/main/webapp/javascript/ace-1.41.0/mode-mask.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-matlab.js b/src/main/webapp/javascript/ace-1.41.0/mode-matlab.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-matlab.js rename to src/main/webapp/javascript/ace-1.41.0/mode-matlab.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-maze.js b/src/main/webapp/javascript/ace-1.41.0/mode-maze.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-maze.js rename to src/main/webapp/javascript/ace-1.41.0/mode-maze.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-mediawiki.js b/src/main/webapp/javascript/ace-1.41.0/mode-mediawiki.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-mediawiki.js rename to src/main/webapp/javascript/ace-1.41.0/mode-mediawiki.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-mel.js b/src/main/webapp/javascript/ace-1.41.0/mode-mel.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-mel.js rename to src/main/webapp/javascript/ace-1.41.0/mode-mel.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-mips.js b/src/main/webapp/javascript/ace-1.41.0/mode-mips.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-mips.js rename to src/main/webapp/javascript/ace-1.41.0/mode-mips.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-mixal.js b/src/main/webapp/javascript/ace-1.41.0/mode-mixal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-mixal.js rename to src/main/webapp/javascript/ace-1.41.0/mode-mixal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-mushcode.js b/src/main/webapp/javascript/ace-1.41.0/mode-mushcode.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-mushcode.js rename to src/main/webapp/javascript/ace-1.41.0/mode-mushcode.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-mysql.js b/src/main/webapp/javascript/ace-1.41.0/mode-mysql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-mysql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-mysql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-nasal.js b/src/main/webapp/javascript/ace-1.41.0/mode-nasal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-nasal.js rename to src/main/webapp/javascript/ace-1.41.0/mode-nasal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-nginx.js b/src/main/webapp/javascript/ace-1.41.0/mode-nginx.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-nginx.js rename to src/main/webapp/javascript/ace-1.41.0/mode-nginx.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-nim.js b/src/main/webapp/javascript/ace-1.41.0/mode-nim.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-nim.js rename to src/main/webapp/javascript/ace-1.41.0/mode-nim.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-nix.js b/src/main/webapp/javascript/ace-1.41.0/mode-nix.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-nix.js rename to src/main/webapp/javascript/ace-1.41.0/mode-nix.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-nsis.js b/src/main/webapp/javascript/ace-1.41.0/mode-nsis.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-nsis.js rename to src/main/webapp/javascript/ace-1.41.0/mode-nsis.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-nunjucks.js b/src/main/webapp/javascript/ace-1.41.0/mode-nunjucks.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-nunjucks.js rename to src/main/webapp/javascript/ace-1.41.0/mode-nunjucks.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-objectivec.js b/src/main/webapp/javascript/ace-1.41.0/mode-objectivec.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-objectivec.js rename to src/main/webapp/javascript/ace-1.41.0/mode-objectivec.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-ocaml.js b/src/main/webapp/javascript/ace-1.41.0/mode-ocaml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-ocaml.js rename to src/main/webapp/javascript/ace-1.41.0/mode-ocaml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-odin.js b/src/main/webapp/javascript/ace-1.41.0/mode-odin.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-odin.js rename to src/main/webapp/javascript/ace-1.41.0/mode-odin.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-partiql.js b/src/main/webapp/javascript/ace-1.41.0/mode-partiql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-partiql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-partiql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-pascal.js b/src/main/webapp/javascript/ace-1.41.0/mode-pascal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-pascal.js rename to src/main/webapp/javascript/ace-1.41.0/mode-pascal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-perl.js b/src/main/webapp/javascript/ace-1.41.0/mode-perl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-perl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-perl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-pgsql.js b/src/main/webapp/javascript/ace-1.41.0/mode-pgsql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-pgsql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-pgsql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-php.js b/src/main/webapp/javascript/ace-1.41.0/mode-php.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-php.js rename to src/main/webapp/javascript/ace-1.41.0/mode-php.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-php_laravel_blade.js b/src/main/webapp/javascript/ace-1.41.0/mode-php_laravel_blade.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-php_laravel_blade.js rename to src/main/webapp/javascript/ace-1.41.0/mode-php_laravel_blade.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-pig.js b/src/main/webapp/javascript/ace-1.41.0/mode-pig.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-pig.js rename to src/main/webapp/javascript/ace-1.41.0/mode-pig.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-plain_text.js b/src/main/webapp/javascript/ace-1.41.0/mode-plain_text.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-plain_text.js rename to src/main/webapp/javascript/ace-1.41.0/mode-plain_text.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-plsql.js b/src/main/webapp/javascript/ace-1.41.0/mode-plsql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-plsql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-plsql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-powershell.js b/src/main/webapp/javascript/ace-1.41.0/mode-powershell.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-powershell.js rename to src/main/webapp/javascript/ace-1.41.0/mode-powershell.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-praat.js b/src/main/webapp/javascript/ace-1.41.0/mode-praat.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-praat.js rename to src/main/webapp/javascript/ace-1.41.0/mode-praat.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-prisma.js b/src/main/webapp/javascript/ace-1.41.0/mode-prisma.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-prisma.js rename to src/main/webapp/javascript/ace-1.41.0/mode-prisma.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-prolog.js b/src/main/webapp/javascript/ace-1.41.0/mode-prolog.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-prolog.js rename to src/main/webapp/javascript/ace-1.41.0/mode-prolog.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-properties.js b/src/main/webapp/javascript/ace-1.41.0/mode-properties.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-properties.js rename to src/main/webapp/javascript/ace-1.41.0/mode-properties.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-protobuf.js b/src/main/webapp/javascript/ace-1.41.0/mode-protobuf.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-protobuf.js rename to src/main/webapp/javascript/ace-1.41.0/mode-protobuf.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-prql.js b/src/main/webapp/javascript/ace-1.41.0/mode-prql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-prql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-prql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-puppet.js b/src/main/webapp/javascript/ace-1.41.0/mode-puppet.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-puppet.js rename to src/main/webapp/javascript/ace-1.41.0/mode-puppet.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-python.js b/src/main/webapp/javascript/ace-1.41.0/mode-python.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-python.js rename to src/main/webapp/javascript/ace-1.41.0/mode-python.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-qml.js b/src/main/webapp/javascript/ace-1.41.0/mode-qml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-qml.js rename to src/main/webapp/javascript/ace-1.41.0/mode-qml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-r.js b/src/main/webapp/javascript/ace-1.41.0/mode-r.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-r.js rename to src/main/webapp/javascript/ace-1.41.0/mode-r.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-raku.js b/src/main/webapp/javascript/ace-1.41.0/mode-raku.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-raku.js rename to src/main/webapp/javascript/ace-1.41.0/mode-raku.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-razor.js b/src/main/webapp/javascript/ace-1.41.0/mode-razor.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-razor.js rename to src/main/webapp/javascript/ace-1.41.0/mode-razor.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-rdoc.js b/src/main/webapp/javascript/ace-1.41.0/mode-rdoc.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-rdoc.js rename to src/main/webapp/javascript/ace-1.41.0/mode-rdoc.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-red.js b/src/main/webapp/javascript/ace-1.41.0/mode-red.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-red.js rename to src/main/webapp/javascript/ace-1.41.0/mode-red.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-redshift.js b/src/main/webapp/javascript/ace-1.41.0/mode-redshift.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-redshift.js rename to src/main/webapp/javascript/ace-1.41.0/mode-redshift.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-rhtml.js b/src/main/webapp/javascript/ace-1.41.0/mode-rhtml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-rhtml.js rename to src/main/webapp/javascript/ace-1.41.0/mode-rhtml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-robot.js b/src/main/webapp/javascript/ace-1.41.0/mode-robot.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-robot.js rename to src/main/webapp/javascript/ace-1.41.0/mode-robot.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-rst.js b/src/main/webapp/javascript/ace-1.41.0/mode-rst.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-rst.js rename to src/main/webapp/javascript/ace-1.41.0/mode-rst.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-ruby.js b/src/main/webapp/javascript/ace-1.41.0/mode-ruby.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-ruby.js rename to src/main/webapp/javascript/ace-1.41.0/mode-ruby.js diff --git a/src/main/webapp/javascript/ace-1.41.0/mode-rust.js b/src/main/webapp/javascript/ace-1.41.0/mode-rust.js new file mode 100644 index 00000000..2b9a86e3 --- /dev/null +++ b/src/main/webapp/javascript/ace-1.41.0/mode-rust.js @@ -0,0 +1,8 @@ +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},s.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/rust_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/doc_comment_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=/\\(?:[nrt0'"\\]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\})/.source,u=/[a-zA-Z_\xa1-\uffff][a-zA-Z0-9_\xa1-\uffff]*/.source,a=function(){var e=this.createKeywordMapper({"keyword.source.rust":"abstract|alignof|as|async|await|become|box|break|catch|continue|const|crate|default|do|dyn|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield|try","storage.type.source.rust":"Self|isize|usize|char|bool|u8|u16|u32|u64|u128|f16|f32|f64|i8|i16|i32|i64|i128|str|option|either|c_float|c_double|c_void|FILE|fpos_t|DIR|dirent|c_char|c_schar|c_uchar|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|size_t|ptrdiff_t|clock_t|time_t|c_longlong|c_ulonglong|intptr_t|uintptr_t|off_t|dev_t|ino_t|pid_t|mode_t|ssize_t","constant.language.source.rust":"true|false|Some|None|Ok|Err|FALSE|TRUE","support.constant.source.rust":"EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|_IONBF|_IOLBF|BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO","constant.language":"macro_rules|mac_variant"},"identifier");this.$rules={start:[{token:"variable.other.source.rust",regex:"'"+u+"(?![\\'])"},{token:"string.quoted.single.source.rust",regex:"'(?:[^'\\\\]|"+o+")'"},{token:"identifier",regex:"r#"+u+"\\b"},{stateName:"bracketedComment",onMatch:function(e,t,n){var r=e.replace(/^\w+/,"");return n.unshift(this.next,r.length,t),"string.quoted.raw.source.rust"},regex:/(b|c)?r#*"/,next:[{onMatch:function(e,t,n){var r="string.quoted.raw.source.rust";return e.length>=n[1]?(e.length>n[1]&&(r="invalid"),n.shift(),n.shift(),this.next=n.shift()):this.next="",r},regex:/"#*/,next:"start"},{defaultToken:"string.quoted.raw.source.rust"}]},{token:"string.quoted.double.source.rust",regex:'"',push:[{token:"string.quoted.double.source.rust",regex:'"',next:"pop"},{token:"constant.character.escape.source.rust",regex:o},{defaultToken:"string.quoted.double.source.rust"}]},{token:["keyword.source.rust","text","entity.name.function.source.rust","punctuation"],regex:"\\b(fn)(\\s+)((?:r#)?"+u+")(<)(?!<)",push:"generics"},{token:["keyword.source.rust","text","entity.name.function.source.rust"],regex:"\\b(fn)(\\s+)((?:r#)?"+u+")"},{token:["support.constant","punctuation"],regex:"("+u+"::)(<)(?!<)",push:"generics"},{token:"support.constant",regex:u+"::"},{token:"variable.language.source.rust",regex:"\\bself\\b"},s.getStartRule("doc-start"),{token:"comment.line.doc.source.rust",regex:"///.*$"},{token:"comment.line.doc.source.rust",regex:"//!.*$"},{token:"comment.line.double-dash.source.rust",regex:"//.*$"},{token:"comment.start.block.source.rust",regex:"/\\*",stateName:"comment",push:[{token:"comment.start.block.source.rust",regex:"/\\*",push:"comment"},{token:"comment.end.block.source.rust",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.source.rust"}]},{token:["keyword.source.rust","identifier","punctuaction"],regex:"(?:(impl)|("+u+"))(<)(?!<)",stateName:"generics",push:[{token:"keyword.operator",regex:/<<|=/},{token:"punctuaction",regex:"<(?!<)",push:"generics"},{token:"variable.other.source.rust",regex:"'"+u+"(?![\\'])"},{token:"storage.type.source.rust",regex:"\\b(u8|u16|u32|u64|u128|usize|i8|i16|i32|i64|i128|isize|char|bool)\\b"},{token:"keyword",regex:"\\b(?:const|dyn)\\b"},{token:"punctuation",regex:">",next:"pop"},{include:"punctuation"},{include:"operators"},{include:"constants"},{token:"identifier",regex:"\\b"+u+"\\b"}]},{token:e,regex:u},{token:"meta.preprocessor.source.rust",regex:"\\b\\w\\(\\w\\)*!|#\\[[\\w=\\(\\)_]+\\]\\b"},{include:"punctuation"},{include:"operators"},{include:"constants"}],punctuation:[{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"punctuation.operator",regex:/[?:,;.]/}],operators:[{token:"keyword.operator",regex:/\$|[-=]>|[-+%^=!&|<>]=?|[*/](?![*/])=?/}],constants:[{token:"constant.numeric.source.rust",regex:/\b(?:0x[a-fA-F0-9_]+|0o[0-7_]+|0b[01_]+|[0-9][0-9_]*(?!\.))(?:[iu](?:size|8|16|32|64|128))?\b/},{token:"constant.numeric.source.rust",regex:/\b(?:[0-9][0-9_]*)(?:\.[0-9][0-9_]*)?(?:[Ee][+-][0-9][0-9_]*)?(?:f32|f64)?\b/}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};a.metaData={fileTypes:["rs","rc"],foldingStartMarker:"^.*\\bfn\\s*(\\w+\\s*)?\\([^\\)]*\\)(\\s*\\{[^\\}]*)?\\s*$",foldingStopMarker:"^\\s*\\}",name:"Rust",scopeName:"source.rust"},r.inherits(a,i),t.RustHighlightRules=a}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/rust",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rust_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./rust_highlight_rules").RustHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$quotes={'"':'"'},this.$id="ace/mode/rust"}.call(u.prototype),t.Mode=u}); (function() { + ace.require(["ace/mode/rust"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); + })(); + \ No newline at end of file diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-sac.js b/src/main/webapp/javascript/ace-1.41.0/mode-sac.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-sac.js rename to src/main/webapp/javascript/ace-1.41.0/mode-sac.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-sass.js b/src/main/webapp/javascript/ace-1.41.0/mode-sass.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-sass.js rename to src/main/webapp/javascript/ace-1.41.0/mode-sass.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-scad.js b/src/main/webapp/javascript/ace-1.41.0/mode-scad.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-scad.js rename to src/main/webapp/javascript/ace-1.41.0/mode-scad.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-scala.js b/src/main/webapp/javascript/ace-1.41.0/mode-scala.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-scala.js rename to src/main/webapp/javascript/ace-1.41.0/mode-scala.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-scheme.js b/src/main/webapp/javascript/ace-1.41.0/mode-scheme.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-scheme.js rename to src/main/webapp/javascript/ace-1.41.0/mode-scheme.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-scrypt.js b/src/main/webapp/javascript/ace-1.41.0/mode-scrypt.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-scrypt.js rename to src/main/webapp/javascript/ace-1.41.0/mode-scrypt.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-scss.js b/src/main/webapp/javascript/ace-1.41.0/mode-scss.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-scss.js rename to src/main/webapp/javascript/ace-1.41.0/mode-scss.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-sh.js b/src/main/webapp/javascript/ace-1.41.0/mode-sh.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-sh.js rename to src/main/webapp/javascript/ace-1.41.0/mode-sh.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-sjs.js b/src/main/webapp/javascript/ace-1.41.0/mode-sjs.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-sjs.js rename to src/main/webapp/javascript/ace-1.41.0/mode-sjs.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-slim.js b/src/main/webapp/javascript/ace-1.41.0/mode-slim.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-slim.js rename to src/main/webapp/javascript/ace-1.41.0/mode-slim.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-smarty.js b/src/main/webapp/javascript/ace-1.41.0/mode-smarty.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-smarty.js rename to src/main/webapp/javascript/ace-1.41.0/mode-smarty.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-smithy.js b/src/main/webapp/javascript/ace-1.41.0/mode-smithy.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-smithy.js rename to src/main/webapp/javascript/ace-1.41.0/mode-smithy.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-snippets.js b/src/main/webapp/javascript/ace-1.41.0/mode-snippets.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-snippets.js rename to src/main/webapp/javascript/ace-1.41.0/mode-snippets.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-soy_template.js b/src/main/webapp/javascript/ace-1.41.0/mode-soy_template.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-soy_template.js rename to src/main/webapp/javascript/ace-1.41.0/mode-soy_template.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-space.js b/src/main/webapp/javascript/ace-1.41.0/mode-space.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-space.js rename to src/main/webapp/javascript/ace-1.41.0/mode-space.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-sparql.js b/src/main/webapp/javascript/ace-1.41.0/mode-sparql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-sparql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-sparql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-sql.js b/src/main/webapp/javascript/ace-1.41.0/mode-sql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-sql.js rename to src/main/webapp/javascript/ace-1.41.0/mode-sql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-sqlserver.js b/src/main/webapp/javascript/ace-1.41.0/mode-sqlserver.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-sqlserver.js rename to src/main/webapp/javascript/ace-1.41.0/mode-sqlserver.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-stylus.js b/src/main/webapp/javascript/ace-1.41.0/mode-stylus.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-stylus.js rename to src/main/webapp/javascript/ace-1.41.0/mode-stylus.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-svg.js b/src/main/webapp/javascript/ace-1.41.0/mode-svg.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-svg.js rename to src/main/webapp/javascript/ace-1.41.0/mode-svg.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-swift.js b/src/main/webapp/javascript/ace-1.41.0/mode-swift.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-swift.js rename to src/main/webapp/javascript/ace-1.41.0/mode-swift.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-tcl.js b/src/main/webapp/javascript/ace-1.41.0/mode-tcl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-tcl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-tcl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-terraform.js b/src/main/webapp/javascript/ace-1.41.0/mode-terraform.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-terraform.js rename to src/main/webapp/javascript/ace-1.41.0/mode-terraform.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-tex.js b/src/main/webapp/javascript/ace-1.41.0/mode-tex.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-tex.js rename to src/main/webapp/javascript/ace-1.41.0/mode-tex.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-text.js b/src/main/webapp/javascript/ace-1.41.0/mode-text.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-text.js rename to src/main/webapp/javascript/ace-1.41.0/mode-text.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-textile.js b/src/main/webapp/javascript/ace-1.41.0/mode-textile.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-textile.js rename to src/main/webapp/javascript/ace-1.41.0/mode-textile.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-toml.js b/src/main/webapp/javascript/ace-1.41.0/mode-toml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-toml.js rename to src/main/webapp/javascript/ace-1.41.0/mode-toml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-tsv.js b/src/main/webapp/javascript/ace-1.41.0/mode-tsv.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-tsv.js rename to src/main/webapp/javascript/ace-1.41.0/mode-tsv.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-tsx.js b/src/main/webapp/javascript/ace-1.41.0/mode-tsx.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-tsx.js rename to src/main/webapp/javascript/ace-1.41.0/mode-tsx.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-turtle.js b/src/main/webapp/javascript/ace-1.41.0/mode-turtle.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-turtle.js rename to src/main/webapp/javascript/ace-1.41.0/mode-turtle.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-twig.js b/src/main/webapp/javascript/ace-1.41.0/mode-twig.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-twig.js rename to src/main/webapp/javascript/ace-1.41.0/mode-twig.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-typescript.js b/src/main/webapp/javascript/ace-1.41.0/mode-typescript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-typescript.js rename to src/main/webapp/javascript/ace-1.41.0/mode-typescript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-vala.js b/src/main/webapp/javascript/ace-1.41.0/mode-vala.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-vala.js rename to src/main/webapp/javascript/ace-1.41.0/mode-vala.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-vbscript.js b/src/main/webapp/javascript/ace-1.41.0/mode-vbscript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-vbscript.js rename to src/main/webapp/javascript/ace-1.41.0/mode-vbscript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-velocity.js b/src/main/webapp/javascript/ace-1.41.0/mode-velocity.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-velocity.js rename to src/main/webapp/javascript/ace-1.41.0/mode-velocity.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-verilog.js b/src/main/webapp/javascript/ace-1.41.0/mode-verilog.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-verilog.js rename to src/main/webapp/javascript/ace-1.41.0/mode-verilog.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-vhdl.js b/src/main/webapp/javascript/ace-1.41.0/mode-vhdl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-vhdl.js rename to src/main/webapp/javascript/ace-1.41.0/mode-vhdl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-visualforce.js b/src/main/webapp/javascript/ace-1.41.0/mode-visualforce.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-visualforce.js rename to src/main/webapp/javascript/ace-1.41.0/mode-visualforce.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-vue.js b/src/main/webapp/javascript/ace-1.41.0/mode-vue.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-vue.js rename to src/main/webapp/javascript/ace-1.41.0/mode-vue.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-wollok.js b/src/main/webapp/javascript/ace-1.41.0/mode-wollok.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-wollok.js rename to src/main/webapp/javascript/ace-1.41.0/mode-wollok.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-xml.js b/src/main/webapp/javascript/ace-1.41.0/mode-xml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-xml.js rename to src/main/webapp/javascript/ace-1.41.0/mode-xml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-xquery.js b/src/main/webapp/javascript/ace-1.41.0/mode-xquery.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-xquery.js rename to src/main/webapp/javascript/ace-1.41.0/mode-xquery.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-yaml.js b/src/main/webapp/javascript/ace-1.41.0/mode-yaml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-yaml.js rename to src/main/webapp/javascript/ace-1.41.0/mode-yaml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-zeek.js b/src/main/webapp/javascript/ace-1.41.0/mode-zeek.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-zeek.js rename to src/main/webapp/javascript/ace-1.41.0/mode-zeek.js diff --git a/src/main/webapp/javascript/ace-1.39.1/mode-zig.js b/src/main/webapp/javascript/ace-1.41.0/mode-zig.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/mode-zig.js rename to src/main/webapp/javascript/ace-1.41.0/mode-zig.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/abap.js b/src/main/webapp/javascript/ace-1.41.0/snippets/abap.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/abap.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/abap.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/abc.js b/src/main/webapp/javascript/ace-1.41.0/snippets/abc.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/abc.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/abc.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/actionscript.js b/src/main/webapp/javascript/ace-1.41.0/snippets/actionscript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/actionscript.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/actionscript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/ada.js b/src/main/webapp/javascript/ace-1.41.0/snippets/ada.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/ada.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/ada.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/alda.js b/src/main/webapp/javascript/ace-1.41.0/snippets/alda.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/alda.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/alda.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/apache_conf.js b/src/main/webapp/javascript/ace-1.41.0/snippets/apache_conf.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/apache_conf.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/apache_conf.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/apex.js b/src/main/webapp/javascript/ace-1.41.0/snippets/apex.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/apex.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/apex.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/applescript.js b/src/main/webapp/javascript/ace-1.41.0/snippets/applescript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/applescript.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/applescript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/aql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/aql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/aql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/aql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/asciidoc.js b/src/main/webapp/javascript/ace-1.41.0/snippets/asciidoc.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/asciidoc.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/asciidoc.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/asl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/asl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/asl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/asl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/assembly_arm32.js b/src/main/webapp/javascript/ace-1.41.0/snippets/assembly_arm32.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/assembly_arm32.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/assembly_arm32.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/assembly_x86.js b/src/main/webapp/javascript/ace-1.41.0/snippets/assembly_x86.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/assembly_x86.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/assembly_x86.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/astro.js b/src/main/webapp/javascript/ace-1.41.0/snippets/astro.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/astro.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/astro.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/autohotkey.js b/src/main/webapp/javascript/ace-1.41.0/snippets/autohotkey.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/autohotkey.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/autohotkey.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/basic.js b/src/main/webapp/javascript/ace-1.41.0/snippets/basic.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/basic.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/basic.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/batchfile.js b/src/main/webapp/javascript/ace-1.41.0/snippets/batchfile.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/batchfile.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/batchfile.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/bibtex.js b/src/main/webapp/javascript/ace-1.41.0/snippets/bibtex.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/bibtex.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/bibtex.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/c9search.js b/src/main/webapp/javascript/ace-1.41.0/snippets/c9search.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/c9search.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/c9search.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/c_cpp.js b/src/main/webapp/javascript/ace-1.41.0/snippets/c_cpp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/c_cpp.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/c_cpp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/cirru.js b/src/main/webapp/javascript/ace-1.41.0/snippets/cirru.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/cirru.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/cirru.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/clojure.js b/src/main/webapp/javascript/ace-1.41.0/snippets/clojure.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/clojure.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/clojure.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/cobol.js b/src/main/webapp/javascript/ace-1.41.0/snippets/cobol.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/cobol.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/cobol.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/coffee.js b/src/main/webapp/javascript/ace-1.41.0/snippets/coffee.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/coffee.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/coffee.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/coldfusion.js b/src/main/webapp/javascript/ace-1.41.0/snippets/coldfusion.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/coldfusion.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/coldfusion.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/crystal.js b/src/main/webapp/javascript/ace-1.41.0/snippets/crystal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/crystal.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/crystal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/csharp.js b/src/main/webapp/javascript/ace-1.41.0/snippets/csharp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/csharp.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/csharp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/csound_document.js b/src/main/webapp/javascript/ace-1.41.0/snippets/csound_document.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/csound_document.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/csound_document.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/csound_orchestra.js b/src/main/webapp/javascript/ace-1.41.0/snippets/csound_orchestra.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/csound_orchestra.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/csound_orchestra.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/csound_score.js b/src/main/webapp/javascript/ace-1.41.0/snippets/csound_score.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/csound_score.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/csound_score.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/csp.js b/src/main/webapp/javascript/ace-1.41.0/snippets/csp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/csp.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/csp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/css.js b/src/main/webapp/javascript/ace-1.41.0/snippets/css.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/css.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/css.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/csv.js b/src/main/webapp/javascript/ace-1.41.0/snippets/csv.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/csv.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/csv.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/curly.js b/src/main/webapp/javascript/ace-1.41.0/snippets/curly.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/curly.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/curly.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/cuttlefish.js b/src/main/webapp/javascript/ace-1.41.0/snippets/cuttlefish.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/cuttlefish.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/cuttlefish.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/d.js b/src/main/webapp/javascript/ace-1.41.0/snippets/d.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/d.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/d.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/dart.js b/src/main/webapp/javascript/ace-1.41.0/snippets/dart.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/dart.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/dart.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/diff.js b/src/main/webapp/javascript/ace-1.41.0/snippets/diff.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/diff.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/diff.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/django.js b/src/main/webapp/javascript/ace-1.41.0/snippets/django.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/django.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/django.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/dockerfile.js b/src/main/webapp/javascript/ace-1.41.0/snippets/dockerfile.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/dockerfile.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/dockerfile.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/dot.js b/src/main/webapp/javascript/ace-1.41.0/snippets/dot.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/dot.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/dot.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/drools.js b/src/main/webapp/javascript/ace-1.41.0/snippets/drools.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/drools.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/drools.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/edifact.js b/src/main/webapp/javascript/ace-1.41.0/snippets/edifact.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/edifact.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/edifact.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/eiffel.js b/src/main/webapp/javascript/ace-1.41.0/snippets/eiffel.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/eiffel.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/eiffel.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/ejs.js b/src/main/webapp/javascript/ace-1.41.0/snippets/ejs.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/ejs.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/ejs.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/elixir.js b/src/main/webapp/javascript/ace-1.41.0/snippets/elixir.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/elixir.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/elixir.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/elm.js b/src/main/webapp/javascript/ace-1.41.0/snippets/elm.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/elm.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/elm.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/erlang.js b/src/main/webapp/javascript/ace-1.41.0/snippets/erlang.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/erlang.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/erlang.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/flix.js b/src/main/webapp/javascript/ace-1.41.0/snippets/flix.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/flix.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/flix.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/forth.js b/src/main/webapp/javascript/ace-1.41.0/snippets/forth.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/forth.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/forth.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/fortran.js b/src/main/webapp/javascript/ace-1.41.0/snippets/fortran.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/fortran.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/fortran.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/fsharp.js b/src/main/webapp/javascript/ace-1.41.0/snippets/fsharp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/fsharp.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/fsharp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/fsl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/fsl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/fsl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/fsl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/ftl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/ftl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/ftl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/ftl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/gcode.js b/src/main/webapp/javascript/ace-1.41.0/snippets/gcode.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/gcode.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/gcode.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/gherkin.js b/src/main/webapp/javascript/ace-1.41.0/snippets/gherkin.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/gherkin.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/gherkin.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/gitignore.js b/src/main/webapp/javascript/ace-1.41.0/snippets/gitignore.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/gitignore.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/gitignore.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/glsl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/glsl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/glsl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/glsl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/gobstones.js b/src/main/webapp/javascript/ace-1.41.0/snippets/gobstones.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/gobstones.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/gobstones.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/golang.js b/src/main/webapp/javascript/ace-1.41.0/snippets/golang.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/golang.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/golang.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/graphqlschema.js b/src/main/webapp/javascript/ace-1.41.0/snippets/graphqlschema.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/graphqlschema.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/graphqlschema.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/groovy.js b/src/main/webapp/javascript/ace-1.41.0/snippets/groovy.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/groovy.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/groovy.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/haml.js b/src/main/webapp/javascript/ace-1.41.0/snippets/haml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/haml.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/haml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/handlebars.js b/src/main/webapp/javascript/ace-1.41.0/snippets/handlebars.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/handlebars.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/handlebars.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/haskell.js b/src/main/webapp/javascript/ace-1.41.0/snippets/haskell.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/haskell.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/haskell.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/haskell_cabal.js b/src/main/webapp/javascript/ace-1.41.0/snippets/haskell_cabal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/haskell_cabal.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/haskell_cabal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/haxe.js b/src/main/webapp/javascript/ace-1.41.0/snippets/haxe.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/haxe.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/haxe.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/hjson.js b/src/main/webapp/javascript/ace-1.41.0/snippets/hjson.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/hjson.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/hjson.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/html.js b/src/main/webapp/javascript/ace-1.41.0/snippets/html.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/html.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/html.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/html_elixir.js b/src/main/webapp/javascript/ace-1.41.0/snippets/html_elixir.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/html_elixir.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/html_elixir.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/html_ruby.js b/src/main/webapp/javascript/ace-1.41.0/snippets/html_ruby.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/html_ruby.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/html_ruby.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/ini.js b/src/main/webapp/javascript/ace-1.41.0/snippets/ini.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/ini.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/ini.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/io.js b/src/main/webapp/javascript/ace-1.41.0/snippets/io.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/io.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/io.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/ion.js b/src/main/webapp/javascript/ace-1.41.0/snippets/ion.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/ion.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/ion.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/jack.js b/src/main/webapp/javascript/ace-1.41.0/snippets/jack.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/jack.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/jack.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/jade.js b/src/main/webapp/javascript/ace-1.41.0/snippets/jade.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/jade.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/jade.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/java.js b/src/main/webapp/javascript/ace-1.41.0/snippets/java.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/java.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/java.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/javascript.js b/src/main/webapp/javascript/ace-1.41.0/snippets/javascript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/javascript.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/javascript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/jexl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/jexl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/jexl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/jexl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/json.js b/src/main/webapp/javascript/ace-1.41.0/snippets/json.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/json.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/json.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/json5.js b/src/main/webapp/javascript/ace-1.41.0/snippets/json5.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/json5.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/json5.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/jsoniq.js b/src/main/webapp/javascript/ace-1.41.0/snippets/jsoniq.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/jsoniq.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/jsoniq.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/jsp.js b/src/main/webapp/javascript/ace-1.41.0/snippets/jsp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/jsp.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/jsp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/jssm.js b/src/main/webapp/javascript/ace-1.41.0/snippets/jssm.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/jssm.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/jssm.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/jsx.js b/src/main/webapp/javascript/ace-1.41.0/snippets/jsx.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/jsx.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/jsx.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/julia.js b/src/main/webapp/javascript/ace-1.41.0/snippets/julia.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/julia.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/julia.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/kotlin.js b/src/main/webapp/javascript/ace-1.41.0/snippets/kotlin.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/kotlin.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/kotlin.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/latex.js b/src/main/webapp/javascript/ace-1.41.0/snippets/latex.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/latex.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/latex.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/latte.js b/src/main/webapp/javascript/ace-1.41.0/snippets/latte.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/latte.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/latte.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/less.js b/src/main/webapp/javascript/ace-1.41.0/snippets/less.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/less.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/less.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/liquid.js b/src/main/webapp/javascript/ace-1.41.0/snippets/liquid.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/liquid.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/liquid.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/lisp.js b/src/main/webapp/javascript/ace-1.41.0/snippets/lisp.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/lisp.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/lisp.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/livescript.js b/src/main/webapp/javascript/ace-1.41.0/snippets/livescript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/livescript.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/livescript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/logiql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/logiql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/logiql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/logiql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/logtalk.js b/src/main/webapp/javascript/ace-1.41.0/snippets/logtalk.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/logtalk.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/logtalk.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/lsl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/lsl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/lsl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/lsl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/lua.js b/src/main/webapp/javascript/ace-1.41.0/snippets/lua.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/lua.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/lua.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/luapage.js b/src/main/webapp/javascript/ace-1.41.0/snippets/luapage.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/luapage.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/luapage.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/lucene.js b/src/main/webapp/javascript/ace-1.41.0/snippets/lucene.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/lucene.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/lucene.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/makefile.js b/src/main/webapp/javascript/ace-1.41.0/snippets/makefile.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/makefile.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/makefile.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/markdown.js b/src/main/webapp/javascript/ace-1.41.0/snippets/markdown.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/markdown.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/markdown.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/mask.js b/src/main/webapp/javascript/ace-1.41.0/snippets/mask.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/mask.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/mask.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/matlab.js b/src/main/webapp/javascript/ace-1.41.0/snippets/matlab.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/matlab.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/matlab.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/maze.js b/src/main/webapp/javascript/ace-1.41.0/snippets/maze.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/maze.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/maze.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/mediawiki.js b/src/main/webapp/javascript/ace-1.41.0/snippets/mediawiki.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/mediawiki.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/mediawiki.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/mel.js b/src/main/webapp/javascript/ace-1.41.0/snippets/mel.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/mel.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/mel.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/mips.js b/src/main/webapp/javascript/ace-1.41.0/snippets/mips.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/mips.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/mips.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/mixal.js b/src/main/webapp/javascript/ace-1.41.0/snippets/mixal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/mixal.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/mixal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/mushcode.js b/src/main/webapp/javascript/ace-1.41.0/snippets/mushcode.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/mushcode.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/mushcode.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/mysql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/mysql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/mysql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/mysql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/nasal.js b/src/main/webapp/javascript/ace-1.41.0/snippets/nasal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/nasal.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/nasal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/nginx.js b/src/main/webapp/javascript/ace-1.41.0/snippets/nginx.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/nginx.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/nginx.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/nim.js b/src/main/webapp/javascript/ace-1.41.0/snippets/nim.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/nim.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/nim.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/nix.js b/src/main/webapp/javascript/ace-1.41.0/snippets/nix.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/nix.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/nix.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/nsis.js b/src/main/webapp/javascript/ace-1.41.0/snippets/nsis.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/nsis.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/nsis.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/nunjucks.js b/src/main/webapp/javascript/ace-1.41.0/snippets/nunjucks.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/nunjucks.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/nunjucks.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/objectivec.js b/src/main/webapp/javascript/ace-1.41.0/snippets/objectivec.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/objectivec.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/objectivec.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/ocaml.js b/src/main/webapp/javascript/ace-1.41.0/snippets/ocaml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/ocaml.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/ocaml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/odin.js b/src/main/webapp/javascript/ace-1.41.0/snippets/odin.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/odin.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/odin.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/partiql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/partiql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/partiql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/partiql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/pascal.js b/src/main/webapp/javascript/ace-1.41.0/snippets/pascal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/pascal.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/pascal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/perl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/perl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/perl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/perl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/pgsql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/pgsql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/pgsql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/pgsql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/php.js b/src/main/webapp/javascript/ace-1.41.0/snippets/php.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/php.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/php.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/php_laravel_blade.js b/src/main/webapp/javascript/ace-1.41.0/snippets/php_laravel_blade.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/php_laravel_blade.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/php_laravel_blade.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/pig.js b/src/main/webapp/javascript/ace-1.41.0/snippets/pig.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/pig.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/pig.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/plain_text.js b/src/main/webapp/javascript/ace-1.41.0/snippets/plain_text.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/plain_text.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/plain_text.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/plsql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/plsql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/plsql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/plsql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/powershell.js b/src/main/webapp/javascript/ace-1.41.0/snippets/powershell.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/powershell.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/powershell.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/praat.js b/src/main/webapp/javascript/ace-1.41.0/snippets/praat.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/praat.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/praat.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/prisma.js b/src/main/webapp/javascript/ace-1.41.0/snippets/prisma.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/prisma.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/prisma.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/prolog.js b/src/main/webapp/javascript/ace-1.41.0/snippets/prolog.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/prolog.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/prolog.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/properties.js b/src/main/webapp/javascript/ace-1.41.0/snippets/properties.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/properties.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/properties.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/protobuf.js b/src/main/webapp/javascript/ace-1.41.0/snippets/protobuf.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/protobuf.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/protobuf.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/prql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/prql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/prql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/prql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/puppet.js b/src/main/webapp/javascript/ace-1.41.0/snippets/puppet.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/puppet.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/puppet.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/python.js b/src/main/webapp/javascript/ace-1.41.0/snippets/python.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/python.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/python.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/qml.js b/src/main/webapp/javascript/ace-1.41.0/snippets/qml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/qml.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/qml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/r.js b/src/main/webapp/javascript/ace-1.41.0/snippets/r.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/r.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/r.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/raku.js b/src/main/webapp/javascript/ace-1.41.0/snippets/raku.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/raku.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/raku.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/razor.js b/src/main/webapp/javascript/ace-1.41.0/snippets/razor.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/razor.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/razor.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/rdoc.js b/src/main/webapp/javascript/ace-1.41.0/snippets/rdoc.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/rdoc.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/rdoc.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/red.js b/src/main/webapp/javascript/ace-1.41.0/snippets/red.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/red.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/red.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/redshift.js b/src/main/webapp/javascript/ace-1.41.0/snippets/redshift.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/redshift.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/redshift.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/rhtml.js b/src/main/webapp/javascript/ace-1.41.0/snippets/rhtml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/rhtml.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/rhtml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/robot.js b/src/main/webapp/javascript/ace-1.41.0/snippets/robot.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/robot.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/robot.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/rst.js b/src/main/webapp/javascript/ace-1.41.0/snippets/rst.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/rst.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/rst.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/ruby.js b/src/main/webapp/javascript/ace-1.41.0/snippets/ruby.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/ruby.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/ruby.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/rust.js b/src/main/webapp/javascript/ace-1.41.0/snippets/rust.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/rust.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/rust.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/sac.js b/src/main/webapp/javascript/ace-1.41.0/snippets/sac.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/sac.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/sac.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/sass.js b/src/main/webapp/javascript/ace-1.41.0/snippets/sass.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/sass.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/sass.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/scad.js b/src/main/webapp/javascript/ace-1.41.0/snippets/scad.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/scad.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/scad.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/scala.js b/src/main/webapp/javascript/ace-1.41.0/snippets/scala.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/scala.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/scala.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/scheme.js b/src/main/webapp/javascript/ace-1.41.0/snippets/scheme.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/scheme.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/scheme.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/scrypt.js b/src/main/webapp/javascript/ace-1.41.0/snippets/scrypt.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/scrypt.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/scrypt.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/scss.js b/src/main/webapp/javascript/ace-1.41.0/snippets/scss.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/scss.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/scss.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/sh.js b/src/main/webapp/javascript/ace-1.41.0/snippets/sh.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/sh.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/sh.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/sjs.js b/src/main/webapp/javascript/ace-1.41.0/snippets/sjs.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/sjs.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/sjs.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/slim.js b/src/main/webapp/javascript/ace-1.41.0/snippets/slim.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/slim.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/slim.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/smarty.js b/src/main/webapp/javascript/ace-1.41.0/snippets/smarty.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/smarty.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/smarty.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/smithy.js b/src/main/webapp/javascript/ace-1.41.0/snippets/smithy.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/smithy.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/smithy.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/snippets.js b/src/main/webapp/javascript/ace-1.41.0/snippets/snippets.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/snippets.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/snippets.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/soy_template.js b/src/main/webapp/javascript/ace-1.41.0/snippets/soy_template.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/soy_template.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/soy_template.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/space.js b/src/main/webapp/javascript/ace-1.41.0/snippets/space.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/space.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/space.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/sparql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/sparql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/sparql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/sparql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/sql.js b/src/main/webapp/javascript/ace-1.41.0/snippets/sql.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/sql.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/sql.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/sqlserver.js b/src/main/webapp/javascript/ace-1.41.0/snippets/sqlserver.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/sqlserver.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/sqlserver.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/stylus.js b/src/main/webapp/javascript/ace-1.41.0/snippets/stylus.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/stylus.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/stylus.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/svg.js b/src/main/webapp/javascript/ace-1.41.0/snippets/svg.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/svg.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/svg.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/swift.js b/src/main/webapp/javascript/ace-1.41.0/snippets/swift.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/swift.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/swift.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/tcl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/tcl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/tcl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/tcl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/terraform.js b/src/main/webapp/javascript/ace-1.41.0/snippets/terraform.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/terraform.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/terraform.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/tex.js b/src/main/webapp/javascript/ace-1.41.0/snippets/tex.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/tex.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/tex.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/text.js b/src/main/webapp/javascript/ace-1.41.0/snippets/text.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/text.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/text.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/textile.js b/src/main/webapp/javascript/ace-1.41.0/snippets/textile.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/textile.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/textile.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/toml.js b/src/main/webapp/javascript/ace-1.41.0/snippets/toml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/toml.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/toml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/tsv.js b/src/main/webapp/javascript/ace-1.41.0/snippets/tsv.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/tsv.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/tsv.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/tsx.js b/src/main/webapp/javascript/ace-1.41.0/snippets/tsx.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/tsx.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/tsx.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/turtle.js b/src/main/webapp/javascript/ace-1.41.0/snippets/turtle.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/turtle.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/turtle.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/twig.js b/src/main/webapp/javascript/ace-1.41.0/snippets/twig.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/twig.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/twig.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/typescript.js b/src/main/webapp/javascript/ace-1.41.0/snippets/typescript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/typescript.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/typescript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/vala.js b/src/main/webapp/javascript/ace-1.41.0/snippets/vala.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/vala.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/vala.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/vbscript.js b/src/main/webapp/javascript/ace-1.41.0/snippets/vbscript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/vbscript.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/vbscript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/velocity.js b/src/main/webapp/javascript/ace-1.41.0/snippets/velocity.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/velocity.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/velocity.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/verilog.js b/src/main/webapp/javascript/ace-1.41.0/snippets/verilog.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/verilog.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/verilog.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/vhdl.js b/src/main/webapp/javascript/ace-1.41.0/snippets/vhdl.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/vhdl.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/vhdl.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/visualforce.js b/src/main/webapp/javascript/ace-1.41.0/snippets/visualforce.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/visualforce.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/visualforce.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/vue.js b/src/main/webapp/javascript/ace-1.41.0/snippets/vue.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/vue.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/vue.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/wollok.js b/src/main/webapp/javascript/ace-1.41.0/snippets/wollok.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/wollok.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/wollok.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/xml.js b/src/main/webapp/javascript/ace-1.41.0/snippets/xml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/xml.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/xml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/xquery.js b/src/main/webapp/javascript/ace-1.41.0/snippets/xquery.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/xquery.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/xquery.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/yaml.js b/src/main/webapp/javascript/ace-1.41.0/snippets/yaml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/yaml.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/yaml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/zeek.js b/src/main/webapp/javascript/ace-1.41.0/snippets/zeek.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/zeek.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/zeek.js diff --git a/src/main/webapp/javascript/ace-1.39.1/snippets/zig.js b/src/main/webapp/javascript/ace-1.41.0/snippets/zig.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/snippets/zig.js rename to src/main/webapp/javascript/ace-1.41.0/snippets/zig.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-ambiance.js b/src/main/webapp/javascript/ace-1.41.0/theme-ambiance.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-ambiance.js rename to src/main/webapp/javascript/ace-1.41.0/theme-ambiance.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-chaos.js b/src/main/webapp/javascript/ace-1.41.0/theme-chaos.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-chaos.js rename to src/main/webapp/javascript/ace-1.41.0/theme-chaos.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-chrome.js b/src/main/webapp/javascript/ace-1.41.0/theme-chrome.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-chrome.js rename to src/main/webapp/javascript/ace-1.41.0/theme-chrome.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-cloud9_day.js b/src/main/webapp/javascript/ace-1.41.0/theme-cloud9_day.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-cloud9_day.js rename to src/main/webapp/javascript/ace-1.41.0/theme-cloud9_day.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-cloud9_night.js b/src/main/webapp/javascript/ace-1.41.0/theme-cloud9_night.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-cloud9_night.js rename to src/main/webapp/javascript/ace-1.41.0/theme-cloud9_night.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-cloud9_night_low_color.js b/src/main/webapp/javascript/ace-1.41.0/theme-cloud9_night_low_color.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-cloud9_night_low_color.js rename to src/main/webapp/javascript/ace-1.41.0/theme-cloud9_night_low_color.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-cloud_editor.js b/src/main/webapp/javascript/ace-1.41.0/theme-cloud_editor.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-cloud_editor.js rename to src/main/webapp/javascript/ace-1.41.0/theme-cloud_editor.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-cloud_editor_dark.js b/src/main/webapp/javascript/ace-1.41.0/theme-cloud_editor_dark.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-cloud_editor_dark.js rename to src/main/webapp/javascript/ace-1.41.0/theme-cloud_editor_dark.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-clouds.js b/src/main/webapp/javascript/ace-1.41.0/theme-clouds.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-clouds.js rename to src/main/webapp/javascript/ace-1.41.0/theme-clouds.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-clouds_midnight.js b/src/main/webapp/javascript/ace-1.41.0/theme-clouds_midnight.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-clouds_midnight.js rename to src/main/webapp/javascript/ace-1.41.0/theme-clouds_midnight.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-cobalt.js b/src/main/webapp/javascript/ace-1.41.0/theme-cobalt.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-cobalt.js rename to src/main/webapp/javascript/ace-1.41.0/theme-cobalt.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-crimson_editor.js b/src/main/webapp/javascript/ace-1.41.0/theme-crimson_editor.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-crimson_editor.js rename to src/main/webapp/javascript/ace-1.41.0/theme-crimson_editor.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-dawn.js b/src/main/webapp/javascript/ace-1.41.0/theme-dawn.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-dawn.js rename to src/main/webapp/javascript/ace-1.41.0/theme-dawn.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-dracula.js b/src/main/webapp/javascript/ace-1.41.0/theme-dracula.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-dracula.js rename to src/main/webapp/javascript/ace-1.41.0/theme-dracula.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-dreamweaver.js b/src/main/webapp/javascript/ace-1.41.0/theme-dreamweaver.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-dreamweaver.js rename to src/main/webapp/javascript/ace-1.41.0/theme-dreamweaver.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-eclipse.js b/src/main/webapp/javascript/ace-1.41.0/theme-eclipse.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-eclipse.js rename to src/main/webapp/javascript/ace-1.41.0/theme-eclipse.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-github.js b/src/main/webapp/javascript/ace-1.41.0/theme-github.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-github.js rename to src/main/webapp/javascript/ace-1.41.0/theme-github.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-github_dark.js b/src/main/webapp/javascript/ace-1.41.0/theme-github_dark.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-github_dark.js rename to src/main/webapp/javascript/ace-1.41.0/theme-github_dark.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-github_light_default.js b/src/main/webapp/javascript/ace-1.41.0/theme-github_light_default.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-github_light_default.js rename to src/main/webapp/javascript/ace-1.41.0/theme-github_light_default.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-gob.js b/src/main/webapp/javascript/ace-1.41.0/theme-gob.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-gob.js rename to src/main/webapp/javascript/ace-1.41.0/theme-gob.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-gruvbox.js b/src/main/webapp/javascript/ace-1.41.0/theme-gruvbox.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-gruvbox.js rename to src/main/webapp/javascript/ace-1.41.0/theme-gruvbox.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-gruvbox_dark_hard.js b/src/main/webapp/javascript/ace-1.41.0/theme-gruvbox_dark_hard.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-gruvbox_dark_hard.js rename to src/main/webapp/javascript/ace-1.41.0/theme-gruvbox_dark_hard.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-gruvbox_light_hard.js b/src/main/webapp/javascript/ace-1.41.0/theme-gruvbox_light_hard.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-gruvbox_light_hard.js rename to src/main/webapp/javascript/ace-1.41.0/theme-gruvbox_light_hard.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-idle_fingers.js b/src/main/webapp/javascript/ace-1.41.0/theme-idle_fingers.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-idle_fingers.js rename to src/main/webapp/javascript/ace-1.41.0/theme-idle_fingers.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-iplastic.js b/src/main/webapp/javascript/ace-1.41.0/theme-iplastic.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-iplastic.js rename to src/main/webapp/javascript/ace-1.41.0/theme-iplastic.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-katzenmilch.js b/src/main/webapp/javascript/ace-1.41.0/theme-katzenmilch.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-katzenmilch.js rename to src/main/webapp/javascript/ace-1.41.0/theme-katzenmilch.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-kr_theme.js b/src/main/webapp/javascript/ace-1.41.0/theme-kr_theme.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-kr_theme.js rename to src/main/webapp/javascript/ace-1.41.0/theme-kr_theme.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-kuroir.js b/src/main/webapp/javascript/ace-1.41.0/theme-kuroir.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-kuroir.js rename to src/main/webapp/javascript/ace-1.41.0/theme-kuroir.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-merbivore.js b/src/main/webapp/javascript/ace-1.41.0/theme-merbivore.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-merbivore.js rename to src/main/webapp/javascript/ace-1.41.0/theme-merbivore.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-merbivore_soft.js b/src/main/webapp/javascript/ace-1.41.0/theme-merbivore_soft.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-merbivore_soft.js rename to src/main/webapp/javascript/ace-1.41.0/theme-merbivore_soft.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-mono_industrial.js b/src/main/webapp/javascript/ace-1.41.0/theme-mono_industrial.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-mono_industrial.js rename to src/main/webapp/javascript/ace-1.41.0/theme-mono_industrial.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-monokai.js b/src/main/webapp/javascript/ace-1.41.0/theme-monokai.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-monokai.js rename to src/main/webapp/javascript/ace-1.41.0/theme-monokai.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-nord_dark.js b/src/main/webapp/javascript/ace-1.41.0/theme-nord_dark.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-nord_dark.js rename to src/main/webapp/javascript/ace-1.41.0/theme-nord_dark.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-one_dark.js b/src/main/webapp/javascript/ace-1.41.0/theme-one_dark.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-one_dark.js rename to src/main/webapp/javascript/ace-1.41.0/theme-one_dark.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-pastel_on_dark.js b/src/main/webapp/javascript/ace-1.41.0/theme-pastel_on_dark.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-pastel_on_dark.js rename to src/main/webapp/javascript/ace-1.41.0/theme-pastel_on_dark.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-solarized_dark.js b/src/main/webapp/javascript/ace-1.41.0/theme-solarized_dark.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-solarized_dark.js rename to src/main/webapp/javascript/ace-1.41.0/theme-solarized_dark.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-solarized_light.js b/src/main/webapp/javascript/ace-1.41.0/theme-solarized_light.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-solarized_light.js rename to src/main/webapp/javascript/ace-1.41.0/theme-solarized_light.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-sqlserver.js b/src/main/webapp/javascript/ace-1.41.0/theme-sqlserver.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-sqlserver.js rename to src/main/webapp/javascript/ace-1.41.0/theme-sqlserver.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-terminal.js b/src/main/webapp/javascript/ace-1.41.0/theme-terminal.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-terminal.js rename to src/main/webapp/javascript/ace-1.41.0/theme-terminal.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-textmate.js b/src/main/webapp/javascript/ace-1.41.0/theme-textmate.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-textmate.js rename to src/main/webapp/javascript/ace-1.41.0/theme-textmate.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-tomorrow.js b/src/main/webapp/javascript/ace-1.41.0/theme-tomorrow.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-tomorrow.js rename to src/main/webapp/javascript/ace-1.41.0/theme-tomorrow.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night.js b/src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night.js rename to src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night_blue.js b/src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night_blue.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night_blue.js rename to src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night_blue.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night_bright.js b/src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night_bright.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night_bright.js rename to src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night_bright.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night_eighties.js b/src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night_eighties.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-tomorrow_night_eighties.js rename to src/main/webapp/javascript/ace-1.41.0/theme-tomorrow_night_eighties.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-twilight.js b/src/main/webapp/javascript/ace-1.41.0/theme-twilight.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-twilight.js rename to src/main/webapp/javascript/ace-1.41.0/theme-twilight.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-vibrant_ink.js b/src/main/webapp/javascript/ace-1.41.0/theme-vibrant_ink.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-vibrant_ink.js rename to src/main/webapp/javascript/ace-1.41.0/theme-vibrant_ink.js diff --git a/src/main/webapp/javascript/ace-1.39.1/theme-xcode.js b/src/main/webapp/javascript/ace-1.41.0/theme-xcode.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/theme-xcode.js rename to src/main/webapp/javascript/ace-1.41.0/theme-xcode.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-base.js b/src/main/webapp/javascript/ace-1.41.0/worker-base.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-base.js rename to src/main/webapp/javascript/ace-1.41.0/worker-base.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-coffee.js b/src/main/webapp/javascript/ace-1.41.0/worker-coffee.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-coffee.js rename to src/main/webapp/javascript/ace-1.41.0/worker-coffee.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-css.js b/src/main/webapp/javascript/ace-1.41.0/worker-css.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-css.js rename to src/main/webapp/javascript/ace-1.41.0/worker-css.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-html.js b/src/main/webapp/javascript/ace-1.41.0/worker-html.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-html.js rename to src/main/webapp/javascript/ace-1.41.0/worker-html.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-javascript.js b/src/main/webapp/javascript/ace-1.41.0/worker-javascript.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-javascript.js rename to src/main/webapp/javascript/ace-1.41.0/worker-javascript.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-json.js b/src/main/webapp/javascript/ace-1.41.0/worker-json.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-json.js rename to src/main/webapp/javascript/ace-1.41.0/worker-json.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-lua.js b/src/main/webapp/javascript/ace-1.41.0/worker-lua.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-lua.js rename to src/main/webapp/javascript/ace-1.41.0/worker-lua.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-php.js b/src/main/webapp/javascript/ace-1.41.0/worker-php.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-php.js rename to src/main/webapp/javascript/ace-1.41.0/worker-php.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-xml.js b/src/main/webapp/javascript/ace-1.41.0/worker-xml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-xml.js rename to src/main/webapp/javascript/ace-1.41.0/worker-xml.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-xquery.js b/src/main/webapp/javascript/ace-1.41.0/worker-xquery.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-xquery.js rename to src/main/webapp/javascript/ace-1.41.0/worker-xquery.js diff --git a/src/main/webapp/javascript/ace-1.39.1/worker-yaml.js b/src/main/webapp/javascript/ace-1.41.0/worker-yaml.js similarity index 100% rename from src/main/webapp/javascript/ace-1.39.1/worker-yaml.js rename to src/main/webapp/javascript/ace-1.41.0/worker-yaml.js diff --git a/src/main/webapp/javascript/add-to-calendar-button-2.8.9/atcb.js b/src/main/webapp/javascript/add-to-calendar-button-2.9.1/atcb.js similarity index 56% rename from src/main/webapp/javascript/add-to-calendar-button-2.8.9/atcb.js rename to src/main/webapp/javascript/add-to-calendar-button-2.9.1/atcb.js index 714117e6..399ea015 100644 --- a/src/main/webapp/javascript/add-to-calendar-button-2.8.9/atcb.js +++ b/src/main/webapp/javascript/add-to-calendar-button-2.9.1/atcb.js @@ -5,16 +5,16 @@ * Add to Calendar TimeZones iCal Library * ++++++++++++++++++++++++++++++++++++++ * - * Version: 1.9.1 + * Version: 1.10.0 * Creator: Jens Kuerschner (https://jenskuerschner.de) * Project: https://github.com/add2cal/timezones-ical-library * License: Apache-2.0 * */ // eslint-disable-next-line @typescript-eslint/no-unused-vars -const tzlibVersion = '1.9.1'; -const tzlibZonesDB = {"Zulu":["Etc/UTC",0],"WET":["Europe/Lisbon",1],"W-SU":["Europe/Moscow",2],"Universal":["Etc/UTC",0],"UTC":["Etc/UTC",0],"UCT":["Etc/UTC",0],"Turkey":["Europe/Istanbul",3],"Singapore":["Asia/Singapore",4],"ROK":["Asia/Seoul",5],"ROC":["Asia/Taipei",6],"Portugal":["Europe/Lisbon",1],"Poland":["Europe/Warsaw",7],"PST8PDT":["America/Los_Angeles",8],"PRC":["Asia/Shanghai",9],"Navajo":["America/Denver",10],"NZ":["Pacific/Auckland",11],"NZ-CHAT":["Pacific/Chatham",12],"MST7MDT":["America/Denver",10],"MST":["America/Phoenix",13],"MET":["Europe/Brussels",14],"Libya":["Africa/Tripoli",15],"Kwajalein":["Pacific/Kwajalein",16],"Japan":["Asia/Tokyo",17],"Jamaica":["America/Jamaica",18],"Israel":["Asia/Jerusalem",19],"Iran":["Asia/Tehran",20],"Iceland":["Africa/Abidjan",21],"Hongkong":["Asia/Hong_Kong",22],"HST":["Pacific/Honolulu",23],"Greenwich":["Etc/GMT",24],"GMT0":["Etc/GMT",24],"GMT":["Etc/GMT",24],"GMT-0":["Etc/GMT",24],"GMT+0":["Etc/GMT",24],"GB":["Europe/London",25],"GB-Eire":["Europe/London",25],"Eire":["Europe/Dublin",26],"Egypt":["Africa/Cairo",27],"EST5EDT":["America/New_York",28],"EST":["America/Panama",29],"EET":["Europe/Athens",30],"Cuba":["America/Havana",31],"CST6CDT":["America/Chicago",32],"CET":["Europe/Brussels",14],"US":{"Samoa":["Pacific/Pago_Pago",33],"Pacific":["America/Los_Angeles",8],"Mountain":["America/Denver",10],"Michigan":["America/Detroit",34],"Indiana-Starke":["America/Indiana/Knox",35],"Hawaii":["Pacific/Honolulu",23],"Eastern":["America/New_York",28],"East-Indiana":["America/Indiana/Indianapolis",36],"Central":["America/Chicago",32],"Arizona":["America/Phoenix",13],"Aleutian":["America/Adak",37],"Alaska":["America/Anchorage",38]},"Pacific":{"Yap":["Pacific/Port_Moresby",39],"Wallis":["Pacific/Tarawa",40],"Wake":["Pacific/Tarawa",40],"Truk":["Pacific/Port_Moresby",39],"Tongatapu":["",41],"Tarawa":["",40],"Tahiti":["",42],"Samoa":["Pacific/Pago_Pago",33],"Saipan":["Pacific/Guam",43],"Rarotonga":["",44],"Port_Moresby":["",39],"Ponape":["Pacific/Guadalcanal",45],"Pohnpei":["Pacific/Guadalcanal",45],"Pitcairn":["",46],"Palau":["",47],"Pago_Pago":["",33],"Noumea":["",48],"Norfolk":["",49],"Niue":["",50],"Nauru":["",51],"Midway":["Pacific/Pago_Pago",33],"Marquesas":["",52],"Majuro":["Pacific/Tarawa",40],"Kwajalein":["",16],"Kosrae":["",53],"Kiritimati":["",54],"Kanton":["",55],"Johnston":["Pacific/Honolulu",23],"Honolulu":["",23],"Guam":["",43],"Guadalcanal":["",45],"Gambier":["",56],"Galapagos":["",57],"Funafuti":["Pacific/Tarawa",40],"Fiji":["",58],"Fakaofo":["",59],"Enderbury":["Pacific/Kanton",55],"Efate":["",60],"Easter":["",61],"Chuuk":["Pacific/Port_Moresby",39],"Chatham":["",12],"Bougainville":["",62],"Auckland":["",11],"Apia":["",63]},"Mexico":{"General":["America/Mexico_City",64],"BajaSur":["America/Mazatlan",65],"BajaNorte":["America/Tijuana",66]},"Indian":{"Reunion":["Asia/Dubai",67],"Mayotte":["Africa/Nairobi",68],"Mauritius":["",69],"Maldives":["",70],"Mahe":["Asia/Dubai",67],"Kerguelen":["Indian/Maldives",70],"Comoro":["Africa/Nairobi",68],"Cocos":["Asia/Yangon",71],"Christmas":["Asia/Bangkok",72],"Chagos":["",73],"Antananarivo":["Africa/Nairobi",68]},"Europe":{"Zurich":["",74],"Zaporozhye":["Europe/Kyiv",75],"Zagreb":["Europe/Belgrade",76],"Warsaw":["",7],"Volgograd":["",77],"Vilnius":["",78],"Vienna":["",79],"Vatican":["Europe/Rome",80],"Vaduz":["Europe/Zurich",74],"Uzhgorod":["Europe/Kyiv",75],"Ulyanovsk":["",81],"Tiraspol":["Europe/Chisinau",82],"Tirane":["",83],"Tallinn":["",84],"Stockholm":["Europe/Berlin",85],"Sofia":["",86],"Skopje":["Europe/Belgrade",76],"Simferopol":["",87],"Saratov":["",88],"Sarajevo":["Europe/Belgrade",76],"San_Marino":["Europe/Rome",80],"Samara":["",89],"Rome":["",80],"Riga":["",90],"Prague":["",91],"Podgorica":["Europe/Belgrade",76],"Paris":["",92],"Oslo":["Europe/Berlin",85],"Nicosia":["Asia/Nicosia",93],"Moscow":["",2],"Monaco":["Europe/Paris",92],"Minsk":["",94],"Mariehamn":["Europe/Helsinki",95],"Malta":["",96],"Madrid":["",97],"Luxembourg":["Europe/Brussels",14],"London":["",25],"Ljubljana":["Europe/Belgrade",76],"Lisbon":["",1],"Kyiv":["",75],"Kirov":["",98],"Kiev":["Europe/Kyiv",75],"Kaliningrad":["",99],"Jersey":["Europe/London",25],"Istanbul":["",3],"Isle_of_Man":["Europe/London",25],"Helsinki":["",95],"Guernsey":["Europe/London",25],"Gibraltar":["",100],"Dublin":["",26],"Copenhagen":["Europe/Berlin",85],"Chisinau":["",82],"Busingen":["Europe/Zurich",74],"Budapest":["",101],"Bucharest":["",102],"Brussels":["",14],"Bratislava":["Europe/Prague",91],"Berlin":["",85],"Belgrade":["",76],"Belfast":["Europe/London",25],"Athens":["",30],"Astrakhan":["",103],"Andorra":["",104],"Amsterdam":["Europe/Brussels",14]},"Etc":{"Zulu":["Etc/UTC",0],"Universal":["Etc/UTC",0],"UTC":["",0],"UCT":["Etc/UTC",0],"Greenwich":["Etc/GMT",24],"GMT0":["Etc/GMT",24],"GMT":["",24],"GMT-9":["",105],"GMT-8":["",106],"GMT-7":["",107],"GMT-6":["",108],"GMT-5":["",109],"GMT-4":["",110],"GMT-3":["",111],"GMT-2":["",112],"GMT-14":["",113],"GMT-13":["",114],"GMT-12":["",115],"GMT-11":["",116],"GMT-10":["",117],"GMT-1":["",118],"GMT-0":["Etc/GMT",24],"GMT+9":["",119],"GMT+8":["",120],"GMT+7":["",121],"GMT+6":["",122],"GMT+5":["",123],"GMT+4":["",124],"GMT+3":["",125],"GMT+2":["",126],"GMT+12":["",127],"GMT+11":["",128],"GMT+10":["",129],"GMT+1":["",130],"GMT+0":["Etc/GMT",24]},"Chile":{"EasterIsland":["Pacific/Easter",61],"Continental":["America/Santiago",131]},"Canada":{"Yukon":["America/Whitehorse",132],"Saskatchewan":["America/Regina",133],"Pacific":["America/Vancouver",134],"Newfoundland":["America/St_Johns",135],"Mountain":["America/Edmonton",136],"Eastern":["America/Toronto",137],"Central":["America/Winnipeg",138],"Atlantic":["America/Halifax",139]},"Brazil":{"West":["America/Manaus",140],"East":["America/Sao_Paulo",141],"DeNoronha":["America/Noronha",142],"Acre":["America/Rio_Branco",143]},"Australia":{"Yancowinna":["Australia/Broken_Hill",144],"West":["Australia/Perth",145],"Victoria":["Australia/Melbourne",146],"Tasmania":["Australia/Hobart",147],"Sydney":["",148],"South":["Australia/Adelaide",149],"Queensland":["Australia/Brisbane",150],"Perth":["",145],"North":["Australia/Darwin",151],"NSW":["Australia/Sydney",148],"Melbourne":["",146],"Lord_Howe":["",152],"Lindeman":["",153],"LHI":["Australia/Lord_Howe",152],"Hobart":["",147],"Eucla":["",154],"Darwin":["",151],"Currie":["Australia/Hobart",147],"Canberra":["Australia/Sydney",148],"Broken_Hill":["",144],"Brisbane":["",150],"Adelaide":["",149],"ACT":["Australia/Sydney",148]},"Atlantic":{"Stanley":["",155],"St_Helena":["Africa/Abidjan",21],"South_Georgia":["",156],"Reykjavik":["Africa/Abidjan",21],"Madeira":["",157],"Jan_Mayen":["Europe/Berlin",85],"Faroe":["",158],"Faeroe":["Atlantic/Faroe",158],"Cape_Verde":["",159],"Canary":["",160],"Bermuda":["",161],"Azores":["",162]},"Asia":{"Yerevan":["",163],"Yekaterinburg":["",164],"Yangon":["",71],"Yakutsk":["",165],"Vladivostok":["",166],"Vientiane":["Asia/Bangkok",72],"Ust-Nera":["",167],"Urumqi":["",168],"Ulan_Bator":["Asia/Ulaanbaatar",169],"Ulaanbaatar":["",169],"Ujung_Pandang":["Asia/Makassar",170],"Tomsk":["",171],"Tokyo":["",17],"Thimphu":["",172],"Thimbu":["Asia/Thimphu",172],"Tel_Aviv":["Asia/Jerusalem",19],"Tehran":["",20],"Tbilisi":["",173],"Tashkent":["",174],"Taipei":["",6],"Srednekolymsk":["",175],"Singapore":["",4],"Shanghai":["",9],"Seoul":["",5],"Samarkand":["",176],"Sakhalin":["",177],"Saigon":["Asia/Ho_Chi_Minh",178],"Riyadh":["",179],"Rangoon":["Asia/Yangon",71],"Qyzylorda":["",180],"Qostanay":["",181],"Qatar":["",182],"Pyongyang":["",183],"Pontianak":["",184],"Phnom_Penh":["Asia/Bangkok",72],"Oral":["",185],"Omsk":["",186],"Novosibirsk":["",187],"Novokuznetsk":["",188],"Nicosia":["",93],"Muscat":["Asia/Dubai",67],"Manila":["",189],"Makassar":["",170],"Magadan":["",190],"Macau":["",191],"Macao":["Asia/Macau",191],"Kuwait":["Asia/Riyadh",179],"Kuching":["",192],"Kuala_Lumpur":["Asia/Singapore",4],"Krasnoyarsk":["",193],"Kolkata":["",194],"Khandyga":["",195],"Katmandu":["Asia/Kathmandu",196],"Kathmandu":["",196],"Kashgar":["Asia/Urumqi",168],"Karachi":["",197],"Kamchatka":["",198],"Kabul":["",199],"Jerusalem":["",19],"Jayapura":["",200],"Jakarta":["",201],"Istanbul":["Europe/Istanbul",3],"Irkutsk":["",202],"Hovd":["",203],"Hong_Kong":["",22],"Ho_Chi_Minh":["",178],"Hebron":["",204],"Harbin":["Asia/Shanghai",9],"Gaza":["",205],"Famagusta":["",206],"Dushanbe":["",207],"Dubai":["",67],"Dili":["",208],"Dhaka":["",209],"Damascus":["",210],"Dacca":["Asia/Dhaka",209],"Colombo":["",211],"Chungking":["Asia/Shanghai",9],"Chongqing":["Asia/Shanghai",9],"Choibalsan":["Asia/Ulaanbaatar",169],"Chita":["",212],"Calcutta":["Asia/Kolkata",194],"Brunei":["Asia/Kuching",192],"Bishkek":["",213],"Beirut":["",214],"Barnaul":["",215],"Bangkok":["",72],"Baku":["",216],"Bahrain":["Asia/Qatar",182],"Baghdad":["",217],"Atyrau":["",218],"Ashkhabad":["Asia/Ashgabat",219],"Ashgabat":["",219],"Aqtobe":["",220],"Aqtau":["",221],"Anadyr":["",222],"Amman":["",223],"Almaty":["",224],"Aden":["Asia/Riyadh",179]},"Arctic":{"Longyearbyen":["Europe/Berlin",85]},"Antarctica":{"Vostok":["",225],"Troll":["",226],"Syowa":["Asia/Riyadh",179],"South_Pole":["Pacific/Auckland",11],"Rothera":["",227],"Palmer":["",228],"McMurdo":["Pacific/Auckland",11],"Mawson":["",229],"Macquarie":["",230],"DumontDUrville":["Pacific/Port_Moresby",39],"Davis":["",231],"Casey":["",232]},"America":{"Yellowknife":["America/Edmonton",136],"Yakutat":["",233],"Winnipeg":["",138],"Whitehorse":["",132],"Virgin":["America/Puerto_Rico",234],"Vancouver":["",134],"Tortola":["America/Puerto_Rico",234],"Toronto":["",137],"Tijuana":["",66],"Thunder_Bay":["America/Toronto",137],"Thule":["",235],"Tegucigalpa":["",236],"Swift_Current":["",237],"St_Vincent":["America/Puerto_Rico",234],"St_Thomas":["America/Puerto_Rico",234],"St_Lucia":["America/Puerto_Rico",234],"St_Kitts":["America/Puerto_Rico",234],"St_Johns":["",135],"St_Barthelemy":["America/Puerto_Rico",234],"Sitka":["",238],"Shiprock":["America/Denver",10],"Scoresbysund":["",239],"Sao_Paulo":["",141],"Santo_Domingo":["",240],"Santiago":["",131],"Santarem":["",241],"Santa_Isabel":["America/Tijuana",66],"Rosario":["America/Argentina/Cordoba",242],"Rio_Branco":["",143],"Resolute":["",243],"Regina":["",133],"Recife":["",244],"Rankin_Inlet":["",245],"Rainy_River":["America/Winnipeg",138],"Punta_Arenas":["",246],"Puerto_Rico":["",234],"Porto_Velho":["",247],"Porto_Acre":["America/Rio_Branco",143],"Port_of_Spain":["America/Puerto_Rico",234],"Port-au-Prince":["",248],"Phoenix":["",13],"Paramaribo":["",249],"Pangnirtung":["America/Iqaluit",250],"Panama":["",29],"Ojinaga":["",251],"Nuuk":["",252],"Noronha":["",142],"Nome":["",253],"Nipigon":["America/Toronto",137],"New_York":["",28],"Nassau":["America/Toronto",137],"Montserrat":["America/Puerto_Rico",234],"Montreal":["America/Toronto",137],"Montevideo":["",254],"Monterrey":["",255],"Moncton":["",256],"Miquelon":["",257],"Mexico_City":["",64],"Metlakatla":["",258],"Merida":["",259],"Menominee":["",260],"Mendoza":["America/Argentina/Mendoza",261],"Mazatlan":["",65],"Matamoros":["",262],"Martinique":["",263],"Marigot":["America/Puerto_Rico",234],"Manaus":["",140],"Managua":["",264],"Maceio":["",265],"Lower_Princes":["America/Puerto_Rico",234],"Louisville":["America/Kentucky/Louisville",266],"Los_Angeles":["",8],"Lima":["",267],"La_Paz":["",268],"Kralendijk":["America/Puerto_Rico",234],"Knox_IN":["America/Indiana/Knox",35],"Juneau":["",269],"Jujuy":["America/Argentina/Jujuy",270],"Jamaica":["",18],"Iqaluit":["",250],"Inuvik":["",271],"Indianapolis":["America/Indiana/Indianapolis",36],"Hermosillo":["",272],"Havana":["",31],"Halifax":["",139],"Guyana":["",273],"Guayaquil":["",274],"Guatemala":["",275],"Guadeloupe":["America/Puerto_Rico",234],"Grenada":["America/Puerto_Rico",234],"Grand_Turk":["",276],"Goose_Bay":["",277],"Godthab":["America/Nuuk",252],"Glace_Bay":["",278],"Fortaleza":["",279],"Fort_Wayne":["America/Indiana/Indianapolis",36],"Fort_Nelson":["",280],"Ensenada":["America/Tijuana",66],"El_Salvador":["",281],"Eirunepe":["",282],"Edmonton":["",136],"Dominica":["America/Puerto_Rico",234],"Detroit":["",34],"Denver":["",10],"Dawson_Creek":["",283],"Dawson":["",284],"Danmarkshavn":["",285],"Curacao":["America/Puerto_Rico",234],"Cuiaba":["",286],"Creston":["America/Phoenix",13],"Costa_Rica":["",287],"Cordoba":["America/Argentina/Cordoba",242],"Coral_Harbour":["America/Panama",29],"Ciudad_Juarez":["",288],"Chihuahua":["",289],"Chicago":["",32],"Cayman":["America/Panama",29],"Cayenne":["",290],"Catamarca":["America/Argentina/Catamarca",291],"Caracas":["",292],"Cancun":["",293],"Campo_Grande":["",294],"Cambridge_Bay":["",295],"Buenos_Aires":["America/Argentina/Buenos_Aires",296],"Boise":["",297],"Bogota":["",298],"Boa_Vista":["",299],"Blanc-Sablon":["America/Puerto_Rico",234],"Belize":["",300],"Belem":["",301],"Barbados":["",302],"Bahia_Banderas":["",303],"Bahia":["",304],"Atka":["America/Adak",37],"Atikokan":["America/Panama",29],"Asuncion":["",305],"Aruba":["America/Puerto_Rico",234],"Araguaina":["",306],"Antigua":["America/Puerto_Rico",234],"Anguilla":["America/Puerto_Rico",234],"Anchorage":["",38],"Adak":["",37],"North_Dakota":{"New_Salem":["",307],"Center":["",308],"Beulah":["",309]},"Kentucky":{"Monticello":["",310],"Louisville":["",266]},"Indiana":{"Winamac":["",311],"Vincennes":["",312],"Vevay":["",313],"Tell_City":["",314],"Petersburg":["",315],"Marengo":["",316],"Knox":["",35],"Indianapolis":["",36]},"Argentina":{"Ushuaia":["",317],"Tucuman":["",318],"San_Luis":["",319],"San_Juan":["",320],"Salta":["",321],"Rio_Gallegos":["",322],"Mendoza":["",261],"La_Rioja":["",323],"Jujuy":["",270],"Cordoba":["",242],"ComodRivadavia":["America/Argentina/Catamarca",291],"Catamarca":["",291],"Buenos_Aires":["",296]}},"Africa":{"Windhoek":["",324],"Tunis":["",325],"Tripoli":["",15],"Timbuktu":["Africa/Abidjan",21],"Sao_Tome":["",326],"Porto-Novo":["Africa/Lagos",327],"Ouagadougou":["Africa/Abidjan",21],"Nouakchott":["Africa/Abidjan",21],"Niamey":["Africa/Lagos",327],"Ndjamena":["",328],"Nairobi":["",68],"Monrovia":["",329],"Mogadishu":["Africa/Nairobi",68],"Mbabane":["Africa/Johannesburg",330],"Maseru":["Africa/Johannesburg",330],"Maputo":["",331],"Malabo":["Africa/Lagos",327],"Lusaka":["Africa/Maputo",331],"Lubumbashi":["Africa/Maputo",331],"Luanda":["Africa/Lagos",327],"Lome":["Africa/Abidjan",21],"Libreville":["Africa/Lagos",327],"Lagos":["",327],"Kinshasa":["Africa/Lagos",327],"Kigali":["Africa/Maputo",331],"Khartoum":["",332],"Kampala":["Africa/Nairobi",68],"Juba":["",333],"Johannesburg":["",330],"Harare":["Africa/Maputo",331],"Gaborone":["Africa/Maputo",331],"Freetown":["Africa/Abidjan",21],"El_Aaiun":["",334],"Douala":["Africa/Lagos",327],"Djibouti":["Africa/Nairobi",68],"Dar_es_Salaam":["Africa/Nairobi",68],"Dakar":["Africa/Abidjan",21],"Conakry":["Africa/Abidjan",21],"Ceuta":["",335],"Casablanca":["",336],"Cairo":["",27],"Bujumbura":["Africa/Maputo",331],"Brazzaville":["Africa/Lagos",327],"Blantyre":["Africa/Maputo",331],"Bissau":["",337],"Banjul":["Africa/Abidjan",21],"Bangui":["Africa/Lagos",327],"Bamako":["Africa/Abidjan",21],"Asmera":["Africa/Nairobi",68],"Asmara":["Africa/Nairobi",68],"Algiers":["",338],"Addis_Ababa":["Africa/Nairobi",68],"Accra":["Africa/Abidjan",21],"Abidjan":["",21]}}; -const tzlibZonesDetailsDB = ["20250101T220159ZX-LIC-LOCATION:Etc/UTCUTC+0000+000019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/LisbonWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/MoscowMSK+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/Istanbul%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Singapore%z+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/SeoulKST+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/TaipeiCST+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/WarsawCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:America/Los_AngelesPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Asia/ShanghaiCST+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:America/DenverMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Pacific/AucklandNZDT+1200+130019700927T020000FREQ=YEARLY;BYMONTH=9;BYDAY=-1SUNZST+1300+120019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Pacific/Chatham%z+1245+134519700927T024500FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU%z+1345+124519700405T034500FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/PhoenixMST-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/BrusselsCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Africa/TripoliEET+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Kwajalein%z+1200+120019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/TokyoJST+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:America/JamaicaEST-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/JerusalemIDT+0200+030019700327T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1FRIST+0300+020019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Asia/Tehran%z+0330+033019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/AbidjanGMT+0000+000019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Hong_KongHKT+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/HonoluluHST-1000-100019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMTGMT+0000+000019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/LondonBST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUGMT+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/DublinIST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUGMT+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Africa/CairoEEST+0200+030019700424T000000FREQ=YEARLY;BYMONTH=4;BYDAY=-1FREET+0300+020019701030T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR","20250101T220159ZX-LIC-LOCATION:America/New_YorkEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/PanamaEST-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/AthensEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:America/HavanaCST-0400-050019701101T010000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUCDT-0500-040019700308T000000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250101T220159ZX-LIC-LOCATION:America/ChicagoCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Pacific/Pago_PagoSST-1100-110019700101T000000","20250101T220159ZX-LIC-LOCATION:America/DetroitEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/KnoxCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/IndianapolisEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/AdakHDT-1000-090019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUHST-0900-100019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/AnchorageAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Pacific/Port_Moresby%z+1000+100019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Tarawa%z+1200+120019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Tongatapu%z+1300+130019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Tahiti%z-1000-100019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/GuamChST+1000+100019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Rarotonga%z-1000-100019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Guadalcanal%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Pitcairn%z-0800-080019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Palau%z+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Noumea%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Norfolk%z+1100+120019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU%z+1200+110019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Pacific/Niue%z-1100-110019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Nauru%z+1200+120019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Marquesas%z-0930-093019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Kosrae%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Kiritimati%z+1400+140019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Kanton%z+1300+130019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Gambier%z-0900-090019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Galapagos%z-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Fiji%z+1200+120019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Fakaofo%z+1300+130019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Efate%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Easter%z-0500-060019700404T220000FREQ=YEARLY;BYMONTH=4;BYDAY=1SA%z-0600-050019700905T220000FREQ=YEARLY;BYMONTH=9;BYDAY=1SA","20250101T220159ZX-LIC-LOCATION:Pacific/Bougainville%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Pacific/Apia%z+1300+130019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Mexico_CityCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/MazatlanMST-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:America/TijuanaPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Asia/Dubai%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/NairobiEAT+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Indian/Mauritius%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Indian/Maldives%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Yangon%z+0630+063019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Bangkok%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Indian/Chagos%z+0600+060019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/ZurichCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/KyivEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/BelgradeCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/VolgogradMSK+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/VilniusEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/ViennaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/RomeCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/Ulyanovsk%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/ChisinauEEST+0200+030019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/TiraneCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/TallinnEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/BerlinCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/SofiaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/SimferopolMSK+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/Saratov%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/Samara%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/RigaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/PragueCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/ParisCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Asia/NicosiaEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/Minsk%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/HelsinkiEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/MaltaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/MadridCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/KirovMSK+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/KaliningradEET+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/GibraltarCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/BudapestCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/BucharestEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Europe/Astrakhan%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Europe/AndorraCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Etc/GMT-9%z+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-8%z+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-7%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-6%z+0600+060019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-5%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-4%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-3%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-2%z+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-14%z+1400+140019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-13%z+1300+130019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-12%z+1200+120019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-11%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-10%z+1000+100019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT-1%z+0100+010019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+9%z-0900-090019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+8%z-0800-080019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+7%z-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+6%z-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+5%z-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+4%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+3%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+2%z-0200-020019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+12%z-1200-120019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+11%z-1100-110019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+10%z-1000-100019700101T000000","20250101T220159ZX-LIC-LOCATION:Etc/GMT+1%z-0100-010019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Santiago%z-0300-040019700405T000000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU%z-0400-030019700906T000000FREQ=YEARLY;BYMONTH=9;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/WhitehorseMST-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:America/ReginaCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/VancouverPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/St_JohnsNST-0230-033019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUNDT-0330-023019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250101T220159ZX-LIC-LOCATION:America/EdmontonMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/TorontoEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/WinnipegCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/HalifaxADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Manaus%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Sao_Paulo%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Noronha%z-0200-020019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Rio_Branco%z-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:Australia/Broken_HillACST+1030+093019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUACDT+0930+103019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Australia/PerthAWST+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Australia/MelbourneAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Australia/HobartAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SUAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Australia/SydneyAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Australia/AdelaideACST+1030+093019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUACDT+0930+103019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Australia/BrisbaneAEST+1000+100019700101T000000","20250101T220159ZX-LIC-LOCATION:Australia/DarwinACST+0930+093019700101T000000","20250101T220159ZX-LIC-LOCATION:Australia/Lord_Howe%z+1100+103019700405T020000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU%z+1030+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Australia/LindemanAEST+1000+100019700101T000000","20250101T220159ZX-LIC-LOCATION:Australia/Eucla%z+0845+084519700101T000000","20250101T220159ZX-LIC-LOCATION:Atlantic/Stanley%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:Atlantic/South_Georgia%z-0200-020019700101T000000","20250101T220159ZX-LIC-LOCATION:Atlantic/MadeiraWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Atlantic/FaroeWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Atlantic/Cape_Verde%z-0100-010019700101T000000","20250101T220159ZX-LIC-LOCATION:Atlantic/CanaryWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Atlantic/BermudaADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Atlantic/Azores%z-0100+000019700329T000000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU%z+0000-010019701025T010000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Asia/Yerevan%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Yekaterinburg%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Yakutsk%z+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Vladivostok%z+1000+100019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Ust-Nera%z+1000+100019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Urumqi%z+0600+060019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Ulaanbaatar%z+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/MakassarWITA+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Tomsk%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Thimphu%z+0600+060019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Tbilisi%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Tashkent%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Srednekolymsk%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Samarkand%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Sakhalin%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Ho_Chi_Minh%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Riyadh%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Qyzylorda%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Qostanay%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Qatar%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/PyongyangKST+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/PontianakWIB+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Oral%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Omsk%z+0600+060019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Novosibirsk%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Novokuznetsk%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/ManilaPST+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Magadan%z+1100+110019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/MacauCST+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Kuching%z+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Krasnoyarsk%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/KolkataIST+0530+053019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Khandyga%z+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Kathmandu%z+0545+054519700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/KarachiPKT+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Kamchatka%z+1200+120019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Kabul%z+0430+043019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/JayapuraWIT+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/JakartaWIB+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Irkutsk%z+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Hovd%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/HebronEEST+0200+030019700328T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SAEET+0300+020019701024T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA","20250101T220159ZX-LIC-LOCATION:Asia/GazaEEST+0200+030019700328T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SAEET+0300+020019701024T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA","20250101T220159ZX-LIC-LOCATION:Asia/FamagustaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Asia/Dushanbe%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Dili%z+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Dhaka%z+0600+060019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Damascus%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Colombo%z+0530+053019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Chita%z+0900+090019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Bishkek%z+0600+060019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/BeirutEEST+0200+030019700329T000000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Asia/Barnaul%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Baku%z+0400+040019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Baghdad%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Atyrau%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Ashgabat%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Aqtobe%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Aqtau%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Anadyr%z+1200+120019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Amman%z+0300+030019700101T000000","20250101T220159ZX-LIC-LOCATION:Asia/Almaty%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Antarctica/Vostok%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Antarctica/Troll+02+0000+020019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU+00+0200+000019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Antarctica/Rothera%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:Antarctica/Palmer%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:Antarctica/Mawson%z+0500+050019700101T000000","20250101T220159ZX-LIC-LOCATION:Antarctica/MacquarieAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:Antarctica/Davis%z+0700+070019700101T000000","20250101T220159ZX-LIC-LOCATION:Antarctica/Casey%z+0800+080019700101T000000","20250101T220159ZX-LIC-LOCATION:America/YakutatAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Puerto_RicoAST-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/ThuleADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/TegucigalpaCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Swift_CurrentCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/SitkaAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Scoresbysund%z-0100-020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU%z-0200-010019700328T230000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA","20250101T220159ZX-LIC-LOCATION:America/Santo_DomingoAST-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Santarem%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/Cordoba%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/ResoluteCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250101T220159ZX-LIC-LOCATION:America/Recife%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Rankin_InletCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Punta_Arenas%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Porto_Velho%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Port-au-PrinceEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Paramaribo%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/IqaluitEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/OjinagaCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Nuuk%z-0200-010019700328T230000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA%z-0100-020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:America/NomeAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Montevideo%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/MonterreyCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/MonctonADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Miquelon%z-0300-020019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU%z-0200-030019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/MetlakatlaAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/MeridaCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/MenomineeCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Argentina/Mendoza%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/MatamorosCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/MartiniqueAST-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/ManaguaCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Maceio%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Kentucky/LouisvilleEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Lima%z-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:America/La_Paz%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/JuneauAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Argentina/Jujuy%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/InuvikMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/HermosilloMST-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Guyana%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Guayaquil%z-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:America/GuatemalaCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Grand_TurkEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250101T220159ZX-LIC-LOCATION:America/Goose_BayAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250101T220159ZX-LIC-LOCATION:America/Glace_BayADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Fortaleza%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Fort_NelsonMST-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:America/El_SalvadorCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Eirunepe%z-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Dawson_CreekMST-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:America/DawsonMST-0700-070019700101T000000","20250101T220159ZX-LIC-LOCATION:America/DanmarkshavnGMT+0000+000019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Cuiaba%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Costa_RicaCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Ciudad_JuarezMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/ChihuahuaCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Cayenne%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/Catamarca%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Caracas%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/CancunEST-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Campo_Grande%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Cambridge_BayMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Argentina/Buenos_Aires%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/BoiseMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Bogota%z-0500-050019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Boa_Vista%z-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/BelizeCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Belem%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/BarbadosAST-0400-040019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Bahia_BanderasCST-0600-060019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Bahia%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Asuncion%z-0400-030019701004T000000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU%z-0300-040019700322T000000FREQ=YEARLY;BYMONTH=3;BYDAY=4SU","20250101T220159ZX-LIC-LOCATION:America/Araguaina%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/North_Dakota/New_SalemCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/North_Dakota/CenterCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/North_Dakota/BeulahCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Kentucky/MonticelloEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/WinamacEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/VincennesEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/VevayEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/Tell_CityCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/PetersburgEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Indiana/MarengoEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250101T220159ZX-LIC-LOCATION:America/Argentina/Ushuaia%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/Tucuman%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/San_Luis%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/San_Juan%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/Salta%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/Rio_Gallegos%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:America/Argentina/La_Rioja%z-0300-030019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/WindhoekCAT+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/TunisCET+0100+010019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/Sao_TomeGMT+0000+000019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/LagosWAT+0100+010019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/NdjamenaWAT+0100+010019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/MonroviaGMT+0000+000019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/JohannesburgSAST+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/MaputoCAT+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/KhartoumCAT+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/JubaCAT+0200+020019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/El_Aaiun%z+0100+010019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/CeutaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250101T220159ZX-LIC-LOCATION:Africa/Casablanca%z+0100+010019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/BissauGMT+0000+000019700101T000000","20250101T220159ZX-LIC-LOCATION:Africa/AlgiersCET+0100+010019700101T000000"]; +const tzlibVersion = '1.10.0'; +const tzlibZonesDB = {"Zulu":["Etc/UTC",0],"WET":["Europe/Lisbon",1],"W-SU":["Europe/Moscow",2],"Universal":["Etc/UTC",0],"UTC":["Etc/UTC",0],"UCT":["Etc/UTC",0],"Turkey":["Europe/Istanbul",3],"Singapore":["Asia/Singapore",4],"ROK":["Asia/Seoul",5],"ROC":["Asia/Taipei",6],"Portugal":["Europe/Lisbon",1],"Poland":["Europe/Warsaw",7],"PST8PDT":["America/Los_Angeles",8],"PRC":["Asia/Shanghai",9],"Navajo":["America/Denver",10],"NZ":["Pacific/Auckland",11],"NZ-CHAT":["Pacific/Chatham",12],"MST7MDT":["America/Denver",10],"MST":["America/Phoenix",13],"MET":["Europe/Brussels",14],"Libya":["Africa/Tripoli",15],"Kwajalein":["Pacific/Kwajalein",16],"Japan":["Asia/Tokyo",17],"Jamaica":["America/Jamaica",18],"Israel":["Asia/Jerusalem",19],"Iran":["Asia/Tehran",20],"Iceland":["Africa/Abidjan",21],"Hongkong":["Asia/Hong_Kong",22],"HST":["Pacific/Honolulu",23],"Greenwich":["Etc/GMT",24],"GMT0":["Etc/GMT",24],"GMT":["Etc/GMT",24],"GMT-0":["Etc/GMT",24],"GMT+0":["Etc/GMT",24],"GB":["Europe/London",25],"GB-Eire":["Europe/London",25],"Eire":["Europe/Dublin",26],"Egypt":["Africa/Cairo",27],"EST5EDT":["America/New_York",28],"EST":["America/Panama",29],"EET":["Europe/Athens",30],"Cuba":["America/Havana",31],"CST6CDT":["America/Chicago",32],"CET":["Europe/Brussels",14],"US":{"Samoa":["Pacific/Pago_Pago",33],"Pacific":["America/Los_Angeles",8],"Mountain":["America/Denver",10],"Michigan":["America/Detroit",34],"Indiana-Starke":["America/Indiana/Knox",35],"Hawaii":["Pacific/Honolulu",23],"Eastern":["America/New_York",28],"East-Indiana":["America/Indiana/Indianapolis",36],"Central":["America/Chicago",32],"Arizona":["America/Phoenix",13],"Aleutian":["America/Adak",37],"Alaska":["America/Anchorage",38]},"Pacific":{"Yap":["Pacific/Port_Moresby",39],"Wallis":["Pacific/Tarawa",40],"Wake":["Pacific/Tarawa",40],"Truk":["Pacific/Port_Moresby",39],"Tongatapu":["",41],"Tarawa":["",40],"Tahiti":["",42],"Samoa":["Pacific/Pago_Pago",33],"Saipan":["Pacific/Guam",43],"Rarotonga":["",44],"Port_Moresby":["",39],"Ponape":["Pacific/Guadalcanal",45],"Pohnpei":["Pacific/Guadalcanal",45],"Pitcairn":["",46],"Palau":["",47],"Pago_Pago":["",33],"Noumea":["",48],"Norfolk":["",49],"Niue":["",50],"Nauru":["",51],"Midway":["Pacific/Pago_Pago",33],"Marquesas":["",52],"Majuro":["Pacific/Tarawa",40],"Kwajalein":["",16],"Kosrae":["",53],"Kiritimati":["",54],"Kanton":["",55],"Johnston":["Pacific/Honolulu",23],"Honolulu":["",23],"Guam":["",43],"Guadalcanal":["",45],"Gambier":["",56],"Galapagos":["",57],"Funafuti":["Pacific/Tarawa",40],"Fiji":["",58],"Fakaofo":["",59],"Enderbury":["Pacific/Kanton",55],"Efate":["",60],"Easter":["",61],"Chuuk":["Pacific/Port_Moresby",39],"Chatham":["",12],"Bougainville":["",62],"Auckland":["",11],"Apia":["",63]},"Mexico":{"General":["America/Mexico_City",64],"BajaSur":["America/Mazatlan",65],"BajaNorte":["America/Tijuana",66]},"Indian":{"Reunion":["Asia/Dubai",67],"Mayotte":["Africa/Nairobi",68],"Mauritius":["",69],"Maldives":["",70],"Mahe":["Asia/Dubai",67],"Kerguelen":["Indian/Maldives",70],"Comoro":["Africa/Nairobi",68],"Cocos":["Asia/Yangon",71],"Christmas":["Asia/Bangkok",72],"Chagos":["",73],"Antananarivo":["Africa/Nairobi",68]},"Europe":{"Zurich":["",74],"Zaporozhye":["Europe/Kyiv",75],"Zagreb":["Europe/Belgrade",76],"Warsaw":["",7],"Volgograd":["",77],"Vilnius":["",78],"Vienna":["",79],"Vatican":["Europe/Rome",80],"Vaduz":["Europe/Zurich",74],"Uzhgorod":["Europe/Kyiv",75],"Ulyanovsk":["",81],"Tiraspol":["Europe/Chisinau",82],"Tirane":["",83],"Tallinn":["",84],"Stockholm":["Europe/Berlin",85],"Sofia":["",86],"Skopje":["Europe/Belgrade",76],"Simferopol":["",87],"Saratov":["",88],"Sarajevo":["Europe/Belgrade",76],"San_Marino":["Europe/Rome",80],"Samara":["",89],"Rome":["",80],"Riga":["",90],"Prague":["",91],"Podgorica":["Europe/Belgrade",76],"Paris":["",92],"Oslo":["Europe/Berlin",85],"Nicosia":["Asia/Nicosia",93],"Moscow":["",2],"Monaco":["Europe/Paris",92],"Minsk":["",94],"Mariehamn":["Europe/Helsinki",95],"Malta":["",96],"Madrid":["",97],"Luxembourg":["Europe/Brussels",14],"London":["",25],"Ljubljana":["Europe/Belgrade",76],"Lisbon":["",1],"Kyiv":["",75],"Kirov":["",98],"Kiev":["Europe/Kyiv",75],"Kaliningrad":["",99],"Jersey":["Europe/London",25],"Istanbul":["",3],"Isle_of_Man":["Europe/London",25],"Helsinki":["",95],"Guernsey":["Europe/London",25],"Gibraltar":["",100],"Dublin":["",26],"Copenhagen":["Europe/Berlin",85],"Chisinau":["",82],"Busingen":["Europe/Zurich",74],"Budapest":["",101],"Bucharest":["",102],"Brussels":["",14],"Bratislava":["Europe/Prague",91],"Berlin":["",85],"Belgrade":["",76],"Belfast":["Europe/London",25],"Athens":["",30],"Astrakhan":["",103],"Andorra":["",104],"Amsterdam":["Europe/Brussels",14]},"Etc":{"Zulu":["Etc/UTC",0],"Universal":["Etc/UTC",0],"UTC":["",0],"UCT":["Etc/UTC",0],"Greenwich":["Etc/GMT",24],"GMT0":["Etc/GMT",24],"GMT":["",24],"GMT-9":["",105],"GMT-8":["",106],"GMT-7":["",107],"GMT-6":["",108],"GMT-5":["",109],"GMT-4":["",110],"GMT-3":["",111],"GMT-2":["",112],"GMT-14":["",113],"GMT-13":["",114],"GMT-12":["",115],"GMT-11":["",116],"GMT-10":["",117],"GMT-1":["",118],"GMT-0":["Etc/GMT",24],"GMT+9":["",119],"GMT+8":["",120],"GMT+7":["",121],"GMT+6":["",122],"GMT+5":["",123],"GMT+4":["",124],"GMT+3":["",125],"GMT+2":["",126],"GMT+12":["",127],"GMT+11":["",128],"GMT+10":["",129],"GMT+1":["",130],"GMT+0":["Etc/GMT",24]},"Chile":{"EasterIsland":["Pacific/Easter",61],"Continental":["America/Santiago",131]},"Canada":{"Yukon":["America/Whitehorse",132],"Saskatchewan":["America/Regina",133],"Pacific":["America/Vancouver",134],"Newfoundland":["America/St_Johns",135],"Mountain":["America/Edmonton",136],"Eastern":["America/Toronto",137],"Central":["America/Winnipeg",138],"Atlantic":["America/Halifax",139]},"Brazil":{"West":["America/Manaus",140],"East":["America/Sao_Paulo",141],"DeNoronha":["America/Noronha",142],"Acre":["America/Rio_Branco",143]},"Australia":{"Yancowinna":["Australia/Broken_Hill",144],"West":["Australia/Perth",145],"Victoria":["Australia/Melbourne",146],"Tasmania":["Australia/Hobart",147],"Sydney":["",148],"South":["Australia/Adelaide",149],"Queensland":["Australia/Brisbane",150],"Perth":["",145],"North":["Australia/Darwin",151],"NSW":["Australia/Sydney",148],"Melbourne":["",146],"Lord_Howe":["",152],"Lindeman":["",153],"LHI":["Australia/Lord_Howe",152],"Hobart":["",147],"Eucla":["",154],"Darwin":["",151],"Currie":["Australia/Hobart",147],"Canberra":["Australia/Sydney",148],"Broken_Hill":["",144],"Brisbane":["",150],"Adelaide":["",149],"ACT":["Australia/Sydney",148]},"Atlantic":{"Stanley":["",155],"St_Helena":["Africa/Abidjan",21],"South_Georgia":["",156],"Reykjavik":["Africa/Abidjan",21],"Madeira":["",157],"Jan_Mayen":["Europe/Berlin",85],"Faroe":["",158],"Faeroe":["Atlantic/Faroe",158],"Cape_Verde":["",159],"Canary":["",160],"Bermuda":["",161],"Azores":["",162]},"Asia":{"Yerevan":["",163],"Yekaterinburg":["",164],"Yangon":["",71],"Yakutsk":["",165],"Vladivostok":["",166],"Vientiane":["Asia/Bangkok",72],"Ust-Nera":["",167],"Urumqi":["",168],"Ulan_Bator":["Asia/Ulaanbaatar",169],"Ulaanbaatar":["",169],"Ujung_Pandang":["Asia/Makassar",170],"Tomsk":["",171],"Tokyo":["",17],"Thimphu":["",172],"Thimbu":["Asia/Thimphu",172],"Tel_Aviv":["Asia/Jerusalem",19],"Tehran":["",20],"Tbilisi":["",173],"Tashkent":["",174],"Taipei":["",6],"Srednekolymsk":["",175],"Singapore":["",4],"Shanghai":["",9],"Seoul":["",5],"Samarkand":["",176],"Sakhalin":["",177],"Saigon":["Asia/Ho_Chi_Minh",178],"Riyadh":["",179],"Rangoon":["Asia/Yangon",71],"Qyzylorda":["",180],"Qostanay":["",181],"Qatar":["",182],"Pyongyang":["",183],"Pontianak":["",184],"Phnom_Penh":["Asia/Bangkok",72],"Oral":["",185],"Omsk":["",186],"Novosibirsk":["",187],"Novokuznetsk":["",188],"Nicosia":["",93],"Muscat":["Asia/Dubai",67],"Manila":["",189],"Makassar":["",170],"Magadan":["",190],"Macau":["",191],"Macao":["Asia/Macau",191],"Kuwait":["Asia/Riyadh",179],"Kuching":["",192],"Kuala_Lumpur":["Asia/Singapore",4],"Krasnoyarsk":["",193],"Kolkata":["",194],"Khandyga":["",195],"Katmandu":["Asia/Kathmandu",196],"Kathmandu":["",196],"Kashgar":["Asia/Urumqi",168],"Karachi":["",197],"Kamchatka":["",198],"Kabul":["",199],"Jerusalem":["",19],"Jayapura":["",200],"Jakarta":["",201],"Istanbul":["Europe/Istanbul",3],"Irkutsk":["",202],"Hovd":["",203],"Hong_Kong":["",22],"Ho_Chi_Minh":["",178],"Hebron":["",204],"Harbin":["Asia/Shanghai",9],"Gaza":["",205],"Famagusta":["",206],"Dushanbe":["",207],"Dubai":["",67],"Dili":["",208],"Dhaka":["",209],"Damascus":["",210],"Dacca":["Asia/Dhaka",209],"Colombo":["",211],"Chungking":["Asia/Shanghai",9],"Chongqing":["Asia/Shanghai",9],"Choibalsan":["Asia/Ulaanbaatar",169],"Chita":["",212],"Calcutta":["Asia/Kolkata",194],"Brunei":["Asia/Kuching",192],"Bishkek":["",213],"Beirut":["",214],"Barnaul":["",215],"Bangkok":["",72],"Baku":["",216],"Bahrain":["Asia/Qatar",182],"Baghdad":["",217],"Atyrau":["",218],"Ashkhabad":["Asia/Ashgabat",219],"Ashgabat":["",219],"Aqtobe":["",220],"Aqtau":["",221],"Anadyr":["",222],"Amman":["",223],"Almaty":["",224],"Aden":["Asia/Riyadh",179]},"Arctic":{"Longyearbyen":["Europe/Berlin",85]},"Antarctica":{"Vostok":["",225],"Troll":["",226],"Syowa":["Asia/Riyadh",179],"South_Pole":["Pacific/Auckland",11],"Rothera":["",227],"Palmer":["",228],"McMurdo":["Pacific/Auckland",11],"Mawson":["",229],"Macquarie":["",230],"DumontDUrville":["Pacific/Port_Moresby",39],"Davis":["",231],"Casey":["",232]},"America":{"Yellowknife":["America/Edmonton",136],"Yakutat":["",233],"Winnipeg":["",138],"Whitehorse":["",132],"Virgin":["America/Puerto_Rico",234],"Vancouver":["",134],"Tortola":["America/Puerto_Rico",234],"Toronto":["",137],"Tijuana":["",66],"Thunder_Bay":["America/Toronto",137],"Thule":["",235],"Tegucigalpa":["",236],"Swift_Current":["",237],"St_Vincent":["America/Puerto_Rico",234],"St_Thomas":["America/Puerto_Rico",234],"St_Lucia":["America/Puerto_Rico",234],"St_Kitts":["America/Puerto_Rico",234],"St_Johns":["",135],"St_Barthelemy":["America/Puerto_Rico",234],"Sitka":["",238],"Shiprock":["America/Denver",10],"Scoresbysund":["",239],"Sao_Paulo":["",141],"Santo_Domingo":["",240],"Santiago":["",131],"Santarem":["",241],"Santa_Isabel":["America/Tijuana",66],"Rosario":["America/Argentina/Cordoba",242],"Rio_Branco":["",143],"Resolute":["",243],"Regina":["",133],"Recife":["",244],"Rankin_Inlet":["",245],"Rainy_River":["America/Winnipeg",138],"Punta_Arenas":["",246],"Puerto_Rico":["",234],"Porto_Velho":["",247],"Porto_Acre":["America/Rio_Branco",143],"Port_of_Spain":["America/Puerto_Rico",234],"Port-au-Prince":["",248],"Phoenix":["",13],"Paramaribo":["",249],"Pangnirtung":["America/Iqaluit",250],"Panama":["",29],"Ojinaga":["",251],"Nuuk":["",252],"Noronha":["",142],"Nome":["",253],"Nipigon":["America/Toronto",137],"New_York":["",28],"Nassau":["America/Toronto",137],"Montserrat":["America/Puerto_Rico",234],"Montreal":["America/Toronto",137],"Montevideo":["",254],"Monterrey":["",255],"Moncton":["",256],"Miquelon":["",257],"Mexico_City":["",64],"Metlakatla":["",258],"Merida":["",259],"Menominee":["",260],"Mendoza":["America/Argentina/Mendoza",261],"Mazatlan":["",65],"Matamoros":["",262],"Martinique":["",263],"Marigot":["America/Puerto_Rico",234],"Manaus":["",140],"Managua":["",264],"Maceio":["",265],"Lower_Princes":["America/Puerto_Rico",234],"Louisville":["America/Kentucky/Louisville",266],"Los_Angeles":["",8],"Lima":["",267],"La_Paz":["",268],"Kralendijk":["America/Puerto_Rico",234],"Knox_IN":["America/Indiana/Knox",35],"Juneau":["",269],"Jujuy":["America/Argentina/Jujuy",270],"Jamaica":["",18],"Iqaluit":["",250],"Inuvik":["",271],"Indianapolis":["America/Indiana/Indianapolis",36],"Hermosillo":["",272],"Havana":["",31],"Halifax":["",139],"Guyana":["",273],"Guayaquil":["",274],"Guatemala":["",275],"Guadeloupe":["America/Puerto_Rico",234],"Grenada":["America/Puerto_Rico",234],"Grand_Turk":["",276],"Goose_Bay":["",277],"Godthab":["America/Nuuk",252],"Glace_Bay":["",278],"Fortaleza":["",279],"Fort_Wayne":["America/Indiana/Indianapolis",36],"Fort_Nelson":["",280],"Ensenada":["America/Tijuana",66],"El_Salvador":["",281],"Eirunepe":["",282],"Edmonton":["",136],"Dominica":["America/Puerto_Rico",234],"Detroit":["",34],"Denver":["",10],"Dawson_Creek":["",283],"Dawson":["",284],"Danmarkshavn":["",285],"Curacao":["America/Puerto_Rico",234],"Cuiaba":["",286],"Creston":["America/Phoenix",13],"Coyhaique":["",287],"Costa_Rica":["",288],"Cordoba":["America/Argentina/Cordoba",242],"Coral_Harbour":["America/Panama",29],"Ciudad_Juarez":["",289],"Chihuahua":["",290],"Chicago":["",32],"Cayman":["America/Panama",29],"Cayenne":["",291],"Catamarca":["America/Argentina/Catamarca",292],"Caracas":["",293],"Cancun":["",294],"Campo_Grande":["",295],"Cambridge_Bay":["",296],"Buenos_Aires":["America/Argentina/Buenos_Aires",297],"Boise":["",298],"Bogota":["",299],"Boa_Vista":["",300],"Blanc-Sablon":["America/Puerto_Rico",234],"Belize":["",301],"Belem":["",302],"Barbados":["",303],"Bahia_Banderas":["",304],"Bahia":["",305],"Atka":["America/Adak",37],"Atikokan":["America/Panama",29],"Asuncion":["",306],"Aruba":["America/Puerto_Rico",234],"Araguaina":["",307],"Antigua":["America/Puerto_Rico",234],"Anguilla":["America/Puerto_Rico",234],"Anchorage":["",38],"Adak":["",37],"North_Dakota":{"New_Salem":["",308],"Center":["",309],"Beulah":["",310]},"Kentucky":{"Monticello":["",311],"Louisville":["",266]},"Indiana":{"Winamac":["",312],"Vincennes":["",313],"Vevay":["",314],"Tell_City":["",315],"Petersburg":["",316],"Marengo":["",317],"Knox":["",35],"Indianapolis":["",36]},"Argentina":{"Ushuaia":["",318],"Tucuman":["",319],"San_Luis":["",320],"San_Juan":["",321],"Salta":["",322],"Rio_Gallegos":["",323],"Mendoza":["",261],"La_Rioja":["",324],"Jujuy":["",270],"Cordoba":["",242],"ComodRivadavia":["America/Argentina/Catamarca",292],"Catamarca":["",292],"Buenos_Aires":["",297]}},"Africa":{"Windhoek":["",325],"Tunis":["",326],"Tripoli":["",15],"Timbuktu":["Africa/Abidjan",21],"Sao_Tome":["",327],"Porto-Novo":["Africa/Lagos",328],"Ouagadougou":["Africa/Abidjan",21],"Nouakchott":["Africa/Abidjan",21],"Niamey":["Africa/Lagos",328],"Ndjamena":["",329],"Nairobi":["",68],"Monrovia":["",330],"Mogadishu":["Africa/Nairobi",68],"Mbabane":["Africa/Johannesburg",331],"Maseru":["Africa/Johannesburg",331],"Maputo":["",332],"Malabo":["Africa/Lagos",328],"Lusaka":["Africa/Maputo",332],"Lubumbashi":["Africa/Maputo",332],"Luanda":["Africa/Lagos",328],"Lome":["Africa/Abidjan",21],"Libreville":["Africa/Lagos",328],"Lagos":["",328],"Kinshasa":["Africa/Lagos",328],"Kigali":["Africa/Maputo",332],"Khartoum":["",333],"Kampala":["Africa/Nairobi",68],"Juba":["",334],"Johannesburg":["",331],"Harare":["Africa/Maputo",332],"Gaborone":["Africa/Maputo",332],"Freetown":["Africa/Abidjan",21],"El_Aaiun":["",335],"Douala":["Africa/Lagos",328],"Djibouti":["Africa/Nairobi",68],"Dar_es_Salaam":["Africa/Nairobi",68],"Dakar":["Africa/Abidjan",21],"Conakry":["Africa/Abidjan",21],"Ceuta":["",336],"Casablanca":["",337],"Cairo":["",27],"Bujumbura":["Africa/Maputo",332],"Brazzaville":["Africa/Lagos",328],"Blantyre":["Africa/Maputo",332],"Bissau":["",338],"Banjul":["Africa/Abidjan",21],"Bangui":["Africa/Lagos",328],"Bamako":["Africa/Abidjan",21],"Asmera":["Africa/Nairobi",68],"Asmara":["Africa/Nairobi",68],"Algiers":["",339],"Addis_Ababa":["Africa/Nairobi",68],"Accra":["Africa/Abidjan",21],"Abidjan":["",21]}}; +const tzlibZonesDetailsDB = ["20250523T094234ZX-LIC-LOCATION:Etc/UTCUTC+0000+000019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/LisbonWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/MoscowMSK+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/Istanbul+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Singapore+08+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/SeoulKST+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/TaipeiCST+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/WarsawCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:America/Los_AngelesPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Asia/ShanghaiCST+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:America/DenverMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Pacific/AucklandNZDT+1200+130019700927T020000FREQ=YEARLY;BYMONTH=9;BYDAY=-1SUNZST+1300+120019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Pacific/Chatham+1345+1245+134519700927T024500FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU+1245+1345+124519700405T034500FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/PhoenixMST-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/BrusselsCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Africa/TripoliEET+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Kwajalein+12+1200+120019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/TokyoJST+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:America/JamaicaEST-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/JerusalemIDT+0200+030019700327T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1FRIST+0300+020019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Asia/Tehran+0330+0330+033019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/AbidjanGMT+0000+000019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Hong_KongHKT+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/HonoluluHST-1000-100019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMTGMT+0000+000019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/LondonBST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUGMT+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/DublinIST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUGMT+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Africa/CairoEEST+0200+030019700424T000000FREQ=YEARLY;BYMONTH=4;BYDAY=-1FREET+0300+020019701030T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR","20250523T094234ZX-LIC-LOCATION:America/New_YorkEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/PanamaEST-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/AthensEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:America/HavanaCST-0400-050019701101T010000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUCDT-0500-040019700308T000000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250523T094234ZX-LIC-LOCATION:America/ChicagoCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Pacific/Pago_PagoSST-1100-110019700101T000000","20250523T094234ZX-LIC-LOCATION:America/DetroitEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/KnoxCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/IndianapolisEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/AdakHDT-1000-090019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUHST-0900-100019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/AnchorageAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Pacific/Port_Moresby+10+1000+100019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Tarawa+12+1200+120019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Tongatapu+13+1300+130019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Tahiti-10-1000-100019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/GuamChST+1000+100019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Rarotonga-10-1000-100019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Guadalcanal+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Pitcairn-08-0800-080019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Palau+09+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Noumea+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Norfolk+12+1100+120019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU+11+1200+110019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Pacific/Niue-11-1100-110019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Nauru+12+1200+120019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Marquesas-0930-0930-093019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Kosrae+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Kiritimati+14+1400+140019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Kanton+13+1300+130019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Gambier-09-0900-090019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Galapagos-06-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Fiji+12+1200+120019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Fakaofo+13+1300+130019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Efate+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Easter-06-0500-060019700404T220000FREQ=YEARLY;BYMONTH=4;BYDAY=1SA-05-0600-050019700905T220000FREQ=YEARLY;BYMONTH=9;BYDAY=1SA","20250523T094234ZX-LIC-LOCATION:Pacific/Bougainville+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Pacific/Apia+13+1300+130019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Mexico_CityCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/MazatlanMST-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:America/TijuanaPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Asia/Dubai+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/NairobiEAT+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Indian/Mauritius+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Indian/Maldives+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Yangon+0630+0630+063019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Bangkok+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Indian/Chagos+06+0600+060019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/ZurichCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/KyivEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/BelgradeCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/VolgogradMSK+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/VilniusEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/ViennaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/RomeCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/Ulyanovsk+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/ChisinauEEST+0200+030019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/TiraneCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/TallinnEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/BerlinCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/SofiaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/SimferopolMSK+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/Saratov+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/Samara+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/RigaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/PragueCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/ParisCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Asia/NicosiaEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/Minsk+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/HelsinkiEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/MaltaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/MadridCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/KirovMSK+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/KaliningradEET+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/GibraltarCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/BudapestCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/BucharestEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Europe/Astrakhan+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Europe/AndorraCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Etc/GMT-9+09+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-8+08+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-7+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-6+06+0600+060019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-5+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-4+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-3+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-2+02+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-14+14+1400+140019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-13+13+1300+130019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-12+12+1200+120019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-11+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-10+10+1000+100019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT-1+01+0100+010019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+9-09-0900-090019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+8-08-0800-080019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+7-07-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+6-06-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+5-05-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+4-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+3-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+2-02-0200-020019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+12-12-1200-120019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+11-11-1100-110019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+10-10-1000-100019700101T000000","20250523T094234ZX-LIC-LOCATION:Etc/GMT+1-01-0100-010019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Santiago-04-0300-040019700405T000000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU-03-0400-030019700906T000000FREQ=YEARLY;BYMONTH=9;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/WhitehorseMST-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:America/ReginaCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/VancouverPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/St_JohnsNST-0230-033019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUNDT-0330-023019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250523T094234ZX-LIC-LOCATION:America/EdmontonMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/TorontoEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/WinnipegCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/HalifaxADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Manaus-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Sao_Paulo-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Noronha-02-0200-020019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Rio_Branco-05-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:Australia/Broken_HillACST+1030+093019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUACDT+0930+103019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Australia/PerthAWST+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Australia/MelbourneAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Australia/HobartAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SUAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Australia/SydneyAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Australia/AdelaideACST+1030+093019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUACDT+0930+103019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Australia/BrisbaneAEST+1000+100019700101T000000","20250523T094234ZX-LIC-LOCATION:Australia/DarwinACST+0930+093019700101T000000","20250523T094234ZX-LIC-LOCATION:Australia/Lord_Howe+1030+1100+103019700405T020000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU+11+1030+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Australia/LindemanAEST+1000+100019700101T000000","20250523T094234ZX-LIC-LOCATION:Australia/Eucla+0845+0845+084519700101T000000","20250523T094234ZX-LIC-LOCATION:Atlantic/Stanley-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:Atlantic/South_Georgia-02-0200-020019700101T000000","20250523T094234ZX-LIC-LOCATION:Atlantic/MadeiraWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Atlantic/FaroeWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Atlantic/Cape_Verde-01-0100-010019700101T000000","20250523T094234ZX-LIC-LOCATION:Atlantic/CanaryWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Atlantic/BermudaADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Atlantic/Azores+00-0100+000019700329T000000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU-01+0000-010019701025T010000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Asia/Yerevan+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Yekaterinburg+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Yakutsk+09+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Vladivostok+10+1000+100019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Ust-Nera+10+1000+100019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Urumqi+06+0600+060019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Ulaanbaatar+08+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/MakassarWITA+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Tomsk+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Thimphu+06+0600+060019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Tbilisi+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Tashkent+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Srednekolymsk+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Samarkand+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Sakhalin+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Ho_Chi_Minh+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Riyadh+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Qyzylorda+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Qostanay+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Qatar+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/PyongyangKST+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/PontianakWIB+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Oral+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Omsk+06+0600+060019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Novosibirsk+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Novokuznetsk+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/ManilaPST+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Magadan+11+1100+110019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/MacauCST+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Kuching+08+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Krasnoyarsk+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/KolkataIST+0530+053019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Khandyga+09+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Kathmandu+0545+0545+054519700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/KarachiPKT+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Kamchatka+12+1200+120019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Kabul+0430+0430+043019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/JayapuraWIT+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/JakartaWIB+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Irkutsk+08+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Hovd+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/HebronEEST+0200+030019700328T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SAEET+0300+020019701024T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA","20250523T094234ZX-LIC-LOCATION:Asia/GazaEEST+0200+030019700328T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SAEET+0300+020019701024T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA","20250523T094234ZX-LIC-LOCATION:Asia/FamagustaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Asia/Dushanbe+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Dili+09+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Dhaka+06+0600+060019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Damascus+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Colombo+0530+0530+053019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Chita+09+0900+090019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Bishkek+06+0600+060019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/BeirutEEST+0200+030019700329T000000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Asia/Barnaul+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Baku+04+0400+040019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Baghdad+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Atyrau+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Ashgabat+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Aqtobe+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Aqtau+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Anadyr+12+1200+120019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Amman+03+0300+030019700101T000000","20250523T094234ZX-LIC-LOCATION:Asia/Almaty+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Antarctica/Vostok+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Antarctica/Troll+02+0000+020019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU+00+0200+000019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Antarctica/Rothera-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:Antarctica/Palmer-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:Antarctica/Mawson+05+0500+050019700101T000000","20250523T094234ZX-LIC-LOCATION:Antarctica/MacquarieAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:Antarctica/Davis+07+0700+070019700101T000000","20250523T094234ZX-LIC-LOCATION:Antarctica/Casey+08+0800+080019700101T000000","20250523T094234ZX-LIC-LOCATION:America/YakutatAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Puerto_RicoAST-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/ThuleADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/TegucigalpaCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Swift_CurrentCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/SitkaAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Scoresbysund-02-0100-020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU-01-0200-010019700328T230000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA","20250523T094234ZX-LIC-LOCATION:America/Santo_DomingoAST-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Santarem-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/Cordoba-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/ResoluteCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250523T094234ZX-LIC-LOCATION:America/Recife-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Rankin_InletCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Punta_Arenas-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Porto_Velho-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Port-au-PrinceEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Paramaribo-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/IqaluitEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/OjinagaCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Nuuk-01-0200-010019700328T230000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA-02-0100-020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:America/NomeAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Montevideo-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/MonterreyCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/MonctonADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Miquelon-02-0300-020019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU-03-0200-030019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/MetlakatlaAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/MeridaCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/MenomineeCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Argentina/Mendoza-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/MatamorosCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/MartiniqueAST-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/ManaguaCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Maceio-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Kentucky/LouisvilleEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Lima-05-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:America/La_Paz-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/JuneauAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Argentina/Jujuy-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/InuvikMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/HermosilloMST-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Guyana-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Guayaquil-05-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:America/GuatemalaCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Grand_TurkEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250523T094234ZX-LIC-LOCATION:America/Goose_BayAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250523T094234ZX-LIC-LOCATION:America/Glace_BayADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Fortaleza-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Fort_NelsonMST-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:America/El_SalvadorCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Eirunepe-05-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Dawson_CreekMST-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:America/DawsonMST-0700-070019700101T000000","20250523T094234ZX-LIC-LOCATION:America/DanmarkshavnGMT+0000+000019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Cuiaba-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Coyhaique-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Costa_RicaCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Ciudad_JuarezMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/ChihuahuaCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Cayenne-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/Catamarca-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Caracas-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/CancunEST-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Campo_Grande-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Cambridge_BayMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Argentina/Buenos_Aires-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/BoiseMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Bogota-05-0500-050019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Boa_Vista-04-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/BelizeCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Belem-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/BarbadosAST-0400-040019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Bahia_BanderasCST-0600-060019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Bahia-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Asuncion-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Araguaina-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/North_Dakota/New_SalemCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/North_Dakota/CenterCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/North_Dakota/BeulahCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Kentucky/MonticelloEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/WinamacEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/VincennesEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/VevayEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/Tell_CityCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/PetersburgEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Indiana/MarengoEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU","20250523T094234ZX-LIC-LOCATION:America/Argentina/Ushuaia-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/Tucuman-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/San_Luis-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/San_Juan-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/Salta-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/Rio_Gallegos-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:America/Argentina/La_Rioja-03-0300-030019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/WindhoekCAT+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/TunisCET+0100+010019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/Sao_TomeGMT+0000+000019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/LagosWAT+0100+010019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/NdjamenaWAT+0100+010019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/MonroviaGMT+0000+000019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/JohannesburgSAST+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/MaputoCAT+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/KhartoumCAT+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/JubaCAT+0200+020019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/El_Aaiun+01+0100+010019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/CeutaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU","20250523T094234ZX-LIC-LOCATION:Africa/Casablanca+01+0100+010019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/BissauGMT+0000+000019700101T000000","20250523T094234ZX-LIC-LOCATION:Africa/AlgiersCET+0100+010019700101T000000"]; function tzlib_get_content(tzName) { const nameParts = tzName.split('/'); if ( @@ -223,15 +223,15 @@ function tzlib_get_timezones(jsonType = false) { * Add to Calendar Button * ++++++++++++++++++++++ * - * Version: 2.8.9 + * Version: 2.9.1 * Creator: Jens Kuerschner (https://jekuer.com) * Project: https://github.com/add2cal/add-to-calendar-button * License: Elastic License 2.0 (ELv2) (https://github.com/add2cal/add-to-calendar-button/blob/main/LICENSE.txt) * Note: DO NOT REMOVE THE COPYRIGHT NOTICE ABOVE! * */ -const atcbVersion = '2.8.9'; -const atcbCssTemplate = { "default": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:1px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:6px;--btn-padding-x:1em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px;--btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 12px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgb(0 0 0 / 30%) 0 6px 13px -2px,rgb(0 0 0 / 25%) 0 4px 5px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:6px;--list-padding:.8em;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:6px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#3d3d3d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(255 255 255 / 5%) -3px -3px 30px -1px,rgb(0 0 0 / 40%) 2px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:.13em;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-no-text.atcb-active,.atcb-button.atcb-no-text:focus,.atcb-button.atcb-no-text:hover{height:3.26em;width:3.26em;padding:0!important}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:4px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 4px;position:absolute;z-index:14000090}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000;max-width:max-content}.atcb-list{background-color:var(--list-background);border-radius:0 0 var(--list-border-radius) var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:calc(var(--list-padding) + .45em)}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:calc(var(--list-padding) + .45em)}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:var(--list-padding)}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button.atcb-single:focus .atcb-checkmark,.atcb-button.atcb-single:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "3d": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:6px;--btn-padding-x:1em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px;--btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 12px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgb(0 0 0 / 40%) 0 8px 13px -2px,rgb(0 0 0 / 30%) 0 5px 5px -3px;--btn-active-shadow-up:rgb(0 0 0 / 30%) 0 6px 13px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px,rgb(0 0 0 / 25%) 0 -3px 10px -1px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:6px;--list-padding:.8em;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:6px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(255 255 255 / 5%) -3px -3px 30px -1px,rgb(0 0 0 / 40%) 2px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow-up:rgb(0 0 0 / 80%) 2px 4px 20px -4px,rgb(0 0 0 / 30%) 1px 1px 3px -1px,rgb(0 0 0 / 45%) 0 -3px 10px -1px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--modal-btn-hover-shadow:none;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--date-btn-hover-shadow:none;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;transform:translate3d(0,0,-12px);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){background-color:var(--btn-hover-background);z-index:15000000}.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropup,.atcb-dropoverlay){box-shadow:var(--btn-active-shadow);transform:perspective(100px) rotateX(12deg) translate3d(0,0,2px);transition:transform .1s linear}.atcb-button.atcb-active.atcb-dropup:not(.atcb-modal-style,.atcb-dropoverlay){box-shadow:var(--btn-active-shadow-up);transform:perspective(100px) rotateX(348deg) translate3d(0,0,2px);transition:transform .1s linear}.atcb-button.atcb-active.atcb-dropoverlay{transform:translate3d(0,0,0);z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:6px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;padding:0 4px;position:absolute;transform:translate3d(0,0,0);z-index:14000090}.atcb-list{background-color:var(--list-background);border-radius:0 0 var(--list-border-radius) var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-wrapper.atcb-dropdown:not(.atcb-dropup,.atcb-dropoverlay){animation:atcb-list-slide-down .4s ease 50ms 1 normal both;opacity:0}.atcb-list-wrapper.atcb-dropup:not(.atcb-dropoverlay){animation:atcb-list-slide-up .4s ease 50ms 1 normal both;opacity:0}.atcb-list-wrapper.atcb-dropoverlay{transform:translate3d(0,0,2px);z-index:15000000;animation:atcb-list-slide-center .3s ease 0s 1 normal both;opacity:0}@keyframes atcb-list-slide-down{0%{opacity:0;transform:rotateX(70deg);transform-origin:top}100%{opacity:1;transform:rotateX(0);transform-origin:top}}@keyframes atcb-list-slide-up{0%{opacity:0;transform:rotateX(70deg);transform-origin:bottom}100%{opacity:1;transform:rotateX(0);transform-origin:bottom}}@keyframes atcb-list-slide-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:calc(var(--list-padding) + .7em)}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:calc(var(--list-padding) + .7em)}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:var(--list-padding)}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "flat": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:8px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#545454;--btn-padding-x:1.2em;--btn-padding-y:.8em;--btn-shadow:#333;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--list-background:#f5f5f5;--list-hover-background:#fff;--list-border:#545454;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#545454;--list-close-text:#b0b0b0;--list-close-text-hover:#777;--list-padding:.8em;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-btn-bar:#bababa;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#545454;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#676767;--modal-headline-text-align:center;--modal-headline-text-transform:uppercase;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#414141;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--overlay-background:rgb(20 20 20 / 40%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#222;--btn-hover-background:#373737;--btn-border:#515151;--btn-shadow:#000;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--list-background:#222;--list-hover-background:#373737;--list-border:#515151;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#111;--list-close-text:#777;--list-close-text-hover:#f1f1f1;--modal-text:#f1f1f1;--modal-background:#242424;--modal-btn-bar:#313131;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#414141;--date-btn-cal-background:#c7c7cd;--date-btn-background:#2d2d2d;--date-btn-hover-background:#474747;--overlay-background:rgb(20 20 20 / 75%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:.2em solid var(--btn-border);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-button.atcb-click:not([disabled]){top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);top:-5px;left:-5px;box-shadow:5px 5px 0 0 var(--btn-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:.9em;line-height:1em;margin-right:.8em;width:.9em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:1em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-icon-trigger svg{display:none}.atcb-button .atcb-icon-trigger::after{content:\"+\";font-family:Arial,Helvetica,sans-serif;font-size:1.5em}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:0;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 2px 0 6px;position:absolute;z-index:16000090}.atcb-list-wrapper.atcb-no-text.atcb-dropdown{padding:0}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(150px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-150px)}100%{opacity:1;transform:translateY(0)}}.atcb-list{background:var(--list-background);box-sizing:border-box;border:.15em solid var(--list-border);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-dropup .atcb-list-item:last-child{border-bottom-width:0}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{border-top-width:0}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{border-top-width:.15em}.atcb-list-item .atcb-icon{margin:0 auto;height:1em;width:1em}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item.atcb-list-item-close:hover{color:var(--list-close-text-hover)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{border:.15em solid var(--btn-border);background-color:var(--modal-background);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{padding-top:0}.atcb-modal-content{font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{padding-top:0}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{border:.2em solid var(--btn-border);background-color:var(--modal-btn-secondary-background);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow)}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);color:var(--modal-btn-hover-text);text-decoration:none;top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-subevent-btn{border:.15em solid var(--btn-border);display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;background-color:var(--date-btn-background);padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);width:100%}.atcb-subevent-btn:hover{align-items:center;top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-2.1em;right:-2em;padding:.5em;border-radius:100%;height:1.5em}.atcb-checkmark svg{height:100%;width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{background-color:transparent;border:0;filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:2px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:2px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:2px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:2px solid var(--modal-btn-text);border-radius:var(--input-border-radius);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);color:var(--status-active-text);opacity:1;transform:scale(1.1)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);font-size:.8em;padding-top:1em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;padding:.5em .5em 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:.2em solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-5px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "round": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:1px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:500px;--btn-padding-x:1.3em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 15%) 0 4px 10px -2px,rgb(0 0 0 / 20%) 0 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 30%) 0 5px 15px -3px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgb(0 0 0 / 35%) 0 6px 15px -3px,rgb(0 0 0 / 25%) 0 4px 6px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:.8em 1.2em;--list-min-width:100%;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 2px 3px 10px -3px,rgb(0 0 0 / 25%) 1px 1px 8px -4px;--modal-btn-hover-shadow:rgb(0 0 0 / 35%) 3px 5px 15px -2px,rgb(0 0 0 / 20%) 2px 4px 25px -6px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(255 255 255 / 5%) -3px -3px 30px -1px,rgb(0 0 0 / 40%) 2px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:.13em;max-width:350px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button.atcb-no-text{min-width:0;border-radius:100%;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-no-text.atcb-active,.atcb-button.atcb-no-text:focus,.atcb-button.atcb-no-text:hover{height:3.26em;width:3.26em;padding:0}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-no-text),.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):focus,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-active.atcb-no-text:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single.atcb-no-text:not([disabled]):focus,.atcb-button.atcb-single.atcb-no-text:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .28em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-dropup::after,.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{content:\"\";width:0;height:0;position:absolute;left:0;right:0;margin:0 auto}.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{top:100%;border:0 solid transparent;border-bottom:none;border-top-color:var(--btn-border)}.atcb-button.atcb-dropup::after{bottom:100%;border:0 solid transparent;border-top:none;border-bottom-color:var(--btn-border)}.atcb-button.atcb-active.atcb-dropup::after,.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{border-width:.35em;transition:border-width .1s linear .1s}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;z-index:14000090;width:auto}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{animation:list-entrance-center .2s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content-subevents{margin:auto;width:fit-content}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button:focus .atcb-checkmark,.atcb-button:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "neumorphism": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-font-weight:600;--btn-text:#444;--btn-hover-text:#111;--btn-border-radius:15px;--btn-padding-x:1.2em;--btn-padding-y:1em;--btn-shadow:rgb(40 40 40 / 30%) 0.3em 0.3em 0.6em,rgb(255 255 255 / 70%) -0.1em -0.1em 0.3em;--btn-hover-shadow:rgb(40 40 40 / 50%) 0.4em 0.4em 0.8em,rgb(255 255 255 / 90%) -0.2em -0.2em 0.5em;--btn-active-shadow:inset rgb(40 40 40 / 40%) 0.15em 0.15em 0.3em,inset rgb(255 255 255 / 90%) -0.2em -0.2em 0.5em;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#444;--list-font-weight:400;--list-hover-text:#111;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:1em;--list-min-width:100%;--list-shadow:rgb(40 40 40 / 30%) 0.4em 0.4em 0.8em,rgb(255 255 255 / 80%) -0.2em -0.2em 0.5em;--modal-text:#111;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(5px 8px 30px rgb(0 0 0 / 70%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#222;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(40 40 40 / 15%) 0.2em 0.2em 0.4em,rgb(255 255 255 / 30%) -0.1em -0.1em 0.3em;--modal-btn-hover-shadow:rgb(40 40 40 / 40%) 0.4em 0.4em 0.7em,rgb(255 255 255 / 70%) -0.2em -0.2em 0.5em;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#e3e5ea;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:#dcdcdc;--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(0 0 0 / 70%) 0.3em 0.3em 0.6em,rgb(230 230 230 / 20%) -0.05em -0.05em 0.4em;--btn-hover-shadow:rgb(0 0 0 / 90%) 0.4em 0.4em 0.9em,rgb(230 230 230 / 25%) -0.08em -0.08em 0.6em -0.1em;--btn-active-shadow:inset rgb(0 0 0 / 80%) 0.15em 0.15em 0.25em,inset rgb(230 230 230 / 10%) -0.2em -0.2em 0.7em -0.1em;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgb(0 0 0) 0.3em 0.3em 1em,rgb(230 230 230 / 40%) -0.08em -0.08em 0.6em;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(5px 8px 35px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(0 0 0 / 60%) 0.2em 0.2em 0.6em,rgb(230 230 230 / 15%) -0.1em -0.1em 0.4em;--modal-btn-hover-shadow:rgb(0 0 0 / 80%) 0.3em 0.3em 0.8em,rgb(230 230 230 / 15%) -0.1em -0.1em 0.6em;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 70%) 0.2em 0.2em 0.8em,rgb(230 230 230 / 15%) -0.1em -0.1em 0.5em;--date-btn-hover-shadow:rgb(0 0 0) 0.3em 0.4em 1em,rgb(230 230 230 / 15%) -0.2em -0.2em 0.8em;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:#141414;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:350px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;transition:box-shadow .1s ease-in-out,background-color .1s ease-in-out;z-index:1}.atcb-button.atcb-no-text{min-width:0;border-radius:100%;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;width:auto;animation:list-entrance .6s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance{0%{opacity:0}100%{opacity:1}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{box-shadow:none;align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s ease-in-out,padding .15s ease-in-out,margin .15s ease-in-out}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{box-shadow:var(--btn-shadow);background-color:var(--list-hover-background);color:var(--list-hover-text);padding:calc(var(--list-padding) + .2em);margin:-.2em;position:relative;z-index:15000010}.atcb-list-item:focus-visible{box-shadow:var(--btn-shadow);background-color:var(--list-hover-background);color:var(--accent-color);padding:calc(var(--list-padding) + .2em);margin:-.2em;position:relative;z-index:15000010;outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{animation:list-entrance .6s ease 0s 1 normal forwards;filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button.atcb-single:focus .atcb-checkmark,.atcb-button.atcb-single:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .1s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;box-shadow:var(--btn-shadow);caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input:not([disabled],[type=checkbox],[type=radio]):hover{box-shadow:var(--btn-active-shadow)}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{box-shadow:var(--btn-active-shadow)}.pro-field input[type=email]:focus-visible,.pro-field input[type=number]:focus-visible,.pro-field input[type=text]:focus-visible{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;background-color:var(--input-background);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{color:var(--form-success)}#rsvp-status-group label.status-declined{color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{background-color:var(--btn-hover-background);display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "text": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-underline:#a9ceff;--btn-border:#a8a8a8;--btn-padding-x:.75em;--btn-padding-y:.75em;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-hover-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px;--btn-text-shadow:#fff;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:.8em 1.2em;--list-min-width:100%;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(200 200 200 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-underline:#336db9;--btn-border:#888;--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-text:#dedede;--btn-hover-text:#fff;--btn-text-shadow:#000;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#fff;--list-close-background:#282828;--list-shadow:rgb(255 255 255 / 5%) -12px -5px 20px -8px,rgb(255 255 255 / 6%) -7px -5px 15px -3px,rgb(0 0 0 / 50%) 2px 5px 18px -1px,rgb(0 0 0 / 40%) 3px 3px 20px -3px;--list-modal-shadow:rgb(255 255 255 / 8%) -12px -5px 30px -8px,rgb(255 255 255 / 8%) -7px -5px 15px -3px,rgb(0 0 0 / 60%) 4px 6px 50px -4px,rgb(0 0 0 / 90%) 8px 12px 40px -2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{background-image:linear-gradient(120deg,var(--btn-underline) 0,var(--btn-underline) 100%);background-repeat:no-repeat;background-size:100% 8%;background-position:0 100%;background-color:transparent;border:0;border-radius:0;transition:background-size .1s ease-in,border-radius .2s ease-in,box-shadow .1s ease-in;align-items:center;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.2em;margin:0 .2em;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:left;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button.atcb-no-text{min-width:0;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-size:100% 100%;box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);text-shadow:0 0 .7em var(--btn-text-shadow);border-radius:21px}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){background-size:100% 10%;border-radius:3px 3px 11px 11px;background-position:0 0;background-color:var(--btn-background);color:var(--btn-text);text-shadow:none;z-index:15000000}.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-size:100% 10%;background-position:0 100%;border-radius:11px 11px 3px 3px;background-color:var(--btn-background);color:var(--btn-text);text-shadow:none}.atcb-button.atcb-active.atcb-dropup{background-position:0 100%;border-radius:11px 11px 3px 3px}.atcb-button.atcb-dropup::after,.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{content:\"\";width:0;height:0;position:absolute;left:0;right:0;margin:0 auto}.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{top:100%;border:0 solid transparent;border-bottom:none;border-top-color:var(--btn-background)}.atcb-button.atcb-dropup::after{bottom:100%;border:0 solid transparent;border-top:none;border-bottom-color:var(--btn-background)}.atcb-button.atcb-active.atcb-dropup::after,.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{border-width:.35em;transition:border-width .1s linear .1s}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:.9em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:1em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-icon-trigger svg{display:none}.atcb-button .atcb-icon-trigger::after{content:\"+\";font-family:Arial,Helvetica,sans-serif;font-size:1.5em}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;z-index:14000090;width:auto}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{animation:list-entrance-center .2s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto;height:1em;width:1em}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:21px;box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "date": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:4px;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 13%) 0 4px 10px -2px,rgb(0 0 0 / 18%) 0 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 12px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:3px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#474747;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(0 0 0 / 70%) 0 0 25px -2px,rgb(0 0 0 / 40%) 1px 2px 4px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 3px 25px -3px,rgb(0 0 0 / 50%) 1px 4px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#474747;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button,.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:var(--btn-border-radius);padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.atcb-subevent-btn{width:100%}.atcb-button{box-shadow:var(--btn-shadow);min-width:16em;max-width:18em;position:relative;z-index:1}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus,.atcb-button:hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow)}.atcb-button:focus-visible,.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not(.atcb-active):hover,.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:var(--btn-border-radius) 0 0 var(--btn-border-radius);align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 var(--btn-border-radius) var(--btn-border-radius) 0}.atcb-button:hover .atcb-date-btn-left,.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-button:not(.atcb-active):hover .atcb-date-btn-hover,.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-button:not(.atcb-active):hover .atcb-date-btn-details,.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:4px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 4px;position:absolute;z-index:14000090}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000}.atcb-list{border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:.8em;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:1.25em}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--btn-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:1.25em}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:.8em}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--btn-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro-form{border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em;text-align:left}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding:1.5em 0;text-align:center}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", }; const atcbIsBrowser = () => { +const atcbVersion = '2.9.1'; +const atcbCssTemplate = { "default": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:1px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:6px;--btn-padding-x:1em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px;--btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 12px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgb(0 0 0 / 30%) 0 6px 13px -2px,rgb(0 0 0 / 25%) 0 4px 5px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:6px;--list-padding:.8em;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:6px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#3d3d3d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(255 255 255 / 5%) -3px -3px 30px -1px,rgb(0 0 0 / 40%) 2px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-close-text:#777;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:.13em;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button:not([disabled]).atcb-no-text.atcb-active,.atcb-button:not([disabled]).atcb-no-text:focus,.atcb-button:not([disabled]).atcb-no-text:hover{height:3.26em;width:3.26em;padding:0!important}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:4px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 4px;position:absolute;z-index:14000090}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000;max-width:max-content}.atcb-list{background-color:var(--list-background);border-radius:0 0 var(--list-border-radius) var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:calc(var(--list-padding) + .45em)}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:calc(var(--list-padding) + .45em)}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:var(--list-padding)}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button.atcb-single:focus .atcb-checkmark,.atcb-button.atcb-single:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "simple": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:1px;--buttonslist-gap:5px;--btn-background:#fff;--btn-hover-background:#283768;--btn-border-width:1px;--btn-border:#333;--btn-border-radius:0;--btn-padding-x:1.1em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#000;--btn-hover-text:#fff;--list-background:#fff;--list-hover-background:#283768;--list-text:#333;--list-font-weight:400;--list-hover-text:#fff;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-width:1px;--list-border:#333;--list-border-radius:0px;--list-padding:.8em 1.2em;--list-min-width:100%;--list-modal-shadow:rgb(0 0 0 / 25%) 0 4px 30px -3px,rgb(0 0 0 / 20%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:0px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 30%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#fff;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#eef4f6;--modal-btn-border:#d2d2d2;--modal-btn-border-width:1px;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:3px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 40%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-hover-ms365-color:#fff;--icon-yahoo-color:#5f01d1;--icon-hover-yahoo-color:#fff;--icon-filter:none}:host(.atcb-dark){--btn-background:#182244;--btn-hover-background:#283768;--btn-border:#283768;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--list-background:#182244;--list-hover-background:#283768;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#121213;--list-close-text:#cacaca;--list-border:#283768;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 50%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 50%);--icon-ms365-color:#bebebe;--icon-hover-ms365-color:#bebebe;--icon-yahoo-color:#bebebe;--icon-hover-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:var(--btn-border-width) solid var(--btn-border);border-radius:var(--btn-border-radius);color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:.13em;max-width:350px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button.atcb-no-text{min-width:0;border-radius:100%;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button.atcb-active.atcb-no-text:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-no-text),.atcb-button.atcb-single.atcb-no-text:not([disabled]):focus,.atcb-button.atcb-single.atcb-no-text:not([disabled]):hover,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):focus,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):hover,.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-dropup::after,.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{content:\"\";width:0;height:0;position:absolute;left:0;right:0;margin:0 auto}.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{top:100%;border:0 solid transparent;border-bottom:none;border-top-color:var(--btn-border)}.atcb-button.atcb-dropup::after{bottom:100%;border:0 solid transparent;border-top:none;border-bottom-color:var(--btn-border)}.atcb-button.atcb-active.atcb-dropup::after,.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{border-width:.35em;transition:border-width .1s linear .1s}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;z-index:14000090;width:auto}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{animation:list-entrance-center .2s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list{background-color:var(--list-background);border:var(--list-border-width) solid var(--list-border);border-radius:var(--list-border-radius);box-sizing:border-box;color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item.atcb-list-item-close:not(:focus-visible):hover{color:var(--list-hover-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content-subevents{margin:auto;width:fit-content}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:var(--modal-btn-border-width) solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button:focus .atcb-checkmark,.atcb-button:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical,.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg,.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}.atcb-list-item:focus-visible .atcb-icon.atcb-icon-ms365 svg,.atcb-list-item:hover .atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-hover-ms365-color)}.atcb-list-item:focus-visible .atcb-icon.atcb-icon-yahoo svg,.atcb-list-item:hover .atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-hover-yahoo-color)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-no-text) .atcb-icon.atcb-icon-ms365 svg,.atcb-button:not([disabled]):focus .atcb-icon.atcb-icon-ms365 svg,.atcb-button:not([disabled]):hover .atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-hover-ms365-color)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-no-text) .atcb-icon.atcb-icon-yahoo svg,.atcb-button:not([disabled]):focus .atcb-icon.atcb-icon-yahoo svg,.atcb-button:not([disabled]):hover .atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-hover-yahoo-color)}.atcb-button.atcb-active.atcb-no-text:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-icon.atcb-icon-ms365 svg,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):focus .atcb-icon.atcb-icon-ms365 svg,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):hover .atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-hover-ms365-color)}.atcb-button.atcb-active.atcb-no-text:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-icon.atcb-icon-yahoo svg,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):focus .atcb-icon.atcb-icon-yahoo svg,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):hover .atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-hover-yahoo-color)}.atcb-button.atcb-single.atcb-no-text:not([disabled]):focus .atcb-icon.atcb-icon-ms365 svg,.atcb-button.atcb-single.atcb-no-text:not([disabled]):hover .atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-hover-ms365-color)}.atcb-button.atcb-single.atcb-no-text:not([disabled]):focus .atcb-icon.atcb-icon-yahoo svg,.atcb-button.atcb-single.atcb-no-text:not([disabled]):hover .atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-hover-yahoo-color)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:var(--modal-btn-border-width) solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:var(--modal-btn-border-width) solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:var(--modal-btn-border-width) solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:var(--modal-btn-border-width) solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "3d": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:6px;--btn-padding-x:1em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px;--btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 12px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgb(0 0 0 / 40%) 0 8px 13px -2px,rgb(0 0 0 / 30%) 0 5px 5px -3px;--btn-active-shadow-up:rgb(0 0 0 / 30%) 0 6px 13px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px,rgb(0 0 0 / 25%) 0 -3px 10px -1px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:6px;--list-padding:.8em;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:6px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(255 255 255 / 5%) -3px -3px 30px -1px,rgb(0 0 0 / 40%) 2px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow-up:rgb(0 0 0 / 80%) 2px 4px 20px -4px,rgb(0 0 0 / 30%) 1px 1px 3px -1px,rgb(0 0 0 / 45%) 0 -3px 10px -1px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-close-text:#777;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--modal-btn-hover-shadow:none;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--date-btn-hover-shadow:none;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;transform:translate3d(0,0,-12px);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){background-color:var(--btn-hover-background);z-index:15000000}.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropup,.atcb-dropoverlay){box-shadow:var(--btn-active-shadow);transform:perspective(100px) rotateX(12deg) translate3d(0,0,2px);transition:transform .1s linear}.atcb-button.atcb-active.atcb-dropup:not(.atcb-modal-style,.atcb-dropoverlay){box-shadow:var(--btn-active-shadow-up);transform:perspective(100px) rotateX(348deg) translate3d(0,0,2px);transition:transform .1s linear}.atcb-button.atcb-active.atcb-dropoverlay{transform:translate3d(0,0,0);z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:6px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;padding:0 4px;position:absolute;transform:translate3d(0,0,0);z-index:14000090}.atcb-list{background-color:var(--list-background);border-radius:0 0 var(--list-border-radius) var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-wrapper.atcb-dropdown:not(.atcb-dropup,.atcb-dropoverlay){animation:atcb-list-slide-down .4s ease 50ms 1 normal both;opacity:0}.atcb-list-wrapper.atcb-dropup:not(.atcb-dropoverlay){animation:atcb-list-slide-up .4s ease 50ms 1 normal both;opacity:0}.atcb-list-wrapper.atcb-dropoverlay{transform:translate3d(0,0,2px);z-index:15000000;animation:atcb-list-slide-center .3s ease 0s 1 normal both;opacity:0}@keyframes atcb-list-slide-down{0%{opacity:0;transform:rotateX(70deg);transform-origin:top}100%{opacity:1;transform:rotateX(0);transform-origin:top}}@keyframes atcb-list-slide-up{0%{opacity:0;transform:rotateX(70deg);transform-origin:bottom}100%{opacity:1;transform:rotateX(0);transform-origin:bottom}}@keyframes atcb-list-slide-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:calc(var(--list-padding) + .7em)}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:calc(var(--list-padding) + .7em)}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:var(--list-padding)}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "flat": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:8px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#545454;--btn-padding-x:1.2em;--btn-padding-y:.8em;--btn-shadow:#333;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--list-background:#f5f5f5;--list-hover-background:#fff;--list-border:#545454;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#545454;--list-close-text:#b0b0b0;--list-close-text-hover:#777;--list-padding:.8em;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-btn-bar:#bababa;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#545454;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#676767;--modal-headline-text-align:center;--modal-headline-text-transform:uppercase;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#414141;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--overlay-background:rgb(20 20 20 / 40%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#222;--btn-hover-background:#373737;--btn-border:#515151;--btn-shadow:#000;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--list-background:#222;--list-hover-background:#373737;--list-border:#515151;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#111;--list-close-text:#777;--list-close-text-hover:#f1f1f1;--modal-text:#f1f1f1;--modal-background:#242424;--modal-btn-bar:#313131;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#414141;--date-btn-cal-background:#c7c7cd;--date-btn-background:#2d2d2d;--date-btn-hover-background:#474747;--overlay-background:rgb(20 20 20 / 75%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:.2em solid var(--btn-border);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-button.atcb-click:not([disabled]){top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);top:-5px;left:-5px;box-shadow:5px 5px 0 0 var(--btn-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:.9em;line-height:1em;margin-right:.8em;width:.9em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:1em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-icon-trigger svg{display:none}.atcb-button .atcb-icon-trigger::after{content:\"+\";font-family:Arial,Helvetica,sans-serif;font-size:1.5em}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:0;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 2px 0 6px;position:absolute;z-index:16000090}.atcb-list-wrapper.atcb-no-text.atcb-dropdown{padding:0}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(150px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-150px)}100%{opacity:1;transform:translateY(0)}}.atcb-list{background:var(--list-background);box-sizing:border-box;border:.15em solid var(--list-border);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-dropup .atcb-list-item:last-child{border-bottom-width:0}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{border-top-width:0}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{border-top-width:.15em}.atcb-list-item .atcb-icon{margin:0 auto;height:1em;width:1em}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item.atcb-list-item-close:hover{color:var(--list-close-text-hover)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{border:.15em solid var(--btn-border);background-color:var(--modal-background);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{padding-top:0}.atcb-modal-content{font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{padding-top:0}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{border:.2em solid var(--btn-border);background-color:var(--modal-btn-secondary-background);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow)}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);color:var(--modal-btn-hover-text);text-decoration:none;top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-subevent-btn{border:.15em solid var(--btn-border);display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;background-color:var(--date-btn-background);padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);width:100%}.atcb-subevent-btn:hover{align-items:center;top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-2.1em;right:-2em;padding:.5em;border-radius:100%;height:1.5em}.atcb-checkmark svg{height:100%;width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{background-color:transparent;border:0;filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:2px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:2px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:2px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:2px solid var(--modal-btn-text);border-radius:var(--input-border-radius);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);color:var(--status-active-text);opacity:1;transform:scale(1.1)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);font-size:.8em;padding-top:1em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;padding:.5em .5em 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:.2em solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-5px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "round": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:1px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:500px;--btn-padding-x:1.3em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 15%) 0 4px 10px -2px,rgb(0 0 0 / 20%) 0 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 30%) 0 5px 15px -3px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgb(0 0 0 / 35%) 0 6px 15px -3px,rgb(0 0 0 / 25%) 0 4px 6px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:.8em 1.2em;--list-min-width:100%;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 2px 3px 10px -3px,rgb(0 0 0 / 25%) 1px 1px 8px -4px;--modal-btn-hover-shadow:rgb(0 0 0 / 35%) 3px 5px 15px -2px,rgb(0 0 0 / 20%) 2px 4px 25px -6px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(255 255 255 / 5%) -3px -3px 30px -1px,rgb(0 0 0 / 40%) 2px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgb(0 0 0 / 90%) 2px 5px 20px -4px,rgb(0 0 0 / 50%) 1px 2px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-close-text:#777;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:.13em;max-width:350px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button.atcb-no-text{min-width:0;border-radius:100%;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button:not([disabled]).atcb-no-text.atcb-active,.atcb-button:not([disabled]).atcb-no-text:focus,.atcb-button:not([disabled]).atcb-no-text:hover{height:3.26em;width:3.26em;padding:0}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-no-text),.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):focus,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-active.atcb-no-text:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single.atcb-no-text:not([disabled]):focus,.atcb-button.atcb-single.atcb-no-text:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .28em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-dropup::after,.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{content:\"\";width:0;height:0;position:absolute;left:0;right:0;margin:0 auto}.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{top:100%;border:0 solid transparent;border-bottom:none;border-top-color:var(--btn-border)}.atcb-button.atcb-dropup::after{bottom:100%;border:0 solid transparent;border-top:none;border-bottom-color:var(--btn-border)}.atcb-button.atcb-active.atcb-dropup::after,.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{border-width:.35em;transition:border-width .1s linear .1s}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;z-index:14000090;width:auto}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{animation:list-entrance-center .2s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content-subevents{margin:auto;width:fit-content}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button:focus .atcb-checkmark,.atcb-button:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "neumorphism": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-font-weight:600;--btn-text:#444;--btn-hover-text:#111;--btn-border-radius:15px;--btn-padding-x:1.2em;--btn-padding-y:1em;--btn-shadow:rgb(40 40 40 / 30%) 0.3em 0.3em 0.6em,rgb(255 255 255 / 70%) -0.1em -0.1em 0.3em;--btn-hover-shadow:rgb(40 40 40 / 50%) 0.4em 0.4em 0.8em,rgb(255 255 255 / 90%) -0.2em -0.2em 0.5em;--btn-active-shadow:inset rgb(40 40 40 / 40%) 0.15em 0.15em 0.3em,inset rgb(255 255 255 / 90%) -0.2em -0.2em 0.5em;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#444;--list-font-weight:400;--list-hover-text:#111;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:1em;--list-min-width:100%;--list-shadow:rgb(40 40 40 / 30%) 0.4em 0.4em 0.8em,rgb(255 255 255 / 80%) -0.2em -0.2em 0.5em;--modal-text:#111;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(5px 8px 30px rgb(0 0 0 / 70%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#222;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(40 40 40 / 15%) 0.2em 0.2em 0.4em,rgb(255 255 255 / 30%) -0.1em -0.1em 0.3em;--modal-btn-hover-shadow:rgb(40 40 40 / 40%) 0.4em 0.4em 0.7em,rgb(255 255 255 / 70%) -0.2em -0.2em 0.5em;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#e3e5ea;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:#dcdcdc;--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(0 0 0 / 70%) 0.3em 0.3em 0.6em,rgb(230 230 230 / 20%) -0.05em -0.05em 0.4em;--btn-hover-shadow:rgb(0 0 0 / 90%) 0.4em 0.4em 0.9em,rgb(230 230 230 / 25%) -0.08em -0.08em 0.6em -0.1em;--btn-active-shadow:inset rgb(0 0 0 / 80%) 0.15em 0.15em 0.25em,inset rgb(230 230 230 / 10%) -0.2em -0.2em 0.7em -0.1em;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-close-text:#777;--list-shadow:rgb(0 0 0) 0.3em 0.3em 1em,rgb(230 230 230 / 40%) -0.08em -0.08em 0.6em;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(5px 8px 35px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(0 0 0 / 60%) 0.2em 0.2em 0.6em,rgb(230 230 230 / 15%) -0.1em -0.1em 0.4em;--modal-btn-hover-shadow:rgb(0 0 0 / 80%) 0.3em 0.3em 0.8em,rgb(230 230 230 / 15%) -0.1em -0.1em 0.6em;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 70%) 0.2em 0.2em 0.8em,rgb(230 230 230 / 15%) -0.1em -0.1em 0.5em;--date-btn-hover-shadow:rgb(0 0 0) 0.3em 0.4em 1em,rgb(230 230 230 / 15%) -0.2em -0.2em 0.8em;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:#141414;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:350px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;transition:box-shadow .1s ease-in-out,background-color .1s ease-in-out;z-index:1}.atcb-button.atcb-no-text{min-width:0;border-radius:100%;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;width:auto;animation:list-entrance .6s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance{0%{opacity:0}100%{opacity:1}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{box-shadow:none;align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s ease-in-out,padding .15s ease-in-out,margin .15s ease-in-out}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{box-shadow:var(--btn-shadow);background-color:var(--list-hover-background);color:var(--list-hover-text);padding:calc(var(--list-padding) + .2em);margin:-.2em;position:relative;z-index:15000010}.atcb-list-item:focus-visible{box-shadow:var(--btn-shadow);background-color:var(--list-hover-background);color:var(--accent-color);padding:calc(var(--list-padding) + .2em);margin:-.2em;position:relative;z-index:15000010;outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{animation:list-entrance .6s ease 0s 1 normal forwards;filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button.atcb-single:focus .atcb-checkmark,.atcb-button.atcb-single:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .1s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;box-shadow:var(--btn-shadow);caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input:not([disabled],[type=checkbox],[type=radio]):hover{box-shadow:var(--btn-active-shadow)}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{box-shadow:var(--btn-active-shadow)}.pro-field input[type=email]:focus-visible,.pro-field input[type=number]:focus-visible,.pro-field input[type=text]:focus-visible{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;background-color:var(--input-background);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{color:var(--form-success)}#rsvp-status-group label.status-declined{color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{background-color:var(--btn-hover-background);display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "text": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-underline:#a9ceff;--btn-border:#a8a8a8;--btn-padding-x:.75em;--btn-padding-y:.75em;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-hover-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 2px -1px;--btn-text-shadow:#fff;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:.8em 1.2em;--list-min-width:100%;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(200 200 200 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-underline:#336db9;--btn-border:#888;--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-text:#dedede;--btn-hover-text:#fff;--btn-text-shadow:#000;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#fff;--list-close-background:#282828;--list-close-text:#777;--list-shadow:rgb(255 255 255 / 5%) -12px -5px 20px -8px,rgb(255 255 255 / 6%) -7px -5px 15px -3px,rgb(0 0 0 / 50%) 2px 5px 18px -1px,rgb(0 0 0 / 40%) 3px 3px 20px -3px;--list-modal-shadow:rgb(255 255 255 / 8%) -12px -5px 30px -8px,rgb(255 255 255 / 8%) -7px -5px 15px -3px,rgb(0 0 0 / 60%) 4px 6px 50px -4px,rgb(0 0 0 / 90%) 8px 12px 40px -2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{background-image:linear-gradient(120deg,var(--btn-underline) 0,var(--btn-underline) 100%);background-repeat:no-repeat;background-size:100% 8%;background-position:0 100%;background-color:transparent;border:0;border-radius:0;transition:background-size .1s ease-in,border-radius .2s ease-in,box-shadow .1s ease-in;align-items:center;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.2em;margin:0 .2em;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:left;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button.atcb-no-text{min-width:0;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-size:100% 100%;box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);text-shadow:0 0 .7em var(--btn-text-shadow);border-radius:21px}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){background-size:100% 10%;border-radius:3px 3px 11px 11px;background-position:0 0;background-color:var(--btn-background);color:var(--btn-text);text-shadow:none;z-index:15000000}.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-size:100% 10%;background-position:0 100%;border-radius:11px 11px 3px 3px;background-color:var(--btn-background);color:var(--btn-text);text-shadow:none}.atcb-button.atcb-active.atcb-dropup{background-position:0 100%;border-radius:11px 11px 3px 3px}.atcb-button.atcb-dropup::after,.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{content:\"\";width:0;height:0;position:absolute;left:0;right:0;margin:0 auto}.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{top:100%;border:0 solid transparent;border-bottom:none;border-top-color:var(--btn-background)}.atcb-button.atcb-dropup::after{bottom:100%;border:0 solid transparent;border-top:none;border-bottom-color:var(--btn-background)}.atcb-button.atcb-active.atcb-dropup::after,.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{border-width:.35em;transition:border-width .1s linear .1s}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:.9em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:1em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-icon-trigger svg{display:none}.atcb-button .atcb-icon-trigger::after{content:\"+\";font-family:Arial,Helvetica,sans-serif;font-size:1.5em}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;z-index:14000090;width:auto}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{animation:list-entrance-center .2s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto;height:1em;width:1em}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:21px;box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", "date": ":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"EmojiOne Color\",\"Android Emoji\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:4px;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgb(0 0 0 / 13%) 0 4px 10px -2px,rgb(0 0 0 / 18%) 0 2px 3px -1px;--btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 12px -2px,rgb(0 0 0 / 25%) 0 3px 5px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-shadow:rgb(0 0 0 / 20%) 0 4px 13px -2px,rgb(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 50%) 0 4px 30px -3px,rgb(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:center;--modal-text-align-rtl:center;--modal-background:#f5f5f5;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgb(0 0 0 / 25%) 0 5px 13px -2px,rgb(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:3px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgb(0 0 0 / 10%) 0 4px 10px -2px,rgb(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgb(0 0 0 / 20%) 0 5px 12px -2px,rgb(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgb(20 20 20 / 25%);--overlay-cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#474747;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgb(0 0 0 / 70%) 0 0 25px -2px,rgb(0 0 0 / 40%) 1px 2px 4px -1px;--btn-hover-shadow:rgb(0 0 0 / 90%) 2px 3px 25px -3px,rgb(0 0 0 / 50%) 1px 4px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#474747;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-close-text:#777;--list-shadow:rgb(0 0 0 / 60%) 0 4px 20px -2px,rgb(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgb(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgb(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgb(255 255 255 / 5%) -2px -2px 10px,rgb(0 0 0 / 40%) 3px 3px 10px -2px,rgb(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgb(0 0 0 / 60%) 0 0 20px -2px,rgb(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgb(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button,.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:var(--btn-border-radius);padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.atcb-subevent-btn{width:100%}.atcb-button{box-shadow:var(--btn-shadow);min-width:16em;max-width:18em;position:relative;z-index:1}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus,.atcb-button:hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow)}.atcb-button:focus-visible,.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not(.atcb-active):hover,.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:var(--btn-border-radius) 0 0 var(--btn-border-radius);align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 var(--btn-border-radius) var(--btn-border-radius) 0}.atcb-button:hover .atcb-date-btn-left,.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-button:not(.atcb-active):hover .atcb-date-btn-hover,.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-button:not(.atcb-active):hover .atcb-date-btn-details,.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp)}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:4px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 4px;position:absolute;z-index:14000090}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000}.atcb-list{border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:.8em;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:1.25em}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--btn-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:1.25em}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:.8em}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--btn-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content ol,.atcb-modal-content ul{margin:1em auto;text-align:left;width:fit-content}.atcb-rtl .atcb-modal-content ol,.atcb-rtl .atcb-modal-content ul{text-align:right}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.pro{text-align:center}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro-form{border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em;text-align:left}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding:1.5em 0;text-align:center}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgb(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}", }; const atcbIsBrowser = () => { if (typeof window === 'undefined') { return false; } else { @@ -644,7 +644,7 @@ function atcb_decorate_data_style(data) { data.trigger = 'click'; } if (data.buttonStyle && data.buttonStyle !== '' && data.buttonStyle != 'default') { - if (data.buttonStyle == 'round' || data.buttonStyle == 'text' || data.buttonStyle == 'date' || data.buttonStyle == 'neumorphism') { + if (data.buttonStyle == 'simple' || data.buttonStyle == 'round' || data.buttonStyle == 'text' || data.buttonStyle == 'date' || data.buttonStyle == 'neumorphism') { data.trigger = 'click'; } } else { @@ -1056,7 +1056,7 @@ async function atcb_validate_icsFile(data, msgPrefix, i = '', msgSuffix = '') { return true; } async function atcb_validate_buttonStyle(data, msgPrefix) { - const availableStyles = ['default', '3d', 'flat', 'round', 'neumorphism', 'text', 'date', 'custom', 'none']; + const availableStyles = ['default', 'simple', '3d', 'flat', 'round', 'neumorphism', 'text', 'date', 'custom', 'none']; if (!availableStyles.includes(data.buttonStyle)) { throw new Error(msgPrefix + ' failed: provided buttonStyle invalid'); } @@ -1140,7 +1140,7 @@ async function atcb_validate_organizer(data, msgPrefix, i, msgSuffix) { if (data.dates[`${i}`].organizer && data.dates[`${i}`].organizer !== '') { const organizerParts = data.dates[`${i}`].organizer.split('|'); if (organizerParts.length !== 2 || organizerParts[0].length > 50 || organizerParts[1].length > 100 || !atcb_validEmail(organizerParts[1])) { - throw new Error(msgPrefix + ' failed: organizer needs to match the schema "NAME|EMAIL" with a valid email address' + msgSuffix); + throw new Error(msgPrefix + ' failed: organizer needs to match the schema "NAME|EMAIL" with a valid email address, where the name is <50 and email <100 characters' + msgSuffix); } } return true; @@ -3291,7 +3291,7 @@ function atcb_generate_microsoft(data, date, subEvent = 'all', type = 'ms365') { if (atcbIsMobile() || data.fakeMobile) { return '/calendar/0/deeplink/compose?path=%2Fcalendar%2Faction%2Fcompose&rru=addevent'; } - return '/calendar/action/compose?rru=addevent'; + return '/calendar/0/action/compose?rru=addevent'; })(); const baseUrl = (function () { if (type == 'outlookcom') { @@ -3308,7 +3308,7 @@ function atcb_generate_microsoft(data, date, subEvent = 'all', type = 'ms365') { urlParts.push('allday=true'); } if (date.name && date.name !== '') { - urlParts.push('subject=' + encodeURIComponent(date.name.replace(/&/g, '&'))); + urlParts.push('subject=' + encodeURIComponent(date.name)); } if (date.location && date.location !== '') { urlParts.push('location=' + encodeURIComponent(date.location)); @@ -3457,24 +3457,24 @@ function atcb_generate_ical(host, data, type, subEvent = 'all', keyboardTrigger ics_lines.push('DTSTAMP:' + atcb_format_datetime(now, 'clean', true)); ics_lines.push('DTSTART' + timeAddon + ':' + formattedDate.start); ics_lines.push('DTEND' + timeAddon + ':' + formattedDate.end); - ics_lines.push('SUMMARY:' + atcb_rewrite_ical_text(data.dates[`${i}`].name, true)); + ics_lines.push('SUMMARY:' + atcb_rewrite_ical_text(data.dates[`${i}`].name)); if (data.dates[`${i}`].descriptionHtmlFreeICal && data.dates[`${i}`].descriptionHtmlFreeICal !== '') { - ics_lines.push('DESCRIPTION:' + atcb_rewrite_ical_text(data.dates[`${i}`].descriptionHtmlFreeICal, true)); + ics_lines.push('DESCRIPTION:' + atcb_rewrite_ical_text(data.dates[`${i}`].descriptionHtmlFreeICal)); } if (data.dates[`${i}`].description && data.dates[`${i}`].description !== '') { - ics_lines.push('X-ALT-DESC;FMTTYPE=text/html:\r\n \r\n \r\n ' + atcb_rewrite_ical_text(data.dates[`${i}`].description, true) + '\r\n '); + ics_lines.push('X-ALT-DESC;FMTTYPE=text/html:\r\n \r\n \r\n ' + atcb_rewrite_ical_text(data.dates[`${i}`].description) + '\r\n '); } if (data.dates[`${i}`].location && data.dates[`${i}`].location !== '') { - ics_lines.push('LOCATION:' + atcb_rewrite_ical_text(data.dates[`${i}`].location, true)); + ics_lines.push('LOCATION:' + atcb_rewrite_ical_text(data.dates[`${i}`].location)); } if (data.dates[`${i}`].organizer && data.dates[`${i}`].organizer !== '') { const organizerParts = data.dates[`${i}`].organizer.split('|'); - ics_lines.push('ORGANIZER;CN=' + atcb_rewrite_ical_text(organizerParts[0], false, true) + ':MAILTO:' + organizerParts[1]); + ics_lines.push('ORGANIZER;CN=' + atcb_rewrite_ical_text(organizerParts[0], true) + ':MAILTO:' + organizerParts[1]); } if (data.dates[`${i}`].attendee && data.dates[`${i}`].attendee !== '') { const attendeeParts = data.dates[`${i}`].attendee.split('|'); if (attendeeParts.length === 2) { - ics_lines.push('ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=' + atcb_rewrite_ical_text(attendeeParts[0], false, true) + ';X-NUM-GUESTS=0:mailto:' + attendeeParts[1]); + ics_lines.push('ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=' + atcb_rewrite_ical_text(attendeeParts[0], true) + ';X-NUM-GUESTS=0:mailto:' + attendeeParts[1]); } else { ics_lines.push('ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=' + attendeeParts[0] + ';X-NUM-GUESTS=0:mailto:' + attendeeParts[0]); } @@ -3502,7 +3502,8 @@ function atcb_generate_ical(host, data, type, subEvent = 'all', keyboardTrigger if (givenIcsFile != '') { return givenIcsFile; } - return 'data:text/calendar;charset=utf-8,' + encodeURIComponent(ics_lines.join('\r\n')); + const icsContent = atcb_format_ical_lines(ics_lines.join('\r\n')); + return 'data:text/calendar;charset=utf-8,' + encodeURIComponent(icsContent); })(); if ((atcbIsiOS() && !atcbIsSafari()) || (atcbIsWebView() && (atcbIsiOS() || (atcbIsAndroid() && atcbIsProblematicWebView())))) { atcb_ical_copy_note(host, dataUrl, data, keyboardTrigger); @@ -3958,17 +3959,50 @@ function atcb_parse_url_code(input) { })(); return '' + text + ''; } -function atcb_rewrite_ical_text(content, truncate = true, inQuotes = false) { +function atcb_rewrite_ical_text(content, inQuotes = false) { if (inQuotes) { content = content.replace(/"/g, ''); } else { content = content.replace(/\\/g, '\\\\').replace(/(,|;)/g, '\\$1').replace(/\\\\n/g, '\\n'); } - if (truncate) { - content = content.replace(/.{60}/g, '$&' + '\r\n '); - } return content; } +function atcb_format_ical_lines(content) { + content = content.split('\r\n'); + const result = []; + for (let line of content) { + if (!line || line.length <= 65) { + result.push(line); + continue; + } + let currentLine = ''; + let position = 0; + const foldedLines = []; + while (position < line.length) { + const char = line.charAt(position); + const isHighSurrogate = char.charCodeAt(0) >= 0xd800 && char.charCodeAt(0) <= 0xdbff; + const isEscapedChar = position > 0 && line.charAt(position - 1) === '\\'; + if ((currentLine + char).length > 65 && !isHighSurrogate && !isEscapedChar) { + foldedLines.push(currentLine); + currentLine = ''; + } + currentLine += char; + position++; + if (isHighSurrogate && position < line.length) { + currentLine += line.charAt(position); + position++; + } + } + if (currentLine.length > 0) { + foldedLines.push(currentLine); + } + result.push(foldedLines[0]); + for (let i = 1; i < foldedLines.length; i++) { + result.push(' ' + foldedLines[`${i}`]); + } + } + return result.join('\r\n'); +} function atcb_position_list(host, trigger, list, blockUpwards = false, blockDownwards = false) { let anchorSet = false; const originalTrigger = trigger; @@ -3996,7 +4030,7 @@ function atcb_position_list(host, trigger, list, blockUpwards = false, blockDown } } triggerDim = trigger.getBoundingClientRect(); - if (!list.classList.contains('atcb-style-round') && !list.classList.contains('atcb-style-text') && !list.classList.contains('atcb-style-neumorphism')) { + if (!list.classList.contains('atcb-style-simple') && !list.classList.contains('atcb-style-round') && !list.classList.contains('atcb-style-text') && !list.classList.contains('atcb-style-neumorphism')) { list.style.minWidth = triggerDim.width + 'px'; if (list.classList.contains('atcb-dropdown')) { list.style.maxWidth = triggerDim.width + 'px'; @@ -5209,7 +5243,7 @@ if (atcbIsBrowser()) { this.style.visibility = 'visible'; this.style.opacity = '1'; this.style.position = 'relative'; - this.style.outline = 'none !important'; + this.style.outline = 'none'; await atcb_build_button(this.shadowRoot, this.data); return true; } catch (e) { diff --git a/src/main/webapp/javascript/chartjs-4.4.8/chart.umd.js b/src/main/webapp/javascript/chartjs-4.4.8/chart.umd.js deleted file mode 100644 index afa6374c..00000000 --- a/src/main/webapp/javascript/chartjs-4.4.8/chart.umd.js +++ /dev/null @@ -1,14 +0,0 @@ -/*! - * Chart.js v4.4.8 - * https://www.chartjs.org - * (c) 2025 Chart.js Contributors - * Released under the MIT License - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Go},get Decimation(){return Qo},get Filler(){return ma},get Legend(){return ya},get SubTitle(){return ka},get Title(){return Ma},get Tooltip(){return Ba}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return nt[s][e]et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=J(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=J(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt; -/*! - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Zt{constructor(t){if(t instanceof Zt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Zt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Jt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Jt(t)?t:new Zt(t)}function te(t){return Jt(t)?t:new Zt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Je(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Je(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Je(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Ze(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Je(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Ze(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:Z,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hb||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function Hi(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Xi={evaluateInteractionItems:Hi,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?ji(t,n,o,s,a):Yi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?ji(t,n,o,s,a):Yi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tji(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Yi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>Ui(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>Ui(t,ve(e,t),"y",i.intersect,s)}};const qi=["left","top","right","bottom"];function Ki(t,e){return t.filter((t=>t.pos===e))}function Gi(t,e){return t.filter((t=>-1===qi.indexOf(t.pos)&&t.box.axis===e))}function Zi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Ji(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!qi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function ss(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=Zi(Ki(e,"left"),!0),n=Zi(Ki(e,"right")),o=Zi(Ki(e,"top"),!0),a=Zi(Ki(e,"bottom")),r=Gi(e,"x"),l=Gi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ki(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);ts(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=Ji(l.concat(h),d);ss(r.fullSize,g,d,p),ss(l,g,d,p),ss(h,g,d,p)&&ss(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),os(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,os(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class rs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class ls extends rs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const hs="$chartjs",cs={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ds=t=>null===t||""===t;const us=!!Se&&{passive:!0};function fs(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,us)}function gs(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function ps(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||gs(i.addedNodes,s),e=e&&!gs(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function ms(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||gs(i.removedNodes,s),e=e&&!gs(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const xs=new Map;let bs=0;function _s(){const t=window.devicePixelRatio;t!==bs&&(bs=t,xs.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function ys(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){xs.size||window.addEventListener("resize",_s),xs.set(t,e)}(t,o),a}function vs(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){xs.delete(t),xs.size||window.removeEventListener("resize",_s)}(t)}function Ms(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=cs[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,us)}(s,e,n),n}class ws extends rs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[hs]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",ds(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(ds(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[hs])return!1;const i=e[hs].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[hs],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:ps,detach:ms,resize:ys}[e]||Ms;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:vs,detach:vs,resize:vs}[e]||fs)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function ks(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?ls:ws}var Ss=Object.freeze({__proto__:null,BasePlatform:rs,BasicPlatform:ls,DomPlatform:ws,_detectPlatform:ks});const Ps="transparent",Ds={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Ps),n=s.valid&&Qt(e||Ps);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class Cs{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Ds[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new Cs(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function As(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Ts(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function zs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Vs(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Bs=t=>"reset"===t||"none"===t,Ws=(t,e)=>e?t:Object.assign({},t);class Ns{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Es(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Vs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Fs(t,"x")),o=e.yAxisID=l(i.yAxisID,Fs(t,"y")),a=e.rAxisID=l(i.rAxisID,Fs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Vs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:Ts(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s=0&&tthis.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Ws(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Os(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Bs(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Bs(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Bs(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function js(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;io)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for($s(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t"top"===e||"left"===e?t[e]+i:t[e]-i,Us=(t,e)=>Math.min(e||t,t);function Xs(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Ks(t){return t.drawTicks?t.tickLength:0}function Gs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Zs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class Js extends Hs{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;rs?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=J(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Ks(t.grid)-e.padding-Gs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(J((h.highest.height+6)/o,-1,1)),Math.asin(J(a/r,-1,1))-Math.asin(J(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Gs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ks(n)+o):(t.height=this.maxHeight,t.width=Ks(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Ks(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class tn{constructor(){this.controllers=new Qs(Ns,"datasets",!0),this.elements=new Qs(Hs,"elements"),this.plugins=new Qs(Object,"plugins"),this.scales=new Qs(Js,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function nn(t,e){return e||!1!==t?!0===t?{}:t:null}function on(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function an(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function rn(t){if("x"===t||"y"===t||"r"===t)return t}function ln(t,...e){if(rn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&rn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function hn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function cn(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=an(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=ln(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return hn(t,"x",i[0])||hn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||an(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function dn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=cn(t,e)}function un(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const fn=new Map,gn=new Set;function pn(t,e){let i=fn.get(t);return i||(i=e(),fn.set(t,i),gn.add(i)),i}const mn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class xn{constructor(t){this._config=function(t){return(t=t||{}).data=un(t.data),dn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=un(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),dn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return pn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return pn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return pn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return pn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>mn(r,t,e)))),e.forEach((t=>mn(r,s,t))),e.forEach((t=>mn(r,re[n]||{},t))),e.forEach((t=>mn(r,ue,t))),e.forEach((t=>mn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),gn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=bn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||_n(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=bn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function bn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const _n=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const yn=["top","bottom","left","right","chartArea"];function vn(t,e){return"top"===t||"bottom"===t||-1===yn.indexOf(t)&&"x"===e}function Mn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function wn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function kn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Sn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Pn={},Dn=t=>{const e=Sn(t);return Object.values(Pn).filter((t=>t.canvas===e)).pop()};function Cn(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}function On(t,e,i){return t.options.clip?t[i]:e[i]}class An{static defaults=ue;static instances=Pn;static overrides=re;static registry=en;static version="4.4.8";static getChart=Dn;static register(...t){en.add(...t),Tn()}static unregister(...t){en.remove(...t),Tn()}constructor(t,e){const s=this.config=new xn(e),n=Sn(t),o=Dn(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ks(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new sn,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Pn[this.id]=this,r&&l?(bt.listen(this,"complete",wn),bt.listen(this,"progress",kn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return en}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=ln(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=ln(o,n),r=l(n.type,e.dtype);void 0!==n.position&&vn(n.position,a)===vn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(en.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{as.configure(this,t,t.options),as.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Mn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{as.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){Cn(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;as.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:On(i,e,"left"),right:On(i,e,"right"),top:On(s,e,"top"),bottom:On(s,e,"bottom")}:e}(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Ie(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&ze(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Xi.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Tn(){return u(An.instances,(t=>t._plugins.invalidate()))}function Ln(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class En{static override(t){Object.assign(En.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return Ln()}parse(){return Ln()}format(){return Ln()}add(){return Ln()}diff(){return Ln()}startOf(){return Ln()}endOf(){return Ln()}}var Rn={_date:En};function In(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Fn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.base"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;nZ(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Z(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Yn=Object.freeze({__proto__:null,BarController:class extends Ns{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Fn(t,e,i,s)}parseArrayData(t,e,i,s){return Fn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;dt.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,l="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends jn{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:$n,RadarController:class extends Ns{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Un(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return J(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:J(n.innerStart,0,a),innerEnd:J(n.innerEnd,0,a)}}function Xn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function qn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Un(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=Xn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=Xn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=Xn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=Xn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=Xn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=Xn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Kn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,f="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,f?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let g=e.endAngle;if(o){qn(t,e,i,s,g,n);for(let e=0;en?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,g),o||(qn(t,e,i,s,g,n),t.stroke())}function Gn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Jn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=nr&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function eo(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?to:Qn}const io="function"==typeof Path2D;function so(t,e,i,s){io&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Gn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=eo(e);for(const r of n)Gn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class no extends Hs{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=Z(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){qn(t,e,i,s,l,n);for(let e=0;e("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function po(t){const e=this.getLabels();return t>=0&&ts=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),Mr)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,mo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class bo extends xo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const _o=t=>Math.floor(z(t)),yo=(t,e)=>Math.pow(10,_o(t)+e);function vo(t){return 1===t/Math.pow(10,_o(t))}function Mo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function wo(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=_o(e);let o=function(t,e){let i=_o(e-t);for(;Mo(t,e,i)>10;)i++;for(;Mo(t,e,i)<10;)i--;return Math.min(i,_o(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:vo(g),significand:u}),s}class ko extends Js{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=xo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===yo(this.min,0)?yo(this.min,-1):yo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(yo(i,-1)),o(yo(s,1)))),i<=0&&n(yo(s,-1)),s<=0&&o(yo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=wo({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function So(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Po(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:tn?{start:e-i,end:e}:{start:e,end:e+i}}function Do(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Oo(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function Ao(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function To(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Lo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;ot,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(So(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/So(this.options))}generateTickLabels(t){xo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Do(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));To(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Lo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Ro={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Io=Object.keys(Ro);function zo(t,e){return t-e}function Fo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Vo(t,e,i,s){const n=Io.length;for(let o=Io.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function Wo(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class No extends Js{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new Rn._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Fo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Vo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=Io.length-1;o>=Io.indexOf(i);o--){const i=Io[o];if(Ro[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return Io[i?Io.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=Io.indexOf(t)+1,i=Io.length;e+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=J(s,0,o),n=J(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Vo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var jo=Object.freeze({__proto__:null,CategoryScale:class extends Js{static id="category";static defaults={ticks:{callback:po}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:J(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:go(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return po.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:bo,LogarithmicScale:ko,RadialLinearScale:Eo,TimeScale:No,TimeSeriesScale:class extends No{static id="timeseries";static defaults=No.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ho(e,this.min),this._tableRange=Ho(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;ot-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Ho(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Ho(this._table,i*this._tableRange+this._minPos,!0)}}});const $o=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Yo=$o.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Uo(t){return $o[t%$o.length]}function Xo(t){return Yo[t%Yo.length]}function qo(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof jn?e=function(t,e){return t.backgroundColor=t.data.map((()=>Uo(e++))),e}(i,e):n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Uo(e),t.backgroundColor=Xo(e),++e}(i,e))}}function Ko(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Go={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Ko(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Ko(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=qo(t);s.forEach(l)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Jo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var Qo={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Jo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=J(it(e,o.axis,a).lo,0,i-1)),s=h?J(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Jo(t)}};function ta(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ea(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function ia(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function sa(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ea(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new no({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function na(t){return t&&!1!==t.fill}function oa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function aa(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function ra(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&da(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;na(i)&&da(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;na(s)&&"beforeDatasetDraw"===i.drawTime&&da(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const xa=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class ba extends Hs{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=xa(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=_a(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=xa(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=_a(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class va extends Hs{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var Ma={id:"title",_element:va,start(t,e,i){!function(t,e){const i=new va({ctx:t.ctx,options:e,chart:t});as.configure(t,i,e),as.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;as.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;as.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const wa=new WeakMap;var ka={id:"subtitle",start(t,e,i){const s=new va({ctx:t.ctx,options:i,chart:t});as.configure(t,s,i),as.addBox(t,s),wa.set(t,s)},stop(t){as.removeBox(t,wa.get(t)),wa.delete(t)},beforeUpdate(t,e,i){const s=wa.get(t);as.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;et+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i-1?t.split("\n"):t}function Ca(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Oa(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function Aa(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ta(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||Aa(t,e,i,s),yAlign:s}}function La(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:J(g,0,s.width-e.width),y:J(p,0,s.height-e.height)}}function Ea(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Ra(t){return Pa([],Da(t))}function Ia(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const za={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex{const e={before:[],lines:[],after:[]},n=Ia(i,t);Pa(e.before,Da(Fa(n,"beforeLabel",this,t))),Pa(e.lines,Fa(n,"label",this,t)),Pa(e.after,Da(Fa(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return Ra(Fa(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Fa(i,"beforeFooter",this,t),n=Fa(i,"footer",this,t),o=Fa(i,"afterFooter",this,t);let a=[];return a=Pa(a,Da(s)),a=Pa(a,Da(n)),a=Pa(a,Da(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Ia(t.callbacks,e);s.push(Fa(i,"labelColor",this,e)),n.push(Fa(i,"labelPointStyle",this,e)),o.push(Fa(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Sa[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Oa(this,i),a=Object.assign({},t,e),r=Ta(this.chart,i,a),l=La(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ea(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ea(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Sa[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Oa(this,t),a=Object.assign({},i,this._size),r=Ta(e,t,a),l=La(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Sa[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Ba={id:"tooltip",_element:Va,positioners:Sa,afterInit(t,e,i){i&&(t.tooltip=new Va({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:za},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return An.register(Yn,jo,fo,t),An.helpers={...Wi},An._adapters=Rn,An.Animation=Cs,An.Animations=Os,An.animator=bt,An.controllers=en.controllers.items,An.DatasetController=Ns,An.Element=Hs,An.elements=fo,An.Interaction=Xi,An.layouts=as,An.platforms=Ss,An.Scale=Js,An.Ticks=ae,Object.assign(An,Yn,jo,fo,t,Ss),An.Chart=An,"undefined"!=typeof window&&(window.Chart=An),An})); -//# sourceMappingURL=chart.umd.js.map diff --git a/src/main/webapp/javascript/chartjs-4.4.9/chart.umd.js b/src/main/webapp/javascript/chartjs-4.4.9/chart.umd.js new file mode 100644 index 00000000..47cbcd97 --- /dev/null +++ b/src/main/webapp/javascript/chartjs-4.4.9/chart.umd.js @@ -0,0 +1,14 @@ +/*! + * Chart.js v4.4.9 + * https://www.chartjs.org + * (c) 2025 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Zo},get Decimation(){return ta},get Filler(){return xa},get Legend(){return va},get SubTitle(){return Sa},get Title(){return wa},get Tooltip(){return Wa}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return nt[s][e]et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=J(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=J(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt; +/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Zt{constructor(t){if(t instanceof Zt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Zt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Jt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Jt(t)?t:new Zt(t)}function te(t){return Jt(t)?t:new Zt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Je(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Je(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Je(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Ze(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Je(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Ze(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:Z,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hb||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function $i(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Ki={evaluateInteractionItems:$i,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tYi(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Xi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>qi(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>qi(t,ve(e,t),"y",i.intersect,s)}};const Gi=["left","top","right","bottom"];function Zi(t,e){return t.filter((t=>t.pos===e))}function Ji(t,e){return t.filter((t=>-1===Gi.indexOf(t.pos)&&t.box.axis===e))}function Qi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function ts(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Gi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function os(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=Qi(Zi(e,"left"),!0),n=Qi(Zi(e,"right")),o=Qi(Zi(e,"top"),!0),a=Qi(Zi(e,"bottom")),r=Ji(e,"x"),l=Ji(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Zi(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);is(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=ts(l.concat(h),d);os(r.fullSize,g,d,p),os(l,g,d,p),os(h,g,d,p)&&os(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),rs(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,rs(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class hs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class cs extends hs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ds="$chartjs",us={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fs=t=>null===t||""===t;const gs=!!Se&&{passive:!0};function ps(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,gs)}function ms(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function xs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.addedNodes,s),e=e&&!ms(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function bs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.removedNodes,s),e=e&&!ms(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const _s=new Map;let ys=0;function vs(){const t=window.devicePixelRatio;t!==ys&&(ys=t,_s.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ms(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){_s.size||window.addEventListener("resize",vs),_s.set(t,e)}(t,o),a}function ws(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){_s.delete(t),_s.size||window.removeEventListener("resize",vs)}(t)}function ks(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=us[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,gs)}(s,e,n),n}class Ss extends hs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[ds]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fs(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(fs(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[ds])return!1;const i=e[ds].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[ds],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:xs,detach:bs,resize:Ms}[e]||ks;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ws,detach:ws,resize:ws}[e]||ps)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function Ps(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?cs:Ss}var Ds=Object.freeze({__proto__:null,BasePlatform:hs,BasicPlatform:cs,DomPlatform:Ss,_detectPlatform:Ps});const Cs="transparent",Os={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Cs),n=s.valid&&Qt(e||Cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class As{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Os[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new As(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function Ls(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Es(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function Vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Ws(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Ns=t=>"reset"===t||"none"===t,Hs=(t,e)=>e?t:Object.assign({},t);class js{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Is(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Ws(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Bs(t,"x")),o=e.yAxisID=l(i.yAxisID,Bs(t,"y")),a=e.rAxisID=l(i.rAxisID,Bs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Ws(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:Es(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s=0&&tthis.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Hs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ts(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ns(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Ns(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Ns(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Ys(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;io)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for(Us(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t"top"===e||"left"===e?t[e]+i:t[e]-i,qs=(t,e)=>Math.min(e||t,t);function Ks(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Zs(t){return t.drawTicks?t.tickLength:0}function Js(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Qs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class tn extends $s{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;rs?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=J(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Zs(t.grid)-e.padding-Js(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(J((h.highest.height+6)/o,-1,1)),Math.asin(J(a/r,-1,1))-Math.asin(J(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Js(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Zs(n)+o):(t.height=this.maxHeight,t.width=Zs(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Zs(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class sn{constructor(){this.controllers=new en(js,"datasets",!0),this.elements=new en($s,"elements"),this.plugins=new en(Object,"plugins"),this.scales=new en(tn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function an(t,e){return e||!1!==t?!0===t?{}:t:null}function rn(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ln(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function hn(t){if("x"===t||"y"===t||"r"===t)return t}function cn(t,...e){if(hn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&hn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function dn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function un(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=ln(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=cn(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return dn(t,"x",i[0])||dn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||ln(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function fn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=un(t,e)}function gn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const pn=new Map,mn=new Set;function xn(t,e){let i=pn.get(t);return i||(i=e(),pn.set(t,i),mn.add(i)),i}const bn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class _n{constructor(t){this._config=function(t){return(t=t||{}).data=gn(t.data),fn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=gn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),fn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>bn(r,t,e)))),e.forEach((t=>bn(r,s,t))),e.forEach((t=>bn(r,re[n]||{},t))),e.forEach((t=>bn(r,ue,t))),e.forEach((t=>bn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),mn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=yn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||vn(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=yn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function yn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const vn=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const Mn=["top","bottom","left","right","chartArea"];function wn(t,e){return"top"===t||"bottom"===t||-1===Mn.indexOf(t)&&"x"===e}function kn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Sn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function Pn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Dn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Cn={},On=t=>{const e=Dn(t);return Object.values(Cn).filter((t=>t.canvas===e)).pop()};function An(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class Tn{static defaults=ue;static instances=Cn;static overrides=re;static registry=nn;static version="4.4.9";static getChart=On;static register(...t){nn.add(...t),Ln()}static unregister(...t){nn.remove(...t),Ln()}constructor(t,e){const s=this.config=new _n(e),n=Dn(t),o=On(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ps(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new on,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Cn[this.id]=this,r&&l?(bt.listen(this,"complete",Sn),bt.listen(this,"progress",Pn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return nn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=cn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=cn(o,n),r=l(n.type,e.dtype);void 0!==n.position&&wn(n.position,a)===wn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(nn.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{ls.configure(this,t,t.options),ls.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(kn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{ls.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){An(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ls.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},s=Ni(this,t);!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(s&&Ie(e,s),t.controller.draw(),s&&ze(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Ki.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Ln(){return u(Tn.instances,(t=>t._plugins.invalidate()))}function En(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Rn{static override(t){Object.assign(Rn.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return En()}parse(){return En()}format(){return En()}add(){return En()}diff(){return En()}startOf(){return En()}endOf(){return En()}}var In={_date:Rn};function zn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Vn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.base"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;nZ(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Z(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Un=Object.freeze({__proto__:null,BarController:class extends js{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Vn(t,e,i,s)}parseArrayData(t,e,i,s){return Vn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;dt.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,l="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends $n{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Yn,RadarController:class extends js{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Xn(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return J(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:J(n.innerStart,0,a),innerEnd:J(n.innerEnd,0,a)}}function qn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Kn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Xn(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=qn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=qn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=qn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=qn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=qn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=qn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Gn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,f="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,f?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let g=e.endAngle;if(o){Kn(t,e,i,s,g,n);for(let e=0;en?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,g),o||(Kn(t,e,i,s,g,n),t.stroke())}function Zn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Jn(t,e,i){t.lineTo(i.x,i.y)}function Qn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=nr&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function io(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?eo:to}const so="function"==typeof Path2D;function no(t,e,i,s){so&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Zn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=io(e);for(const r of n)Zn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class oo extends $s{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=Z(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Kn(t,e,i,s,l,n);for(let e=0;e("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function mo(t){const e=this.getLabels();return t>=0&&ts=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),Mr)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,xo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class _o extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const yo=t=>Math.floor(z(t)),vo=(t,e)=>Math.pow(10,yo(t)+e);function Mo(t){return 1===t/Math.pow(10,yo(t))}function wo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ko(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=yo(e);let o=function(t,e){let i=yo(e-t);for(;wo(t,e,i)>10;)i++;for(;wo(t,e,i)<10;)i--;return Math.min(i,yo(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:Mo(g),significand:u}),s}class So extends tn{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===vo(this.min,0)?vo(this.min,-1):vo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(vo(i,-1)),o(vo(s,1)))),i<=0&&n(vo(s,-1)),s<=0&&o(vo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ko({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Po(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Do(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:tn?{start:e-i,end:e}:{start:e,end:e+i}}function Co(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Ao(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function To(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function Lo(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Eo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;ot,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(Po(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Po(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Co(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Lo(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Eo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Io={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},zo=Object.keys(Io);function Fo(t,e){return t-e}function Vo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Bo(t,e,i,s){const n=zo.length;for(let o=zo.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function No(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Ho extends tn{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new In._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Vo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Bo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=zo.length-1;o>=zo.indexOf(i);o--){const i=zo[o];if(Io[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return zo[i?zo.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=zo.indexOf(t)+1,i=zo.length;e+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=J(s,0,o),n=J(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Bo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var $o=Object.freeze({__proto__:null,CategoryScale:class extends tn{static id="category";static defaults={ticks:{callback:mo}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:J(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:po(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return mo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:_o,LogarithmicScale:So,RadialLinearScale:Ro,TimeScale:Ho,TimeSeriesScale:class extends Ho{static id="timeseries";static defaults=Ho.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=jo(e,this.min),this._tableRange=jo(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;ot-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(jo(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return jo(this._table,i*this._tableRange+this._minPos,!0)}}});const Yo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Uo=Yo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Xo(t){return Yo[t%Yo.length]}function qo(t){return Uo[t%Uo.length]}function Ko(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n instanceof Yn?e=function(t,e){return t.backgroundColor=t.data.map((()=>qo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Xo(e),t.backgroundColor=qo(e),++e}(i,e))}}function Go(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Zo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Go(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Go(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=Ko(t);s.forEach(l)}};function Jo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Qo(t){t.data.datasets.forEach((t=>{Jo(t)}))}var ta={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Qo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=J(it(e,o.axis,a).lo,0,i-1)),s=h?J(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Jo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Qo(t)}};function ea(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ia(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function sa(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function na(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ia(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new oo({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function oa(t){return t&&!1!==t.fill}function aa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function ra(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function la(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&ua(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;oa(i)&&ua(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;oa(s)&&"beforeDatasetDraw"===i.drawTime&&ua(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ba=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class _a extends $s{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=ba(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=ya(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=ba(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=ya(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Ma extends $s{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var wa={id:"title",_element:Ma,start(t,e,i){!function(t,e){const i=new Ma({ctx:t.ctx,options:e,chart:t});ls.configure(t,i,e),ls.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ls.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ka=new WeakMap;var Sa={id:"subtitle",start(t,e,i){const s=new Ma({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s),ka.set(t,s)},stop(t){ls.removeBox(t,ka.get(t)),ka.delete(t)},beforeUpdate(t,e,i){const s=ka.get(t);ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Pa={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;et+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i-1?t.split("\n"):t}function Oa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Aa(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function Ta(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function La(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||Ta(t,e,i,s),yAlign:s}}function Ea(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:J(g,0,s.width-e.width),y:J(p,0,s.height-e.height)}}function Ra(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Ia(t){return Da([],Ca(t))}function za(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Fa={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex{const e={before:[],lines:[],after:[]},n=za(i,t);Da(e.before,Ca(Va(n,"beforeLabel",this,t))),Da(e.lines,Va(n,"label",this,t)),Da(e.after,Ca(Va(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return Ia(Va(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Va(i,"beforeFooter",this,t),n=Va(i,"footer",this,t),o=Va(i,"afterFooter",this,t);let a=[];return a=Da(a,Ca(s)),a=Da(a,Ca(n)),a=Da(a,Ca(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=za(t.callbacks,e);s.push(Va(i,"labelColor",this,e)),n.push(Va(i,"labelPointStyle",this,e)),o.push(Va(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Pa[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Aa(this,i),a=Object.assign({},t,e),r=La(this.chart,i,a),l=Ea(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ra(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ra(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Pa[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Aa(this,t),a=Object.assign({},i,this._size),r=La(e,t,a),l=Ea(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Pa[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Wa={id:"tooltip",_element:Ba,positioners:Pa,afterInit(t,e,i){i&&(t.tooltip=new Ba({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Fa},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return Tn.register(Un,$o,go,t),Tn.helpers={...Hi},Tn._adapters=In,Tn.Animation=As,Tn.Animations=Ts,Tn.animator=bt,Tn.controllers=nn.controllers.items,Tn.DatasetController=js,Tn.Element=$s,Tn.elements=go,Tn.Interaction=Ki,Tn.layouts=ls,Tn.platforms=Ds,Tn.Scale=tn,Tn.Ticks=ae,Object.assign(Tn,Un,$o,go,t,Ds),Tn.Chart=Tn,"undefined"!=typeof window&&(window.Chart=Tn),Tn})); +//# sourceMappingURL=chart.umd.js.map diff --git a/src/main/webapp/javascript/jspreadsheet-5.0.1/index.js b/src/main/webapp/javascript/jspreadsheet-5.0.1/index.js deleted file mode 100644 index ce6bfbaa..00000000 --- a/src/main/webapp/javascript/jspreadsheet-5.0.1/index.js +++ /dev/null @@ -1,18 +0,0 @@ -if (! jSuites && typeof(require) === 'function') { - var jSuites = require('jsuites'); -} - -if (! formula && typeof(require) === 'function') { - var formula = require('@jspreadsheet/formula'); -} - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - global.jspreadsheet = factory(); -}(this, (function () { - -var jspreadsheet;(function(){"use strict";var __webpack_modules__={805:function(e,t){const s=function(e){const t=this,s=[];for(let n=0;n0)for(let s=0;s0;)t=(s-1)%26,n=String.fromCharCode(65+t).toString()+n,s=parseInt((s-t)/26);return n},i=function(e,t){return l(parseInt(e))+(parseInt(t)+1)},a=function(e){const t=/^[a-zA-Z]+/.exec(e);if(t){let s=0;for(let e=0;e0&&n--,[s,n]}},c=function(e){const[t,s]=e.split(":");return[...a(t),...a(s)]},u=function(e,t){t=t||",",e=e.replace(/\r?\n$|\r$|\n$/g,"");const s=[];let n=!1,o=0,r=0,l=0;for(let i=0;i{for(let t=e.length;t<=o;t++)e.push("")})),s},d=function(e,t){if("TABLE"==e.tagName){t||(t={}),t.columns=[],t.data=[];const s=e.querySelectorAll("colgroup > col");if(s.length)for(let e=0;e50?n.width:50;t.columns[s]||(t.columns[s]={}),e.getAttribute("data-celltype")?t.columns[s].type=e.getAttribute("data-celltype"):t.columns[s].type="text",t.columns[s].width=o+"px",t.columns[s].title=e.innerHTML,e.style.textAlign&&(t.columns[s].align=e.style.textAlign),(n=e.getAttribute("name"))&&(t.columns[s].name=n),(n=e.getAttribute("id"))&&(t.columns[s].id=n),(n=e.getAttribute("data-mask"))&&(t.columns[s].mask=n)},r=[];let l=e.querySelectorAll(":scope > thead > tr");if(l.length){for(let e=0;e tr, :scope > tbody > tr");for(let e=0;e0&&(t.nestedHeaders=r),Object.keys(u).length>0&&(t.style=u),Object.keys(a).length>0&&(t.mergeCells=a),Object.keys(c).length>0&&(t.rows=c),Object.keys(d).length>0&&(t.classes=d),p=e.querySelectorAll("tfoot tr"),p.length){const e=[];for(let t=0;t0&&(t.footers=e)}if(1==t.parseTableAutoCellType){const e=[];for(let s=0;s25&&(n=!1),10==l.length&&"-"==l.substr(4,1)&&"-"==l.substr(7,1)||(o=!1)}const r=Object.keys(e[s]).length;o?t.columns[s].type="calendar":1==n&&r>1&&r<=parseInt(.1*t.data.length)&&(t.columns[s].type="dropdown",t.columns[s].source=Object.keys(e[s]))}}return t}console.log("Element is not a table")}},911:function(e,t,s){s.d(t,{Dh:function(){return c},ZS:function(){return h},tN:function(){return p}});var n=s(805),o=s(689),r=s(530),l=s(910),i=s(94),a=s(657);const c=function(e){const t=this;if(1!=t.ignoreHistory){const s=++t.historyIndex;t.history=t.history=t.history.slice(0,s+1),t.history[s]=e}},u=function(e,t){const s=this,n=t.insertBefore?+t.rowNumber:t.rowNumber+1;if(1==s.options.search&&s.results&&s.results.length!=s.rows.length&&s.resetSearch(),1==e){const e=t.numOfRows;for(let t=n;t0&&s.page(s.pageNumber),r.o8.call(s)},d=function(e,t){const s=this,n=t.insertBefore?t.columnNumber:t.columnNumber+1;if(1==e){const e=t.numOfColumns;s.options.columns.splice(n,e);for(let t=n;t0&&s.options.nestedHeaders[0]&&s.options.nestedHeaders[0][0])for(let n=0;n=0)if(r=e.history[e.historyIndex--],"insertRow"==r.action)u.call(e,1,r);else if("deleteRow"==r.action)u.call(e,0,r);else if("insertColumn"==r.action)d.call(e,1,r);else if("deleteColumn"==r.action)d.call(e,0,r);else if("moveRow"==r.action)e.moveRow(r.newValue,r.oldValue);else if("moveColumn"==r.action)e.moveColumn(r.newValue,r.oldValue);else if("setMerge"==r.action)e.removeMerge(r.column,r.data);else if("setStyle"==r.action)e.setStyle(r.oldValue,null,null,1);else if("setWidth"==r.action)e.setWidth(r.column,r.oldValue);else if("setHeight"==r.action)e.setHeight(r.row,r.oldValue);else if("setHeader"==r.action)e.setHeader(r.column,r.oldValue);else if("setComments"==r.action)e.setComments(r.oldValue);else if("orderBy"==r.action){let t=[];for(let e=0;e0){let t=0;for(let s=e.rows.length-1;s>=0;s--){let n=!1;for(let t=0;t0&&e.insertRow(e.options.minSpareRows-t)}if(e.options.minSpareCols>0){let t=0;for(let s=e.headers.length-1;s>=0;s--){let n=!1;for(let t=0;t0&&e.insertColumn(e.options.minSpareCols-t)}e.options.footers&&_footer_js__WEBPACK_IMPORTED_MODULE_0__.e.call(e),setTimeout((function(){_selection_js__WEBPACK_IMPORTED_MODULE_1__.Aq.call(e)}),0)},parseNumber=function(e,t){const s=t&&this.options.columns[t].decimal?this.options.columns[t].decimal:".";let n=""+e;return n=n.split(s),n[0]=n[0].match(/[+-]?[0-9]/g),n[0]&&(n[0]=n[0].join("")),n[1]&&(n[1]=n[1].match(/[0-9]*/g).join("")),n[0]&&Number.isInteger(Number(n[0]))?n[1]?Number(n[0]+"."+n[1]):Number(n[0]+".00"):null},executeFormula=function(expression,x,y){const obj=this,formulaResults=[],formulaLoopProtection=[],execute=function(expression,x,y){const parentId=(0,_internalHelpers_js__WEBPACK_IMPORTED_MODULE_2__.t3)([x,y]);if(formulaLoopProtection[parentId])return console.error("Reference loop detected"),"#ERROR";formulaLoopProtection[parentId]=!0;const tokensUpdate=function(e){for(let t=0;t-1)return console.error("Self Reference detected"),"#ERROR";{const formulaExpressions={};if(tokens)for(let i=0;i0?n.join("; "):""},validDate=function(e){return"-"==(e=""+e).substr(4,1)&&"-"==e.substr(7,1)||4==(e=e.split("-"))[0].length&&e[0]==Number(e[0])&&2==e[1].length&&e[1]==Number(e[1])},stripScript=function(e){const t=new Option;t.innerHTML=e;let s=null;for(e=t.getElementsByTagName("script");s=e[0];)s.parentNode.removeChild(s);return t.innerHTML},createCell=function(e,t,s){const n=this;let o=document.createElement("td");if(o.setAttribute("data-x",e),o.setAttribute("data-y",t),"none"===n.headers[e].style.display&&(o.style.display="none"),"="==(""+s).substr(0,1)&&1==n.options.secureFormulas){const e=secureFormula(s);e!=s&&(s=e)}if(n.options.columns&&n.options.columns[e]&&"object"==typeof n.options.columns[e].type)!0===n.parent.config.parseHTML?o.innerHTML=s:o.textContent=s,"function"==typeof n.options.columns[e].type.createCell&&n.options.columns[e].type.createCell(o,s,parseInt(e),parseInt(t),n,n.options.columns[e]);else if(n.options.columns&&n.options.columns[e]&&"hidden"==n.options.columns[e].type)o.style.display="none",o.textContent=s;else if(n.options.columns&&n.options.columns[e]&&("checkbox"==n.options.columns[e].type||"radio"==n.options.columns[e].type)){const r=document.createElement("input");r.type=n.options.columns[e].type,r.name="c"+e,r.checked=1==s||1==s||"true"==s,r.onclick=function(){n.setValue(o,this.checked)},1!=n.options.columns[e].readOnly&&0!=n.options.editable||r.setAttribute("disabled","disabled"),o.appendChild(r),n.options.data[t][e]=r.checked}else if(n.options.columns&&n.options.columns[e]&&"calendar"==n.options.columns[e].type){let t=null;if(!validDate(s)){const o=jSuites.calendar.extractDateFromString(s,n.options.columns[e].options&&n.options.columns[e].options.format||"YYYY-MM-DD");o&&(t=o)}o.textContent=jSuites.calendar.getDateString(t||s,n.options.columns[e].options&&n.options.columns[e].options.format)}else if(n.options.columns&&n.options.columns[e]&&"dropdown"==n.options.columns[e].type)o.classList.add("jss_dropdown"),o.textContent=getDropDownValue.call(n,e,s);else if(n.options.columns&&n.options.columns[e]&&"color"==n.options.columns[e].type)if("square"==n.options.columns[e].render){const e=document.createElement("div");e.className="color",e.style.backgroundColor=s,o.appendChild(e)}else o.style.color=s,o.textContent=s;else if(n.options.columns&&n.options.columns[e]&&"image"==n.options.columns[e].type){if(s&&"data:image"==s.substr(0,10)){const e=document.createElement("img");e.src=s,o.appendChild(e)}}else n.options.columns&&n.options.columns[e]&&"html"==n.options.columns[e].type||!0===n.parent.config.parseHTML?o.innerHTML=stripScript(parseValue.call(this,e,t,s,o)):o.textContent=parseValue.call(this,e,t,s,o);n.options.columns&&n.options.columns[e]&&1==n.options.columns[e].readOnly&&(o.className="readonly");const r=n.options.columns&&n.options.columns[e]&&n.options.columns[e].align||n.options.defaultColAlign||"center";return o.style.textAlign=r,n.options.columns&&n.options.columns[e]&&0==n.options.columns[e].wordWrap||!(1==n.options.wordWrap||n.options.columns&&n.options.columns[e]&&1==n.options.columns[e].wordWrap||o.innerHTML.length>200)||(o.style.whiteSpace="pre-wrap"),e>0&&1==this.options.textOverflow&&(s||o.innerHTML?n.records[t][e-1].element.style.overflow="hidden":e==n.options.columns.length-1&&(o.style.overflow="hidden")),_dispatch_js__WEBPACK_IMPORTED_MODULE_3__.A.call(n,"oncreatecell",n,o,e,t,s),o},updateCell=function(e,t,s,n){const o=this;let r;if(1!=o.records[t][e].element.classList.contains("readonly")||n){if("="==(""+s).substr(0,1)&&1==o.options.secureFormulas){const e=secureFormula(s);e!=s&&(s=e)}const n=_dispatch_js__WEBPACK_IMPORTED_MODULE_3__.A.call(o,"onbeforechange",o,o.records[t][e].element,e,t,s);if(null!=n&&(s=n),o.options.columns&&o.options.columns[e]&&"object"==typeof o.options.columns[e].type&&"function"==typeof o.options.columns[e].type.updateCell){const n=o.options.columns[e].type.updateCell(o.records[t][e].element,s,parseInt(e),parseInt(t),o,o.options.columns[e]);void 0!==n&&(s=n)}r={x:e,y:t,col:e,row:t,value:s,oldValue:o.options.data[t][e]};let l=o.options.columns&&o.options.columns[e]&&"object"==typeof o.options.columns[e].type?o.options.columns[e].type:null;if(l)o.options.data[t][e]=s,"function"==typeof l.setValue&&l.setValue(o.records[t][e].element,s);else if(o.options.columns&&o.options.columns[e]&&("checkbox"==o.options.columns[e].type||"radio"==o.options.columns[e].type)){if("radio"==o.options.columns[e].type)for(let t=0;t200)?o.records[t][e].element.style.whiteSpace="":o.records[t][e].element.style.whiteSpace="pre-wrap";e>0&&(o.records[t][e-1].element.style.overflow=s?"hidden":""),o.options.columns&&o.options.columns[e]&&"function"==typeof o.options.columns[e].render&&o.options.columns[e].render(o.records[t]&&o.records[t][e]?o.records[t][e].element:null,s,parseInt(e),parseInt(t),o,o.options.columns[e]),_dispatch_js__WEBPACK_IMPORTED_MODULE_3__.A.call(o,"onchange",o,o.records[t]&&o.records[t][e]?o.records[t][e].element:null,e,t,s,r.oldValue)}else r={x:e,y:t,col:e,row:t};return r},isFormula=function(e){const t=(""+e)[0];return"="==t||"#"==t},getMask=function(e){if(e.format||e.mask||e.locale){const t={};return e.mask?t.mask=e.mask:e.format?t.mask=e.format:(t.locale=e.locale,t.options=e.options),e.decimal&&(t.options||(t.options={}),t.options={decimal:e.decimal}),t}return null},secureFormula=function(e){let t="",s=0;for(let n=0;n0)if(chainLoopProtection[o])n.records[t][e].element.innerHTML="#ERROR",n.formula[o]="";else{chainLoopProtection[o]=!0;for(let e=0;et.content.scrollTop+30&&ht.content.scrollLeft+m&&p0?e.options.pagination:e.results?e.results.length:e.rows.length;e.tbody.firstChild;)e.tbody.removeChild(e.tbody.firstChild);for(let n=0;n-1?(s0&&_pagination_js__WEBPACK_IMPORTED_MODULE_7__.IV.call(e),_selection_js__WEBPACK_IMPORTED_MODULE_1__.Aq.call(e),t},getCell=function(e,t){if("string"==typeof e){const s=(0,_internalHelpers_js__WEBPACK_IMPORTED_MODULE_2__.vu)(e,!0);e=s[0],t=s[1]}return this.records[t][e].element},getCellFromCoords=function(e,t){return this.records[t][e].element},getLabel=function(e,t){if("string"==typeof e){const s=(0,_internalHelpers_js__WEBPACK_IMPORTED_MODULE_2__.vu)(e,!0);e=s[0],t=s[1]}return this.records[t][e].element.innerHTML},fullscreen=function(e){const t=this;null==e&&(e=!t.config.fullscreen),t.config.fullscreen!=e&&(t.config.fullscreen=e,1==e?t.element.classList.add("fullscreen"):t.element.classList.remove("fullscreen"))},showIndex=function(){this.table.classList.remove("jss_hidden_index")},hideIndex=function(){this.table.classList.add("jss_hidden_index")},createNestedHeader=function(e){const t=this,s=document.createElement("tr");s.classList.add("jss_nested");const n=document.createElement("td");n.classList.add("jss_selectall"),s.appendChild(n),e.element=s;let o=0;for(let n=0;nn.length;)n.push(void 0);return n.concat(s)},r=function(e,t){const s=/^[a-zA-Z]+/.exec(e);if(s){let n=0;for(let e=0;e0&&o--,e=1==t?[n,o]:n+"-"+o}return e},l=function(e){return Array.isArray(e)||(e=e.split("-")),(0,n.getColumnName)(parseInt(e[0]))+(parseInt(e[1])+1)}},497:function(e,t,s){s.d(t,{AG:function(){return o},G_:function(){return r},p6:function(){return l},wu:function(){return n}});const n=function(e){const t=this;let s;s=1!=t.options.search&&1!=t.options.filters||!t.results?t.rows:t.results;const n=100;null!=e&&-1!=e||(e=Math.ceil(s.length/n)-1);let o=e*n,r=e*n+n;r>s.length&&(r=s.length),o=r-100,o<0&&(o=0);for(let e=o;en&&t.tbody.removeChild(t.tbody.firstChild)},o=function(){const e=this;if(e.selectedCell){const t=parseInt(e.tbody.firstChild.getAttribute("data-y"))/100,s=parseInt(e.selectedCell[3]/100),n=parseInt(e.rows.length/100);if(t!=s&&s<=n&&!Array.prototype.indexOf.call(e.tbody.children,e.rows[e.selectedCell[3]].element))return e.loadPage(s),!0}return!1},r=function(){const e=this;let t;t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows:e.results;let s=0;if(t.length>100){let n=parseInt(e.tbody.firstChild.getAttribute("data-y"));if(1!=e.options.search&&1!=e.options.filters||!e.results||(n=t.indexOf(n)),n>0)for(let o=0;o<30;o++)n-=1,n>-1&&(1!=e.options.search&&1!=e.options.filters||!e.results?e.tbody.insertBefore(e.rows[n].element,e.tbody.firstChild):e.tbody.insertBefore(e.rows[t[n]].element,e.tbody.firstChild),e.tbody.children.length>100&&(e.tbody.removeChild(e.tbody.lastChild),s=1))}return s},l=function(){const e=this;let t;t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows:e.results;let s=0;if(t.length>100){let n=parseInt(e.tbody.lastChild.getAttribute("data-y"));if(1!=e.options.search&&1!=e.options.filters||!e.results||(n=t.indexOf(n)),n100&&(e.tbody.removeChild(e.tbody.firstChild),s=1)),n+=1}return s}},910:function(e,t,s){s.d(t,{D0:function(){return c},FU:function(){return d},Lt:function(){return a},VP:function(){return h},Zp:function(){return p},fd:function(){return u}});var n=s(689),o=s(530),r=s(911),l=s(805),i=s(657);const a=function(e,t){const s=this,o=[];if(s.options.mergeCells){const r=Object.keys(s.options.mergeCells);for(let l=0;l1?a-1:0);null==t?c<=e&&u>=e&&o.push(r[l]):t?c=e&&o.push(r[l]):c<=e&&u>e&&o.push(r[l])}}return o},c=function(e,t){const s=this,o=[];if(s.options.mergeCells){const r=Object.keys(s.options.mergeCells);for(let l=0;l1?a-1:0);null==t?c<=e&&u>=e&&o.push(r[l]):t?c=e&&o.push(r[l]):c<=e&&u>e&&o.push(r[l])}}return o},u=function(e){const t=this;let s={};if(e)s=t.options.mergeCells&&t.options.mergeCells[e]?[t.options.mergeCells[e][0],t.options.mergeCells[e][1]]:null;else if(t.options.mergeCells){t.options.mergeCells;const e=Object.keys(t.options.mergeCells);for(let n=0;n1?c.records[d[1]][d[0]].element.setAttribute("colspan",t):t=1,s>1?c.records[d[1]][d[0]].element.setAttribute("rowspan",s):s=1,c.options.mergeCells||(c.options.mergeCells={}),c.options.mergeCells[e]=[t,s,[]],c.records[d[1]][d[0]].element.setAttribute("data-merged","true"),c.records[d[1]][d[0]].element.style.overflow="hidden";const n=[];for(let r=d[1];r0||u>0)&&(r.records[l[1]+c][l[0]+u].element=a[2][d],r.records[l[1]+c][l[0]+u].element.style.display="",t&&t[d]&&o.k9.call(r,l[0]+u,l[1]+c,t[d]),d++);i.c6.call(r,r.records[l[1]][l[0]].element,r.records[l[1]+c-1][l[0]+u-1].element),s||delete r.options.mergeCells[e]}},h=function(e){const t=this;if(t.options.mergeCells){t.options.mergeCells;const s=Object.keys(t.options.mergeCells);for(let n=0;n0)t.page(0);else if(1==t.options.lazyLoading)l.wu.call(t,0);else for(let e=0;e=0){if(s.options.mergeCells&&Object.keys(s.options.mergeCells).length>0){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;s.destroyMerge()}t=null==t?s.headers[e].classList.contains("arrow-down")?1:0:t?1:0;let r=[];if(s.options.columns&&s.options.columns[e]&&("number"==s.options.columns[e].type||"numeric"==s.options.columns[e].type||"percentage"==s.options.columns[e].type||"autonumber"==s.options.columns[e].type||"color"==s.options.columns[e].type))for(let t=0;to?-1:no?1:ne))),!0}}},167:function(e,t,s){s.d(t,{$f:function(){return a},IV:function(){return l},MY:function(){return i},ho:function(){return r}});var n=s(805),o=s(657);const r=function(e){const t=this;return 1!=t.options.search&&1!=t.options.filters||!t.results||(e=t.results.indexOf(e)),Math.ceil((parseInt(e)+1)/parseInt(t.options.pagination))-1},l=function(){const e=this;if(e.pagination.children[0].innerHTML="",e.pagination.children[1].innerHTML="",e.options.pagination){let t;if(t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows.length:e.results.length,t){const s=Math.ceil(t/e.options.pagination);let n,o;if(e.pageNumber<6?(n=1,o=s<10?s:10):s-e.pageNumber<5?(n=s-9,o=s,n<1&&(n=1)):(n=e.pageNumber-4,o=e.pageNumber+5),n>1){const t=document.createElement("div");t.className="jss_page",t.innerHTML="<",t.title=1,e.pagination.children[1].appendChild(t)}for(let t=n;t<=o;t++){const s=document.createElement("div");s.className="jss_page",s.innerHTML=t,e.pagination.children[1].appendChild(s),e.pageNumber==t-1&&s.classList.add("jss_page_selected")}if(o",t.title=s,e.pagination.children[1].appendChild(t)}const r=function(e){const t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,(function(e,s){return void 0!==t[s]?t[s]:e}))};e.pagination.children[0].innerHTML=r(jSuites.translate("Showing page {0} of {1} entries"),e.pageNumber+1,s)}else e.pagination.children[0].innerHTML=jSuites.translate("No records found")}},i=function(e){const t=this,s=t.pageNumber;let r;r=1!=t.options.search&&1!=t.options.filters||!t.results?t.rows:t.results;const i=parseInt(t.options.pagination);null!=e&&-1!=e||(e=Math.ceil(r.length/i)-1),t.pageNumber=e;let a=e*i,c=e*i+i;for(c>r.length&&(c=r.length),a<0&&(a=0);t.tbody.firstChild;)t.tbody.removeChild(t.tbody.firstChild);for(let e=a;e0&&l.call(t),o.Aq.call(t),n.A.call(t,"onchangepage",t,e,s,t.options.pagination)},a=function(){const e=this;let t;return t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows.length:e.results.length,Math.ceil(t/e.options.pagination)}},657:function(e,t,s){s.d(t,{AH:function(){return m},Aq:function(){return u},G9:function(){return g},Jg:function(){return f},Lo:function(){return _},R5:function(){return B},Ub:function(){return A},at:function(){return w},c6:function(){return p},eO:function(){return v},ef:function(){return E},gE:function(){return d},gG:function(){return y},kA:function(){return h},kF:function(){return C},kV:function(){return D},sp:function(){return x},tW:function(){return j}});var n=s(805),o=s(296),r=s(978),l=s(911),i=s(530),a=s(689),c=s(392);const u=function(){const e=this;if(e.highlighted&&e.highlighted.length){const t=e.highlighted[e.highlighted.length-1].element,s=t.getAttribute("data-x"),n=e.content.getBoundingClientRect(),r=n.left,l=n.top,i=t.getBoundingClientRect(),a=i.left,c=i.top,u=i.width,d=i.height,p=a-r+e.content.scrollLeft+u-4,h=c-l+e.content.scrollTop+d-4;if(e.corner.style.top=h+"px",e.corner.style.left=p+"px",e.options.freezeColumns){const t=o.w.call(e);s>e.options.freezeColumns-1&&a-r+u0?s+(l-1):s,r=i>0?n+(i-1):n}else o=s,r=n;for(let e=s;e<=o;e++)t.headers[e]&&t.headers[e].classList.remove("selected");for(let e=n;e<=r;e++)t.rows[e]&&t.rows[e].element.classList.remove("selected")}}else s=0;return t.highlighted=[],t.selectedCell=null,t.corner.style.top="-2000px",t.corner.style.left="-2000px",1==e&&1==s&&n.A.call(t,"onblur",t),s},p=function(e,t,s){const n=e.getAttribute("data-x"),o=e.getAttribute("data-y");let r,l;t?(r=t.getAttribute("data-x"),l=t.getAttribute("data-y")):(r=n,l=o),m.call(this,n,o,r,l,s)},h=function(){const e=document.querySelectorAll(".jss_worksheet .copying");for(let t=0;t=l.headers.length&&(e=l.headers.length-1),t>=l.rows.length&&(t=l.rows.length-1),s>=l.headers.length&&(s=l.headers.length-1),o>=l.rows.length&&(o=l.rows.length-1);let i,a,c,d,p=null,m=null,f=null,g=null;parseInt(e)1&&(sa&&(a=s+o-1)),r&&(nd&&(d=n+r-1))}for(let e=c;e<=d;e++)"none"!=l.rows[e].element.style.display&&(null==f&&(f=e),g=e);for(let e=i;e<=a;e++)for(let t=c;t<=d;t++)l.options.columns&&l.options.columns[e]&&"hidden"==l.options.columns[e].type||(null==p&&(p=e),m=e);if(p||(p=0),m||(m=0),!1===n.A.call(l,"onbeforeselection",l,p,f,m,g,r))return!1;const y=l.resetSelection();l.selectedCell=[e,t,s,o],l.records[t][e]&&l.records[t][e].element.classList.add("highlight-selected");for(let e=i;e<=a;e++)for(let t=c;t<=d;t++)"none"!=l.rows[t].element.style.display&&"none"!=l.records[t][e].element.style.display&&(l.records[t][e].element.classList.add("highlight"),l.highlighted.push(l.records[t][e]));for(let e=p;e<=m;e++)l.options.columns&&l.options.columns[e]&&"hidden"==l.options.columns[e].type||!l.cols[e].colElement.style||"none"==l.cols[e].colElement.style.display||(l.records[f]&&l.records[f][e]&&l.records[f][e].element.classList.add("highlight-top"),l.records[g]&&l.records[g][e]&&l.records[g][e].element.classList.add("highlight-bottom"),l.headers[e].classList.add("selected"));for(let e=f;e<=g;e++)l.rows[e]&&"none"!=l.rows[e].element.style.display&&(l.records[e][p].element.classList.add("highlight-left"),l.records[e][m].element.classList.add("highlight-right"),l.rows[e].element.classList.add("selected"));l.selectedContainer=[p,f,m,g],0==y&&(n.A.call(l,"onfocus",l),h()),n.A.call(l,"onselection",l,p,f,m,g,r),u.call(l)},f=function(e){const t=this;if(!t.selectedCell)return[];const s=[];for(let n=Math.min(t.selectedCell[0],t.selectedCell[2]);n<=Math.max(t.selectedCell[0],t.selectedCell[2]);n++)e&&"none"==t.headers[n].style.display||s.push(n);return s},g=function(){const e=this;e.selectedCell&&e.updateSelectionFromCoords(e.selectedCell[0],e.selectedCell[1],e.selectedCell[2],e.selectedCell[3])},y=function(){const e=this;for(let t=0;t=n.selectedCell[1]&&t<=n.selectedCell[3]||s>=n.selectedCell[1]&&s<=n.selectedCell[3]))return void n.resetSelection()}else if(n.selectedCell&&(t>=n.selectedCell[0]&&t<=n.selectedCell[2]||s>=n.selectedCell[0]&&s<=n.selectedCell[2]))return void n.resetSelection()},B=function(e){const t=this;if(!t.selectedCell)return[];const s=[];for(let n=Math.min(t.selectedCell[1],t.selectedCell[3]);n<=Math.max(t.selectedCell[1],t.selectedCell[3]);n++)e&&"none"==t.rows[n].element.style.display||s.push(n);return s},A=function(){const e=this;e.selectedCell||(e.selectedCell=[]),e.selectedCell[0]=0,e.selectedCell[1]=0,e.selectedCell[2]=e.headers.length-1,e.selectedCell[3]=e.records.length-1,e.updateSelectionFromCoords(e.selectedCell[0],e.selectedCell[1],e.selectedCell[2],e.selectedCell[3])},_=function(){const e=this;return e.selectedCell?[Math.min(e.selectedCell[0],e.selectedCell[2]),Math.min(e.selectedCell[1],e.selectedCell[3]),Math.max(e.selectedCell[0],e.selectedCell[2]),Math.max(e.selectedCell[1],e.selectedCell[3])]:null},E=function(e){const t=this,s=_.call(t);if(!s)return[];const n=[];for(let o=s[1];o<=s[3];o++)for(let l=s[0];l<=s[2];l++)e?n.push((0,r.getCellNameFromCoords)(l,o)):n.push(t.records[o][l]);return n},v=function(){const e=this,t=_.call(e);if(!t)return"";const s=(0,r.getCellNameFromCoords)(t[0],t[1]),n=(0,r.getCellNameFromCoords)(t[2],t[3]);return s===n?e.options.worksheetName+"!"+s:e.options.worksheetName+"!"+s+":"+n},x=function(e,t){const s=_.call(this);return e>=s[0]&&e<=s[2]&&t>=s[1]&&t<=s[3]},D=function(){const e=_.call(this);return e?[e]:[]}},392:function(e,t,s){s.d(t,{Ar:function(){return d},ll:function(){return u},nK:function(){return c}});var n=s(978),o=s(530);const r=function(e,t){0!=t.options.editable?e.classList.remove("jtoolbar-disabled"):e.classList.add("jtoolbar-disabled")},l=function(){const e=[],t=this,s=function(){return o.eN.call(t)};e.push({content:"undo",onclick:function(){s().undo()}}),e.push({content:"redo",onclick:function(){s().redo()}}),e.push({content:"save",onclick:function(){const e=s();e&&e.download()}}),e.push({type:"divisor"}),e.push({type:"select",width:"120px",options:["Default","Verdana","Arial","Courier New"],render:function(e){return''+e+""},onchange:function(e,t,n,o,r){const l=s();let i=l.getSelected(!0);if(i){let e=r?o:"";l.setStyle(Object.fromEntries(i.map((function(t){return[t,"font-family: "+e]}))))}},updateState:function(e,t,n){r(n,s())}}),e.push({type:"select",width:"48px",content:"format_size",options:["x-small","small","medium","large","x-large"],render:function(e){return''+e+""},onchange:function(e,t,n,o){const r=s();let l=r.getSelected(!0);l&&r.setStyle(Object.fromEntries(l.map((function(e){return[e,"font-size: "+o]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({type:"select",options:["left","center","right","justify"],render:function(e){return'format_align_'+e+""},onchange:function(e,t,n,o){const r=s();let l=r.getSelected(!0);l&&r.setStyle(Object.fromEntries(l.map((function(e){return[e,"text-align: "+o]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({content:"format_bold",onclick:function(e,t,n){const o=s();let r=o.getSelected(!0);r&&o.setStyle(Object.fromEntries(r.map((function(e){return[e,"font-weight:bold"]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({type:"color",content:"format_color_text",k:"color",updateState:function(e,t,n){r(n,s())}}),e.push({type:"color",content:"format_color_fill",k:"background-color",updateState:function(e,t,n,o){r(n,s())}});let l=["top","middle","bottom"];return e.push({type:"select",options:["vertical_align_top","vertical_align_center","vertical_align_bottom"],render:function(e){return''+e+""},value:1,onchange:function(e,t,n,o,r){const i=s();let a=i.getSelected(!0);a&&i.setStyle(Object.fromEntries(a.map((function(e){return[e,"vertical-align: "+l[r]]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({content:"web",tooltip:jSuites.translate("Merge the selected cells"),onclick:function(){const e=s();if(e.selectedCell&&confirm(jSuites.translate("The merged cells will retain the value of the top-left cell only. Are you sure?"))){const t=[Math.min(e.selectedCell[0],e.selectedCell[2]),Math.min(e.selectedCell[1],e.selectedCell[3]),Math.max(e.selectedCell[0],e.selectedCell[2]),Math.max(e.selectedCell[1],e.selectedCell[3])];let s=(0,n.getCellNameFromCoords)(t[0],t[1]);if(e.records[t[1]][t[0]].element.getAttribute("data-merged"))e.removeMerge(s);else{let n=t[2]-t[0]+1,o=t[3]-t[1]+1;1===n&&1===o||e.setMerge(s,n,o)}}},updateState:function(e,t,n){r(n,s())}}),e.push({type:"select",options:["border_all","border_outer","border_inner","border_horizontal","border_vertical","border_left","border_top","border_right","border_bottom","border_clear"],columns:5,render:function(e){return''+e+""},right:!0,onchange:function(e,t,o,r){const l=s();if(l.selectedCell){const e=[Math.min(l.selectedCell[0],l.selectedCell[2]),Math.min(l.selectedCell[1],l.selectedCell[3]),Math.max(l.selectedCell[0],l.selectedCell[2]),Math.max(l.selectedCell[1],l.selectedCell[3])];let s=r;if(e){let o=t.thickness||1,r=t.color||"black";const i=t.style||"solid";"double"===i&&(o+=2);let a={},c=e[0],u=e[1],d=e[2],p=e[3];const h=function(e,t,n){let l=["","","",""];l[0]=("border_top"===s||"border_outer"===s)&&n===u||("border_inner"===s||"border_horizontal"===s)&&n>u||"border_all"===s?"border-top: "+o+"px "+i+" "+r:"border-top: ",l[1]="border_all"!==s&&"border_right"!==s&&"border_outer"!==s||t!==d?"border-right: ":"border-right: "+o+"px "+i+" "+r,l[2]="border_all"!==s&&"border_bottom"!==s&&"border_outer"!==s||n!==p?"border-bottom: ":"border-bottom: "+o+"px "+i+" "+r,l[3]=("border_left"===s||"border_outer"===s)&&t===c||("border_inner"===s||"border_vertical"===s)&&t>c||"border_all"===s?"border-left: "+o+"px "+i+" "+r:"border-left: ",a[e]=l.join(";")};for(let t=e[1];t<=e[3];t++)for(let s=e[0];s<=e[2];s++)h((0,n.getCellNameFromCoords)(s,t),s,t),l.records[t][s].element.getAttribute("data-merged")&&h((0,n.getCellNameFromCoords)(e[0],e[1]),s,t);Object.keys(a)&&l.setStyle(a)}}},onload:function(e,t){let s=document.createElement("div"),n=document.createElement("div");s.appendChild(n);let o=jSuites.color(n,{closeOnChange:!1,onchange:function(e,s){e.parentNode.children[1].style.color=s,t.color=s}}),r=document.createElement("i");r.classList.add("material-icons"),r.innerHTML="color_lens",r.onclick=function(){o.open()},s.appendChild(r),e.children[1].appendChild(s),n=document.createElement("div"),jSuites.picker(n,{type:"select",data:[1,2,3,4,5],render:function(e){return'
'},onchange:function(e,s,n,o){t.thickness=o},width:"50px"}),e.children[1].appendChild(n);const l=document.createElement("div");jSuites.picker(l,{type:"select",data:["solid","dotted","dashed","double"],render:function(e){return"double"===e?'
':'
'},onchange:function(e,s,n,o){t.style=o},width:"50px"}),e.children[1].appendChild(l),n=document.createElement("div"),n.style.flex="1",e.children[1].appendChild(n)},updateState:function(e,t,n){r(n,s())}}),e.push({type:"divisor"}),e.push({content:"fullscreen",tooltip:"Toggle Fullscreen",onclick:function(e,s,n){"fullscreen"===n.children[0].textContent?(t.fullscreen(!0),n.children[0].textContent="fullscreen_exit"):(t.fullscreen(!1),n.children[0].textContent="fullscreen")},updateState:function(e,t,s,n){!0===n.parent.config.fullscreen?s.children[0].textContent="fullscreen_exit":s.children[0].textContent="fullscreen"}}),e},i=function(e){const t=this,s=e.items;for(let e=0;e0&&(n.records[o][r-1].element.style.overflow="hidden");const l=function(t){const s=e.getBoundingClientRect(),n=document.createElement(t);return n.style.width=s.width+"px",n.style.height=s.height-2+"px",n.style.minHeight=s.height-2+"px",e.classList.add("editor"),e.innerHTML="",e.appendChild(n),n};if(1==e.classList.contains("readonly"));else if(n.edition=[n.records[o][r].element,n.records[o][r].element.innerHTML,r,o],n.options.columns&&n.options.columns[r]&&"object"==typeof n.options.columns[r].type)n.options.columns[r].type.openEditor(e,n.options.data[o][r],parseInt(r),parseInt(o),n,n.options.columns[r],s),dispatch.A.call(n,"oncreateeditor",n,e,parseInt(r),parseInt(o),null,n.options.columns[r]);else if(n.options.columns&&n.options.columns[r]&&"hidden"==n.options.columns[r].type);else if(n.options.columns&&n.options.columns[r]&&("checkbox"==n.options.columns[r].type||"radio"==n.options.columns[r].type)){const t=!e.children[0].checked;n.setValue(e,t),n.edition=null}else if(n.options.columns&&n.options.columns[r]&&"dropdown"==n.options.columns[r].type){let t,s=n.options.data[o][r];n.options.columns[r].multiple&&!Array.isArray(s)&&(s=s.split(";")),t="function"==typeof n.options.columns[r].filter?n.options.columns[r].filter(n.element,e,r,o,n.options.columns[r].source):n.options.columns[r].source;const i=[];if(t)for(let e=0;e=0;n--)if("none"!=s.records[n][e].element.style.display&&"none"!=s.rows[n].element.style.display){if(s.records[n][e].element.getAttribute("data-merged")&&s.records[n][e].element==s.records[t][e].element)continue;t=n;break}return t},upVisible=function(e,t){const s=this;let n,o;if(0==e?(n=parseInt(s.selectedCell[0]),o=parseInt(s.selectedCell[1])):(n=parseInt(s.selectedCell[2]),o=parseInt(s.selectedCell[3])),0==t){for(let e=0;e0&&upVisible.call(s,1,t?0:1):(s.selectedCell[1]>0&&upVisible.call(s,0,t?0:1),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),1==s.options.lazyLoading)if(0==s.selectedCell[1]||0==s.selectedCell[3])lazyLoading.wu.call(s,0),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]);else if(lazyLoading.AG.call(s))s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]);else{const e=parseInt(s.tbody.firstChild.getAttribute("data-y"));s.selectedCell[1]-e<30&&(lazyLoading.G_.call(s),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]))}else if(s.options.pagination>0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}internal.Rs.call(s,1)},rightGet=function(e,t){const s=this;e=parseInt(e),t=parseInt(t);for(let n=e+1;nn;e--)if("none"!=s.records[o][e].element.style.display){n=e;break}}else n=rightGet.call(s,n,o);0==e?(s.selectedCell[0]=n,s.selectedCell[1]=o):(s.selectedCell[2]=n,s.selectedCell[3]=o)},right=function(e,t){const s=this;e?s.selectedCell[2]o;e--)if("none"!=s.records[e][n].element.style.display&&"none"!=s.rows[e].element.style.display){o=e;break}}else o=downGet.call(s,n,o);0==e?(s.selectedCell[0]=n,s.selectedCell[1]=o):(s.selectedCell[2]=n,s.selectedCell[3]=o)},down=function(e,t){const s=this;if(e?s.selectedCell[3]0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}internal.Rs.call(s,3)},leftGet=function(e,t){const s=this;e=parseInt(e),t=parseInt(t);for(let n=e-1;n>=0;n--)if("none"!=s.records[t][n].element.style.display){if(s.records[t][n].element.getAttribute("data-merged")&&s.records[t][n].element==s.records[t][e].element)continue;e=n;break}return e},leftVisible=function(e,t){const s=this;let n,o;if(0==e?(n=parseInt(s.selectedCell[0]),o=parseInt(s.selectedCell[1])):(n=parseInt(s.selectedCell[2]),o=parseInt(s.selectedCell[3])),0==t){for(let e=0;e0&&leftVisible.call(s,1,t?0:1):(s.selectedCell[0]>0&&leftVisible.call(s,0,t?0:1),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),internal.Rs.call(s,0)},first=function(e,t){const s=this;if(e?t?s.selectedCell[3]=0:leftVisible.call(s,1,0):(t?s.selectedCell[1]=0:leftVisible.call(s,0,0),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),1!=s.options.lazyLoading||0!=s.selectedCell[1]&&0!=s.selectedCell[3]){if(s.options.pagination>0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}}else lazyLoading.wu.call(s,0);s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),internal.Rs.call(s,1)},last=function(e,t){const s=this;if(e?t?s.selectedCell[3]=s.records.length-1:rightVisible.call(s,1,0):(t?s.selectedCell[1]=s.records.length-1:rightVisible.call(s,0,0),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),1!=s.options.lazyLoading||s.selectedCell[1]!=s.records.length-1&&s.selectedCell[3]!=s.records.length-1){if(s.options.pagination>0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}}else lazyLoading.wu.call(s,-1);s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),internal.Rs.call(s,3)};var merges=__webpack_require__(910),selection=__webpack_require__(657),helpers=__webpack_require__(978),internalHelpers=__webpack_require__(689);const copy=function(e,t,s,n,o,r,l){const i=this;t||(t="\t");const a=new RegExp(t,"ig"),c=[];let u=[],d=[];const p=[],h=[],m=i.options.data[0].length,f=i.options.data.length;let g="",y=!1,b="",C="",j=0,w=0,B=0,A=0,_=!0;for(let t=0;t0){g=i.options.nestedHeaders;for(let e=0;e1&Number.isInteger(l/a)){const e=l/a;if(r){const t=[];for(let s=0;s1&Number.isInteger(i/c)){const e=i/c;if(r){const t=[];for(let s=0;s"none"===e.style.display)).length,f=d+m+s[0].length,g=n.headers.length;f>g&&(n.skipUpdateTableReferences=!0,n.insertColumn(f-g));const y=n.rows.slice(p).filter((e=>"none"===e.element.style.display)).length,b=p+y+s.length,C=n.rows.length;for(b>C&&(n.skipUpdateTableReferences=!0,n.insertRow(b-C)),n.skipUpdateTableReferences&&(n.skipUpdateTableReferences=!1,internal.o8.call(n));h=s[l];){for(o=0,d=parseInt(e);null!=h[o];){const e=internal.k9.call(n,d,p,h[o]);if(i.push(e),internal.xF.call(n,d,p,i),r&&r[u]){const e=(0,internalHelpers.t3)([d,p]);a[e]=r[u],c[e]=n.getStyle(e),n.records[p][d].element.setAttribute("style",r[u]),u++}if(o++,null!=h[o]){if(d>=n.headers.length-1){if(0==n.options.allowInsertColumn)break;n.insertColumn()}d=rightGet.call(n,d,p)}}if(l++,s[l]){if(p>=n.rows.length-1){if(0==n.options.allowInsertRow)break;n.insertRow()}p=downGet.call(n,e,p)}}selection.AH.call(n,e,t,d,p),utils_history.Dh.call(n,{action:"setValue",records:i,selection:n.selectedCell,newStyle:a,oldStyle:c}),internal.am.call(n);const j=[];for(let n=0;nt&&(t=s.length)}return e.options.minDimensions&&e.options.minDimensions[0]>t&&(t=e.options.minDimensions[0]),t},createCellHeader=function(e){const t=this,s=t.options.columns&&t.options.columns[e]&&t.options.columns[e].width||t.options.defaultColWidth||100,n=t.options.columns&&t.options.columns[e]&&t.options.columns[e].align||t.options.defaultColAlign||"center";t.headers[e]=document.createElement("td"),t.headers[e].textContent=t.options.columns&&t.options.columns[e]&&t.options.columns[e].title||(0,helpers.getColumnName)(e),t.headers[e].setAttribute("data-x",e),t.headers[e].style.textAlign=n,t.options.columns&&t.options.columns[e]&&t.options.columns[e].title&&t.headers[e].setAttribute("title",t.headers[e].innerText),t.options.columns&&t.options.columns[e]&&t.options.columns[e].id&&t.headers[e].setAttribute("id",t.options.columns[e].id);const o=document.createElement("col");o.setAttribute("width",s),t.cols[e]={colElement:o,x:e},t.options.columns&&t.options.columns[e]&&"hidden"==t.options.columns[e].type&&(t.headers[e].style.display="none",o.style.display="none")},insertColumn=function(e,t,s,n){const o=this;if(0!=o.options.allowInsertColumn){let r,l=[];Array.isArray(e)?(r=1,e&&(l=e)):r="number"==typeof e?e:1,s=!!s;const i=Math.max(o.options.columns.length,...o.options.data.map((function(e){return e.length})))-1;(null==t||t>=parseInt(i)||t<0)&&(t=i),n||(n=[]);for(let e=0;e0&&merges.Lt.call(o,t,s).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;o.destroyMerge()}const c=s?t:t+1;o.options.columns=(0,internalHelpers.Hh)(o.options.columns,c,n);const u=o.headers.splice(c),d=o.cols.splice(c),p=[],h=[],m=[],f=[],g=[];for(let e=c;e0&&o.options.nestedHeaders[0]&&o.options.nestedHeaders[0][0])for(let e=0;e0){let n;if(n=e>t?1:0,merges.Lt.call(s,e).length||merges.Lt.call(s,t,n).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;s.destroyMerge()}}if((e=parseInt(e))>(t=parseInt(t))){s.headerContainer.insertBefore(s.headers[e],s.headers[t]),s.colgroupContainer.insertBefore(s.cols[e].colElement,s.cols[t].colElement);for(let n=0;n1){if(null==e){const n=s.getSelectedColumns(!0);n.length?(e=parseInt(n[0]),t=parseInt(n.length)):(e=s.headers.length-1,t=1)}const n=s.options.data[0].length-1;(null==e||e>n||e<0)&&(e=n),t||(t=1),t>s.options.data[0].length-e&&(t=s.options.data[0].length-e);const o=[];for(let s=0;s-1){let n=!1;if(s.options.mergeCells&&Object.keys(s.options.mergeCells).length>0)for(let o=e;o0&&s.options.nestedHeaders[0]&&s.options.nestedHeaders[0][0])for(let e=0;en+1&&(t.filter.children[n+1].style.display="");for(let e=0;en+1&&(t.filter.children[n+1].style.display="none");for(let e=0;e=parseInt(l)||t<0)&&(t=l);const i=[];for(let e=0;e0&&merges.D0.call(n,t,s).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;n.destroyMerge()}if(1==n.options.search){if(n.results&&n.results.length!=n.rows.length){if(!confirm(jSuites.translate("This action will clear your search results. Are you sure?")))return!1;n.resetSearch()}n.results=null}const a=s?t:t+1,c=n.records.splice(a),u=n.options.data.splice(a),d=n.rows.splice(a),p=[],h=[],m=[];for(let e=a;e=0&&n.tbody.insertBefore(s.element,d[0].element):Array.prototype.indexOf.call(n.tbody.children,n.rows[t].element)>=0&&n.tbody.appendChild(s.element),p.push(n.records[e]),h.push(n.options.data[e]),m.push(s)}Array.prototype.push.apply(n.records,c),Array.prototype.push.apply(n.options.data,u),Array.prototype.push.apply(n.rows,d);for(let e=a;e0&&n.page(n.pageNumber),utils_history.Dh.call(n,{action:"insertRow",rowNumber:t,numOfRows:o,insertBefore:s,rowRecords:p,rowData:h,rowNode:m}),internal.o8.call(n),dispatch.A.call(n,"oninsertrow",n,i)}},moveRow=function(e,t,s){const n=this;if(n.options.mergeCells&&Object.keys(n.options.mergeCells).length>0){let s;if(s=e>t?1:0,merges.D0.call(n,e).length||merges.D0.call(n,t,s).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;n.destroyMerge()}}if(1==n.options.search){if(n.results&&n.results.length!=n.rows.length){if(!confirm(jSuites.translate("This action will clear your search results. Are you sure?")))return!1;n.resetSearch()}n.results=null}s||(Array.prototype.indexOf.call(n.tbody.children,n.rows[t].element)>=0?e>t?n.tbody.insertBefore(n.rows[e].element,n.rows[t].element):n.tbody.insertBefore(n.rows[e].element,n.rows[t].element.nextSibling):n.tbody.removeChild(n.rows[e].element)),n.rows.splice(t,0,n.rows.splice(e,1)[0]),n.records.splice(t,0,n.records.splice(e,1)[0]),n.options.data.splice(t,0,n.options.data.splice(e,1)[0]);const o=Math.min(e,t),r=Math.max(e,t);for(let e=o;e<=r;e++)n.rows[e].y=e;for(let e=o;e<=r;e++)for(let t=0;t0&&n.tbody.children.length!=n.options.pagination&&n.page(n.pageNumber),utils_history.Dh.call(n,{action:"moveRow",oldValue:e,newValue:t}),internal.o8.call(n),dispatch.A.call(n,"onmoverow",n,parseInt(e),parseInt(t),1)},deleteRow=function(e,t){const s=this;if(0!=s.options.allowDeleteRow)if(1==s.options.allowDeletingAllRows||s.options.data.length>1){if(null==e){const n=selection.R5.call(s);0===n.length?(e=s.options.data.length-1,t=1):(e=n[0],t=n.length)}let n=s.options.data.length-1;(null==e||e>n||e<0)&&(e=n),t||(t=1),e+t>=s.options.data.length&&(t=s.options.data.length-e);const o=[];for(let s=0;s-1){let r=!1;if(s.options.mergeCells&&Object.keys(s.options.mergeCells).length>0)for(let n=e;n=0&&(s.rows[n].element.className="",s.rows[n].element.parentNode.removeChild(s.rows[n].element));const l=s.records.splice(e,t),i=s.options.data.splice(e,t),a=s.rows.splice(e,t);for(let t=e;t0&&s.tbody.children.length!=s.options.pagination&&s.page(s.pageNumber),selection.at.call(s,1,e,e+t-1),utils_history.Dh.call(s,{action:"deleteRow",rowNumber:e,numOfRows:t,insertBefore:1,rowRecords:l,rowData:i,rowNode:a}),internal.o8.call(s),dispatch.A.call(s,"ondeleterow",s,o)}}else console.error("Jspreadsheet: It is not possible to delete the last row")},getHeight=function(e){const t=this;let s;if(void 0===e){s=[];for(let e=0;e0&&(s||(s=n.rows[e].element.getAttribute("height"))||(s=n.rows[e].element.getBoundingClientRect().height),t=parseInt(t),n.rows[e].element.style.height=t+"px",n.options.rows||(n.options.rows=[]),n.options.rows[e]||(n.options.rows[e]={}),n.options.rows[e].height=t,utils_history.Dh.call(n,{action:"setHeight",row:e,oldValue:s,newValue:t}),dispatch.A.call(n,"onresizerow",n,e,t,s),selection.Aq.call(n))},showRow=function(e){const t=this;Array.isArray(e)||(e=[e]),e.forEach((function(e){t.rows[e].element.style.display=""}))},hideRow=function(e){const t=this;Array.isArray(e)||(e=[e]),e.forEach((function(e){t.rows[e].element.style.display="none"}))},getRowData=function(e,t){return t?this.records[e].map((function(e){return e.element.innerHTML})):this.options.data[e]},setRowData=function(e,t,s){const n=this;for(let o=0;o .jtabs-content > .jtabs-selected"))),"THEAD"==n.tagName?t=1:"TBODY"==n.tagName&&(t=2),n.parentNode&&(s||e(n.parentNode))}(e),[s,t]},mouseUpControls=function(e){if(libraryBase.jspreadsheet.current)if(libraryBase.jspreadsheet.current.resizing){if(libraryBase.jspreadsheet.current.resizing.column){const e=parseInt(libraryBase.jspreadsheet.current.cols[libraryBase.jspreadsheet.current.resizing.column].colElement.getAttribute("width")),t=libraryBase.jspreadsheet.current.getSelectedColumns();if(t.length>1){const s=[];for(let e=0;e0&&(selection.kF.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selection[0],libraryBase.jspreadsheet.current.selection[libraryBase.jspreadsheet.current.selection.length-1]),selection.gG.call(libraryBase.jspreadsheet.current)));libraryBase.jspreadsheet.timeControl&&(clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=null),libraryBase.jspreadsheet.isMouseAction=!1},mouseDownControls=function(e){let t;t=(e=e||window.event).buttons?e.buttons:e.button?e.button:e.which;const s=getElement(e.target);if(s[0]?libraryBase.jspreadsheet.current!=s[0].jssWorksheet&&(libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.edition&&closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0),libraryBase.jspreadsheet.current.resetSelection()),libraryBase.jspreadsheet.current=s[0].jssWorksheet):libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.edition&&closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0),e.target.classList.contains("jss_object")||(selection.gE.call(libraryBase.jspreadsheet.current,!0),libraryBase.jspreadsheet.current=null)),libraryBase.jspreadsheet.current&&1==t){if(e.target.classList.contains("jss_selectall"))libraryBase.jspreadsheet.current&&selection.Ub.call(libraryBase.jspreadsheet.current);else if(e.target.classList.contains("jss_corner"))0!=libraryBase.jspreadsheet.current.options.editable&&(libraryBase.jspreadsheet.current.selectedCorner=!0);else{if(1==s[1]){const t=e.target.getAttribute("data-x");if(t){const s=e.target.getBoundingClientRect();if(0!=libraryBase.jspreadsheet.current.options.columnResize&&s.width-e.offsetX<6){libraryBase.jspreadsheet.current.resizing={mousePosition:e.pageX,column:t,width:s.width},libraryBase.jspreadsheet.current.headers[t].classList.add("resizing");for(let e=0;e"==e.target.textContent?libraryBase.jspreadsheet.current.page(e.target.getAttribute("title")-1):libraryBase.jspreadsheet.current.page(e.target.textContent-1))}libraryBase.jspreadsheet.current.edition?libraryBase.jspreadsheet.isMouseAction=!1:libraryBase.jspreadsheet.isMouseAction=!0}else libraryBase.jspreadsheet.isMouseAction=!1},mouseMoveControls=function(e){let t;if(t=(e=e||window.event).buttons?e.buttons:e.button?e.button:e.which,t||(libraryBase.jspreadsheet.isMouseAction=!1),libraryBase.jspreadsheet.current)if(1==libraryBase.jspreadsheet.isMouseAction){if(libraryBase.jspreadsheet.current.resizing)if(libraryBase.jspreadsheet.current.resizing.column){const t=e.pageX-libraryBase.jspreadsheet.current.resizing.mousePosition;if(libraryBase.jspreadsheet.current.resizing.width+t>0){const e=libraryBase.jspreadsheet.current.resizing.width+t;libraryBase.jspreadsheet.current.cols[libraryBase.jspreadsheet.current.resizing.column].colElement.setAttribute("width",e),selection.Aq.call(libraryBase.jspreadsheet.current)}}else{const t=e.pageY-libraryBase.jspreadsheet.current.resizing.mousePosition;if(libraryBase.jspreadsheet.current.resizing.height+t>0){const e=libraryBase.jspreadsheet.current.resizing.height+t;libraryBase.jspreadsheet.current.rows[libraryBase.jspreadsheet.current.resizing.row].element.setAttribute("height",e),selection.Aq.call(libraryBase.jspreadsheet.current)}}else if(libraryBase.jspreadsheet.current.dragging)if(libraryBase.jspreadsheet.current.dragging.column){const t=e.target.getAttribute("data-x");if(t)if(merges.Lt.call(libraryBase.jspreadsheet.current,t).length)console.error("Jspreadsheet: This column is part of a merged cell.");else{for(let e=0;ee.offsetX?(libraryBase.jspreadsheet.current.dragging.columne.offsetY?e.target.parentNode.nextSibling:e.target.parentNode;libraryBase.jspreadsheet.current.dragging.element!=t&&(e.target.parentNode.parentNode.insertBefore(libraryBase.jspreadsheet.current.dragging.element,t),libraryBase.jspreadsheet.current.dragging.destination=Array.prototype.indexOf.call(libraryBase.jspreadsheet.current.dragging.element.parentNode.children,libraryBase.jspreadsheet.current.dragging.element))}}}else{const t=e.target.getAttribute("data-x"),s=e.target.getAttribute("data-y"),n=e.target.getBoundingClientRect();libraryBase.jspreadsheet.current.cursor&&(libraryBase.jspreadsheet.current.cursor.style.cursor="",libraryBase.jspreadsheet.current.cursor=null),e.target.parentNode.parentNode&&e.target.parentNode.parentNode.className&&(e.target.parentNode.parentNode.classList.contains("resizable")&&(e.target&&t&&!s&&n.width-(e.clientX-n.left)<6?(libraryBase.jspreadsheet.current.cursor=e.target,libraryBase.jspreadsheet.current.cursor.style.cursor="col-resize"):e.target&&!t&&s&&n.height-(e.clientY-n.top)<6&&(libraryBase.jspreadsheet.current.cursor=e.target,libraryBase.jspreadsheet.current.cursor.style.cursor="row-resize")),e.target.parentNode.parentNode.classList.contains("draggable")&&(e.target&&!t&&s&&n.width-(e.clientX-n.left)<6||e.target&&t&&!s&&n.height-(e.clientY-n.top)<6)&&(libraryBase.jspreadsheet.current.cursor=e.target,libraryBase.jspreadsheet.current.cursor.style.cursor="move"))}},updateCopySelection=function(e,t){const s=this;selection.gG.call(s);const n=s.selectedContainer[0],o=s.selectedContainer[1],r=s.selectedContainer[2],l=s.selectedContainer[3];if(null!=e&&null!=t){let i,a,c,u;e-r>0?(i=parseInt(r)+1,a=parseInt(e)):(i=parseInt(e),a=parseInt(n)-1),t-l>0?(c=parseInt(l)+1,u=parseInt(t)):(c=parseInt(t),u=parseInt(o)-1),a-i<=u-c?(i=parseInt(n),a=parseInt(r)):(c=parseInt(o),u=parseInt(l));for(let e=c;e<=u;e++)for(let t=i;t<=a;t++)s.records[e][t]&&"none"!=s.rows[e].element.style.display&&"none"!=s.records[e][t].element.style.display&&(s.records[e][t].element.classList.add("selection"),s.records[c][t].element.classList.add("selection-top"),s.records[u][t].element.classList.add("selection-bottom"),s.records[e][i].element.classList.add("selection-left"),s.records[e][a].element.classList.add("selection-right"),s.selection.push(s.records[e][t].element))}},mouseOverControls=function(e){let t;if(t=(e=e||window.event).buttons?e.buttons:e.button?e.button:e.which,t||(libraryBase.jspreadsheet.isMouseAction=!1),libraryBase.jspreadsheet.current&&1==libraryBase.jspreadsheet.isMouseAction){const t=getElement(e.target);if(t[0]){if(libraryBase.jspreadsheet.current!=t[0].jssWorksheet&&libraryBase.jspreadsheet.current)return!1;let s=e.target.getAttribute("data-x");const n=e.target.getAttribute("data-y");if(libraryBase.jspreadsheet.current.resizing||libraryBase.jspreadsheet.current.dragging);else{if(1==t[1]&&libraryBase.jspreadsheet.current.selectedHeader){s=e.target.getAttribute("data-x");const t=libraryBase.jspreadsheet.current.selectedHeader,n=s;selection.AH.call(libraryBase.jspreadsheet.current,t,0,n,libraryBase.jspreadsheet.current.options.data.length-1,e)}if(2==t[1])if(e.target.classList.contains("jss_row")){if(libraryBase.jspreadsheet.current.selectedRow){const t=libraryBase.jspreadsheet.current.selectedRow,s=n;selection.AH.call(libraryBase.jspreadsheet.current,0,t,libraryBase.jspreadsheet.current.options.data[0].length-1,s,e)}}else libraryBase.jspreadsheet.current.edition||s&&n&&(libraryBase.jspreadsheet.current.selectedCorner?updateCopySelection.call(libraryBase.jspreadsheet.current,s,n):libraryBase.jspreadsheet.current.selectedCell&&selection.AH.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selectedCell[0],libraryBase.jspreadsheet.current.selectedCell[1],s,n,e))}}}libraryBase.jspreadsheet.timeControl&&(clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=null)},doubleClickControls=function(e){if(libraryBase.jspreadsheet.current)if(e.target.classList.contains("jss_corner")){if(libraryBase.jspreadsheet.current.highlighted.length>0){const e=libraryBase.jspreadsheet.current.highlighted[0].element.getAttribute("data-x"),t=parseInt(libraryBase.jspreadsheet.current.highlighted[libraryBase.jspreadsheet.current.highlighted.length-1].element.getAttribute("data-y"))+1,s=libraryBase.jspreadsheet.current.highlighted[libraryBase.jspreadsheet.current.highlighted.length-1].element.getAttribute("data-x"),n=libraryBase.jspreadsheet.current.records.length-1;selection.kF.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][e].element,libraryBase.jspreadsheet.current.records[n][s].element)}}else if(e.target.classList.contains("jss_column_filter")){const t=e.target.getAttribute("data-x");filter.N$.call(libraryBase.jspreadsheet.current,t)}else{const t=getElement(e.target);if(1==t[1]&&0!=libraryBase.jspreadsheet.current.options.columnSorting){const t=e.target.getAttribute("data-x");t&&libraryBase.jspreadsheet.current.orderBy(parseInt(t))}if(2==t[1]&&0!=libraryBase.jspreadsheet.current.options.editable&&!libraryBase.jspreadsheet.current.edition){const t=function(e){if(e.parentNode){const s=e.getAttribute("data-x"),n=e.getAttribute("data-y");return s&&n?e:t(e.parentNode)}},s=t(e.target);s&&s.classList.contains("highlight")&&openEditor.call(libraryBase.jspreadsheet.current,s,void 0,e)}}},pasteControls=function(e){libraryBase.jspreadsheet.current&&libraryBase.jspreadsheet.current.selectedCell&&(libraryBase.jspreadsheet.current.edition||0!=libraryBase.jspreadsheet.current.options.editable&&(e&&e.clipboardData?(paste.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selectedCell[0],libraryBase.jspreadsheet.current.selectedCell[1],e.clipboardData.getData("text")),e.preventDefault()):window.clipboardData&&paste.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selectedCell[0],libraryBase.jspreadsheet.current.selectedCell[1],window.clipboardData.getData("text"))))},getRole=function(e){if(e.classList.contains("jss_selectall"))return"select-all";if(e.classList.contains("jss_corner"))return"fill-handle";let t=e;for(;!t.classList.contains("jss_spreadsheet");){if(t.classList.contains("jss_row"))return"row";if(t.classList.contains("jss_nested"))return"nested";if(t.classList.contains("jtabs-headers"))return"tabs";if(t.classList.contains("jtoolbar"))return"toolbar";if(t.classList.contains("jss_pagination"))return"pagination";if("TBODY"===t.tagName)return"cell";if("TFOOT"===t.tagName)return 0===getElementIndex(e)?"grid":"footer";if("THEAD"===t.tagName)return"header";t=t.parentElement}return"applications"},defaultContextMenu=function(e,t,s,n){const o=[];if("header"===n&&(0!=e.options.allowInsertColumn&&o.push({title:jSuites.translate("Insert a new column before"),onclick:function(){e.insertColumn(1,parseInt(t),1)}}),0!=e.options.allowInsertColumn&&o.push({title:jSuites.translate("Insert a new column after"),onclick:function(){e.insertColumn(1,parseInt(t),0)}}),0!=e.options.allowDeleteColumn&&o.push({title:jSuites.translate("Delete selected columns"),onclick:function(){e.deleteColumn(e.getSelectedColumns().length?void 0:parseInt(t))}}),0!=e.options.allowRenameColumn&&o.push({title:jSuites.translate("Rename this column"),onclick:function(){const s=e.getHeader(t),n=prompt(jSuites.translate("Column name"),s);e.setHeader(t,n)}}),0!=e.options.columnSorting&&(o.push({type:"line"}),o.push({title:jSuites.translate("Order ascending"),onclick:function(){e.orderBy(t,0)}}),o.push({title:jSuites.translate("Order descending"),onclick:function(){e.orderBy(t,1)}}))),"row"!==n&&"cell"!==n||(0!=e.options.allowInsertRow&&(o.push({title:jSuites.translate("Insert a new row before"),onclick:function(){e.insertRow(1,parseInt(s),1)}}),o.push({title:jSuites.translate("Insert a new row after"),onclick:function(){e.insertRow(1,parseInt(s))}})),0!=e.options.allowDeleteRow&&o.push({title:jSuites.translate("Delete selected rows"),onclick:function(){e.deleteRow(e.getSelectedRows().length?void 0:parseInt(s))}})),"cell"===n&&0!=e.options.allowComments){o.push({type:"line"});const n=e.records[s][t].element.getAttribute("title")||"";o.push({title:jSuites.translate(n?"Edit comments":"Add comments"),onclick:function(){const o=prompt(jSuites.translate("Comments"),n);o&&e.setComments((0,helpers.getCellNameFromCoords)(t,s),o)}}),n&&o.push({title:jSuites.translate("Clear comments"),onclick:function(){e.setComments((0,helpers.getCellNameFromCoords)(t,s),"")}})}return 0!==o.length&&o.push({type:"line"}),"header"!==n&&"row"!==n&&"cell"!==n||(o.push({title:jSuites.translate("Copy")+"...",shortcut:"Ctrl + C",onclick:function(){copy.call(e,!0)}}),navigator&&navigator.clipboard&&o.push({title:jSuites.translate("Paste")+"...",shortcut:"Ctrl + V",onclick:function(){e.selectedCell&&navigator.clipboard.readText().then((function(t){t&&paste.call(e,e.selectedCell[0],e.selectedCell[1],t)}))}})),0!=e.parent.config.allowExport&&o.push({title:jSuites.translate("Save as")+"...",shortcut:"Ctrl + S",onclick:function(){e.download()}}),0!=e.parent.config.about&&o.push({title:jSuites.translate("About"),onclick:function(){void 0===e.parent.config.about||!0===e.parent.config.about?alert(version.print()):alert(e.parent.config.about)}}),o},getElementIndex=function(e){const t=e.parentElement.children;for(let s=0;sparseInt(libraryBase.jspreadsheet.current.selectedCell[2])||oparseInt(libraryBase.jspreadsheet.current.selectedCell[3]))&&selection.AH.call(libraryBase.jspreadsheet.current,n,o,n,o,e)}else if("row"===s||"header"===s)"row"===s?o=e.target.getAttribute("data-y"):n=e.target.getAttribute("data-x"),(!libraryBase.jspreadsheet.current.selectedCell||nparseInt(libraryBase.jspreadsheet.current.selectedCell[2])||oparseInt(libraryBase.jspreadsheet.current.selectedCell[3]))&&selection.AH.call(libraryBase.jspreadsheet.current,n,o,n,o,e);else if("nested"===s){const t=e.target.getAttribute("data-column").split(",");n=getElementIndex(e.target)-1,o=getElementIndex(e.target.parentElement),libraryBase.jspreadsheet.current.selectedCell&&t[0]==parseInt(libraryBase.jspreadsheet.current.selectedCell[0])&&t[t.length-1]==parseInt(libraryBase.jspreadsheet.current.selectedCell[2])&&null==libraryBase.jspreadsheet.current.selectedCell[1]&&null==libraryBase.jspreadsheet.current.selectedCell[3]||selection.AH.call(libraryBase.jspreadsheet.current,t[0],null,t[t.length-1],null,e)}else"select-all"===s?selection.Ub.call(libraryBase.jspreadsheet.current):"tabs"===s?n=getElementIndex(e.target):"footer"===s&&(n=getElementIndex(e.target)-1,o=getElementIndex(e.target.parentElement));let r=defaultContextMenu(libraryBase.jspreadsheet.current,parseInt(n),parseInt(o),s);if("function"==typeof t.config.contextMenu){const l=t.config.contextMenu(libraryBase.jspreadsheet.current,n,o,e,r,s,n,o);if(l)r=l;else if(!1===l)return}"object"==typeof t.plugins&&Object.entries(t.plugins).forEach((function([,t]){if("function"==typeof t.contextMenu){const l=t.contextMenu(libraryBase.jspreadsheet.current,null!==n?parseInt(n):null,null!==o?parseInt(o):null,e,r,s,null!==n?parseInt(n):null,null!==o?parseInt(o):null);l&&(r=l)}})),t.contextMenu.contextmenu.open(e,r),e.preventDefault()}}},touchStartControls=function(e){const t=getElement(e.target);if(t[0]?libraryBase.jspreadsheet.current!=t[0].jssWorksheet&&(libraryBase.jspreadsheet.current&&libraryBase.jspreadsheet.current.resetSelection(),libraryBase.jspreadsheet.current=t[0].jssWorksheet):libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.resetSelection(),libraryBase.jspreadsheet.current=null),libraryBase.jspreadsheet.current&&!libraryBase.jspreadsheet.current.edition){const t=e.target.getAttribute("data-x"),s=e.target.getAttribute("data-y");t&&s&&(selection.AH.call(libraryBase.jspreadsheet.current,t,s,void 0,void 0,e),libraryBase.jspreadsheet.timeControl=setTimeout((function(){"color"==libraryBase.jspreadsheet.current.options.columns[t].type?libraryBase.jspreadsheet.tmpElement=null:libraryBase.jspreadsheet.tmpElement=e.target,openEditor.call(libraryBase.jspreadsheet.current,e.target,!1,e)}),500))}},touchEndControls=function(e){libraryBase.jspreadsheet.timeControl&&(clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=null,libraryBase.jspreadsheet.tmpElement&&"INPUT"==libraryBase.jspreadsheet.tmpElement.children[0].tagName&&libraryBase.jspreadsheet.tmpElement.children[0].focus(),libraryBase.jspreadsheet.tmpElement=null)},cutControls=function(e){libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.edition||(copy.call(libraryBase.jspreadsheet.current,!0,void 0,void 0,void 0,void 0,!0),0!=libraryBase.jspreadsheet.current.options.editable&&libraryBase.jspreadsheet.current.setValue(libraryBase.jspreadsheet.current.highlighted.map((function(e){return e.element})),"")))},copyControls=function(e){libraryBase.jspreadsheet.current&©Controls.enabled&&(libraryBase.jspreadsheet.current.edition||copy.call(libraryBase.jspreadsheet.current,!0))},validLetter=function(e){return e.match(/([\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC-\u0400-\u04FF']+)/g)?1:0},keyDownControls=function(e){if(libraryBase.jspreadsheet.current){if(libraryBase.jspreadsheet.current.edition)if(27==e.which)libraryBase.jspreadsheet.current.edition&&closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!1),e.preventDefault();else if(13==e.which)if(libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&"calendar"==libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].type)closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0);else if(libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&"dropdown"==libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].type);else if((1==libraryBase.jspreadsheet.current.options.wordWrap||libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&1==libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].wordWrap||libraryBase.jspreadsheet.current.options.data[libraryBase.jspreadsheet.current.edition[3]][libraryBase.jspreadsheet.current.edition[2]]&&libraryBase.jspreadsheet.current.options.data[libraryBase.jspreadsheet.current.edition[3]][libraryBase.jspreadsheet.current.edition[2]].length>200)&&e.altKey){const e=libraryBase.jspreadsheet.current.edition[0].children[0];let t=libraryBase.jspreadsheet.current.edition[0].children[0].value;const s=e.selectionStart;t=t.slice(0,s)+"\n"+t.slice(s),e.value=t,e.focus(),e.selectionStart=s+1,e.selectionEnd=s+1}else libraryBase.jspreadsheet.current.edition[0].children[0].blur();else 9==e.which&&(libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&["calendar","html"].includes(libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].type)?closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0):libraryBase.jspreadsheet.current.edition[0].children[0].blur());if(!libraryBase.jspreadsheet.current.edition&&libraryBase.jspreadsheet.current.selectedCell)if(37==e.which)left.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(39==e.which)right.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(38==e.which)up.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(40==e.which)down.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(36==e.which)first.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(35==e.which)last.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(46==e.which||8==e.which)0!=libraryBase.jspreadsheet.current.options.editable&&(libraryBase.jspreadsheet.current.selectedRow?0!=libraryBase.jspreadsheet.current.options.allowDeleteRow&&confirm(jSuites.translate("Are you sure to delete the selected rows?"))&&libraryBase.jspreadsheet.current.deleteRow():libraryBase.jspreadsheet.current.selectedHeader?0!=libraryBase.jspreadsheet.current.options.allowDeleteColumn&&confirm(jSuites.translate("Are you sure to delete the selected columns?"))&&libraryBase.jspreadsheet.current.deleteColumn():libraryBase.jspreadsheet.current.setValue(libraryBase.jspreadsheet.current.highlighted.map((function(e){return e.element})),""));else if(13==e.which)e.shiftKey?up.call(libraryBase.jspreadsheet.current):(0!=libraryBase.jspreadsheet.current.options.allowInsertRow&&0!=libraryBase.jspreadsheet.current.options.allowManualInsertRow&&libraryBase.jspreadsheet.current.selectedCell[1]==libraryBase.jspreadsheet.current.options.data.length-1&&libraryBase.jspreadsheet.current.insertRow(),down.call(libraryBase.jspreadsheet.current)),e.preventDefault();else if(9==e.which)e.shiftKey?left.call(libraryBase.jspreadsheet.current):(0!=libraryBase.jspreadsheet.current.options.allowInsertColumn&&0!=libraryBase.jspreadsheet.current.options.allowManualInsertColumn&&libraryBase.jspreadsheet.current.selectedCell[0]==libraryBase.jspreadsheet.current.options.data[0].length-1&&libraryBase.jspreadsheet.current.insertColumn(),right.call(libraryBase.jspreadsheet.current)),e.preventDefault();else if(!e.ctrlKey&&!e.metaKey||e.shiftKey){if(libraryBase.jspreadsheet.current.selectedCell&&0!=libraryBase.jspreadsheet.current.options.editable){const t=libraryBase.jspreadsheet.current.selectedCell[1],s=libraryBase.jspreadsheet.current.selectedCell[0];32==e.keyCode?(e.preventDefault(),"checkbox"==libraryBase.jspreadsheet.current.options.columns[s].type||"radio"==libraryBase.jspreadsheet.current.options.columns[s].type?setCheckRadioValue.call(libraryBase.jspreadsheet.current):openEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][s].element,!0,e)):113==e.keyCode?openEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][s].element,!1,e):(8==e.keyCode||e.keyCode>=48&&e.keyCode<=57||e.keyCode>=96&&e.keyCode<=111||e.keyCode>=187&&e.keyCode<=190||(String.fromCharCode(e.keyCode)==e.key||String.fromCharCode(e.keyCode).toLowerCase()==e.key.toLowerCase())&&validLetter(String.fromCharCode(e.keyCode)))&&(openEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][s].element,!0,e),libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[s]&&"calendar"==libraryBase.jspreadsheet.current.options.columns[s].type&&e.preventDefault())}}else 65==e.which?(selection.Ub.call(libraryBase.jspreadsheet.current),e.preventDefault()):83==e.which?(libraryBase.jspreadsheet.current.download(),e.preventDefault()):89==e.which?(libraryBase.jspreadsheet.current.redo(),e.preventDefault()):90==e.which?(libraryBase.jspreadsheet.current.undo(),e.preventDefault()):67==e.which?(copy.call(libraryBase.jspreadsheet.current,!0),e.preventDefault()):88==e.which?(0!=libraryBase.jspreadsheet.current.options.editable?cutControls():copyControls(),e.preventDefault()):86==e.which&&pasteControls();else e.target.classList.contains("jss_search")&&(libraryBase.jspreadsheet.timeControl&&clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=setTimeout((function(){libraryBase.jspreadsheet.current.search(e.target.value)}),200))}},wheelControls=function(e){const t=this;1==t.options.lazyLoading&&null==libraryBase.jspreadsheet.timeControlLoading&&(libraryBase.jspreadsheet.timeControlLoading=setTimeout((function(){t.content.scrollTop+t.content.clientHeight>=t.content.scrollHeight-10?lazyLoading.p6.call(t)&&(t.content.scrollTop+t.content.clientHeight>t.content.scrollHeight-10&&(t.content.scrollTop=t.content.scrollTop-t.content.clientHeight),selection.Aq.call(t)):t.content.scrollTop<=t.content.clientHeight&&lazyLoading.G_.call(t)&&(t.content.scrollTop<10&&(t.content.scrollTop=t.content.scrollTop+t.content.clientHeight),selection.Aq.call(t)),libraryBase.jspreadsheet.timeControlLoading=null}),100))};let scrollLeft=0;const updateFreezePosition=function(){const e=this;scrollLeft=e.content.scrollLeft;let t=0;if(scrollLeft>50)for(let s=0;s0&&(!e.options.columns||!e.options.columns[s-1]||"hidden"!==e.options.columns[s-1].type)){let n;n=e.options.columns&&e.options.columns[s-1]&&void 0!==e.options.columns[s-1].width?parseInt(e.options.columns[s-1].width):void 0!==e.options.defaultColWidth?parseInt(e.options.defaultColWidth):100,t+=parseInt(n)}e.headers[s].classList.add("jss_freezed"),e.headers[s].style.left=t+"px";for(let t=0;t0?e.records[t][s-1].element.style.width:0)-51+"px";e.records[t][s].element.classList.add("jss_freezed"),e.records[t][s].element.style.left=n}}else for(let t=0;t0&&t.content.scrollLeft!=scrollLeft&&updateFreezePosition.call(t),1!=t.options.lazyLoading&&1!=t.options.tableOverflow||t.edition&&"jdropdown"!=e.target.className.substr(0,9)&&closeEditor.call(t,t.edition[0],!0)},setEvents=function(e){destroyEvents(e),e.addEventListener("mouseup",mouseUpControls),e.addEventListener("mousedown",mouseDownControls),e.addEventListener("mousemove",mouseMoveControls),e.addEventListener("mouseover",mouseOverControls),e.addEventListener("dblclick",doubleClickControls),e.addEventListener("paste",pasteControls),e.addEventListener("contextmenu",contextMenuControls),e.addEventListener("touchstart",touchStartControls),e.addEventListener("touchend",touchEndControls),e.addEventListener("touchcancel",touchEndControls),e.addEventListener("touchmove",touchEndControls),document.addEventListener("keydown",keyDownControls)},destroyEvents=function(e){e.removeEventListener("mouseup",mouseUpControls),e.removeEventListener("mousedown",mouseDownControls),e.removeEventListener("mousemove",mouseMoveControls),e.removeEventListener("mouseover",mouseOverControls),e.removeEventListener("dblclick",doubleClickControls),e.removeEventListener("paste",pasteControls),e.removeEventListener("contextmenu",contextMenuControls),e.removeEventListener("touchstart",touchStartControls),e.removeEventListener("touchend",touchEndControls),e.removeEventListener("touchcancel",touchEndControls),document.removeEventListener("keydown",keyDownControls)};var toolbar=__webpack_require__(392),pagination=__webpack_require__(167);const setData=function(e){const t=this;if(e&&(t.options.data=e),t.options.data||(t.options.data=[]),t.options.data&&t.options.data[0]&&!Array.isArray(t.options.data[0])){e=[];for(let s=0;so?l:o,c=i>r?i:r;for(s=0;s=u&&s0)for(let l=0;l0&&i++}return s?r.map((function(e){return e.join(s)})).join("\r\n")+"\r\n":n?r.map((function(e){const t={};return e.forEach((function(e,s){t[s]=e})),t})):r},getDataFromRange=function(e,t){const s=this,n=(0,helpers.getCoordsFromRange)(e),o=[];for(let e=n[1];e<=n[3];e++){o.push([]);for(let r=n[0];r<=n[2];r++)t?o[o.length-1].push(s.records[e][r].element.innerHTML):o[o.length-1].push(s.options.data[e][r])}return o},search=function(e){const t=this;if(t.options.filters&&filter.dr.call(t),t.resetSelection(),t.pageNumber=0,t.results=[],e){t.searchInput.value!==e&&(t.searchInput.value=e);const s=function(e,s,n){for(let o=0;o=0||(""+t.records[n][o].element.innerHTML).toLowerCase().search(s)>=0)return!0;return!1},n=function(e){-1==t.results.indexOf(e)&&t.results.push(e)};let o=e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");o=new RegExp(o,"i"),t.options.data.forEach((function(e,r){if(s(e,o,r)){const e=merges.D0.call(t,r);if(e.length)for(let s=0;s0&&e.options.paginationOptions&&e.options.paginationOptions.length>0){e.paginationDropdown=document.createElement("select"),e.paginationDropdown.classList.add("jss_pagination_dropdown"),e.paginationDropdown.onchange=function(){e.options.pagination=parseInt(this.value),e.page(0)};for(let t=0;t0&&e.options.nestedHeaders[0]&&e.options.nestedHeaders[0][0])for(let t=0;ts&&(s=t)}else t=Object.keys(e.options.data[0]),t.length>s&&(s=t.length);e.options.minDimensions||(e.options.minDimensions=[0,0]),e.options.minDimensions[0]>s&&(s=e.options.minDimensions[0]);const n=[];for(let o=0;o{jSuites.ajax({url:e.options.csv,method:"GET",dataType:"text",success:function(s){const n=(0,helpers.parseCSV)(s,e.options.csvDelimiter);if(1==e.options.csvHeaders&&n.length>0){const t=n.shift();if(t.length>0){e.options.columns||(e.options.columns=[]);for(let s=0;s{jSuites.ajax({url:e.options.url,method:"GET",dataType:"json",success:function(s){e.options.data=s.data?s.data:s,prepareTable.call(e),t()}})}));s.push(t)}else prepareTable.call(e);await Promise.all(s),"object"==typeof t.plugins&&Object.entries(t.plugins).forEach((function([,t]){"function"==typeof t.init&&t.init(e)}))},createWorksheetObj=function(e){const t=this.parent;e.worksheetName||(e.worksheetName=getNextDefaultWorksheetName(this.parent));const s={parent:t,options:e,filters:[],formula:[],history:[],selection:[],historyIndex:-1};return t.config.worksheets.push(s.options),t.worksheets.push(s),s},createWorksheet=function(e){const t=this.parent;t.creationThroughJss=!0,createWorksheetObj.call(this,e),t.element.tabs.create(e.worksheetName)},openWorksheet=function(e){this.parent.element.tabs.open(e)},deleteWorksheet=function(e){const t=this;t.parent.element.tabs.remove(e);const s=t.parent.worksheets.splice(e,1)[0];dispatch.A.call(t.parent,"ondeleteworksheet",s,e)},worksheetPublicMethods=[["selectAll",selection.Ub],["updateSelectionFromCoords",function(e,t,s,n){return selection.AH.call(this,e,t,s,n)}],["resetSelection",function(){return selection.gE.call(this)}],["getSelection",selection.Lo],["getSelected",selection.ef],["getSelectedColumns",selection.Jg],["getSelectedRows",selection.R5],["getData",getData],["setData",setData],["getValue",getValue],["getValueFromCoords",getValueFromCoords],["setValue",setValue],["setValueFromCoords",setValueFromCoords],["getWidth",getWidth],["setWidth",function(e,t){return setWidth.call(this,e,t)}],["insertRow",insertRow],["moveRow",function(e,t){return moveRow.call(this,e,t)}],["deleteRow",deleteRow],["hideRow",hideRow],["showRow",showRow],["getRowData",getRowData],["setRowData",setRowData],["getHeight",getHeight],["setHeight",function(e,t){return setHeight.call(this,e,t)}],["getMerge",merges.fd],["setMerge",function(e,t,s){return merges.FU.call(this,e,t,s)}],["destroyMerge",function(){return merges.VP.call(this)}],["removeMerge",function(e,t){return merges.Zp.call(this,e,t)}],["search",search],["resetSearch",resetSearch],["getHeader",getHeader],["getHeaders",getHeaders],["setHeader",setHeader],["getStyle",getStyle],["setStyle",function(e,t,s,n){return setStyle.call(this,e,t,s,n)}],["resetStyle",resetStyle],["insertColumn",insertColumn],["moveColumn",moveColumn],["deleteColumn",deleteColumn],["getColumnData",getColumnData],["setColumnData",setColumnData],["whichPage",pagination.ho],["page",pagination.MY],["download",download],["getComments",getComments],["setComments",setComments],["orderBy",orderBy.My],["undo",utils_history.tN],["redo",utils_history.ZS],["getCell",internal.tT],["getCellFromCoords",internal.Xr],["getLabel",internal.p9],["getConfig",getWorksheetConfig],["setConfig",setConfig],["getMeta",function(e){return meta.IQ.call(this,e)}],["setMeta",meta.iZ],["showColumn",showColumn],["hideColumn",hideColumn],["showIndex",internal.C6],["hideIndex",internal.TI],["getWorksheetActive",internal.$O],["openEditor",openEditor],["closeEditor",closeEditor],["createWorksheet",createWorksheet],["openWorksheet",openWorksheet],["deleteWorksheet",deleteWorksheet],["copy",function(e){e?cutControls():copy.call(this,!0)}],["paste",paste],["executeFormula",internal.Em],["getDataFromRange",getDataFromRange],["quantiyOfPages",pagination.$f],["getRange",selection.eO],["isSelected",selection.sp],["setReadOnly",setReadOnly],["isReadOnly",isReadOnly],["getHighlighted",selection.kV],["dispatch",dispatch.A],["down",down],["first",first],["last",last],["left",left],["right",right],["up",up],["openFilter",filter.N$],["resetFilters",filter.dr]],worksheetPublicMethodsLength=worksheetPublicMethods.length,factory=function(){},createWorksheets=async function(e,t,s){let n=t.worksheets;if(!n)throw new Error("JSS: worksheets are not defined");{let o={animation:!0,onbeforecreate:function(t,s){return s||getNextDefaultWorksheetName(e)},oncreate:function(s,n){if(e.creationThroughJss)e.creationThroughJss=!1;else{const t=s.tabs.headers.children[s.tabs.headers.children.length-2].innerHTML;createWorksheetObj.call(e.worksheets[0],{minDimensions:[10,15],worksheetName:t})}const o=e.worksheets[e.worksheets.length-1];o.element=n,buildWorksheet.call(o).then((function(){(0,toolbar.nK)(o),dispatch.A.call(o,"oncreateworksheet",o,t,e.worksheets.length-1)}))},onchange:function(t,s,n){0!=e.worksheets.length&&e.worksheets[n]&&(0,toolbar.nK)(e.worksheets[n])}};1==t.tabs?o.allowCreate=!0:o.hideHeaders=!0,o.data=[];let r=1;for(let e=0;e{libraryBase.jspreadsheet.spreadsheet.push(e),dispatch.A.call(e,"onload",e)})),s}catch(e){console.error(e)}},libraryBase.jspreadsheet.getWorksheetInstanceByName=function(e,t){const s=libraryBase.jspreadsheet.spreadsheet.find((e=>e.config.namespace===t));if(s)return{};if(null==e){const e=s.worksheets.map((e=>[e.options.worksheetName,e]));return Object.fromEntries(e)}return s.worksheets.find((t=>t.options.worksheetName===e))},libraryBase.jspreadsheet.setDictionary=function(e){jSuites.setDictionary(e)},libraryBase.jspreadsheet.destroy=function(e,t){if(e.spreadsheet){const s=libraryBase.jspreadsheet.spreadsheet.indexOf(e.spreadsheet);libraryBase.jspreadsheet.spreadsheet.splice(s,1);const n=e.spreadsheet.config.root||document;e.spreadsheet=null,e.innerHTML="",t&&destroyEvents(n)}},libraryBase.jspreadsheet.destroyAll=function(){for(let e=0;e{libraryBase.jspreadsheet.helpers[e]=t}));var src=libraryBase.jspreadsheet;jspreadsheet=__webpack_exports__.default})(); - - return jspreadsheet; -}))); \ No newline at end of file diff --git a/src/main/webapp/javascript/jspreadsheet-5.0.1/index.d.ts b/src/main/webapp/javascript/jspreadsheet-5.0.2/index.d.ts similarity index 98% rename from src/main/webapp/javascript/jspreadsheet-5.0.1/index.d.ts rename to src/main/webapp/javascript/jspreadsheet-5.0.2/index.d.ts index e3b54cae..07ae699d 100644 --- a/src/main/webapp/javascript/jspreadsheet-5.0.1/index.d.ts +++ b/src/main/webapp/javascript/jspreadsheet-5.0.2/index.d.ts @@ -171,14 +171,6 @@ declare namespace jspreadsheet { options: Column, ) => void; - /** - * If true, HTML inside column headings or cell values will be treated as regular text. - * - * If false, the HTML will be treated as HTML. - * @default true - */ - stripHTML?: boolean; - /** Custom column title. */ title?: string; @@ -765,6 +757,28 @@ declare namespace jspreadsheet { removedRows: number[], ) => void; + /** + * Occurs when a worksheet is created. + * @param worksheet - Instance of the new worksheet. + * @param worksheetOptions - Options of the new worksheet. + * @param index - Index of the new worksheet. + */ + oncreateworksheet?: ( + worksheet: WorksheetInstance, + worksheetOptions: WorksheetOptions, + index: number, + ) => void; + + /** + * Occurs when a worksheet is deleted. + * @param worksheet - Instance of the deleted worksheet. + * @param index - Index of the deleted worksheet. + */ + ondeleteworksheet?: ( + worksheet: WorksheetInstance, + index: number, + ) => void; + /** * Occurs when a closeEditor is called. * @param instance - Instance of the worksheet where the change occurred. @@ -1011,6 +1025,12 @@ declare namespace jspreadsheet { */ parseHTML?: boolean; + /** + * If true, the button to create new worksheets is shown. + * @default false + */ + tabs?: boolean; + /** Add custom toolbars. */ toolbar?: boolean | ToolbarItem[] | ((defaultToolbar: ToolbarItem[]) => ToolbarItem[]) | Record; @@ -1315,6 +1335,11 @@ declare namespace jspreadsheet { * @default false */ wordWrap?: boolean; + + /** + * Worksheet name. + */ + worksheetName?: string; } interface JspreadsheetInstanceElement extends HTMLDivElement { @@ -2099,7 +2124,7 @@ declare namespace jspreadsheet { * List of HTML elements representing table cells. */ records: { - element: HTMLTableCellElement[][], + element: HTMLTableCellElement, x: number, y: number, }[][]; diff --git a/src/main/webapp/javascript/jspreadsheet-5.0.2/index.js b/src/main/webapp/javascript/jspreadsheet-5.0.2/index.js new file mode 100644 index 00000000..05578a58 --- /dev/null +++ b/src/main/webapp/javascript/jspreadsheet-5.0.2/index.js @@ -0,0 +1,18 @@ +if (! jSuites && typeof(require) === 'function') { + var jSuites = require('jsuites'); +} + +if (! formula && typeof(require) === 'function') { + var formula = require('@jspreadsheet/formula'); +} + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.jspreadsheet = factory(); +}(this, (function () { + +var jspreadsheet;(function(){"use strict";var __webpack_modules__={805:function(e,t){const s=function(e){const t=this,s=[];for(let n=0;n0)for(let s=0;s0;)t=(s-1)%26,n=String.fromCharCode(65+t).toString()+n,s=parseInt((s-t)/26);return n},i=function(e,t){return l(parseInt(e))+(parseInt(t)+1)},a=function(e){const t=/^[a-zA-Z]+/.exec(e);if(t){let s=0;for(let e=0;e0&&n--,[s,n]}},c=function(e){const[t,s]=e.split(":");return[...a(t),...a(s)]},d=function(e,t){t=t||",",e=e.replace(/\r?\n$|\r$|\n$/g,"");const s=[];let n=!1,o=0,r=0,l=0;for(let i=0;i{for(let t=e.length;t<=o;t++)e.push("")})),s},u=function(e,t){if("TABLE"==e.tagName){t||(t={}),t.columns=[],t.data=[];const s=e.querySelectorAll("colgroup > col");if(s.length)for(let e=0;e50?n.width:50;t.columns[s]||(t.columns[s]={}),e.getAttribute("data-celltype")?t.columns[s].type=e.getAttribute("data-celltype"):t.columns[s].type="text",t.columns[s].width=o+"px",t.columns[s].title=e.innerHTML,e.style.textAlign&&(t.columns[s].align=e.style.textAlign),(n=e.getAttribute("name"))&&(t.columns[s].name=n),(n=e.getAttribute("id"))&&(t.columns[s].id=n),(n=e.getAttribute("data-mask"))&&(t.columns[s].mask=n)},r=[];let l=e.querySelectorAll(":scope > thead > tr");if(l.length){for(let e=0;e tr, :scope > tbody > tr");for(let e=0;e0&&(t.nestedHeaders=r),Object.keys(d).length>0&&(t.style=d),Object.keys(a).length>0&&(t.mergeCells=a),Object.keys(c).length>0&&(t.rows=c),Object.keys(u).length>0&&(t.classes=u),p=e.querySelectorAll("tfoot tr"),p.length){const e=[];for(let t=0;t0&&(t.footers=e)}if(1==t.parseTableAutoCellType){const e=[];for(let s=0;s25&&(n=!1),10==l.length&&"-"==l.substr(4,1)&&"-"==l.substr(7,1)||(o=!1)}const r=Object.keys(e[s]).length;o?t.columns[s].type="calendar":1==n&&r>1&&r<=parseInt(.1*t.data.length)&&(t.columns[s].type="dropdown",t.columns[s].source=Object.keys(e[s]))}}return t}console.log("Element is not a table")}},911:function(e,t,s){s.d(t,{Dh:function(){return c},ZS:function(){return h},tN:function(){return p}});var n=s(805),o=s(689),r=s(530),l=s(910),i=s(94),a=s(657);const c=function(e){const t=this;if(1!=t.ignoreHistory){const s=++t.historyIndex;t.history=t.history=t.history.slice(0,s+1),t.history[s]=e}},d=function(e,t){const s=this,n=t.insertBefore?+t.rowNumber:t.rowNumber+1;if(1==s.options.search&&s.results&&s.results.length!=s.rows.length&&s.resetSearch(),1==e){const e=t.numOfRows;for(let t=n;t[...e]));s.records=(0,o.Hh)(s.records,n,e);const r=t.rowData.map((e=>[...e]));s.options.data=(0,o.Hh)(s.options.data,n,r),s.rows=(0,o.Hh)(s.rows,n,t.rowNode);let l=0;for(let e=n;e0&&s.page(s.pageNumber),r.o8.call(s)},u=function(e,t){const s=this,n=t.insertBefore?t.columnNumber:t.columnNumber+1;if(1==e){const e=t.numOfColumns;s.options.columns.splice(n,e);for(let t=n;t0&&s.options.nestedHeaders[0]&&s.options.nestedHeaders[0][0])for(let n=0;n=0)if(r=e.history[e.historyIndex--],"insertRow"==r.action)d.call(e,1,r);else if("deleteRow"==r.action)d.call(e,0,r);else if("insertColumn"==r.action)u.call(e,1,r);else if("deleteColumn"==r.action)u.call(e,0,r);else if("moveRow"==r.action)e.moveRow(r.newValue,r.oldValue);else if("moveColumn"==r.action)e.moveColumn(r.newValue,r.oldValue);else if("setMerge"==r.action)e.removeMerge(r.column,r.data);else if("setStyle"==r.action)e.setStyle(r.oldValue,null,null,1);else if("setWidth"==r.action)e.setWidth(r.column,r.oldValue);else if("setHeight"==r.action)e.setHeight(r.row,r.oldValue);else if("setHeader"==r.action)e.setHeader(r.column,r.oldValue);else if("setComments"==r.action)e.setComments(r.oldValue);else if("orderBy"==r.action){let t=[];for(let e=0;e0){let t=0;for(let s=e.rows.length-1;s>=0;s--){let n=!1;for(let t=0;t0&&e.insertRow(e.options.minSpareRows-t)}if(e.options.minSpareCols>0){let t=0;for(let s=e.headers.length-1;s>=0;s--){let n=!1;for(let t=0;t0&&e.insertColumn(e.options.minSpareCols-t)}e.options.footers&&_footer_js__WEBPACK_IMPORTED_MODULE_0__.e.call(e),setTimeout((function(){_selection_js__WEBPACK_IMPORTED_MODULE_1__.Aq.call(e)}),0)},parseNumber=function(e,t){const s=t&&this.options.columns[t].decimal?this.options.columns[t].decimal:".";let n=""+e;return n=n.split(s),n[0]=n[0].match(/[+-]?[0-9]/g),n[0]&&(n[0]=n[0].join("")),n[1]&&(n[1]=n[1].match(/[0-9]*/g).join("")),n[0]&&Number.isInteger(Number(n[0]))?n[1]?Number(n[0]+"."+n[1]):Number(n[0]+".00"):null},executeFormula=function(expression,x,y){const obj=this,formulaResults=[],formulaLoopProtection=[],execute=function(expression,x,y){const parentId=(0,_internalHelpers_js__WEBPACK_IMPORTED_MODULE_2__.t3)([x,y]);if(formulaLoopProtection[parentId])return console.error("Reference loop detected"),"#ERROR";formulaLoopProtection[parentId]=!0;const tokensUpdate=function(e){for(let t=0;t-1)return console.error("Self Reference detected"),"#ERROR";{const formulaExpressions={};if(tokens)for(let i=0;i0?n.join("; "):""},validDate=function(e){return"-"==(e=""+e).substr(4,1)&&"-"==e.substr(7,1)||4==(e=e.split("-"))[0].length&&e[0]==Number(e[0])&&2==e[1].length&&e[1]==Number(e[1])},stripScript=function(e){const t=new Option;t.innerHTML=e;let s=null;for(e=t.getElementsByTagName("script");s=e[0];)s.parentNode.removeChild(s);return t.innerHTML},createCell=function(e,t,s){const n=this;let o=document.createElement("td");if(o.setAttribute("data-x",e),o.setAttribute("data-y",t),"none"===n.headers[e].style.display&&(o.style.display="none"),"="==(""+s).substr(0,1)&&1==n.options.secureFormulas){const e=secureFormula(s);e!=s&&(s=e)}if(n.options.columns&&n.options.columns[e]&&"object"==typeof n.options.columns[e].type)!0===n.parent.config.parseHTML?o.innerHTML=s:o.textContent=s,"function"==typeof n.options.columns[e].type.createCell&&n.options.columns[e].type.createCell(o,s,parseInt(e),parseInt(t),n,n.options.columns[e]);else if(n.options.columns&&n.options.columns[e]&&"hidden"==n.options.columns[e].type)o.style.display="none",o.textContent=s;else if(n.options.columns&&n.options.columns[e]&&("checkbox"==n.options.columns[e].type||"radio"==n.options.columns[e].type)){const r=document.createElement("input");r.type=n.options.columns[e].type,r.name="c"+e,r.checked=1==s||1==s||"true"==s,r.onclick=function(){n.setValue(o,this.checked)},1!=n.options.columns[e].readOnly&&0!=n.options.editable||r.setAttribute("disabled","disabled"),o.appendChild(r),n.options.data[t][e]=r.checked}else if(n.options.columns&&n.options.columns[e]&&"calendar"==n.options.columns[e].type){let t=null;if(!validDate(s)){const o=jSuites.calendar.extractDateFromString(s,n.options.columns[e].options&&n.options.columns[e].options.format||"YYYY-MM-DD");o&&(t=o)}o.textContent=jSuites.calendar.getDateString(t||s,n.options.columns[e].options&&n.options.columns[e].options.format)}else if(n.options.columns&&n.options.columns[e]&&"dropdown"==n.options.columns[e].type)o.classList.add("jss_dropdown"),o.textContent=getDropDownValue.call(n,e,s);else if(n.options.columns&&n.options.columns[e]&&"color"==n.options.columns[e].type)if("square"==n.options.columns[e].render){const e=document.createElement("div");e.className="color",e.style.backgroundColor=s,o.appendChild(e)}else o.style.color=s,o.textContent=s;else if(n.options.columns&&n.options.columns[e]&&"image"==n.options.columns[e].type){if(s&&"data:image"==s.substr(0,10)){const e=document.createElement("img");e.src=s,o.appendChild(e)}}else n.options.columns&&n.options.columns[e]&&"html"==n.options.columns[e].type||!0===n.parent.config.parseHTML?o.innerHTML=stripScript(parseValue.call(this,e,t,s,o)):o.textContent=parseValue.call(this,e,t,s,o);n.options.columns&&n.options.columns[e]&&1==n.options.columns[e].readOnly&&(o.className="readonly");const r=n.options.columns&&n.options.columns[e]&&n.options.columns[e].align||n.options.defaultColAlign||"center";return o.style.textAlign=r,n.options.columns&&n.options.columns[e]&&0==n.options.columns[e].wordWrap||!(1==n.options.wordWrap||n.options.columns&&n.options.columns[e]&&1==n.options.columns[e].wordWrap||o.innerHTML.length>200)||(o.style.whiteSpace="pre-wrap"),e>0&&1==this.options.textOverflow&&(s||o.innerHTML?n.records[t][e-1].element.style.overflow="hidden":e==n.options.columns.length-1&&(o.style.overflow="hidden")),_dispatch_js__WEBPACK_IMPORTED_MODULE_3__.A.call(n,"oncreatecell",n,o,e,t,s),o},updateCell=function(e,t,s,n){const o=this;let r;if(1!=o.records[t][e].element.classList.contains("readonly")||n){if("="==(""+s).substr(0,1)&&1==o.options.secureFormulas){const e=secureFormula(s);e!=s&&(s=e)}const n=_dispatch_js__WEBPACK_IMPORTED_MODULE_3__.A.call(o,"onbeforechange",o,o.records[t][e].element,e,t,s);if(null!=n&&(s=n),o.options.columns&&o.options.columns[e]&&"object"==typeof o.options.columns[e].type&&"function"==typeof o.options.columns[e].type.updateCell){const n=o.options.columns[e].type.updateCell(o.records[t][e].element,s,parseInt(e),parseInt(t),o,o.options.columns[e]);void 0!==n&&(s=n)}r={x:e,y:t,col:e,row:t,value:s,oldValue:o.options.data[t][e]};let l=o.options.columns&&o.options.columns[e]&&"object"==typeof o.options.columns[e].type?o.options.columns[e].type:null;if(l)o.options.data[t][e]=s,"function"==typeof l.setValue&&l.setValue(o.records[t][e].element,s);else if(o.options.columns&&o.options.columns[e]&&("checkbox"==o.options.columns[e].type||"radio"==o.options.columns[e].type)){if("radio"==o.options.columns[e].type)for(let t=0;t200)?o.records[t][e].element.style.whiteSpace="":o.records[t][e].element.style.whiteSpace="pre-wrap";e>0&&(o.records[t][e-1].element.style.overflow=s?"hidden":""),o.options.columns&&o.options.columns[e]&&"function"==typeof o.options.columns[e].render&&o.options.columns[e].render(o.records[t]&&o.records[t][e]?o.records[t][e].element:null,s,parseInt(e),parseInt(t),o,o.options.columns[e]),_dispatch_js__WEBPACK_IMPORTED_MODULE_3__.A.call(o,"onchange",o,o.records[t]&&o.records[t][e]?o.records[t][e].element:null,e,t,s,r.oldValue)}else r={x:e,y:t,col:e,row:t};return r},isFormula=function(e){const t=(""+e)[0];return"="==t||"#"==t},getMask=function(e){if(e.format||e.mask||e.locale){const t={};return e.mask?t.mask=e.mask:e.format?t.mask=e.format:(t.locale=e.locale,t.options=e.options),e.decimal&&(t.options||(t.options={}),t.options={decimal:e.decimal}),t}return null},secureFormula=function(e){let t="",s=0;for(let n=0;n0)if(chainLoopProtection[o])n.records[t][e].element.innerHTML="#ERROR",n.formula[o]="";else{chainLoopProtection[o]=!0;for(let e=0;et.content.scrollTop+30&&ht.content.scrollLeft+m&&p0?e.options.pagination:e.results?e.results.length:e.rows.length;e.tbody.firstChild;)e.tbody.removeChild(e.tbody.firstChild);for(let n=0;n-1?(s0&&_pagination_js__WEBPACK_IMPORTED_MODULE_7__.IV.call(e),_selection_js__WEBPACK_IMPORTED_MODULE_1__.Aq.call(e),t},getCell=function(e,t){if("string"==typeof e){const s=(0,_internalHelpers_js__WEBPACK_IMPORTED_MODULE_2__.vu)(e,!0);e=s[0],t=s[1]}return this.records[t][e].element},getCellFromCoords=function(e,t){return this.records[t][e].element},getLabel=function(e,t){if("string"==typeof e){const s=(0,_internalHelpers_js__WEBPACK_IMPORTED_MODULE_2__.vu)(e,!0);e=s[0],t=s[1]}return this.records[t][e].element.innerHTML},fullscreen=function(e){const t=this;null==e&&(e=!t.config.fullscreen),t.config.fullscreen!=e&&(t.config.fullscreen=e,1==e?t.element.classList.add("fullscreen"):t.element.classList.remove("fullscreen"))},showIndex=function(){this.table.classList.remove("jss_hidden_index")},hideIndex=function(){this.table.classList.add("jss_hidden_index")},createNestedHeader=function(e){const t=this,s=document.createElement("tr");s.classList.add("jss_nested");const n=document.createElement("td");n.classList.add("jss_selectall"),s.appendChild(n),e.element=s;let o=0;for(let n=0;nn.length;)n.push(void 0);return n.concat(s)},r=function(e,t){const s=/^[a-zA-Z]+/.exec(e);if(s){let n=0;for(let e=0;e0&&o--,e=1==t?[n,o]:n+"-"+o}return e},l=function(e){return Array.isArray(e)||(e=e.split("-")),(0,n.getColumnName)(parseInt(e[0]))+(parseInt(e[1])+1)}},497:function(e,t,s){s.d(t,{AG:function(){return o},G_:function(){return r},p6:function(){return l},wu:function(){return n}});const n=function(e){const t=this;let s;s=1!=t.options.search&&1!=t.options.filters||!t.results?t.rows:t.results;const n=100;null!=e&&-1!=e||(e=Math.ceil(s.length/n)-1);let o=e*n,r=e*n+n;r>s.length&&(r=s.length),o=r-100,o<0&&(o=0);for(let e=o;en&&t.tbody.removeChild(t.tbody.firstChild)},o=function(){const e=this;if(e.selectedCell){const t=parseInt(e.tbody.firstChild.getAttribute("data-y"))/100,s=parseInt(e.selectedCell[3]/100),n=parseInt(e.rows.length/100);if(t!=s&&s<=n&&!Array.prototype.indexOf.call(e.tbody.children,e.rows[e.selectedCell[3]].element))return e.loadPage(s),!0}return!1},r=function(){const e=this;let t;t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows:e.results;let s=0;if(t.length>100){let n=parseInt(e.tbody.firstChild.getAttribute("data-y"));if(1!=e.options.search&&1!=e.options.filters||!e.results||(n=t.indexOf(n)),n>0)for(let o=0;o<30;o++)n-=1,n>-1&&(1!=e.options.search&&1!=e.options.filters||!e.results?e.tbody.insertBefore(e.rows[n].element,e.tbody.firstChild):e.tbody.insertBefore(e.rows[t[n]].element,e.tbody.firstChild),e.tbody.children.length>100&&(e.tbody.removeChild(e.tbody.lastChild),s=1))}return s},l=function(){const e=this;let t;t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows:e.results;let s=0;if(t.length>100){let n=parseInt(e.tbody.lastChild.getAttribute("data-y"));if(1!=e.options.search&&1!=e.options.filters||!e.results||(n=t.indexOf(n)),n100&&(e.tbody.removeChild(e.tbody.firstChild),s=1)),n+=1}return s}},910:function(e,t,s){s.d(t,{D0:function(){return c},FU:function(){return u},Lt:function(){return a},VP:function(){return h},Zp:function(){return p},fd:function(){return d}});var n=s(689),o=s(530),r=s(911),l=s(805),i=s(657);const a=function(e,t){const s=this,o=[];if(s.options.mergeCells){const r=Object.keys(s.options.mergeCells);for(let l=0;l1?a-1:0);null==t?c<=e&&d>=e&&o.push(r[l]):t?c=e&&o.push(r[l]):c<=e&&d>e&&o.push(r[l])}}return o},c=function(e,t){const s=this,o=[];if(s.options.mergeCells){const r=Object.keys(s.options.mergeCells);for(let l=0;l1?a-1:0);null==t?c<=e&&d>=e&&o.push(r[l]):t?c=e&&o.push(r[l]):c<=e&&d>e&&o.push(r[l])}}return o},d=function(e){const t=this;let s={};if(e)s=t.options.mergeCells&&t.options.mergeCells[e]?[t.options.mergeCells[e][0],t.options.mergeCells[e][1]]:null;else if(t.options.mergeCells){t.options.mergeCells;const e=Object.keys(t.options.mergeCells);for(let n=0;n1?c.records[u[1]][u[0]].element.setAttribute("colspan",t):t=1,s>1?c.records[u[1]][u[0]].element.setAttribute("rowspan",s):s=1,c.options.mergeCells||(c.options.mergeCells={}),c.options.mergeCells[e]=[t,s,[]],c.records[u[1]][u[0]].element.setAttribute("data-merged","true"),c.records[u[1]][u[0]].element.style.overflow="hidden";const n=[];for(let r=u[1];r0||d>0)&&(r.records[l[1]+c][l[0]+d].element=a[2][u],r.records[l[1]+c][l[0]+d].element.style.display="",t&&t[u]&&o.k9.call(r,l[0]+d,l[1]+c,t[u]),u++);i.c6.call(r,r.records[l[1]][l[0]].element,r.records[l[1]+c-1][l[0]+d-1].element),s||delete r.options.mergeCells[e]}},h=function(e){const t=this;if(t.options.mergeCells){t.options.mergeCells;const s=Object.keys(t.options.mergeCells);for(let n=0;n0)t.page(0);else if(1==t.options.lazyLoading)l.wu.call(t,0);else for(let e=0;e=0){if(s.options.mergeCells&&Object.keys(s.options.mergeCells).length>0){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;s.destroyMerge()}t=null==t?s.headers[e].classList.contains("arrow-down")?1:0:t?1:0;let r=[];if(s.options.columns&&s.options.columns[e]&&("number"==s.options.columns[e].type||"numeric"==s.options.columns[e].type||"percentage"==s.options.columns[e].type||"autonumber"==s.options.columns[e].type||"color"==s.options.columns[e].type))for(let t=0;to?-1:no?1:ne))),!0}}},167:function(e,t,s){s.d(t,{$f:function(){return a},IV:function(){return l},MY:function(){return i},ho:function(){return r}});var n=s(805),o=s(657);const r=function(e){const t=this;return 1!=t.options.search&&1!=t.options.filters||!t.results||(e=t.results.indexOf(e)),Math.ceil((parseInt(e)+1)/parseInt(t.options.pagination))-1},l=function(){const e=this;if(e.pagination.children[0].innerHTML="",e.pagination.children[1].innerHTML="",e.options.pagination){let t;if(t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows.length:e.results.length,t){const s=Math.ceil(t/e.options.pagination);let n,o;if(e.pageNumber<6?(n=1,o=s<10?s:10):s-e.pageNumber<5?(n=s-9,o=s,n<1&&(n=1)):(n=e.pageNumber-4,o=e.pageNumber+5),n>1){const t=document.createElement("div");t.className="jss_page",t.innerHTML="<",t.title=1,e.pagination.children[1].appendChild(t)}for(let t=n;t<=o;t++){const s=document.createElement("div");s.className="jss_page",s.innerHTML=t,e.pagination.children[1].appendChild(s),e.pageNumber==t-1&&s.classList.add("jss_page_selected")}if(o",t.title=s,e.pagination.children[1].appendChild(t)}const r=function(e){const t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,(function(e,s){return void 0!==t[s]?t[s]:e}))};e.pagination.children[0].innerHTML=r(jSuites.translate("Showing page {0} of {1} entries"),e.pageNumber+1,s)}else e.pagination.children[0].innerHTML=jSuites.translate("No records found")}},i=function(e){const t=this,s=t.pageNumber;let r;r=1!=t.options.search&&1!=t.options.filters||!t.results?t.rows:t.results;const i=parseInt(t.options.pagination);null!=e&&-1!=e||(e=Math.ceil(r.length/i)-1),t.pageNumber=e;let a=e*i,c=e*i+i;for(c>r.length&&(c=r.length),a<0&&(a=0);t.tbody.firstChild;)t.tbody.removeChild(t.tbody.firstChild);for(let e=a;e0&&l.call(t),o.Aq.call(t),n.A.call(t,"onchangepage",t,e,s,t.options.pagination)},a=function(){const e=this;let t;return t=1!=e.options.search&&1!=e.options.filters||!e.results?e.rows.length:e.results.length,Math.ceil(t/e.options.pagination)}},657:function(e,t,s){s.d(t,{AH:function(){return m},Aq:function(){return d},G9:function(){return g},Jg:function(){return f},Lo:function(){return v},R5:function(){return _},Ub:function(){return B},at:function(){return w},c6:function(){return p},eO:function(){return x},ef:function(){return A},gE:function(){return u},gG:function(){return y},kA:function(){return h},kF:function(){return C},kV:function(){return k},sp:function(){return E},tW:function(){return j}});var n=s(805),o=s(296),r=s(978),l=s(911),i=s(530),a=s(689),c=s(392);const d=function(){const e=this;if(e.highlighted&&e.highlighted.length){const t=e.highlighted[e.highlighted.length-1].element,s=t.getAttribute("data-x"),n=e.content.getBoundingClientRect(),r=n.left,l=n.top,i=t.getBoundingClientRect(),a=i.left,c=i.top,d=i.width,u=i.height,p=a-r+e.content.scrollLeft+d-4,h=c-l+e.content.scrollTop+u-4;if(e.corner.style.top=h+"px",e.corner.style.left=p+"px",e.options.freezeColumns){const t=o.w.call(e);s>e.options.freezeColumns-1&&a-r+d0?s+(l-1):s,r=i>0?n+(i-1):n}else o=s,r=n;for(let e=s;e<=o;e++)t.headers[e]&&t.headers[e].classList.remove("selected");for(let e=n;e<=r;e++)t.rows[e]&&t.rows[e].element.classList.remove("selected")}}else s=0;return t.highlighted=[],t.selectedCell=null,t.corner.style.top="-2000px",t.corner.style.left="-2000px",1==e&&1==s&&n.A.call(t,"onblur",t),s},p=function(e,t,s){const n=e.getAttribute("data-x"),o=e.getAttribute("data-y");let r,l;t?(r=t.getAttribute("data-x"),l=t.getAttribute("data-y")):(r=n,l=o),m.call(this,n,o,r,l,s)},h=function(){const e=document.querySelectorAll(".jss_worksheet .copying");for(let t=0;t=l.headers.length&&(e=l.headers.length-1),t>=l.rows.length&&(t=l.rows.length-1),s>=l.headers.length&&(s=l.headers.length-1),o>=l.rows.length&&(o=l.rows.length-1);let i,a,c,u,p=null,m=null,f=null,g=null;parseInt(e)1&&(sa&&(a=s+o-1)),r&&(nu&&(u=n+r-1))}for(let e=c;e<=u;e++)"none"!=l.rows[e].element.style.display&&(null==f&&(f=e),g=e);for(let e=i;e<=a;e++)for(let t=c;t<=u;t++)l.options.columns&&l.options.columns[e]&&"hidden"==l.options.columns[e].type||(null==p&&(p=e),m=e);if(p||(p=0),m||(m=0),!1===n.A.call(l,"onbeforeselection",l,p,f,m,g,r))return!1;const y=l.resetSelection();l.selectedCell=[e,t,s,o],l.records[t][e]&&l.records[t][e].element.classList.add("highlight-selected");for(let e=i;e<=a;e++)for(let t=c;t<=u;t++)"none"!=l.rows[t].element.style.display&&"none"!=l.records[t][e].element.style.display&&(l.records[t][e].element.classList.add("highlight"),l.highlighted.push(l.records[t][e]));for(let e=p;e<=m;e++)l.options.columns&&l.options.columns[e]&&"hidden"==l.options.columns[e].type||!l.cols[e].colElement.style||"none"==l.cols[e].colElement.style.display||(l.records[f]&&l.records[f][e]&&l.records[f][e].element.classList.add("highlight-top"),l.records[g]&&l.records[g][e]&&l.records[g][e].element.classList.add("highlight-bottom"),l.headers[e].classList.add("selected"));for(let e=f;e<=g;e++)l.rows[e]&&"none"!=l.rows[e].element.style.display&&(l.records[e][p].element.classList.add("highlight-left"),l.records[e][m].element.classList.add("highlight-right"),l.rows[e].element.classList.add("selected"));l.selectedContainer=[p,f,m,g],0==y&&(n.A.call(l,"onfocus",l),h()),n.A.call(l,"onselection",l,p,f,m,g,r),d.call(l)},f=function(e){const t=this;if(!t.selectedCell)return[];const s=[];for(let n=Math.min(t.selectedCell[0],t.selectedCell[2]);n<=Math.max(t.selectedCell[0],t.selectedCell[2]);n++)e&&"none"==t.headers[n].style.display||s.push(n);return s},g=function(){const e=this;e.selectedCell&&e.updateSelectionFromCoords(e.selectedCell[0],e.selectedCell[1],e.selectedCell[2],e.selectedCell[3])},y=function(){const e=this;for(let t=0;t=n.selectedCell[1]&&t<=n.selectedCell[3]||s>=n.selectedCell[1]&&s<=n.selectedCell[3]))return void n.resetSelection()}else if(n.selectedCell&&(t>=n.selectedCell[0]&&t<=n.selectedCell[2]||s>=n.selectedCell[0]&&s<=n.selectedCell[2]))return void n.resetSelection()},_=function(e){const t=this;if(!t.selectedCell)return[];const s=[];for(let n=Math.min(t.selectedCell[1],t.selectedCell[3]);n<=Math.max(t.selectedCell[1],t.selectedCell[3]);n++)e&&"none"==t.rows[n].element.style.display||s.push(n);return s},B=function(){const e=this;e.selectedCell||(e.selectedCell=[]),e.selectedCell[0]=0,e.selectedCell[1]=0,e.selectedCell[2]=e.headers.length-1,e.selectedCell[3]=e.records.length-1,e.updateSelectionFromCoords(e.selectedCell[0],e.selectedCell[1],e.selectedCell[2],e.selectedCell[3])},v=function(){const e=this;return e.selectedCell?[Math.min(e.selectedCell[0],e.selectedCell[2]),Math.min(e.selectedCell[1],e.selectedCell[3]),Math.max(e.selectedCell[0],e.selectedCell[2]),Math.max(e.selectedCell[1],e.selectedCell[3])]:null},A=function(e){const t=this,s=v.call(t);if(!s)return[];const n=[];for(let o=s[1];o<=s[3];o++)for(let l=s[0];l<=s[2];l++)e?n.push((0,r.getCellNameFromCoords)(l,o)):n.push(t.records[o][l]);return n},x=function(){const e=this,t=v.call(e);if(!t)return"";const s=(0,r.getCellNameFromCoords)(t[0],t[1]),n=(0,r.getCellNameFromCoords)(t[2],t[3]);return s===n?e.options.worksheetName+"!"+s:e.options.worksheetName+"!"+s+":"+n},E=function(e,t){const s=v.call(this);return e>=s[0]&&e<=s[2]&&t>=s[1]&&t<=s[3]},k=function(){const e=v.call(this);return e?[e]:[]}},392:function(e,t,s){s.d(t,{Ar:function(){return u},ll:function(){return d},nK:function(){return c}});var n=s(978),o=s(530);const r=function(e,t){0!=t.options.editable?e.classList.remove("jtoolbar-disabled"):e.classList.add("jtoolbar-disabled")},l=function(){const e=[],t=this,s=function(){return o.eN.call(t)};e.push({content:"undo",onclick:function(){s().undo()}}),e.push({content:"redo",onclick:function(){s().redo()}}),e.push({content:"save",onclick:function(){const e=s();e&&e.download()}}),e.push({type:"divisor"}),e.push({type:"select",width:"120px",options:["Default","Verdana","Arial","Courier New"],render:function(e){return''+e+""},onchange:function(e,t,n,o,r){const l=s();let i=l.getSelected(!0);if(i){let e=r?o:"";l.setStyle(Object.fromEntries(i.map((function(t){return[t,"font-family: "+e]}))))}},updateState:function(e,t,n){r(n,s())}}),e.push({type:"select",width:"48px",content:"format_size",options:["x-small","small","medium","large","x-large"],render:function(e){return''+e+""},onchange:function(e,t,n,o){const r=s();let l=r.getSelected(!0);l&&r.setStyle(Object.fromEntries(l.map((function(e){return[e,"font-size: "+o]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({type:"select",options:["left","center","right","justify"],render:function(e){return'format_align_'+e+""},onchange:function(e,t,n,o){const r=s();let l=r.getSelected(!0);l&&r.setStyle(Object.fromEntries(l.map((function(e){return[e,"text-align: "+o]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({content:"format_bold",onclick:function(e,t,n){const o=s();let r=o.getSelected(!0);r&&o.setStyle(Object.fromEntries(r.map((function(e){return[e,"font-weight:bold"]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({type:"color",content:"format_color_text",k:"color",updateState:function(e,t,n){r(n,s())}}),e.push({type:"color",content:"format_color_fill",k:"background-color",updateState:function(e,t,n,o){r(n,s())}});let l=["top","middle","bottom"];return e.push({type:"select",options:["vertical_align_top","vertical_align_center","vertical_align_bottom"],render:function(e){return''+e+""},value:1,onchange:function(e,t,n,o,r){const i=s();let a=i.getSelected(!0);a&&i.setStyle(Object.fromEntries(a.map((function(e){return[e,"vertical-align: "+l[r]]}))))},updateState:function(e,t,n){r(n,s())}}),e.push({content:"web",tooltip:jSuites.translate("Merge the selected cells"),onclick:function(){const e=s();if(e.selectedCell&&confirm(jSuites.translate("The merged cells will retain the value of the top-left cell only. Are you sure?"))){const t=[Math.min(e.selectedCell[0],e.selectedCell[2]),Math.min(e.selectedCell[1],e.selectedCell[3]),Math.max(e.selectedCell[0],e.selectedCell[2]),Math.max(e.selectedCell[1],e.selectedCell[3])];let s=(0,n.getCellNameFromCoords)(t[0],t[1]);if(e.records[t[1]][t[0]].element.getAttribute("data-merged"))e.removeMerge(s);else{let n=t[2]-t[0]+1,o=t[3]-t[1]+1;1===n&&1===o||e.setMerge(s,n,o)}}},updateState:function(e,t,n){r(n,s())}}),e.push({type:"select",options:["border_all","border_outer","border_inner","border_horizontal","border_vertical","border_left","border_top","border_right","border_bottom","border_clear"],columns:5,render:function(e){return''+e+""},right:!0,onchange:function(e,t,o,r){const l=s();if(l.selectedCell){const e=[Math.min(l.selectedCell[0],l.selectedCell[2]),Math.min(l.selectedCell[1],l.selectedCell[3]),Math.max(l.selectedCell[0],l.selectedCell[2]),Math.max(l.selectedCell[1],l.selectedCell[3])];let s=r;if(e){let o=t.thickness||1,r=t.color||"black";const i=t.style||"solid";"double"===i&&(o+=2);let a={},c=e[0],d=e[1],u=e[2],p=e[3];const h=function(e,t,n){let l=["","","",""];l[0]=("border_top"===s||"border_outer"===s)&&n===d||("border_inner"===s||"border_horizontal"===s)&&n>d||"border_all"===s?"border-top: "+o+"px "+i+" "+r:"border-top: ",l[1]="border_all"!==s&&"border_right"!==s&&"border_outer"!==s||t!==u?"border-right: ":"border-right: "+o+"px "+i+" "+r,l[2]="border_all"!==s&&"border_bottom"!==s&&"border_outer"!==s||n!==p?"border-bottom: ":"border-bottom: "+o+"px "+i+" "+r,l[3]=("border_left"===s||"border_outer"===s)&&t===c||("border_inner"===s||"border_vertical"===s)&&t>c||"border_all"===s?"border-left: "+o+"px "+i+" "+r:"border-left: ",a[e]=l.join(";")};for(let t=e[1];t<=e[3];t++)for(let s=e[0];s<=e[2];s++)h((0,n.getCellNameFromCoords)(s,t),s,t),l.records[t][s].element.getAttribute("data-merged")&&h((0,n.getCellNameFromCoords)(e[0],e[1]),s,t);Object.keys(a)&&l.setStyle(a)}}},onload:function(e,t){let s=document.createElement("div"),n=document.createElement("div");s.appendChild(n);let o=jSuites.color(n,{closeOnChange:!1,onchange:function(e,s){e.parentNode.children[1].style.color=s,t.color=s}}),r=document.createElement("i");r.classList.add("material-icons"),r.innerHTML="color_lens",r.onclick=function(){o.open()},s.appendChild(r),e.children[1].appendChild(s),n=document.createElement("div"),jSuites.picker(n,{type:"select",data:[1,2,3,4,5],render:function(e){return'
'},onchange:function(e,s,n,o){t.thickness=o},width:"50px"}),e.children[1].appendChild(n);const l=document.createElement("div");jSuites.picker(l,{type:"select",data:["solid","dotted","dashed","double"],render:function(e){return"double"===e?'
':'
'},onchange:function(e,s,n,o){t.style=o},width:"50px"}),e.children[1].appendChild(l),n=document.createElement("div"),n.style.flex="1",e.children[1].appendChild(n)},updateState:function(e,t,n){r(n,s())}}),e.push({type:"divisor"}),e.push({content:"fullscreen",tooltip:"Toggle Fullscreen",onclick:function(e,s,n){"fullscreen"===n.children[0].textContent?(t.fullscreen(!0),n.children[0].textContent="fullscreen_exit"):(t.fullscreen(!1),n.children[0].textContent="fullscreen")},updateState:function(e,t,s,n){!0===n.parent.config.fullscreen?s.children[0].textContent="fullscreen_exit":s.children[0].textContent="fullscreen"}}),e},i=function(e){const t=this,s=e.items;for(let e=0;e0&&(n.records[o][r-1].element.style.overflow="hidden");const l=function(t){const s=e.getBoundingClientRect(),n=document.createElement(t);return n.style.width=s.width+"px",n.style.height=s.height-2+"px",n.style.minHeight=s.height-2+"px",e.classList.add("editor"),e.innerHTML="",e.appendChild(n),n};if(1==e.classList.contains("readonly"));else if(n.edition=[n.records[o][r].element,n.records[o][r].element.innerHTML,r,o],n.options.columns&&n.options.columns[r]&&"object"==typeof n.options.columns[r].type)n.options.columns[r].type.openEditor(e,n.options.data[o][r],parseInt(r),parseInt(o),n,n.options.columns[r],s),dispatch.A.call(n,"oncreateeditor",n,e,parseInt(r),parseInt(o),null,n.options.columns[r]);else if(n.options.columns&&n.options.columns[r]&&"hidden"==n.options.columns[r].type);else if(n.options.columns&&n.options.columns[r]&&("checkbox"==n.options.columns[r].type||"radio"==n.options.columns[r].type)){const t=!e.children[0].checked;n.setValue(e,t),n.edition=null}else if(n.options.columns&&n.options.columns[r]&&"dropdown"==n.options.columns[r].type){let t,s=n.options.data[o][r];n.options.columns[r].multiple&&!Array.isArray(s)&&(s=s.split(";")),t="function"==typeof n.options.columns[r].filter?n.options.columns[r].filter(n.element,e,r,o,n.options.columns[r].source):n.options.columns[r].source;const i=[];if(t)for(let e=0;e=0;n--)if("none"!=s.records[n][e].element.style.display&&"none"!=s.rows[n].element.style.display){if(s.records[n][e].element.getAttribute("data-merged")&&s.records[n][e].element==s.records[t][e].element)continue;t=n;break}return t},upVisible=function(e,t){const s=this;let n,o;if(0==e?(n=parseInt(s.selectedCell[0]),o=parseInt(s.selectedCell[1])):(n=parseInt(s.selectedCell[2]),o=parseInt(s.selectedCell[3])),0==t){for(let e=0;e0&&upVisible.call(s,1,t?0:1):(s.selectedCell[1]>0&&upVisible.call(s,0,t?0:1),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),1==s.options.lazyLoading)if(0==s.selectedCell[1]||0==s.selectedCell[3])lazyLoading.wu.call(s,0),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]);else if(lazyLoading.AG.call(s))s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]);else{const e=parseInt(s.tbody.firstChild.getAttribute("data-y"));s.selectedCell[1]-e<30&&(lazyLoading.G_.call(s),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]))}else if(s.options.pagination>0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}internal.Rs.call(s,1)},rightGet=function(e,t){const s=this;e=parseInt(e),t=parseInt(t);for(let n=e+1;nn;e--)if("none"!=s.records[o][e].element.style.display){n=e;break}}else n=rightGet.call(s,n,o);0==e?(s.selectedCell[0]=n,s.selectedCell[1]=o):(s.selectedCell[2]=n,s.selectedCell[3]=o)},right=function(e,t){const s=this;e?s.selectedCell[2]o;e--)if("none"!=s.records[e][n].element.style.display&&"none"!=s.rows[e].element.style.display){o=e;break}}else o=downGet.call(s,n,o);0==e?(s.selectedCell[0]=n,s.selectedCell[1]=o):(s.selectedCell[2]=n,s.selectedCell[3]=o)},down=function(e,t){const s=this;if(e?s.selectedCell[3]0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}internal.Rs.call(s,3)},leftGet=function(e,t){const s=this;e=parseInt(e),t=parseInt(t);for(let n=e-1;n>=0;n--)if("none"!=s.records[t][n].element.style.display){if(s.records[t][n].element.getAttribute("data-merged")&&s.records[t][n].element==s.records[t][e].element)continue;e=n;break}return e},leftVisible=function(e,t){const s=this;let n,o;if(0==e?(n=parseInt(s.selectedCell[0]),o=parseInt(s.selectedCell[1])):(n=parseInt(s.selectedCell[2]),o=parseInt(s.selectedCell[3])),0==t){for(let e=0;e0&&leftVisible.call(s,1,t?0:1):(s.selectedCell[0]>0&&leftVisible.call(s,0,t?0:1),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),internal.Rs.call(s,0)},first=function(e,t){const s=this;if(e?t?s.selectedCell[3]=0:leftVisible.call(s,1,0):(t?s.selectedCell[1]=0:leftVisible.call(s,0,0),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),1!=s.options.lazyLoading||0!=s.selectedCell[1]&&0!=s.selectedCell[3]){if(s.options.pagination>0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}}else lazyLoading.wu.call(s,0);s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),internal.Rs.call(s,1)},last=function(e,t){const s=this;if(e?t?s.selectedCell[3]=s.records.length-1:rightVisible.call(s,1,0):(t?s.selectedCell[1]=s.records.length-1:rightVisible.call(s,0,0),s.selectedCell[2]=s.selectedCell[0],s.selectedCell[3]=s.selectedCell[1]),1!=s.options.lazyLoading||s.selectedCell[1]!=s.records.length-1&&s.selectedCell[3]!=s.records.length-1){if(s.options.pagination>0){const e=s.whichPage(s.selectedCell[3]);e!=s.pageNumber&&s.page(e)}}else lazyLoading.wu.call(s,-1);s.updateSelectionFromCoords(s.selectedCell[0],s.selectedCell[1],s.selectedCell[2],s.selectedCell[3]),internal.Rs.call(s,3)};var merges=__webpack_require__(910),selection=__webpack_require__(657),helpers=__webpack_require__(978),internalHelpers=__webpack_require__(689);const copy=function(e,t,s,n,o,r,l){const i=this;t||(t="\t");const a=new RegExp(t,"ig"),c=[];let d=[],u=[];const p=[],h=[],m=i.options.data[0].length,f=i.options.data.length;let g="",y=!1,b="",C="",j=0,w=0,_=0,B=0,v=!0;for(let t=0;t0){g=i.options.nestedHeaders;for(let e=0;e1&Number.isInteger(l/a)){const e=l/a;if(r){const t=[];for(let s=0;s1&Number.isInteger(i/c)){const e=i/c;if(r){const t=[];for(let s=0;s"none"===e.style.display)).length,f=u+m+s[0].length,g=n.headers.length;f>g&&(n.skipUpdateTableReferences=!0,n.insertColumn(f-g));const y=n.rows.slice(p).filter((e=>"none"===e.element.style.display)).length,b=p+y+s.length,C=n.rows.length;for(b>C&&(n.skipUpdateTableReferences=!0,n.insertRow(b-C)),n.skipUpdateTableReferences&&(n.skipUpdateTableReferences=!1,internal.o8.call(n));h=s[l];){for(o=0,u=parseInt(e);null!=h[o];){let e=h[o];n.options.columns&&n.options.columns[o]&&"calendar"==n.options.columns[o].type&&(e=jSuites.calendar.extractDateFromString(e,n.options.columns[o].options&&n.options.columns[o].options.format||"YYYY-MM-DD"));const t=internal.k9.call(n,u,p,e);if(i.push(t),internal.xF.call(n,u,p,i),r&&r[d]){const e=(0,internalHelpers.t3)([u,p]);a[e]=r[d],c[e]=n.getStyle(e),n.records[p][u].element.setAttribute("style",r[d]),d++}if(o++,null!=h[o]){if(u>=n.headers.length-1){if(0==n.options.allowInsertColumn)break;n.insertColumn()}u=rightGet.call(n,u,p)}}if(l++,s[l]){if(p>=n.rows.length-1){if(0==n.options.allowInsertRow)break;n.insertRow()}p=downGet.call(n,e,p)}}selection.AH.call(n,e,t,u,p),utils_history.Dh.call(n,{action:"setValue",records:i,selection:n.selectedCell,newStyle:a,oldStyle:c}),internal.am.call(n);const j=[];for(let n=0;nt&&(t=s.length)}return e.options.minDimensions&&e.options.minDimensions[0]>t&&(t=e.options.minDimensions[0]),t},createCellHeader=function(e){const t=this,s=t.options.columns&&t.options.columns[e]&&t.options.columns[e].width||t.options.defaultColWidth||100,n=t.options.columns&&t.options.columns[e]&&t.options.columns[e].align||t.options.defaultColAlign||"center";t.headers[e]=document.createElement("td"),t.headers[e].textContent=t.options.columns&&t.options.columns[e]&&t.options.columns[e].title||(0,helpers.getColumnName)(e),t.headers[e].setAttribute("data-x",e),t.headers[e].style.textAlign=n,t.options.columns&&t.options.columns[e]&&t.options.columns[e].title&&t.headers[e].setAttribute("title",t.headers[e].innerText),t.options.columns&&t.options.columns[e]&&t.options.columns[e].id&&t.headers[e].setAttribute("id",t.options.columns[e].id);const o=document.createElement("col");o.setAttribute("width",s),t.cols[e]={colElement:o,x:e},t.options.columns&&t.options.columns[e]&&"hidden"==t.options.columns[e].type&&(t.headers[e].style.display="none",o.style.display="none")},insertColumn=function(e,t,s,n){const o=this;if(0!=o.options.allowInsertColumn){let r,l=[];Array.isArray(e)?(r=1,e&&(l=e)):r="number"==typeof e?e:1,s=!!s;const i=Math.max(o.options.columns.length,...o.options.data.map((function(e){return e.length})))-1;(null==t||t>=parseInt(i)||t<0)&&(t=i),n||(n=[]);for(let e=0;e0&&merges.Lt.call(o,t,s).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;o.destroyMerge()}const c=s?t:t+1;o.options.columns=(0,internalHelpers.Hh)(o.options.columns,c,n);const d=o.headers.splice(c),u=o.cols.splice(c),p=[],h=[],m=[],f=[],g=[];for(let e=c;e0&&o.options.nestedHeaders[0]&&o.options.nestedHeaders[0][0])for(let e=0;e0){let n;if(n=e>t?1:0,merges.Lt.call(s,e).length||merges.Lt.call(s,t,n).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;s.destroyMerge()}}if((e=parseInt(e))>(t=parseInt(t))){s.headerContainer.insertBefore(s.headers[e],s.headers[t]),s.colgroupContainer.insertBefore(s.cols[e].colElement,s.cols[t].colElement);for(let n=0;n1){if(null==e){const n=s.getSelectedColumns(!0);n.length?(e=parseInt(n[0]),t=parseInt(n.length)):(e=s.headers.length-1,t=1)}const n=s.options.data[0].length-1;(null==e||e>n||e<0)&&(e=n),t||(t=1),t>s.options.data[0].length-e&&(t=s.options.data[0].length-e);const o=[];for(let s=0;s-1){let n=!1;if(s.options.mergeCells&&Object.keys(s.options.mergeCells).length>0)for(let o=e;o0&&s.options.nestedHeaders[0]&&s.options.nestedHeaders[0][0])for(let e=0;en+1&&(t.filter.children[n+1].style.display="");for(let e=0;en+1&&(t.filter.children[n+1].style.display="none");for(let e=0;e=parseInt(l)||t<0)&&(t=l);const i=[];for(let e=0;e0&&merges.D0.call(n,t,s).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;n.destroyMerge()}if(1==n.options.search){if(n.results&&n.results.length!=n.rows.length){if(!confirm(jSuites.translate("This action will clear your search results. Are you sure?")))return!1;n.resetSearch()}n.results=null}const a=s?t:t+1,c=n.records.splice(a),d=n.options.data.splice(a),u=n.rows.splice(a),p=[],h=[],m=[];for(let e=a;e=0&&n.tbody.insertBefore(s.element,u[0].element):Array.prototype.indexOf.call(n.tbody.children,n.rows[t].element)>=0&&n.tbody.appendChild(s.element),p.push([...n.records[e]]),h.push([...n.options.data[e]]),m.push(s)}Array.prototype.push.apply(n.records,c),Array.prototype.push.apply(n.options.data,d),Array.prototype.push.apply(n.rows,u);for(let e=a;e0&&n.page(n.pageNumber),utils_history.Dh.call(n,{action:"insertRow",rowNumber:t,numOfRows:o,insertBefore:s,rowRecords:p,rowData:h,rowNode:m}),internal.o8.call(n),dispatch.A.call(n,"oninsertrow",n,i)}},moveRow=function(e,t,s){const n=this;if(n.options.mergeCells&&Object.keys(n.options.mergeCells).length>0){let s;if(s=e>t?1:0,merges.D0.call(n,e).length||merges.D0.call(n,t,s).length){if(!confirm(jSuites.translate("This action will destroy any existing merged cells. Are you sure?")))return!1;n.destroyMerge()}}if(1==n.options.search){if(n.results&&n.results.length!=n.rows.length){if(!confirm(jSuites.translate("This action will clear your search results. Are you sure?")))return!1;n.resetSearch()}n.results=null}s||(Array.prototype.indexOf.call(n.tbody.children,n.rows[t].element)>=0?e>t?n.tbody.insertBefore(n.rows[e].element,n.rows[t].element):n.tbody.insertBefore(n.rows[e].element,n.rows[t].element.nextSibling):n.tbody.removeChild(n.rows[e].element)),n.rows.splice(t,0,n.rows.splice(e,1)[0]),n.records.splice(t,0,n.records.splice(e,1)[0]),n.options.data.splice(t,0,n.options.data.splice(e,1)[0]);const o=Math.min(e,t),r=Math.max(e,t);for(let e=o;e<=r;e++)n.rows[e].y=e;for(let e=o;e<=r;e++)for(let t=0;t0&&n.tbody.children.length!=n.options.pagination&&n.page(n.pageNumber),utils_history.Dh.call(n,{action:"moveRow",oldValue:e,newValue:t}),internal.o8.call(n),dispatch.A.call(n,"onmoverow",n,parseInt(e),parseInt(t),1)},deleteRow=function(e,t){const s=this;if(0!=s.options.allowDeleteRow)if(1==s.options.allowDeletingAllRows||s.options.data.length>1){if(null==e){const n=selection.R5.call(s);0===n.length?(e=s.options.data.length-1,t=1):(e=n[0],t=n.length)}let n=s.options.data.length-1;(null==e||e>n||e<0)&&(e=n),t||(t=1),e+t>=s.options.data.length&&(t=s.options.data.length-e);const o=[];for(let s=0;s-1){let r=!1;if(s.options.mergeCells&&Object.keys(s.options.mergeCells).length>0)for(let n=e;n=0&&(s.rows[n].element.className="",s.rows[n].element.parentNode.removeChild(s.rows[n].element));const l=s.records.splice(e,t),i=s.options.data.splice(e,t),a=s.rows.splice(e,t);for(let t=e;t0&&s.tbody.children.length!=s.options.pagination&&s.page(s.pageNumber),selection.at.call(s,1,e,e+t-1),utils_history.Dh.call(s,{action:"deleteRow",rowNumber:e,numOfRows:t,insertBefore:1,rowRecords:l,rowData:i,rowNode:a}),internal.o8.call(s),dispatch.A.call(s,"ondeleterow",s,o)}}else console.error("Jspreadsheet: It is not possible to delete the last row")},getHeight=function(e){const t=this;let s;if(void 0===e){s=[];for(let e=0;e0&&(s||(s=n.rows[e].element.getAttribute("height"))||(s=n.rows[e].element.getBoundingClientRect().height),t=parseInt(t),n.rows[e].element.style.height=t+"px",n.options.rows||(n.options.rows=[]),n.options.rows[e]||(n.options.rows[e]={}),n.options.rows[e].height=t,utils_history.Dh.call(n,{action:"setHeight",row:e,oldValue:s,newValue:t}),dispatch.A.call(n,"onresizerow",n,e,t,s),selection.Aq.call(n))},showRow=function(e){const t=this;Array.isArray(e)||(e=[e]),e.forEach((function(e){t.rows[e].element.style.display=""}))},hideRow=function(e){const t=this;Array.isArray(e)||(e=[e]),e.forEach((function(e){t.rows[e].element.style.display="none"}))},getRowData=function(e,t){return t?this.records[e].map((function(e){return e.element.innerHTML})):this.options.data[e]},setRowData=function(e,t,s){const n=this;for(let o=0;o .jtabs-content > .jtabs-selected"))),"THEAD"==n.tagName?t=1:"TBODY"==n.tagName&&(t=2),n.parentNode&&(s||e(n.parentNode))}(e),[s,t]},mouseUpControls=function(e){if(libraryBase.jspreadsheet.current)if(libraryBase.jspreadsheet.current.resizing){if(libraryBase.jspreadsheet.current.resizing.column){const e=parseInt(libraryBase.jspreadsheet.current.cols[libraryBase.jspreadsheet.current.resizing.column].colElement.getAttribute("width")),t=libraryBase.jspreadsheet.current.getSelectedColumns();if(t.length>1){const s=[];for(let e=0;e0&&(selection.kF.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selection[0],libraryBase.jspreadsheet.current.selection[libraryBase.jspreadsheet.current.selection.length-1]),selection.gG.call(libraryBase.jspreadsheet.current)));libraryBase.jspreadsheet.timeControl&&(clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=null),libraryBase.jspreadsheet.isMouseAction=!1},mouseDownControls=function(e){let t;t=(e=e||window.event).buttons?e.buttons:e.button?e.button:e.which;const s=getElement(e.target);if(s[0]?libraryBase.jspreadsheet.current!=s[0].jssWorksheet&&(libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.edition&&closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0),libraryBase.jspreadsheet.current.resetSelection()),libraryBase.jspreadsheet.current=s[0].jssWorksheet):libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.edition&&closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0),e.target.classList.contains("jss_object")||(selection.gE.call(libraryBase.jspreadsheet.current,!0),libraryBase.jspreadsheet.current=null)),libraryBase.jspreadsheet.current&&1==t){if(e.target.classList.contains("jss_selectall"))libraryBase.jspreadsheet.current&&selection.Ub.call(libraryBase.jspreadsheet.current);else if(e.target.classList.contains("jss_corner"))0!=libraryBase.jspreadsheet.current.options.editable&&(libraryBase.jspreadsheet.current.selectedCorner=!0);else{if(1==s[1]){const t=e.target.getAttribute("data-x");if(t){const s=e.target.getBoundingClientRect();if(0!=libraryBase.jspreadsheet.current.options.columnResize&&s.width-e.offsetX<6){libraryBase.jspreadsheet.current.resizing={mousePosition:e.pageX,column:t,width:s.width},libraryBase.jspreadsheet.current.headers[t].classList.add("resizing");for(let e=0;e"==e.target.textContent?libraryBase.jspreadsheet.current.page(e.target.getAttribute("title")-1):libraryBase.jspreadsheet.current.page(e.target.textContent-1))}libraryBase.jspreadsheet.current.edition?libraryBase.jspreadsheet.isMouseAction=!1:libraryBase.jspreadsheet.isMouseAction=!0}else libraryBase.jspreadsheet.isMouseAction=!1},mouseMoveControls=function(e){let t;if(t=(e=e||window.event).buttons?e.buttons:e.button?e.button:e.which,t||(libraryBase.jspreadsheet.isMouseAction=!1),libraryBase.jspreadsheet.current)if(1==libraryBase.jspreadsheet.isMouseAction){if(libraryBase.jspreadsheet.current.resizing)if(libraryBase.jspreadsheet.current.resizing.column){const t=e.pageX-libraryBase.jspreadsheet.current.resizing.mousePosition;if(libraryBase.jspreadsheet.current.resizing.width+t>0){const e=libraryBase.jspreadsheet.current.resizing.width+t;libraryBase.jspreadsheet.current.cols[libraryBase.jspreadsheet.current.resizing.column].colElement.setAttribute("width",e),selection.Aq.call(libraryBase.jspreadsheet.current)}}else{const t=e.pageY-libraryBase.jspreadsheet.current.resizing.mousePosition;if(libraryBase.jspreadsheet.current.resizing.height+t>0){const e=libraryBase.jspreadsheet.current.resizing.height+t;libraryBase.jspreadsheet.current.rows[libraryBase.jspreadsheet.current.resizing.row].element.setAttribute("height",e),selection.Aq.call(libraryBase.jspreadsheet.current)}}else if(libraryBase.jspreadsheet.current.dragging)if(libraryBase.jspreadsheet.current.dragging.column){const t=e.target.getAttribute("data-x");if(t)if(merges.Lt.call(libraryBase.jspreadsheet.current,t).length)console.error("Jspreadsheet: This column is part of a merged cell.");else{for(let e=0;ee.offsetX?(libraryBase.jspreadsheet.current.dragging.columne.offsetY?e.target.parentNode.nextSibling:e.target.parentNode;libraryBase.jspreadsheet.current.dragging.element!=t&&(e.target.parentNode.parentNode.insertBefore(libraryBase.jspreadsheet.current.dragging.element,t),libraryBase.jspreadsheet.current.dragging.destination=Array.prototype.indexOf.call(libraryBase.jspreadsheet.current.dragging.element.parentNode.children,libraryBase.jspreadsheet.current.dragging.element))}}}else{const t=e.target.getAttribute("data-x"),s=e.target.getAttribute("data-y"),n=e.target.getBoundingClientRect();libraryBase.jspreadsheet.current.cursor&&(libraryBase.jspreadsheet.current.cursor.style.cursor="",libraryBase.jspreadsheet.current.cursor=null),e.target.parentNode.parentNode&&e.target.parentNode.parentNode.className&&(e.target.parentNode.parentNode.classList.contains("resizable")&&(e.target&&t&&!s&&n.width-(e.clientX-n.left)<6?(libraryBase.jspreadsheet.current.cursor=e.target,libraryBase.jspreadsheet.current.cursor.style.cursor="col-resize"):e.target&&!t&&s&&n.height-(e.clientY-n.top)<6&&(libraryBase.jspreadsheet.current.cursor=e.target,libraryBase.jspreadsheet.current.cursor.style.cursor="row-resize")),e.target.parentNode.parentNode.classList.contains("draggable")&&(e.target&&!t&&s&&n.width-(e.clientX-n.left)<6||e.target&&t&&!s&&n.height-(e.clientY-n.top)<6)&&(libraryBase.jspreadsheet.current.cursor=e.target,libraryBase.jspreadsheet.current.cursor.style.cursor="move"))}},updateCopySelection=function(e,t){const s=this;selection.gG.call(s);const n=s.selectedContainer[0],o=s.selectedContainer[1],r=s.selectedContainer[2],l=s.selectedContainer[3];if(null!=e&&null!=t){let i,a,c,d;e-r>0?(i=parseInt(r)+1,a=parseInt(e)):(i=parseInt(e),a=parseInt(n)-1),t-l>0?(c=parseInt(l)+1,d=parseInt(t)):(c=parseInt(t),d=parseInt(o)-1),a-i<=d-c?(i=parseInt(n),a=parseInt(r)):(c=parseInt(o),d=parseInt(l));for(let e=c;e<=d;e++)for(let t=i;t<=a;t++)s.records[e][t]&&"none"!=s.rows[e].element.style.display&&"none"!=s.records[e][t].element.style.display&&(s.records[e][t].element.classList.add("selection"),s.records[c][t].element.classList.add("selection-top"),s.records[d][t].element.classList.add("selection-bottom"),s.records[e][i].element.classList.add("selection-left"),s.records[e][a].element.classList.add("selection-right"),s.selection.push(s.records[e][t].element))}},mouseOverControls=function(e){let t;if(t=(e=e||window.event).buttons?e.buttons:e.button?e.button:e.which,t||(libraryBase.jspreadsheet.isMouseAction=!1),libraryBase.jspreadsheet.current&&1==libraryBase.jspreadsheet.isMouseAction){const t=getElement(e.target);if(t[0]){if(libraryBase.jspreadsheet.current!=t[0].jssWorksheet&&libraryBase.jspreadsheet.current)return!1;let s=e.target.getAttribute("data-x");const n=e.target.getAttribute("data-y");if(libraryBase.jspreadsheet.current.resizing||libraryBase.jspreadsheet.current.dragging);else{if(1==t[1]&&libraryBase.jspreadsheet.current.selectedHeader){s=e.target.getAttribute("data-x");const t=libraryBase.jspreadsheet.current.selectedHeader,n=s;selection.AH.call(libraryBase.jspreadsheet.current,t,0,n,libraryBase.jspreadsheet.current.options.data.length-1,e)}if(2==t[1])if(e.target.classList.contains("jss_row")){if(libraryBase.jspreadsheet.current.selectedRow){const t=libraryBase.jspreadsheet.current.selectedRow,s=n;selection.AH.call(libraryBase.jspreadsheet.current,0,t,libraryBase.jspreadsheet.current.options.data[0].length-1,s,e)}}else libraryBase.jspreadsheet.current.edition||s&&n&&(libraryBase.jspreadsheet.current.selectedCorner?updateCopySelection.call(libraryBase.jspreadsheet.current,s,n):libraryBase.jspreadsheet.current.selectedCell&&selection.AH.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selectedCell[0],libraryBase.jspreadsheet.current.selectedCell[1],s,n,e))}}}libraryBase.jspreadsheet.timeControl&&(clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=null)},doubleClickControls=function(e){if(libraryBase.jspreadsheet.current)if(e.target.classList.contains("jss_corner")){if(libraryBase.jspreadsheet.current.highlighted.length>0){const e=libraryBase.jspreadsheet.current.highlighted[0].element.getAttribute("data-x"),t=parseInt(libraryBase.jspreadsheet.current.highlighted[libraryBase.jspreadsheet.current.highlighted.length-1].element.getAttribute("data-y"))+1,s=libraryBase.jspreadsheet.current.highlighted[libraryBase.jspreadsheet.current.highlighted.length-1].element.getAttribute("data-x"),n=libraryBase.jspreadsheet.current.records.length-1;selection.kF.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][e].element,libraryBase.jspreadsheet.current.records[n][s].element)}}else if(e.target.classList.contains("jss_column_filter")){const t=e.target.getAttribute("data-x");filter.N$.call(libraryBase.jspreadsheet.current,t)}else{const t=getElement(e.target);if(1==t[1]&&0!=libraryBase.jspreadsheet.current.options.columnSorting){const t=e.target.getAttribute("data-x");t&&libraryBase.jspreadsheet.current.orderBy(parseInt(t))}if(2==t[1]&&0!=libraryBase.jspreadsheet.current.options.editable&&!libraryBase.jspreadsheet.current.edition){const t=function(e){if(e.parentNode){const s=e.getAttribute("data-x"),n=e.getAttribute("data-y");return s&&n?e:t(e.parentNode)}},s=t(e.target);s&&s.classList.contains("highlight")&&openEditor.call(libraryBase.jspreadsheet.current,s,void 0,e)}}},pasteControls=function(e){libraryBase.jspreadsheet.current&&libraryBase.jspreadsheet.current.selectedCell&&(libraryBase.jspreadsheet.current.edition||0!=libraryBase.jspreadsheet.current.options.editable&&(e&&e.clipboardData?(paste.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selectedCell[0],libraryBase.jspreadsheet.current.selectedCell[1],e.clipboardData.getData("text")),e.preventDefault()):window.clipboardData&&paste.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.selectedCell[0],libraryBase.jspreadsheet.current.selectedCell[1],window.clipboardData.getData("text"))))},getRole=function(e){if(e.classList.contains("jss_selectall"))return"select-all";if(e.classList.contains("jss_corner"))return"fill-handle";let t=e;for(;!t.classList.contains("jss_spreadsheet");){if(t.classList.contains("jss_row"))return"row";if(t.classList.contains("jss_nested"))return"nested";if(t.classList.contains("jtabs-headers"))return"tabs";if(t.classList.contains("jtoolbar"))return"toolbar";if(t.classList.contains("jss_pagination"))return"pagination";if("TBODY"===t.tagName)return"cell";if("TFOOT"===t.tagName)return 0===getElementIndex(e)?"grid":"footer";if("THEAD"===t.tagName)return"header";t=t.parentElement}return"applications"},defaultContextMenu=function(e,t,s,n){const o=[];if("header"===n&&(0!=e.options.allowInsertColumn&&o.push({title:jSuites.translate("Insert a new column before"),onclick:function(){e.insertColumn(1,parseInt(t),1)}}),0!=e.options.allowInsertColumn&&o.push({title:jSuites.translate("Insert a new column after"),onclick:function(){e.insertColumn(1,parseInt(t),0)}}),0!=e.options.allowDeleteColumn&&o.push({title:jSuites.translate("Delete selected columns"),onclick:function(){e.deleteColumn(e.getSelectedColumns().length?void 0:parseInt(t))}}),0!=e.options.allowRenameColumn&&o.push({title:jSuites.translate("Rename this column"),onclick:function(){const s=e.getHeader(t),n=prompt(jSuites.translate("Column name"),s);e.setHeader(t,n)}}),0!=e.options.columnSorting&&(o.push({type:"line"}),o.push({title:jSuites.translate("Order ascending"),onclick:function(){e.orderBy(t,0)}}),o.push({title:jSuites.translate("Order descending"),onclick:function(){e.orderBy(t,1)}}))),"row"!==n&&"cell"!==n||(0!=e.options.allowInsertRow&&(o.push({title:jSuites.translate("Insert a new row before"),onclick:function(){e.insertRow(1,parseInt(s),1)}}),o.push({title:jSuites.translate("Insert a new row after"),onclick:function(){e.insertRow(1,parseInt(s))}})),0!=e.options.allowDeleteRow&&o.push({title:jSuites.translate("Delete selected rows"),onclick:function(){e.deleteRow(e.getSelectedRows().length?void 0:parseInt(s))}})),"cell"===n&&0!=e.options.allowComments){o.push({type:"line"});const n=e.records[s][t].element.getAttribute("title")||"";o.push({title:jSuites.translate(n?"Edit comments":"Add comments"),onclick:function(){const o=prompt(jSuites.translate("Comments"),n);o&&e.setComments((0,helpers.getCellNameFromCoords)(t,s),o)}}),n&&o.push({title:jSuites.translate("Clear comments"),onclick:function(){e.setComments((0,helpers.getCellNameFromCoords)(t,s),"")}})}return 0!==o.length&&o.push({type:"line"}),"header"!==n&&"row"!==n&&"cell"!==n||(o.push({title:jSuites.translate("Copy")+"...",shortcut:"Ctrl + C",onclick:function(){copy.call(e,!0)}}),navigator&&navigator.clipboard&&o.push({title:jSuites.translate("Paste")+"...",shortcut:"Ctrl + V",onclick:function(){e.selectedCell&&navigator.clipboard.readText().then((function(t){t&&paste.call(e,e.selectedCell[0],e.selectedCell[1],t)}))}})),0!=e.parent.config.allowExport&&o.push({title:jSuites.translate("Save as")+"...",shortcut:"Ctrl + S",onclick:function(){e.download()}}),0!=e.parent.config.about&&o.push({title:jSuites.translate("About"),onclick:function(){void 0===e.parent.config.about||!0===e.parent.config.about?alert(version.print()):alert(e.parent.config.about)}}),o},getElementIndex=function(e){const t=e.parentElement.children;for(let s=0;sparseInt(libraryBase.jspreadsheet.current.selectedCell[2])||oparseInt(libraryBase.jspreadsheet.current.selectedCell[3]))&&selection.AH.call(libraryBase.jspreadsheet.current,n,o,n,o,e)}else if("row"===s||"header"===s)"row"===s?o=e.target.getAttribute("data-y"):n=e.target.getAttribute("data-x"),(!libraryBase.jspreadsheet.current.selectedCell||nparseInt(libraryBase.jspreadsheet.current.selectedCell[2])||oparseInt(libraryBase.jspreadsheet.current.selectedCell[3]))&&selection.AH.call(libraryBase.jspreadsheet.current,n,o,n,o,e);else if("nested"===s){const t=e.target.getAttribute("data-column").split(",");n=getElementIndex(e.target)-1,o=getElementIndex(e.target.parentElement),libraryBase.jspreadsheet.current.selectedCell&&t[0]==parseInt(libraryBase.jspreadsheet.current.selectedCell[0])&&t[t.length-1]==parseInt(libraryBase.jspreadsheet.current.selectedCell[2])&&null==libraryBase.jspreadsheet.current.selectedCell[1]&&null==libraryBase.jspreadsheet.current.selectedCell[3]||selection.AH.call(libraryBase.jspreadsheet.current,t[0],null,t[t.length-1],null,e)}else"select-all"===s?selection.Ub.call(libraryBase.jspreadsheet.current):"tabs"===s?n=getElementIndex(e.target):"footer"===s&&(n=getElementIndex(e.target)-1,o=getElementIndex(e.target.parentElement));let r=defaultContextMenu(libraryBase.jspreadsheet.current,parseInt(n),parseInt(o),s);if("function"==typeof t.config.contextMenu){const l=t.config.contextMenu(libraryBase.jspreadsheet.current,n,o,e,r,s,n,o);if(l)r=l;else if(!1===l)return}"object"==typeof t.plugins&&Object.entries(t.plugins).forEach((function([,t]){if("function"==typeof t.contextMenu){const l=t.contextMenu(libraryBase.jspreadsheet.current,null!==n?parseInt(n):null,null!==o?parseInt(o):null,e,r,s,null!==n?parseInt(n):null,null!==o?parseInt(o):null);l&&(r=l)}})),t.contextMenu.contextmenu.open(e,r),e.preventDefault()}}},touchStartControls=function(e){const t=getElement(e.target);if(t[0]?libraryBase.jspreadsheet.current!=t[0].jssWorksheet&&(libraryBase.jspreadsheet.current&&libraryBase.jspreadsheet.current.resetSelection(),libraryBase.jspreadsheet.current=t[0].jssWorksheet):libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.resetSelection(),libraryBase.jspreadsheet.current=null),libraryBase.jspreadsheet.current&&!libraryBase.jspreadsheet.current.edition){const t=e.target.getAttribute("data-x"),s=e.target.getAttribute("data-y");t&&s&&(selection.AH.call(libraryBase.jspreadsheet.current,t,s,void 0,void 0,e),libraryBase.jspreadsheet.timeControl=setTimeout((function(){"color"==libraryBase.jspreadsheet.current.options.columns[t].type?libraryBase.jspreadsheet.tmpElement=null:libraryBase.jspreadsheet.tmpElement=e.target,openEditor.call(libraryBase.jspreadsheet.current,e.target,!1,e)}),500))}},touchEndControls=function(e){libraryBase.jspreadsheet.timeControl&&(clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=null,libraryBase.jspreadsheet.tmpElement&&"INPUT"==libraryBase.jspreadsheet.tmpElement.children[0].tagName&&libraryBase.jspreadsheet.tmpElement.children[0].focus(),libraryBase.jspreadsheet.tmpElement=null)},cutControls=function(e){libraryBase.jspreadsheet.current&&(libraryBase.jspreadsheet.current.edition||(copy.call(libraryBase.jspreadsheet.current,!0,void 0,void 0,void 0,void 0,!0),0!=libraryBase.jspreadsheet.current.options.editable&&libraryBase.jspreadsheet.current.setValue(libraryBase.jspreadsheet.current.highlighted.map((function(e){return e.element})),"")))},copyControls=function(e){libraryBase.jspreadsheet.current&©Controls.enabled&&(libraryBase.jspreadsheet.current.edition||copy.call(libraryBase.jspreadsheet.current,!0))},isMac=function(){return navigator.platform.toUpperCase().indexOf("MAC")>=0},isCtrl=function(e){return isMac()?e.metaKey:e.ctrlKey},keyDownControls=function(e){if(libraryBase.jspreadsheet.current){if(libraryBase.jspreadsheet.current.edition)if(27==e.which)libraryBase.jspreadsheet.current.edition&&closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!1),e.preventDefault();else if(13==e.which)if(libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&"calendar"==libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].type)closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0);else if(libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&"dropdown"==libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].type);else if((1==libraryBase.jspreadsheet.current.options.wordWrap||libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&1==libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].wordWrap||libraryBase.jspreadsheet.current.options.data[libraryBase.jspreadsheet.current.edition[3]][libraryBase.jspreadsheet.current.edition[2]]&&libraryBase.jspreadsheet.current.options.data[libraryBase.jspreadsheet.current.edition[3]][libraryBase.jspreadsheet.current.edition[2]].length>200)&&e.altKey){const e=libraryBase.jspreadsheet.current.edition[0].children[0];let t=libraryBase.jspreadsheet.current.edition[0].children[0].value;const s=e.selectionStart;t=t.slice(0,s)+"\n"+t.slice(s),e.value=t,e.focus(),e.selectionStart=s+1,e.selectionEnd=s+1}else libraryBase.jspreadsheet.current.edition[0].children[0].blur();else 9==e.which&&(libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]]&&["calendar","html"].includes(libraryBase.jspreadsheet.current.options.columns[libraryBase.jspreadsheet.current.edition[2]].type)?closeEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.edition[0],!0):libraryBase.jspreadsheet.current.edition[0].children[0].blur());if(!libraryBase.jspreadsheet.current.edition&&libraryBase.jspreadsheet.current.selectedCell)if(37==e.which)left.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(39==e.which)right.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(38==e.which)up.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(40==e.which)down.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(36==e.which)first.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(35==e.which)last.call(libraryBase.jspreadsheet.current,e.shiftKey,e.ctrlKey),e.preventDefault();else if(46==e.which||8==e.which)0!=libraryBase.jspreadsheet.current.options.editable&&(libraryBase.jspreadsheet.current.selectedRow?0!=libraryBase.jspreadsheet.current.options.allowDeleteRow&&confirm(jSuites.translate("Are you sure to delete the selected rows?"))&&libraryBase.jspreadsheet.current.deleteRow():libraryBase.jspreadsheet.current.selectedHeader?0!=libraryBase.jspreadsheet.current.options.allowDeleteColumn&&confirm(jSuites.translate("Are you sure to delete the selected columns?"))&&libraryBase.jspreadsheet.current.deleteColumn():libraryBase.jspreadsheet.current.setValue(libraryBase.jspreadsheet.current.highlighted.map((function(e){return e.element})),""));else if(13==e.which)e.shiftKey?up.call(libraryBase.jspreadsheet.current):(0!=libraryBase.jspreadsheet.current.options.allowInsertRow&&0!=libraryBase.jspreadsheet.current.options.allowManualInsertRow&&libraryBase.jspreadsheet.current.selectedCell[1]==libraryBase.jspreadsheet.current.options.data.length-1&&libraryBase.jspreadsheet.current.insertRow(),down.call(libraryBase.jspreadsheet.current)),e.preventDefault();else if(9==e.which)e.shiftKey?left.call(libraryBase.jspreadsheet.current):(0!=libraryBase.jspreadsheet.current.options.allowInsertColumn&&0!=libraryBase.jspreadsheet.current.options.allowManualInsertColumn&&libraryBase.jspreadsheet.current.selectedCell[0]==libraryBase.jspreadsheet.current.options.data[0].length-1&&libraryBase.jspreadsheet.current.insertColumn(),right.call(libraryBase.jspreadsheet.current)),e.preventDefault();else if(!e.ctrlKey&&!e.metaKey||e.shiftKey){if(libraryBase.jspreadsheet.current.selectedCell&&0!=libraryBase.jspreadsheet.current.options.editable){const t=libraryBase.jspreadsheet.current.selectedCell[1],s=libraryBase.jspreadsheet.current.selectedCell[0];32==e.keyCode?(e.preventDefault(),"checkbox"==libraryBase.jspreadsheet.current.options.columns[s].type||"radio"==libraryBase.jspreadsheet.current.options.columns[s].type?setCheckRadioValue.call(libraryBase.jspreadsheet.current):openEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][s].element,!0,e)):113==e.keyCode?openEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][s].element,!1,e):1!==e.key.length&&"Process"!==e.key||e.altKey||isCtrl(e)||(openEditor.call(libraryBase.jspreadsheet.current,libraryBase.jspreadsheet.current.records[t][s].element,!0,e),libraryBase.jspreadsheet.current.options.columns&&libraryBase.jspreadsheet.current.options.columns[s]&&"calendar"==libraryBase.jspreadsheet.current.options.columns[s].type&&e.preventDefault())}}else 65==e.which?(selection.Ub.call(libraryBase.jspreadsheet.current),e.preventDefault()):83==e.which?(libraryBase.jspreadsheet.current.download(),e.preventDefault()):89==e.which?(libraryBase.jspreadsheet.current.redo(),e.preventDefault()):90==e.which?(libraryBase.jspreadsheet.current.undo(),e.preventDefault()):67==e.which?(copy.call(libraryBase.jspreadsheet.current,!0),e.preventDefault()):88==e.which?(0!=libraryBase.jspreadsheet.current.options.editable?cutControls():copyControls(),e.preventDefault()):86==e.which&&pasteControls();else e.target.classList.contains("jss_search")&&(libraryBase.jspreadsheet.timeControl&&clearTimeout(libraryBase.jspreadsheet.timeControl),libraryBase.jspreadsheet.timeControl=setTimeout((function(){libraryBase.jspreadsheet.current.search(e.target.value)}),200))}},wheelControls=function(e){const t=this;1==t.options.lazyLoading&&null==libraryBase.jspreadsheet.timeControlLoading&&(libraryBase.jspreadsheet.timeControlLoading=setTimeout((function(){t.content.scrollTop+t.content.clientHeight>=t.content.scrollHeight-10?lazyLoading.p6.call(t)&&(t.content.scrollTop+t.content.clientHeight>t.content.scrollHeight-10&&(t.content.scrollTop=t.content.scrollTop-t.content.clientHeight),selection.Aq.call(t)):t.content.scrollTop<=t.content.clientHeight&&lazyLoading.G_.call(t)&&(t.content.scrollTop<10&&(t.content.scrollTop=t.content.scrollTop+t.content.clientHeight),selection.Aq.call(t)),libraryBase.jspreadsheet.timeControlLoading=null}),100))};let scrollLeft=0;const updateFreezePosition=function(){const e=this;scrollLeft=e.content.scrollLeft;let t=0;if(scrollLeft>50)for(let s=0;s0&&(!e.options.columns||!e.options.columns[s-1]||"hidden"!==e.options.columns[s-1].type)){let n;n=e.options.columns&&e.options.columns[s-1]&&void 0!==e.options.columns[s-1].width?parseInt(e.options.columns[s-1].width):void 0!==e.options.defaultColWidth?parseInt(e.options.defaultColWidth):100,t+=parseInt(n)}e.headers[s].classList.add("jss_freezed"),e.headers[s].style.left=t+"px";for(let t=0;t0?e.records[t][s-1].element.style.width:0)-51+"px";e.records[t][s].element.classList.add("jss_freezed"),e.records[t][s].element.style.left=n}}else for(let t=0;t0&&t.content.scrollLeft!=scrollLeft&&updateFreezePosition.call(t),1!=t.options.lazyLoading&&1!=t.options.tableOverflow||t.edition&&"jdropdown"!=e.target.className.substr(0,9)&&closeEditor.call(t,t.edition[0],!0)},setEvents=function(e){destroyEvents(e),e.addEventListener("mouseup",mouseUpControls),e.addEventListener("mousedown",mouseDownControls),e.addEventListener("mousemove",mouseMoveControls),e.addEventListener("mouseover",mouseOverControls),e.addEventListener("dblclick",doubleClickControls),e.addEventListener("paste",pasteControls),e.addEventListener("contextmenu",contextMenuControls),e.addEventListener("touchstart",touchStartControls),e.addEventListener("touchend",touchEndControls),e.addEventListener("touchcancel",touchEndControls),e.addEventListener("touchmove",touchEndControls),document.addEventListener("keydown",keyDownControls)},destroyEvents=function(e){e.removeEventListener("mouseup",mouseUpControls),e.removeEventListener("mousedown",mouseDownControls),e.removeEventListener("mousemove",mouseMoveControls),e.removeEventListener("mouseover",mouseOverControls),e.removeEventListener("dblclick",doubleClickControls),e.removeEventListener("paste",pasteControls),e.removeEventListener("contextmenu",contextMenuControls),e.removeEventListener("touchstart",touchStartControls),e.removeEventListener("touchend",touchEndControls),e.removeEventListener("touchcancel",touchEndControls),document.removeEventListener("keydown",keyDownControls)};var toolbar=__webpack_require__(392),pagination=__webpack_require__(167);const setData=function(e){const t=this;if(e&&(t.options.data=e),t.options.data||(t.options.data=[]),t.options.data&&t.options.data[0]&&!Array.isArray(t.options.data[0])){e=[];for(let s=0;so?l:o,c=i>r?i:r;for(s=0;s=d&&s0)for(let l=0;l0&&i++}return s?r.map((function(e){return e.join(s)})).join("\r\n")+"\r\n":n?r.map((function(e){const t={};return e.forEach((function(e,s){t[s]=e})),t})):r},getDataFromRange=function(e,t){const s=this,n=(0,helpers.getCoordsFromRange)(e),o=[];for(let e=n[1];e<=n[3];e++){o.push([]);for(let r=n[0];r<=n[2];r++)t?o[o.length-1].push(s.records[e][r].element.innerHTML):o[o.length-1].push(s.options.data[e][r])}return o},search=function(e){const t=this;if(t.options.filters&&filter.dr.call(t),t.resetSelection(),t.pageNumber=0,t.results=[],e){t.searchInput.value!==e&&(t.searchInput.value=e);const s=function(e,s,n){for(let o=0;o=0||(""+t.records[n][o].element.innerHTML).toLowerCase().search(s)>=0)return!0;return!1},n=function(e){-1==t.results.indexOf(e)&&t.results.push(e)};let o=e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");o=new RegExp(o,"i"),t.options.data.forEach((function(e,r){if(s(e,o,r)){const e=merges.D0.call(t,r);if(e.length)for(let s=0;s0&&e.options.paginationOptions&&e.options.paginationOptions.length>0){e.paginationDropdown=document.createElement("select"),e.paginationDropdown.classList.add("jss_pagination_dropdown"),e.paginationDropdown.onchange=function(){e.options.pagination=parseInt(this.value),e.page(0)};for(let t=0;t0&&e.options.nestedHeaders[0]&&e.options.nestedHeaders[0][0])for(let t=0;ts&&(s=t)}else t=Object.keys(e.options.data[0]),t.length>s&&(s=t.length);e.options.minDimensions||(e.options.minDimensions=[0,0]),e.options.minDimensions[0]>s&&(s=e.options.minDimensions[0]);const n=[];for(let o=0;o{jSuites.ajax({url:e.options.csv,method:"GET",dataType:"text",success:function(s){const n=(0,helpers.parseCSV)(s,e.options.csvDelimiter);if(1==e.options.csvHeaders&&n.length>0){const t=n.shift();if(t.length>0){e.options.columns||(e.options.columns=[]);for(let s=0;s{jSuites.ajax({url:e.options.url,method:"GET",dataType:"json",success:function(s){e.options.data=s.data?s.data:s,prepareTable.call(e),t()}})}));s.push(t)}else prepareTable.call(e);await Promise.all(s),"object"==typeof t.plugins&&Object.entries(t.plugins).forEach((function([,t]){"function"==typeof t.init&&t.init(e)}))},createWorksheetObj=function(e){const t=this.parent;e.worksheetName||(e.worksheetName=getNextDefaultWorksheetName(this.parent));const s={parent:t,options:e,filters:[],formula:[],history:[],selection:[],historyIndex:-1};return t.config.worksheets.push(s.options),t.worksheets.push(s),s},createWorksheet=function(e){const t=this.parent;t.creationThroughJss=!0,createWorksheetObj.call(this,e),t.element.tabs.create(e.worksheetName)},openWorksheet=function(e){this.parent.element.tabs.open(e)},deleteWorksheet=function(e){const t=this;t.parent.element.tabs.remove(e);const s=t.parent.worksheets.splice(e,1)[0];dispatch.A.call(t.parent,"ondeleteworksheet",s,e)},worksheetPublicMethods=[["selectAll",selection.Ub],["updateSelectionFromCoords",function(e,t,s,n){return selection.AH.call(this,e,t,s,n)}],["resetSelection",function(){return selection.gE.call(this)}],["getSelection",selection.Lo],["getSelected",selection.ef],["getSelectedColumns",selection.Jg],["getSelectedRows",selection.R5],["getData",getData],["setData",setData],["getValue",getValue],["getValueFromCoords",getValueFromCoords],["setValue",setValue],["setValueFromCoords",setValueFromCoords],["getWidth",getWidth],["setWidth",function(e,t){return setWidth.call(this,e,t)}],["insertRow",insertRow],["moveRow",function(e,t){return moveRow.call(this,e,t)}],["deleteRow",deleteRow],["hideRow",hideRow],["showRow",showRow],["getRowData",getRowData],["setRowData",setRowData],["getHeight",getHeight],["setHeight",function(e,t){return setHeight.call(this,e,t)}],["getMerge",merges.fd],["setMerge",function(e,t,s){return merges.FU.call(this,e,t,s)}],["destroyMerge",function(){return merges.VP.call(this)}],["removeMerge",function(e,t){return merges.Zp.call(this,e,t)}],["search",search],["resetSearch",resetSearch],["getHeader",getHeader],["getHeaders",getHeaders],["setHeader",setHeader],["getStyle",getStyle],["setStyle",function(e,t,s,n){return setStyle.call(this,e,t,s,n)}],["resetStyle",resetStyle],["insertColumn",insertColumn],["moveColumn",moveColumn],["deleteColumn",deleteColumn],["getColumnData",getColumnData],["setColumnData",setColumnData],["whichPage",pagination.ho],["page",pagination.MY],["download",download],["getComments",getComments],["setComments",setComments],["orderBy",orderBy.My],["undo",utils_history.tN],["redo",utils_history.ZS],["getCell",internal.tT],["getCellFromCoords",internal.Xr],["getLabel",internal.p9],["getConfig",getWorksheetConfig],["setConfig",setConfig],["getMeta",function(e){return meta.IQ.call(this,e)}],["setMeta",meta.iZ],["showColumn",showColumn],["hideColumn",hideColumn],["showIndex",internal.C6],["hideIndex",internal.TI],["getWorksheetActive",internal.$O],["openEditor",openEditor],["closeEditor",closeEditor],["createWorksheet",createWorksheet],["openWorksheet",openWorksheet],["deleteWorksheet",deleteWorksheet],["copy",function(e){e?cutControls():copy.call(this,!0)}],["paste",paste],["executeFormula",internal.Em],["getDataFromRange",getDataFromRange],["quantiyOfPages",pagination.$f],["getRange",selection.eO],["isSelected",selection.sp],["setReadOnly",setReadOnly],["isReadOnly",isReadOnly],["getHighlighted",selection.kV],["dispatch",dispatch.A],["down",down],["first",first],["last",last],["left",left],["right",right],["up",up],["openFilter",filter.N$],["resetFilters",filter.dr]],worksheetPublicMethodsLength=worksheetPublicMethods.length,factory=function(){},createWorksheets=async function(e,t,s){let n=t.worksheets;if(!n)throw new Error("JSS: worksheets are not defined");{let o={animation:!0,onbeforecreate:function(t,s){return s||getNextDefaultWorksheetName(e)},oncreate:function(s,n){if(e.creationThroughJss)e.creationThroughJss=!1;else{const t=s.tabs.headers.children[s.tabs.headers.children.length-2].innerHTML;createWorksheetObj.call(e.worksheets[0],{minDimensions:[10,15],worksheetName:t})}const o=e.worksheets[e.worksheets.length-1];o.element=n,buildWorksheet.call(o).then((function(){(0,toolbar.nK)(o),dispatch.A.call(o,"oncreateworksheet",o,t,e.worksheets.length-1)}))},onchange:function(t,s,n){0!=e.worksheets.length&&e.worksheets[n]&&(0,toolbar.nK)(e.worksheets[n])}};1==t.tabs?o.allowCreate=!0:o.hideHeaders=!0,o.data=[];let r=1;for(let e=0;e{libraryBase.jspreadsheet.spreadsheet.push(e),dispatch.A.call(e,"onload",e)})),s}catch(e){console.error(e)}},libraryBase.jspreadsheet.getWorksheetInstanceByName=function(e,t){const s=libraryBase.jspreadsheet.spreadsheet.find((e=>e.config.namespace===t));if(s)return{};if(null==e){const e=s.worksheets.map((e=>[e.options.worksheetName,e]));return Object.fromEntries(e)}return s.worksheets.find((t=>t.options.worksheetName===e))},libraryBase.jspreadsheet.setDictionary=function(e){jSuites.setDictionary(e)},libraryBase.jspreadsheet.destroy=function(e,t){if(e.spreadsheet){const s=libraryBase.jspreadsheet.spreadsheet.indexOf(e.spreadsheet);libraryBase.jspreadsheet.spreadsheet.splice(s,1);const n=e.spreadsheet.config.root||document;e.spreadsheet=null,e.innerHTML="",t&&destroyEvents(n)}},libraryBase.jspreadsheet.destroyAll=function(){for(let e=0;e{libraryBase.jspreadsheet.helpers[e]=t}));var src=libraryBase.jspreadsheet;jspreadsheet=__webpack_exports__.default})(); + + return jspreadsheet; +}))); \ No newline at end of file diff --git a/src/main/webapp/javascript/jspreadsheet-5.0.1/jspreadsheet.css b/src/main/webapp/javascript/jspreadsheet-5.0.2/jspreadsheet.css similarity index 99% rename from src/main/webapp/javascript/jspreadsheet-5.0.1/jspreadsheet.css rename to src/main/webapp/javascript/jspreadsheet-5.0.2/jspreadsheet.css index 1253ce5d..91726bae 100644 --- a/src/main/webapp/javascript/jspreadsheet-5.0.1/jspreadsheet.css +++ b/src/main/webapp/javascript/jspreadsheet-5.0.2/jspreadsheet.css @@ -2,6 +2,10 @@ --jss-border-color:#000; } +.jss_spreadsheet { + outline: none; +} + .jss_container { display:inline-block; padding-right:2px; diff --git a/src/main/webapp/javascript/jsuites-5.9.2/jsuites.css b/src/main/webapp/javascript/jsuites-5.10.0/jsuites.css similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/jsuites.css rename to src/main/webapp/javascript/jsuites-5.10.0/jsuites.css diff --git a/src/main/webapp/javascript/jsuites-5.9.2/jsuites.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/jsuites.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/jsuites.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/jsuites.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/jsuites.js b/src/main/webapp/javascript/jsuites-5.10.0/jsuites.js similarity index 99% rename from src/main/webapp/javascript/jsuites-5.9.2/jsuites.js rename to src/main/webapp/javascript/jsuites-5.10.0/jsuites.js index ab725802..167d8820 100644 --- a/src/main/webapp/javascript/jsuites-5.9.2/jsuites.js +++ b/src/main/webapp/javascript/jsuites-5.10.0/jsuites.js @@ -2033,27 +2033,46 @@ function Mask() { parser['DDDD'].call(this, v); }, 'HH12': function(v, two) { - if (isBlank(this.values[this.index])) { - if (parseInt(v) > 1 && parseInt(v) < 10) { - if (two) { - v = 0 + v; + var test = false; + if (parseInt(v) >= 0 && parseInt(v) < 10) { + if (isBlank(this.values[this.index])) { + if (parseInt(v) > 1 && parseInt(v) < 10) { + if (two) { + v = 0 + v; + } + this.date[3] = this.values[this.index] = v; + this.index++; + } else if (parseInt(v) < 10) { + this.values[this.index] = v; + } + } else { + if (this.values[this.index] == 1 && parseInt(v) < 3) { + this.date[3] = this.values[this.index] += v; + this.index++; + } else if (this.values[this.index] < 1 && parseInt(v) < 10) { + this.date[3] = this.values[this.index] += v; + this.index++; + } else { + var test = true; } - this.date[3] = this.values[this.index] = v; - this.index++; - } else if (parseInt(v) < 10) { - this.values[this.index] = v; } } else { - if (this.values[this.index] == 1 && parseInt(v) < 3) { - this.date[3] = this.values[this.index] += v; - this.index++; - } else if (this.values[this.index] < 1 && parseInt(v) < 10) { - this.date[3] = this.values[this.index] += v; + var test = true; + } + + // Re-test + if (test == true) { + var t = parseInt(this.values[this.index]); + if (t >= 0 && t <= 12) { + this.date[3] = this.values[this.index]; this.index++; + // Repeat the character + this.position--; } } }, 'HH24': function(v, two) { + var test = false; if (parseInt(v) >= 0 && parseInt(v) < 10) { if (this.values[this.index] == null || this.values[this.index] == '') { if (parseInt(v) > 2 && parseInt(v) < 10) { @@ -2078,8 +2097,23 @@ function Mask() { } this.date[3] = this.values[this.index] += v; this.index++; + } else { + var test = true; } } + } else { + var test = true; + } + + // Re-test + if (test == true) { + var t = parseInt(this.values[this.index]); + if (t >= 0 && t < 24) { + this.date[3] = this.values[this.index]; + this.index++; + // Repeat the character + this.position--; + } } }, 'HH': function(v) { @@ -10231,6 +10265,26 @@ function Validations() { return component.number(textLength, options); } + component.time = function(data, options) { + if (! isNumeric(data)) { + return false; + } + + if (!options || !options.criteria) { + return true; + } + + if (!numberCriterias[options.criteria]) { + return false; + } + + let values = options.value.map(function(num) { + return parseInt(parseFloat(num) * 10**17) / 10**17; + }) + + return numberCriterias[options.criteria](parseInt(parseFloat(data) * 10**17) / 10**17, values); + }; + return component; } @@ -12903,7 +12957,7 @@ var jsuites_jSuites = { ...dictionary, ...helpers, /** Current version */ - version: '5.9.2', + version: '5.9.3', /** Bind new extensions to Jsuites */ setExtensions: function(o) { if (typeof(o) == 'object') { diff --git a/src/main/webapp/javascript/jsuites-5.9.2/jsuites.webcomponents.js b/src/main/webapp/javascript/jsuites-5.10.0/jsuites.webcomponents.js similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/jsuites.webcomponents.js rename to src/main/webapp/javascript/jsuites-5.10.0/jsuites.webcomponents.js diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/animation.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/animation.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/animation.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/animation.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/calendar.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/calendar.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/calendar.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/calendar.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/color.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/color.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/color.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/color.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/contextmenu.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/contextmenu.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/contextmenu.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/contextmenu.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/dropdown.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/dropdown.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/dropdown.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/dropdown.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/editor.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/editor.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/editor.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/editor.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/floating.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/floating.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/floating.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/floating.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/form.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/form.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/form.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/form.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/index.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/index.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/index.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/index.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/mask.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/mask.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/mask.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/mask.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/modal.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/modal.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/modal.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/modal.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/notification.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/notification.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/notification.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/notification.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/picker.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/picker.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/picker.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/picker.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/rating.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/rating.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/rating.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/rating.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/search.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/search.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/search.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/search.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/slider.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/slider.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/slider.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/slider.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/tabs.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/tabs.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/tabs.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/tabs.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/tags.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/tags.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/tags.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/tags.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/toolbar.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/toolbar.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/toolbar.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/toolbar.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/upload.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/upload.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/upload.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/upload.d.ts diff --git a/src/main/webapp/javascript/jsuites-5.9.2/types/validations.d.ts b/src/main/webapp/javascript/jsuites-5.10.0/types/validations.d.ts similarity index 100% rename from src/main/webapp/javascript/jsuites-5.9.2/types/validations.d.ts rename to src/main/webapp/javascript/jsuites-5.10.0/types/validations.d.ts diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.js b/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.js deleted file mode 100644 index 2b6a4ede..00000000 --- a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper 11.2.6 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2025 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: March 19, 2025 - */ - -var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={});const i=["__proto__","constructor","prototype"];Object.keys(a).filter((e=>i.indexOf(e)<0)).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function c(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let a=1;at.indexOf(e)<0));for(let t=0,a=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){void 0===t&&(t="");const s=r(),a=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&a.push(...e.assignedElements()),t?a.filter((e=>e.matches(t))):a}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function E(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function x(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}function M(e){return t=>Math.abs(t)>0&&e.browser&&e.browser.need3dFix&&Math.abs(t)%90==0?t+.001:t}let C,P,L;function I(){return C||(C=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),C}function z(e){return void 0===e&&(e={}),P||(P=function(e){let{userAgent:t}=void 0===e?{}:e;const s=I(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),P}function A(){return L||(L=function(){const e=r(),t=z();let s=!1;function a(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(a()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,a]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&a<2}}const i=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=a();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||i&&t.ios,isWebView:i}}()),L}var $={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const k=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const O=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const D=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},G=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},X=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&G(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(tr)&&G(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a=0?x=parseFloat(x.replace("%",""))/100*r:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(a,"--swiper-centered-offset-before",""),u(a,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const I="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let a=0;a1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const a=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),i=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e>r?e-r:0;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t{m[t]=e-s})),h.forEach(((e,t)=>{h[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(a,"--swiper-centered-offset-before",-m[0]+"px"),u(a,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==E&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,a=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?a||e.el.classList.add(t):a&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),k(o,f,s.slideVisibleClass),k(o,h,s.slideFullyVisibleClass),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${i}"]`);else n?(o=t.find((e=>e.column===i)),c=t.find((e=>e.column===i+1)),d=t.find((e=>e.column===i-1))):o=t[i];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{O(e,e===o,s.slideActiveClass),O(e,e===c,s.slideNextClass),O(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e=t[e]&&a=t[e]&&a=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&i.grid&&i.grid.rows>1;let u;if(t.virtual&&i.virtual.enabled&&i.loop)u=c(d);else if(p){const e=t.slides.find((e=>e.column===d));let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/i.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&X(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,a=s.params;let i=e.closest(`.${a.slideClass}, swiper-slide`);!i&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${a.slideClass}, swiper-slide`)&&(i=e)}));let r,n=!1;if(i)for(let e=0;eo?o:a&&en?"next":r=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}));else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const E=A().isSafari;return y&&!i&&E&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;if(i.destroyed)return;void 0===t&&(t=i.params.speed);const r=i.grid&&i.params.grid&&i.params.grid.rows>1;let n=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)n+=i.virtual.slidesBefore;else{let e;if(r){const t=n*i.params.grid.rows;e=i.slides.find((e=>1*e.getAttribute("data-swiper-slide-index")===t)).column}else e=i.getSlideIndexByData(n);const t=r?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:s}=i.params;let l=i.params.slidesPerView;"auto"===l?l=i.slidesPerViewDynamic():(l=Math.ceil(parseFloat(i.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e1*t.getAttribute("data-swiper-slide-index")===e)).column}else n=i.getSlideIndexByData(n)}return requestAnimationFrame((()=>{i.slideTo(n,t,s,a)})),i},slideNext:function(e,t,s){void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i||a.destroyed)return a;void 0===e&&(e=a.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex{a.slideTo(a.activeIndex+o,e,t,s)})),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const a=this,{params:i,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=a;if(!o||a.destroyed)return a;void 0===e&&(e=a.params.speed);const c=a.virtual&&i.virtual.enabled;if(i.loop){if(d&&!c&&i.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?a.translate:-a.translate),m=r.map((e=>p(e))),h=i.freeMode&&i.freeMode.enabled;let f=r[m.indexOf(u)-1];if(void 0===f&&(i.cssMode||h)){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(f=h?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==f&&(g=n.indexOf(f),g<0&&(g=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(g=g-a.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return i.loop&&0===a.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{a.slideTo(g,e,t,s)})),!0):a.slideTo(g,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const a=this;if(!a.destroyed)return void 0===e&&(e=a.params.speed),a.slideTo(a.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;if(i.destroyed)return;void 0===e&&(e=i.params.speed);let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;const n=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var R={loopCreate:function(e,t){const s=this,{params:a,slidesEl:i}=s;if(!a.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{f(i,`.${a.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},n=s.grid&&a.grid&&a.grid.rows>1,l=a.slidesPerGroup*(n?a.grid.rows:1),o=s.slides.length%l!=0,d=n&&s.slides.length%a.grid.rows!=0,c=e=>{for(let t=0;t1;c.lengthe.classList.contains(h.slideActiveClass)))):C=r;const P="next"===a||!a,L="prev"===a||!a;let I=0,z=0;const A=(E?c[r].column:r)+(f&&void 0===i?-w/2+.5:0);if(A=0;t-=1)c[t].column===e&&x.push(t)}else x.push(T-t-1)}}else if(A+w>T-y){z=Math.max(A-(T-2*y),b),M&&(z=Math.max(z,w-T+v+1));for(let e=0;e{e.column===t&&S.push(s)})):S.push(t)}}if(d.__preventObserver__=!0,requestAnimationFrame((()=>{d.__preventObserver__=!1})),"cards"===d.params.effect&&c.length{c[e].swiperLoopMoveDOM=!0,m.prepend(c[e]),c[e].swiperLoopMoveDOM=!1})),P&&S.forEach((e=>{c[e].swiperLoopMoveDOM=!0,m.append(c[e]),c[e].swiperLoopMoveDOM=!1})),d.recalcSlides(),"auto"===h.slidesPerView?d.updateSlides():E&&(x.length>0&&L||S.length>0&&P)&&d.slides.forEach(((e,t)=>{d.grid.updateSlide(t,e,d.slides)})),h.watchSlidesProgress&&d.updateSlidesOffset(),s)if(x.length>0&&L){if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C+I]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C+Math.ceil(I),0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else if(i){const e=E?x.length/h.grid.rows:x.length;d.slideTo(d.activeIndex+e,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(S.length>0&&P)if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C-z]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C-z,0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else{const e=E?S.length/h.grid.rows:S.length;d.slideTo(d.activeIndex-e,0,!1,!0)}if(d.allowSlidePrev=p,d.allowSlideNext=u,d.controller&&d.controller.control&&!l){const e={slideRealIndex:t,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===h.slidesPerView&&s})})):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...e,slideTo:d.controller.control.params.slidesPerView===h.slidesPerView&&s})}d.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function q(e,t,s){const a=r(),{params:i}=e,n=i.edgeSwipeDetection,l=i.edgeSwipeThreshold;return!n||!(s<=l||s>=a.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function _(e){const t=this,s=a();let i=e;i.originalEvent&&(i=i.originalEvent);const n=t.touchEventsData;if("pointerdown"===i.type){if(null!==n.pointerId&&n.pointerId!==i.pointerId)return;n.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(n.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void q(t,i,i.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=i.target;if("wrapper"===l.touchEventsTarget&&!function(e,t){const s=r();let a=t.contains(e);!a&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(a=[...t.assignedElements()].includes(e),a||(a=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t)));return a}(p,t.wrapperEl))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=i.composedPath?i.composedPath():i.path;u&&i.target&&i.target.shadowRoot&&m&&(p=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!i.target||!i.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=i.pageX,d.currentY=i.pageY;const g=d.currentX,v=d.currentY;if(!q(t,i,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===i.pointerType||"mouse"!==i.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||i.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function F(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==i.touchId)return;if(p.pointerId!==i.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find((e=>e.identifier===i.touchId)),!c||c.identifier!==i.touchId)return}else c=p;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),i.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else{if(l&&(u>n.startX&&-s.translate<=s.maxTranslate()||u=s.minTranslate()))return;if(!l&&(un.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(i.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||"touchmove"===p.type&&i.preventTouchMoveFromPointerMove)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&i.isMoved&&i.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",p),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let E=!0,x=r.resistanceRatio;if(r.touchReleaseOnEdges&&(x=0),g>0?(b&&y&&i.allowThresholdMove&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**x))):g<0&&(b&&y&&i.allowThresholdMove&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function V(e){const t=this,s=t.touchEventsData;let a,i=e;i.originalEvent&&(i=i.originalEvent);if("touchend"===i.type||"touchcancel"===i.type){if(a=[...i.changedTouches].find((e=>e.identifier===s.touchId)),!a||a.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(i.pointerId!==s.pointerId)return;a=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)){if(!(["pointercancel","contextmenu"].includes(i.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===i.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=i.path||i.composedPath&&i.composedPath();t.updateClickedSlide(e&&e[0]||i.target,e),t.emit("tap click",i),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",i)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e=c[e]&&h=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,E=gr.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+E):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+E):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(i.target===t.navigation.nextEl||i.target===t.navigation.prevEl)?i.target===t.navigation.nextEl?t.slideTo(g+E):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+E),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function W(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function j(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function U(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function K(e){const t=this;D(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function Z(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const Q=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",W,!0):e[c]("observerUpdate",W,!0),r[d]("load",e.onLoad,{capture:!0}))};const J=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var ee={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function te(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(!0===e[a]&&(e[a]={enabled:!0}),"navigation"===a&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),a in e&&"enabled"in i?("object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const se={eventsEmitter:$,update:H,translate:Y,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),B({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),B({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:N,loop:R,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=_.bind(e),e.onTouchMove=F.bind(e),e.onTouchEnd=V.bind(e),e.onDocumentTouchStart=Z.bind(e),t.cssMode&&(e.onScroll=U.bind(e)),e.onClick=j.bind(e),e.onLoad=K.bind(e),Q(e,"on")},detachEvents:function(){Q(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=a(),o="window"!==i.breakpointsBase&&i.breakpointsBase?"container":i.breakpointsBase,d=["window","container"].includes(i.breakpointsBase)||!i.breakpointsBase?e.el:l.querySelector(i.breakpointsBase),c=e.getBreakpoint(n,o,d);if(!c||e.currentBreakpoint===c)return;const u=(c in n?n[c]:void 0)||e.originalParams,m=J(e,i),h=J(e,u),f=e.params.grabCursor,g=u.grabCursor,v=i.enabled;m&&!h?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&h&&(r.classList.add(`${i.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===i.grid.fill)&&r.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),f&&!g?e.unsetGrabCursor():!f&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===u[t])return;const s=i[t]&&i[t].enabled,a=u[t]&&u[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const w=u.direction&&u.direction!==i.direction,b=i.loop&&(u.slidesPerView!==i.slidesPerView||w),y=i.loop;w&&s&&e.changeDirection(),p(e.params,u);const E=e.params.enabled,x=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!E?e.disable():!v&&E&&e.enable(),e.currentBreakpoint=c,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&x?(e.loopCreate(t),e.updateSlides()):y&&!x&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},ae={};class ie{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new ie(a))})),e}const l=this;l.__swiper__=!0,l.support=I(),l.device=z({userAgent:t.userAgent}),l.browser=A(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:te(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},ee,o);return l.params=p({},d,ae,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find((t=>1*t.getAttribute("data-swiper-slide-index")===e)))}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=a[l]?Math.ceil(a[l].swiperSlideSize):0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]{t.complete&&D(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=v("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:i,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?D(t,e):e.addEventListener("load",(e=>{D(t,e.target)}))})),X(t),t.initialized=!0,X(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i&&"string"!=typeof i&&i.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(ae,e)}static get extendedDefaults(){return ae}static get defaults(){return ee}static installModule(e){ie.prototype.__modules__||(ie.prototype.__modules__=[]);const t=ie.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>ie.installModule(e))),ie):(ie.installModule(e),ie)}}function re(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=v("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function ne(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function le(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.append(t.children[0]),t.innerHTML=""}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.prepend(t.children[0]),t.innerHTML=""}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else r.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function me(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function he(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.find((t=>t.shadowRoot&&t.shadowRoot===e.parentNode));return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{x(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function fe(e,t,s){const a=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,i=h(t);let r=i.querySelector(`.${a.split(" ").join(".")}`);return r||(r=v("div",a.split(" ")),i.append(r)),r}Object.keys(se).forEach((e=>{Object.keys(se[e]).forEach((t=>{ie.prototype[t]=se[e][t]}))})),ie.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:t.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=E(t.hostEl);for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const ge=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(o.innerHTML=i,i=o.children[0])):i=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||(i.innerHTML=e),a.cache&&(s.virtual.cache[t]=i),i}function c(e,t,a){const{slidesPerView:i,slidesPerGroup:r,centeredSlides:l,loop:o,initialSlide:c}=s.params;if(t&&!o&&c>0)return;const{addSlidesBefore:p,addSlidesAfter:u}=s.params.virtual,{from:m,to:h,slides:g,slidesGrid:v,offset:w}=s.virtual;s.params.cssMode||s.updateActiveIndex();const b=void 0===a?s.activeIndex||0:a;let y,E,x;y=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",l?(E=Math.floor(i/2)+r+u,x=Math.floor(i/2)+r+p):(E=i+(r-1)+u,x=(o?i:r)+p);let S=b-x,T=b+E;o||(S=Math.max(S,0),T=Math.min(T,g.length-1));let M=(s.slidesGrid[S]||0)-(s.slidesGrid[0]||0);function C(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(o&&b>=x?(S-=x,l||(M+=s.slidesGrid[0])):o&&b{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:M,from:S,to:T,slides:function(){const e=[];for(let t=S;t<=T;t+=1)e.push(g[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?C():n("virtualUpdate"));const P=[],L=[],I=e=>{let t=e;return e<0?t=g.length+e:t>=g.length&&(t-=g.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=m;e<=h;e+=1)if(eT){const t=I(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const z=o?-g.length:0,A=o?2*g.length:g.length;for(let t=z;t=S&&t<=T){const s=I(t);void 0===h||e?L.push(s):(t>h&&L.push(s),t{s.slidesEl.append(d(g[e],e))})),o)for(let e=P.length-1;e>=0;e-=1){const t=P[e];s.slidesEl.prepend(d(g[t],t))}else P.sort(((e,t)=>t-e)),P.forEach((e=>{s.slidesEl.prepend(d(g[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),C()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,c(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[a]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[a],1),e[a]{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e0&&0===E(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&o()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new n.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const p=n&&n.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=l((()=>{!t.destroyed&&t.params&&t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{if(t.destroyed||!t.params)return;c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplay.disableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e)||t.hostEl.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const a=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=re(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),a=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=T(s),a=T(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?u():(c(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{p()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:r}=t.navigation;a=T(a),r=T(r);const n=s.target;let l=r.includes(n)||a.includes(n);if(t.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find((e=>a.includes(e)||r.includes(e))))}if(t.params.navigation.hideOnClick&&!l){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function c(e){const s=e.target.closest(ne(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;const e=(i=t.realIndex,r=a,n=t.slides.length,(r%=n)==1+(i%=n)?"next":r===i-1?"previous":void 0);"next"===e?t.slideNext():"previous"===e?t.slidePrev():t.slideToLoop(a)}else t.slideTo(a);var i,r,n}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let a,r,c=t.pagination.el;c=T(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=S(i[0],t.isHorizontal()?"width":"height",!0),c.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),p=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),c.length>1)i.forEach((e=>{const i=y(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&d(e,"prev"),i===p&&d(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[p];for(let e=o;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}c.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(ne(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(ne(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(ne(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,a+1,u),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let a=t.pagination.el;a=T(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(ne(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function m(){t.params.pagination=re(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.find((e=>E(e,".swiper")[0]===t.el)))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&p()})),a("snapIndexChange",(()=>{p()})),a("snapGridLengthChange",(()=>{u(),p()})),a("destroy",(()=>{h()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const o=a();let d,c,p,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=c,o=(p-c)*n;s?(o=-o,o>0?(l=c-o,o=0):-o+c>p&&(l=p+o)):o<0?(l=c+o,o=0):o+c>p&&(l=p-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(h),i.style.opacity=1,h=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",p=t.isHorizontal()?a.offsetWidth:a.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),c="auto"===t.params.scrollbar.dragSize?p*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${c}px`:s.style.height=`${c}px`,a.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function E(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(y(e)-w(i)[t.isHorizontal()?"left":"top"]-(null!==d?d:c/2))/(p-c),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",E(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,E(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n}=a;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},l=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",x,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=re(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;if("string"==typeof a.el&&t.isElement&&(i=t.el.querySelector(a.el)),i||"string"!=typeof a.el)i||(i=a.el);else if(i=o.querySelectorAll(a.el),!i.length)return;t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(ne(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.scrollbar.enabled?I():(P(),b(),g())})),i("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),i("destroy",(()=>{L()}));const I=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:I,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},n=()=>{const{el:e,slides:s,progress:a,snapGrid:n,isElement:l}=t,o=f(e,i);t.isElement&&o.push(...f(t.hostEl,i)),o.forEach((e=>{r(e,a)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-a*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&n()})),a("setTranslate",(()=>{t.params.parallax.enabled&&n()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:a}=t,r=[...s.querySelectorAll(i)];t.isElement&&r.push(...a.querySelectorAll(i)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,panOnMouseMove:!1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l=1,o=!1,c=!1,p={x:0,y:0};const u=-3;let m,h;const g=[],v={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},b={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},y={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let x,S=1;function T(){if(g.length<2)return 1;const e=g[0].pageX,t=g[0].pageY,s=g[1].pageX,a=g[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function M(){const e=t.params.zoom,s=v.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&v.imageEl&&v.imageEl.naturalWidth){const e=v.imageEl.naturalWidth/v.imageEl.offsetWidth;return Math.min(e,s)}return s}function C(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function P(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}function L(e){if("mouse"===e.pointerType&&g.splice(0,g.length),!C(e))return;const s=t.params.zoom;if(m=!1,h=!1,g.push(e),!(g.length<2)){if(m=!0,v.scaleStart=T(),!v.slideEl){v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),v.slideEl||(v.slideEl=t.slides[t.activeIndex]);let a=v.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=a,v.imageWrapEl=a?E(v.imageEl,`.${s.containerClass}`)[0]:void 0,!v.imageWrapEl)return void(v.imageEl=void 0);v.maxRatio=M()}if(v.imageEl){const[e,t]=function(){if(g.length<2)return{x:null,y:null};const e=v.imageEl.getBoundingClientRect();return[(g[0].pageX+(g[1].pageX-g[0].pageX)/2-e.x-n.scrollX)/l,(g[0].pageY+(g[1].pageY-g[0].pageY)/2-e.y-n.scrollY)/l]}();v.originX=e,v.originY=t,v.imageEl.style.transitionDuration="0ms"}o=!0}}function I(e){if(!C(e))return;const s=t.params.zoom,a=t.zoom,i=g.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(g[i]=e),g.length<2||(h=!0,v.scaleMove=T(),v.imageEl&&(a.scale=v.scaleMove/v.scaleStart*l,a.scale>v.maxRatio&&(a.scale=v.maxRatio-1+(a.scale-v.maxRatio+1)**.5),a.scalet.pointerId===e.pointerId));i>=0&&g.splice(i,1),m&&h&&(m=!1,h=!1,v.imageEl&&(a.scale=Math.max(Math.min(a.scale,v.maxRatio),s.minRatio),v.imageEl.style.transitionDuration=`${t.params.speed}ms`,v.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,l=a.scale,o=!1,a.scale>1&&v.slideEl?v.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&v.slideEl&&v.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(v.originX=0,v.originY=0,v.slideEl=void 0)))}function A(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function $(e){const s="mouse"===e.pointerType&&t.params.zoom.panOnMouseMove;if(!C(e)||!P(e))return;const a=t.zoom;if(!v.imageEl)return;if(!b.isTouched||!v.slideEl)return void(s&&O(e));if(s)return void O(e);b.isMoved||(b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,b.startX=d(v.imageWrapEl,"x")||0,b.startY=d(v.imageWrapEl,"y")||0,v.slideWidth=v.slideEl.offsetWidth,v.slideHeight=v.slideEl.offsetHeight,v.imageWrapEl.style.transitionDuration="0ms");const i=b.width*a.scale,r=b.height*a.scale;b.minX=Math.min(v.slideWidth/2-i/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-r/2,0),b.maxY=-b.minY,b.touchesCurrent.x=g.length>0?g[0].pageX:e.pageX,b.touchesCurrent.y=g.length>0?g[0].pageY:e.pageY;if(Math.max(Math.abs(b.touchesCurrent.x-b.touchesStart.x),Math.abs(b.touchesCurrent.y-b.touchesStart.y))>5&&(t.allowClick=!1),!b.isMoved&&!o){if(t.isHorizontal()&&(Math.floor(b.minX)===Math.floor(b.startX)&&b.touchesCurrent.xb.touchesStart.x))return b.isTouched=!1,void A();if(!t.isHorizontal()&&(Math.floor(b.minY)===Math.floor(b.startY)&&b.touchesCurrent.yb.touchesStart.y))return b.isTouched=!1,void A()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(x),t.touchEventsData.preventTouchMoveFromPointerMove=!0,x=setTimeout((()=>{t.destroyed||A()})),b.isMoved=!0;const n=(a.scale-l)/(v.maxRatio-t.params.zoom.minRatio),{originX:c,originY:p}=v;b.currentX=b.touchesCurrent.x-b.touchesStart.x+b.startX+n*(b.width-2*c),b.currentY=b.touchesCurrent.y-b.touchesStart.y+b.startY+n*(b.height-2*p),b.currentXb.maxX&&(b.currentX=b.maxX-1+(b.currentX-b.maxX+1)**.8),b.currentYb.maxY&&(b.currentY=b.maxY-1+(b.currentY-b.maxY+1)**.8),y.prevPositionX||(y.prevPositionX=b.touchesCurrent.x),y.prevPositionY||(y.prevPositionY=b.touchesCurrent.y),y.prevTime||(y.prevTime=Date.now()),y.x=(b.touchesCurrent.x-y.prevPositionX)/(Date.now()-y.prevTime)/2,y.y=(b.touchesCurrent.y-y.prevPositionY)/(Date.now()-y.prevTime)/2,Math.abs(b.touchesCurrent.x-y.prevPositionX)<2&&(y.x=0),Math.abs(b.touchesCurrent.y-y.prevPositionY)<2&&(y.y=0),y.prevPositionX=b.touchesCurrent.x,y.prevPositionY=b.touchesCurrent.y,y.prevTime=Date.now(),v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}function k(){const e=t.zoom;v.slideEl&&t.activeIndex!==t.slides.indexOf(v.slideEl)&&(v.imageEl&&(v.imageEl.style.transform="translate3d(0,0,0) scale(1)"),v.imageWrapEl&&(v.imageWrapEl.style.transform="translate3d(0,0,0)"),v.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,l=1,v.slideEl=void 0,v.imageEl=void 0,v.imageWrapEl=void 0,v.originX=0,v.originY=0)}function O(e){if(l<=1||!v.imageWrapEl)return;if(!C(e)||!P(e))return;const t=n.getComputedStyle(v.imageWrapEl).transform,s=new n.DOMMatrix(t);if(!c)return c=!0,p.x=e.clientX,p.y=e.clientY,b.startX=s.e,b.startY=s.f,b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,v.slideWidth=v.slideEl.offsetWidth,void(v.slideHeight=v.slideEl.offsetHeight);const a=(e.clientX-p.x)*u,i=(e.clientY-p.y)*u,r=b.width*l,o=b.height*l,d=v.slideWidth,m=v.slideHeight,h=Math.min(d/2-r/2,0),f=-h,g=Math.min(m/2-o/2,0),w=-g,y=Math.max(Math.min(b.startX+a,f),h),E=Math.max(Math.min(b.startY+i,w),g);v.imageWrapEl.style.transitionDuration="0ms",v.imageWrapEl.style.transform=`translate3d(${y}px, ${E}px, 0)`,p.x=e.clientX,p.y=e.clientY,b.startX=y,b.startY=E,b.currentX=y,b.currentY=E}function D(e){const s=t.zoom,a=t.params.zoom;if(!v.slideEl){e&&e.target&&(v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),v.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex]);let s=v.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=s,v.imageWrapEl=s?E(v.imageEl,`.${a.containerClass}`)[0]:void 0}if(!v.imageEl||!v.imageWrapEl)return;let i,r,o,d,c,p,u,m,h,g,y,x,S,T,C,P,L,I;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),v.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===b.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=b.touchesStart.x,r=b.touchesStart.y);const z=l,A="number"==typeof e?e:null;1===l&&A&&(i=void 0,r=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0);const $=M();s.scale=A||$,l=A||$,!e||1===l&&A?(u=0,m=0):(L=v.slideEl.offsetWidth,I=v.slideEl.offsetHeight,o=w(v.slideEl).left+n.scrollX,d=w(v.slideEl).top+n.scrollY,c=o+L/2-i,p=d+I/2-r,h=v.imageEl.offsetWidth||v.imageEl.clientWidth,g=v.imageEl.offsetHeight||v.imageEl.clientHeight,y=h*s.scale,x=g*s.scale,S=Math.min(L/2-y/2,0),T=Math.min(I/2-x/2,0),C=-S,P=-T,z>0&&A&&"number"==typeof b.currentX&&"number"==typeof b.currentY?(u=b.currentX*s.scale/z,m=b.currentY*s.scale/z):(u=c*s.scale,m=p*s.scale),uC&&(u=C),mP&&(m=P)),A&&1===s.scale&&(v.originX=0,v.originY=0),b.currentX=u,b.currentY=m,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform=`translate3d(${u}px, ${m}px,0)`,v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function G(){const e=t.zoom,s=t.params.zoom;if(!v.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex];let e=v.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=e,v.imageWrapEl=e?E(v.imageEl,`.${s.containerClass}`)[0]:void 0}v.imageEl&&v.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,l=1,b.currentX=void 0,b.currentY=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform="translate3d(0,0,0)",v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform="translate3d(0,0,0) scale(1)",v.slideEl.classList.remove(`${s.zoomedSlideClass}`),v.slideEl=void 0,v.originX=0,v.originY=0,t.params.zoom.panOnMouseMove&&(p={x:0,y:0},c&&(c=!1,b.startX=0,b.startY=0)))}function X(e){const s=t.zoom;s.scale&&1!==s.scale?G():D(e)}function H(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function Y(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=H();t.wrapperEl.addEventListener("pointerdown",L,s),t.wrapperEl.addEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,z,s)})),t.wrapperEl.addEventListener("pointermove",$,a)}function B(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=H();t.wrapperEl.removeEventListener("pointerdown",L,s),t.wrapperEl.removeEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,z,s)})),t.wrapperEl.removeEventListener("pointermove",$,a)}Object.defineProperty(t.zoom,"scale",{get:()=>S,set(e){if(S!==e){const t=v.imageEl,s=v.slideEl;i("zoomChange",e,t,s)}S=e}}),a("init",(()=>{t.params.zoom.enabled&&Y()})),a("destroy",(()=>{B()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!v.imageEl)return;if(b.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),b.isTouched=!0;const a=g.length>0?g[0]:e;b.touchesStart.x=a.pageX,b.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(g.length=0,!v.imageEl)return;if(!b.isTouched||!b.isMoved)return b.isTouched=!1,void(b.isMoved=!1);b.isTouched=!1,b.isMoved=!1;let s=300,a=300;const i=y.x*s,r=b.currentX+i,n=y.y*a,l=b.currentY+n;0!==y.x&&(s=Math.abs((r-b.currentX)/y.x)),0!==y.y&&(a=Math.abs((l-b.currentY)/y.y));const o=Math.max(s,a);b.currentX=r,b.currentY=l;const d=b.width*e.scale,c=b.height*e.scale;b.minX=Math.min(v.slideWidth/2-d/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-c/2,0),b.maxY=-b.minY,b.currentX=Math.max(Math.min(b.currentX,b.maxX),b.minX),b.currentY=Math.max(Math.min(b.currentY,b.maxY),b.minY),v.imageWrapEl.style.transitionDuration=`${o}ms`,v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&X(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&k()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&k()})),Object.assign(t.zoom,{enable:Y,disable:B,in:D,out:G,toggle:X})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){("string"==typeof t.params.controller.control?[...document.querySelectorAll(t.params.controller.control)]:[t.params.controller.control]).forEach((e=>{if(t.controller.control||(t.controller.control=[]),e&&e.swiper)t.controller.control.push(e.swiper);else if(e){const s=`${t.params.eventsPrefix}init`,a=i=>{t.controller.control.push(i.detail[0]),t.update(),e.removeEventListener(s,a)};e.addEventListener(s,a)}}))}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),x(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r{e.setAttribute("tabIndex","0")}))}function p(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;if(!t.pagination||!t.pagination.el||a!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(ne(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(a)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(a)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&a.matches(ne(t.params.pagination.bulletClass))&&a.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function E(){return b()&&t.params.pagination.clickable}const x=(e,t,s)=>{c(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},C=e=>{o=(new Date).getTime()},P=e=>{if(t.a11y.clicked||!t.params.a11y.scrollOnFocus)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>{r||(t.params.loop?t.slideToLoop(parseInt(s.getAttribute("data-swiper-slide-index")),0):t.slideTo(t.slides.indexOf(s),0),r=!1)})))},L=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;h(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},I=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage),e.containerRole&&u(s,e.containerRole);const i=t.wrapperEl,r=e.id||i.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(i).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(i,o),L();let{nextEl:c,prevEl:p}=t.navigation?t.navigation:{};if(c=T(c),p=T(p),c&&c.forEach((t=>x(t,r,e.nextSlideMessage))),p&&p.forEach((t=>x(t,r,e.prevSlideMessage))),E()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}))}a().addEventListener("visibilitychange",C),t.el.addEventListener("focus",P,!0),t.el.addEventListener("focus",P,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};i("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),i("afterInit",(()=>{t.params.a11y.enabled&&I()})),i("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&L()})),i("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),p(s)):(g(s),c(s))),e&&(t.isEnd?(f(e),p(e)):(g(e),c(e)))}()})),i("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(c(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(ne(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),i("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),E()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));a().removeEventListener("visibilitychange",C),t.el&&"string"!=typeof t.el&&(t.el.removeEventListener("focus",P,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0))}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.find((e=>e.getAttribute("data-hash")===s));if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||C())}const E=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=i.autoplay.paused?d:b+w-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{E()}))},x=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),E();let a=void 0===e?i.params.autoplay.delay:e;v=i.params.autoplay.delay,w=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.find((e=>e.classList.contains("swiper-slide-active"))):i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,v=r,w=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{x()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},S=()=>{b=(new Date).getTime(),i.autoplay.running=!0,x(),l("autoplayStart")},T=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",y):C()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-b),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},C=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(b=(new Date).getTime(),f?(f=!1,x(d)):x(),i.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,i.animating||i.autoplay.paused||M(!0))},I=e=>{"mouse"===e.pointerType&&(g=!1,i.autoplay.paused&&C())};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",L),i.el.addEventListener("pointerleave",I)),a().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{i.el&&"string"!=typeof i.el&&(i.el.removeEventListener("pointerenter",L),i.el.removeEventListener("pointerleave",I)),a().removeEventListener("visibilitychange",P),i.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{i.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?T():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&C(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s){if(e.swiper.destroyed)return r=!1,!1;t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update()}else if(c(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e{e.classList.add(r)}));else for(let e=0;ee.getAttribute("data-swiper-slide-index")===`${t.realIndex}`));r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),d(!0);else if(a){const s=`${t.params.eventsPrefix}init`,i=r=>{e.swiper=r.detail[0],a.removeEventListener(s,i),o(),d(!0),e.swiper.update(),t.update()};a.addEventListener(s,i)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),i("slideChange update resize observerUpdate",(()=>{d()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:c}=t,p=o()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;l&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(pt.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-p){e=t;break}p=Math.abs(d[e]-p){t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(a("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,i,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{i=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;i&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,r.emitContainerClasses()):!i&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),i=s})),r.grid={initSlides:e=>{const{slidesPerView:i}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;a=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==i&&"row"===l&&(t=Math.max(t,i*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,i,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:c,fill:p}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===p&&l>1){const s=Math.floor(e/(l*c)),a=e-c*l*s,r=0===s?l:Math.min(Math.ceil((u-s*c*l)/c),l);f=Math.floor(a/r),h=a-f*r+s*l,m=h+f*t/c,i.style.order=m}else"column"===p?(h=Math.floor(e/c),f=e-h*c,(h>a||h===a&&f===c-1)&&(f+=1,f>=c&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);i.row=f,i.column=h,i.style.height=`calc((100% - ${(c-1)*d}px) / ${c})`,i.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",i.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:a,roundLengths:i}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),a){const e=[];for(let t=0;t{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),he({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};ue({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=M(t),p=t.params.cubeEffect,u=t.isHorizontal(),m=t.virtual&&t.params.virtual.enabled;let h,f=0;p.shadow&&(u?(h=t.wrapperEl.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),t.wrapperEl.append(h)),h.style.height=`${r}px`):(h=e.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),e.append(h))));for(let e=0;e-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.style.transform=w,p.slideShadows&&i(t,d,u)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,p.shadow)if(u)h.style.transform=`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;h.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`}const g=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${g}px) rotateX(${c(t.isHorizontal()?0:f)}deg) rotateY(${c(t.isHorizontal()?-f:0)}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s)=>{let a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=fe("flip",e,t.isHorizontal()?"left":"top")),i||(i=fe("flip",e,t.isHorizontal()?"right":"bottom")),a&&(a.style.opacity=Math.max(-s,0)),i&&(i.style.opacity=Math.max(s,0))};ue({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect,r=M(t);for(let n=0;n{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),he({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),ue({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth,p=M(t);for(let e=0,t=a.length;e0?u:0),s&&(s.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;ue({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides,o=M(t);if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s0&&(g=r.prev,f=!0),m.forEach(((e,t)=>{m[t]=`calc(${e}px + (${i(g.translate[t])} * ${Math.abs(c*n)}))`})),h.forEach(((e,t)=>{let s=g.rotate[t]*Math.abs(c*n);h[t]=s})),a.style.zIndex=-Math.abs(Math.round(d))+e.length;const v=m.join(", "),w=`rotateX(${o(h[0])}deg) rotateY(${o(h[1])}deg) rotateZ(${o(h[2])}deg)`,b=p<0?`scale(${1+(1-g.scale)*p*n})`:`scale(${1-(1-g.scale)*p*n})`,y=p<0?1+(1-g.opacity)*p*n:1-(1-g.opacity)*p*n,E=`translate3d(${v}) ${w} ${b}`;if(f&&g.shadow||!f){let e=a.querySelector(".swiper-slide-shadow");if(!e&&g.shadow&&(e=fe("creative",a)),e){const t=r.shadowPerProgress?c*(1/r.limitProgress):c;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const x=me(0,a);x.style.transform=E,x.style.opacity=y,g.origin&&(x.style.transformOrigin=g.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),he({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),ue({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o0&&p<1&&(n||t.params.cssMode)&&l-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate?a?-v:v:0}deg)\n scale(${x})\n `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=fe("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;me(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),he({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({_loopSwapReset:!1,watchSlidesProgress:!0,loopAdditionalSlides:t.params.cardsEffect.rotate?3:2,centeredSlides:!0,virtualTranslate:!t.params.cssMode})})}];return ie.use(ge),ie}(); -//# sourceMappingURL=swiper-bundle.min.js.map \ No newline at end of file diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.js.map b/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.js.map deleted file mode 100644 index 8c922726..00000000 --- a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-bundle.js.js","names":["Swiper","isObject$1","obj","constructor","Object","extend$1","target","src","noExtend","keys","filter","key","indexOf","forEach","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","classesToTokens","classes","trim","split","c","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","getComputedStyle$1","WebKitCSSMatrix","transform","webkitTransform","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","isObject","o","prototype","call","slice","extend","to","arguments","undefined","i","nextSource","node","HTMLElement","nodeType","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","getSlideTransformEl","slideEl","shadowRoot","elementChildren","element","selector","HTMLSlotElement","push","assignedElements","matches","showWarning","text","console","warn","err","tag","classList","add","Array","isArray","elementOffset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","elementStyle","prop","elementIndex","child","previousSibling","elementParents","parents","parent","parentElement","elementTransitionEnd","fireCallBack","e","elementOuterSize","size","includeMargins","offsetWidth","makeElementsArray","getRotateFix","v","abs","browser","need3dFix","support","deviceCached","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","condition","className","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","find","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","slidePrev","normalize","val","normalizedSnapGrid","isFreeMode","freeMode","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isInitialOverflow","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","isChild","slot","elementsQueue","elementToCheck","elementIsChildOfSlot","elementIsChildOf","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","_loopSwapReset","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpointContainer","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","createElementIfNotDefined","checkProps","classesToSelector","appendSlide","appendElement","tempDOM","innerHTML","observer","prependSlide","prependElement","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","effectInit","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","overwriteParamsResult","_s","slideShadows","shadowEl","effectTarget","effectParams","transformEl","backfaceVisibility","effectVirtualTransitionEnd","transformElements","allSlides","transitionEndTarget","eventTriggered","getSlide","createShadow","suffix","shadowClass","shadowContainer","prototypeGroup","protoMethod","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","cssModeTimeout","cache","renderSlide","renderExternal","renderExternalUpdate","addSlidesBefore","addSlidesAfter","offset","force","beforeInit","forceActiveIndex","previousFrom","previousTo","previousSlidesGrid","previousOffset","offsetProp","onRendered","slidesToRender","prependIndexes","appendIndexes","loopFrom","loopTo","domSlidesAssigned","numberOfNewSlides","newCache","cachedIndex","cachedEl","cachedElIndex","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","timeout","mousewheel","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","noMousewheelClass","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","delta","raw","targetElContainsTarget","rtlFactor","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","positions","sign","ignoreWheelEvents","position","sticky","prevEvent","firstEvent","snapToThreshold","disableOnInteraction","stop","releaseScroll","getEl","res","toggleEl","disabled","subEl","disabledClass","tagName","lockClass","onPrevClick","onNextClick","initButton","destroyButton","hideOnClick","hiddenClass","navigationDisabledClass","targetIsButton","pagination","clickable","isHidden","toggle","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","onBulletClick","moveDirection","total","firstIndex","midIndex","classesToRemove","s","flat","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","subElIndex","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","render","paginationHTML","numberOfBullets","dragStartPos","dragSize","trackSize","divider","dragTimeout","scrollbar","dragEl","newSize","newPos","hide","opacity","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","passiveListener","eventMethod","swiperEl","dragClass","draggable","scrollbarDisabledClass","parallax","elementsSelector","setTransform","p","rotate","currentOpacity","elements","_swiper","parallaxEl","parallaxDuration","zoom","limitToOriginalSize","maxRatio","panOnMouseMove","containerClass","zoomedSlideClass","currentScale","isScaling","isPanningWithMouse","mousePanStart","mousePanSensitivity","fakeGestureTouched","fakeGestureMoved","evCache","gesture","originX","originY","slideWidth","slideHeight","imageWrapEl","image","minX","minY","maxX","maxY","touchesStart","touchesCurrent","prevPositionX","prevPositionY","prevTime","allowTouchMoveTimeout","getDistanceBetweenTouches","x1","y1","x2","y2","getMaxRatio","naturalWidth","imageMaxRatio","eventWithinSlide","eventWithinZoomContainer","onGestureStart","scaleStart","getScaleOrigin","onGestureChange","pointerIndex","findIndex","cachedEv","scaleMove","onGestureEnd","isMousePan","onMouseMove","scaledWidth","scaledHeight","scaleRatio","onTransitionEnd","DOMMatrix","f","newX","newY","zoomIn","touchX","touchY","offsetX","offsetY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","prevScale","forceZoomRatio","zoomOut","zoomToggle","getListeners","activeListenerWithCapture","defineProperty","get","set","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","in","out","LinearSpline","binarySearch","maxIndex","minIndex","guess","array","i1","i3","interpolate","removeSpline","spline","inverse","by","controlElement","onControllerSwiper","_t","controlled","controlledTranslate","setControlledTranslate","getInterpolateFunction","isFinite","setControlledTransition","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","containerRole","itemRoleDescriptionMessage","slideRole","scrollOnFocus","clicked","preventFocusHandler","focusTargetSlideEl","liveRegion","visibilityChangedTimestamp","notify","message","notification","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","click","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","onVisibilityChange","handleFocus","isActive","sourceCapabilities","firesTouchEvents","repeat","round","random","live","addElLive","updateNavigation","updatePagination","root","keepQuery","paths","slugify","getPathValues","urlOverride","URL","pathArray","part","setHistory","currentState","state","scrollToSlide","setHistoryPopState","hashNavigation","watchState","slideWithHash","onHashChange","newHash","activeSlideEl","setHash","activeSlideHash","raf","timeLeft","waitForTransition","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","calcTimeLeft","run","delayForce","currentSlideDelay","getSlideDelay","proceed","start","pause","reset","visibilityState","onPointerEnter","onPointerLeave","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","swiperCreated","onThumbClick","thumbsSwiper","thumbsParams","SwiperClass","thumbsSwiperParams","thumbsToActivate","thumbActiveClass","useOffset","currentThumbsIndex","newThumbsIndex","newThumbsSlide","getThumbsElementAndInit","thumbsElement","onThumbsSwiper","watchForThumbsToAppear","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","minimumVelocity","lastMoveEvent","pop","velocityEvent","distance","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","needsLoopFix","j","moveDistance","currentSlideSize","slidesNumberEvenToRows","slidesPerRow","numFullColumns","getSpaceBetween","swiperSlideGridSet","newSlideOrderIndex","row","groupIndex","slideIndexInGroup","columnsInGroup","order","fadeEffect","crossFade","tx","ty","slideOpacity","cubeEffect","shadow","shadowOffset","shadowScale","createSlideShadows","shadowBefore","shadowAfter","r","cubeShadowEl","wrapperRotate","slideAngle","tz","transformOrigin","shadowAngle","sin","scale1","scale2","zFactor","flipEffect","limitRotation","rotateFix","rotateY","rotateX","zIndex","coverflowEffect","stretch","depth","modifier","center","centerOffset","offsetMultiplier","translateZ","slideTransform","shadowBeforeEl","shadowAfterEl","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","getTranslateValue","isCenteredSlides","margin","custom","translateString","rotateString","scaleString","opacityString","shadowOpacity","cardsEffect","perSlideRotate","perSlideOffset","tX","tY","tZ","tXAdd","isSwipeToNext","isSwipeToPrev","subProgress","prevY"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.css b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.css similarity index 99% rename from src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.css rename to src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.css index 38326491..cc3d2a84 100644 --- a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.css +++ b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.css @@ -1,5 +1,5 @@ /** - * Swiper 11.2.6 + * Swiper 11.2.8 * Most modern mobile touch slider and framework with hardware accelerated transitions * https://swiperjs.com * @@ -7,7 +7,7 @@ * * Released under the MIT License * - * Released on: March 19, 2025 + * Released on: May 23, 2025 */ /* FONT_START */ diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.js b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.js similarity index 99% rename from src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.js rename to src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.js index 44c3fdf7..d2d3dac9 100644 --- a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.js +++ b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.js @@ -1,5 +1,5 @@ /** - * Swiper 11.2.6 + * Swiper 11.2.8 * Most modern mobile touch slider and framework with hardware accelerated transitions * https://swiperjs.com * @@ -7,7 +7,7 @@ * * Released under the MIT License * - * Released on: March 19, 2025 + * Released on: May 23, 2025 */ var Swiper = (function () { @@ -485,6 +485,18 @@ var Swiper = (function () { return v; }; } + function setInnerHTML(el, html) { + if (html === void 0) { + html = ''; + } + if (typeof trustedTypes !== 'undefined') { + el.innerHTML = trustedTypes.createPolicy('html', { + createHTML: s => s + }).createHTML(html); + } else { + el.innerHTML = html; + } + } let support; function calcSupport() { @@ -1795,11 +1807,9 @@ var Swiper = (function () { if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; } swiper.emit(`transition${step}`); - if (runCallbacks && activeIndex !== previousIndex) { - if (dir === 'reset') { - swiper.emit(`slideResetTransition${step}`); - return; - } + if (runCallbacks && dir === 'reset') { + swiper.emit(`slideResetTransition${step}`); + } else if (runCallbacks && activeIndex !== previousIndex) { swiper.emit(`slideChangeTransition${step}`); if (dir === 'next') { swiper.emit(`slideNextTransition${step}`); @@ -4460,7 +4470,7 @@ var Swiper = (function () { if (params.renderSlide) { slideEl = params.renderSlide.call(swiper, slide, index); if (typeof slideEl === 'string') { - tempDOM.innerHTML = slideEl; + setInnerHTML(tempDOM, slideEl); slideEl = tempDOM.children[0]; } } else if (swiper.isElement) { @@ -4470,7 +4480,7 @@ var Swiper = (function () { } slideEl.setAttribute('data-swiper-slide-index', index); if (!params.renderSlide) { - slideEl.innerHTML = slide; + setInnerHTML(slideEl, slide); } if (params.cache) { swiper.virtual.cache[index] = slideEl; @@ -5715,7 +5725,7 @@ var Swiper = (function () { }); } if (params.type === 'custom' && params.renderCustom) { - subEl.innerHTML = params.renderCustom(swiper, current + 1, total); + setInnerHTML(subEl, params.renderCustom(swiper, current + 1, total)); if (subElIndex === 0) emit('paginationRender', subEl); } else { if (subElIndex === 0) emit('paginationRender', subEl); @@ -5765,7 +5775,7 @@ var Swiper = (function () { swiper.pagination.bullets = []; el.forEach(subEl => { if (params.type !== 'custom') { - subEl.innerHTML = paginationHTML || ''; + setInnerHTML(subEl, paginationHTML || ''); } if (params.type === 'bullets') { swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass))); @@ -7347,8 +7357,7 @@ var Swiper = (function () { function notify(message) { const notification = liveRegion; if (notification.length === 0) return; - notification.innerHTML = ''; - notification.innerHTML = message; + setInnerHTML(notification, message); } function getRandomNumber(size) { if (size === void 0) { @@ -8807,9 +8816,9 @@ var Swiper = (function () { const appendElement = slideEl => { if (typeof slideEl === 'string') { const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; + setInnerHTML(tempDOM, slideEl); slidesEl.append(tempDOM.children[0]); - tempDOM.innerHTML = ''; + setInnerHTML(tempDOM, ''); } else { slidesEl.append(slideEl); } @@ -8844,9 +8853,9 @@ var Swiper = (function () { const prependElement = slideEl => { if (typeof slideEl === 'string') { const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; + setInnerHTML(tempDOM, slideEl); slidesEl.prepend(tempDOM.children[0]); - tempDOM.innerHTML = ''; + setInnerHTML(tempDOM, ''); } else { slidesEl.prepend(slideEl); } @@ -9007,7 +9016,7 @@ var Swiper = (function () { Object.assign(swiper.params, overwriteParamsResult); Object.assign(swiper.originalParams, overwriteParamsResult); }); - on('setTranslate', () => { + on('setTranslate _virtualUpdated', () => { if (swiper.params.effect !== effect) return; setTranslate(); }); @@ -9800,7 +9809,7 @@ var Swiper = (function () { } /** - * Swiper 11.2.6 + * Swiper 11.2.8 * Most modern mobile touch slider and framework with hardware accelerated transitions * https://swiperjs.com * @@ -9808,7 +9817,7 @@ var Swiper = (function () { * * Released under the MIT License * - * Released on: March 19, 2025 + * Released on: May 23, 2025 */ diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.css b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.css similarity index 99% rename from src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.css rename to src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.css index 453ca960..1a8dd1d7 100644 --- a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.css +++ b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.css @@ -1,5 +1,5 @@ /** - * Swiper 11.2.6 + * Swiper 11.2.8 * Most modern mobile touch slider and framework with hardware accelerated transitions * https://swiperjs.com * @@ -7,7 +7,7 @@ * * Released under the MIT License * - * Released on: March 19, 2025 + * Released on: May 23, 2025 */ @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.js b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.js new file mode 100644 index 00000000..e4c499e9 --- /dev/null +++ b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.js @@ -0,0 +1,14 @@ +/** + * Swiper 11.2.8 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2025 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: May 23, 2025 + */ + +var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={});const i=["__proto__","constructor","prototype"];Object.keys(a).filter((e=>i.indexOf(e)<0)).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function c(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let a=1;at.indexOf(e)<0));for(let t=0,a=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){void 0===t&&(t="");const s=r(),a=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&a.push(...e.assignedElements()),t?a.filter((e=>e.matches(t))):a}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function E(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function x(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}function M(e){return t=>Math.abs(t)>0&&e.browser&&e.browser.need3dFix&&Math.abs(t)%90==0?t+.001:t}function C(e,t){void 0===t&&(t=""),"undefined"!=typeof trustedTypes?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:e=>e}).createHTML(t):e.innerHTML=t}let P,L,I;function z(){return P||(P=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),P}function A(e){return void 0===e&&(e={}),L||(L=function(e){let{userAgent:t}=void 0===e?{}:e;const s=z(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),L}function $(){return I||(I=function(){const e=r(),t=A();let s=!1;function a(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(a()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,a]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&a<2}}const i=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=a();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||i&&t.ios,isWebView:i}}()),I}var k={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const O=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const D=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const G=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},X=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},Y=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&X(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(tr)&&X(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a=0?x=parseFloat(x.replace("%",""))/100*r:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(a,"--swiper-centered-offset-before",""),u(a,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const I="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let a=0;a1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const a=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),i=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e>r?e-r:0;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t{m[t]=e-s})),h.forEach(((e,t)=>{h[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(a,"--swiper-centered-offset-before",-m[0]+"px"),u(a,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==E&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,a=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?a||e.el.classList.add(t):a&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),O(o,f,s.slideVisibleClass),O(o,h,s.slideFullyVisibleClass),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${i}"]`);else n?(o=t.find((e=>e.column===i)),c=t.find((e=>e.column===i+1)),d=t.find((e=>e.column===i-1))):o=t[i];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{D(e,e===o,s.slideActiveClass),D(e,e===c,s.slideNextClass),D(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e=t[e]&&a=t[e]&&a=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&i.grid&&i.grid.rows>1;let u;if(t.virtual&&i.virtual.enabled&&i.loop)u=c(d);else if(p){const e=t.slides.find((e=>e.column===d));let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/i.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&Y(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,a=s.params;let i=e.closest(`.${a.slideClass}, swiper-slide`);!i&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${a.slideClass}, swiper-slide`)&&(i=e)}));let r,n=!1;if(i)for(let e=0;eo?o:a&&en?"next":r=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}));else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const E=$().isSafari;return y&&!i&&E&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;if(i.destroyed)return;void 0===t&&(t=i.params.speed);const r=i.grid&&i.params.grid&&i.params.grid.rows>1;let n=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)n+=i.virtual.slidesBefore;else{let e;if(r){const t=n*i.params.grid.rows;e=i.slides.find((e=>1*e.getAttribute("data-swiper-slide-index")===t)).column}else e=i.getSlideIndexByData(n);const t=r?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:s}=i.params;let l=i.params.slidesPerView;"auto"===l?l=i.slidesPerViewDynamic():(l=Math.ceil(parseFloat(i.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e1*t.getAttribute("data-swiper-slide-index")===e)).column}else n=i.getSlideIndexByData(n)}return requestAnimationFrame((()=>{i.slideTo(n,t,s,a)})),i},slideNext:function(e,t,s){void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i||a.destroyed)return a;void 0===e&&(e=a.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex{a.slideTo(a.activeIndex+o,e,t,s)})),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const a=this,{params:i,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=a;if(!o||a.destroyed)return a;void 0===e&&(e=a.params.speed);const c=a.virtual&&i.virtual.enabled;if(i.loop){if(d&&!c&&i.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?a.translate:-a.translate),m=r.map((e=>p(e))),h=i.freeMode&&i.freeMode.enabled;let f=r[m.indexOf(u)-1];if(void 0===f&&(i.cssMode||h)){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(f=h?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==f&&(g=n.indexOf(f),g<0&&(g=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(g=g-a.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return i.loop&&0===a.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{a.slideTo(g,e,t,s)})),!0):a.slideTo(g,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const a=this;if(!a.destroyed)return void 0===e&&(e=a.params.speed),a.slideTo(a.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;if(i.destroyed)return;void 0===e&&(e=i.params.speed);let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;const n=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var _={loopCreate:function(e,t){const s=this,{params:a,slidesEl:i}=s;if(!a.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{f(i,`.${a.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},n=s.grid&&a.grid&&a.grid.rows>1,l=a.slidesPerGroup*(n?a.grid.rows:1),o=s.slides.length%l!=0,d=n&&s.slides.length%a.grid.rows!=0,c=e=>{for(let t=0;t1;c.lengthe.classList.contains(h.slideActiveClass)))):C=r;const P="next"===a||!a,L="prev"===a||!a;let I=0,z=0;const A=(E?c[r].column:r)+(f&&void 0===i?-w/2+.5:0);if(A=0;t-=1)c[t].column===e&&x.push(t)}else x.push(T-t-1)}}else if(A+w>T-y){z=Math.max(A-(T-2*y),b),M&&(z=Math.max(z,w-T+v+1));for(let e=0;e{e.column===t&&S.push(s)})):S.push(t)}}if(d.__preventObserver__=!0,requestAnimationFrame((()=>{d.__preventObserver__=!1})),"cards"===d.params.effect&&c.length{c[e].swiperLoopMoveDOM=!0,m.prepend(c[e]),c[e].swiperLoopMoveDOM=!1})),P&&S.forEach((e=>{c[e].swiperLoopMoveDOM=!0,m.append(c[e]),c[e].swiperLoopMoveDOM=!1})),d.recalcSlides(),"auto"===h.slidesPerView?d.updateSlides():E&&(x.length>0&&L||S.length>0&&P)&&d.slides.forEach(((e,t)=>{d.grid.updateSlide(t,e,d.slides)})),h.watchSlidesProgress&&d.updateSlidesOffset(),s)if(x.length>0&&L){if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C+I]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C+Math.ceil(I),0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else if(i){const e=E?x.length/h.grid.rows:x.length;d.slideTo(d.activeIndex+e,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(S.length>0&&P)if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C-z]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C-z,0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else{const e=E?S.length/h.grid.rows:S.length;d.slideTo(d.activeIndex-e,0,!1,!0)}if(d.allowSlidePrev=p,d.allowSlideNext=u,d.controller&&d.controller.control&&!l){const e={slideRealIndex:t,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===h.slidesPerView&&s})})):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...e,slideTo:d.controller.control.params.slidesPerView===h.slidesPerView&&s})}d.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function q(e,t,s){const a=r(),{params:i}=e,n=i.edgeSwipeDetection,l=i.edgeSwipeThreshold;return!n||!(s<=l||s>=a.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function F(e){const t=this,s=a();let i=e;i.originalEvent&&(i=i.originalEvent);const n=t.touchEventsData;if("pointerdown"===i.type){if(null!==n.pointerId&&n.pointerId!==i.pointerId)return;n.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(n.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void q(t,i,i.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=i.target;if("wrapper"===l.touchEventsTarget&&!function(e,t){const s=r();let a=t.contains(e);!a&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(a=[...t.assignedElements()].includes(e),a||(a=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t)));return a}(p,t.wrapperEl))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=i.composedPath?i.composedPath():i.path;u&&i.target&&i.target.shadowRoot&&m&&(p=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!i.target||!i.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=i.pageX,d.currentY=i.pageY;const g=d.currentX,v=d.currentY;if(!q(t,i,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===i.pointerType||"mouse"!==i.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||i.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function V(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==i.touchId)return;if(p.pointerId!==i.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find((e=>e.identifier===i.touchId)),!c||c.identifier!==i.touchId)return}else c=p;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),i.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else{if(l&&(u>n.startX&&-s.translate<=s.maxTranslate()||u=s.minTranslate()))return;if(!l&&(un.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(i.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||"touchmove"===p.type&&i.preventTouchMoveFromPointerMove)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&i.isMoved&&i.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",p),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let E=!0,x=r.resistanceRatio;if(r.touchReleaseOnEdges&&(x=0),g>0?(b&&y&&i.allowThresholdMove&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**x))):g<0&&(b&&y&&i.allowThresholdMove&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function W(e){const t=this,s=t.touchEventsData;let a,i=e;i.originalEvent&&(i=i.originalEvent);if("touchend"===i.type||"touchcancel"===i.type){if(a=[...i.changedTouches].find((e=>e.identifier===s.touchId)),!a||a.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(i.pointerId!==s.pointerId)return;a=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)){if(!(["pointercancel","contextmenu"].includes(i.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===i.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=i.path||i.composedPath&&i.composedPath();t.updateClickedSlide(e&&e[0]||i.target,e),t.emit("tap click",i),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",i)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e=c[e]&&h=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,E=gr.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+E):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+E):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(i.target===t.navigation.nextEl||i.target===t.navigation.prevEl)?i.target===t.navigation.nextEl?t.slideTo(g+E):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+E),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function j(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function U(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function K(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function Z(e){const t=this;G(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function Q(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const J=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",j,!0):e[c]("observerUpdate",j,!0),r[d]("load",e.onLoad,{capture:!0}))};const ee=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var te={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function se(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(!0===e[a]&&(e[a]={enabled:!0}),"navigation"===a&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),a in e&&"enabled"in i?("object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const ae={eventsEmitter:k,update:B,translate:H,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),N({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),N({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:R,loop:_,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=F.bind(e),e.onTouchMove=V.bind(e),e.onTouchEnd=W.bind(e),e.onDocumentTouchStart=Q.bind(e),t.cssMode&&(e.onScroll=K.bind(e)),e.onClick=U.bind(e),e.onLoad=Z.bind(e),J(e,"on")},detachEvents:function(){J(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=a(),o="window"!==i.breakpointsBase&&i.breakpointsBase?"container":i.breakpointsBase,d=["window","container"].includes(i.breakpointsBase)||!i.breakpointsBase?e.el:l.querySelector(i.breakpointsBase),c=e.getBreakpoint(n,o,d);if(!c||e.currentBreakpoint===c)return;const u=(c in n?n[c]:void 0)||e.originalParams,m=ee(e,i),h=ee(e,u),f=e.params.grabCursor,g=u.grabCursor,v=i.enabled;m&&!h?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&h&&(r.classList.add(`${i.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===i.grid.fill)&&r.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),f&&!g?e.unsetGrabCursor():!f&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===u[t])return;const s=i[t]&&i[t].enabled,a=u[t]&&u[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const w=u.direction&&u.direction!==i.direction,b=i.loop&&(u.slidesPerView!==i.slidesPerView||w),y=i.loop;w&&s&&e.changeDirection(),p(e.params,u);const E=e.params.enabled,x=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!E?e.disable():!v&&E&&e.enable(),e.currentBreakpoint=c,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&x?(e.loopCreate(t),e.updateSlides()):y&&!x&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},ie={};class re{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new re(a))})),e}const l=this;l.__swiper__=!0,l.support=z(),l.device=A({userAgent:t.userAgent}),l.browser=$(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:se(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},te,o);return l.params=p({},d,ie,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find((t=>1*t.getAttribute("data-swiper-slide-index")===e)))}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=a[l]?Math.ceil(a[l].swiperSlideSize):0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]{t.complete&&G(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=v("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:i,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?G(t,e):e.addEventListener("load",(e=>{G(t,e.target)}))})),Y(t),t.initialized=!0,Y(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i&&"string"!=typeof i&&i.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(ie,e)}static get extendedDefaults(){return ie}static get defaults(){return te}static installModule(e){re.prototype.__modules__||(re.prototype.__modules__=[]);const t=re.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>re.installModule(e))),re):(re.installModule(e),re)}}function ne(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=v("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function le(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function oe(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");C(t,e),a.append(t.children[0]),C(t,"")}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t{if("string"==typeof e){const t=document.createElement("div");C(t,e),i.prepend(t.children[0]),C(t,"")}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else r.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate _virtualUpdated",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function he(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function fe(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.find((t=>t.shadowRoot&&t.shadowRoot===e.parentNode));return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{x(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function ge(e,t,s){const a=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,i=h(t);let r=i.querySelector(`.${a.split(" ").join(".")}`);return r||(r=v("div",a.split(" ")),i.append(r)),r}Object.keys(ae).forEach((e=>{Object.keys(ae[e]).forEach((t=>{re.prototype[t]=ae[e][t]}))})),re.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:t.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=E(t.hostEl);for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const ve=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(C(o,i),i=o.children[0])):i=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||C(i,e),a.cache&&(s.virtual.cache[t]=i),i}function c(e,t,a){const{slidesPerView:i,slidesPerGroup:r,centeredSlides:l,loop:o,initialSlide:c}=s.params;if(t&&!o&&c>0)return;const{addSlidesBefore:p,addSlidesAfter:u}=s.params.virtual,{from:m,to:h,slides:g,slidesGrid:v,offset:w}=s.virtual;s.params.cssMode||s.updateActiveIndex();const b=void 0===a?s.activeIndex||0:a;let y,E,x;y=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",l?(E=Math.floor(i/2)+r+u,x=Math.floor(i/2)+r+p):(E=i+(r-1)+u,x=(o?i:r)+p);let S=b-x,T=b+E;o||(S=Math.max(S,0),T=Math.min(T,g.length-1));let M=(s.slidesGrid[S]||0)-(s.slidesGrid[0]||0);function C(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(o&&b>=x?(S-=x,l||(M+=s.slidesGrid[0])):o&&b{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:M,from:S,to:T,slides:function(){const e=[];for(let t=S;t<=T;t+=1)e.push(g[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?C():n("virtualUpdate"));const P=[],L=[],I=e=>{let t=e;return e<0?t=g.length+e:t>=g.length&&(t-=g.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=m;e<=h;e+=1)if(eT){const t=I(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const z=o?-g.length:0,A=o?2*g.length:g.length;for(let t=z;t=S&&t<=T){const s=I(t);void 0===h||e?L.push(s):(t>h&&L.push(s),t{s.slidesEl.append(d(g[e],e))})),o)for(let e=P.length-1;e>=0;e-=1){const t=P[e];s.slidesEl.prepend(d(g[t],t))}else P.sort(((e,t)=>t-e)),P.forEach((e=>{s.slidesEl.prepend(d(g[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),C()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,c(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[a]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[a],1),e[a]{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e0&&0===E(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&o()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new n.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const p=n&&n.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=l((()=>{!t.destroyed&&t.params&&t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{if(t.destroyed||!t.params)return;c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplay.disableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e)||t.hostEl.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const a=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=ne(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),a=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=T(s),a=T(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?u():(c(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{p()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:r}=t.navigation;a=T(a),r=T(r);const n=s.target;let l=r.includes(n)||a.includes(n);if(t.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find((e=>a.includes(e)||r.includes(e))))}if(t.params.navigation.hideOnClick&&!l){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function c(e){const s=e.target.closest(le(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;const e=(i=t.realIndex,r=a,n=t.slides.length,(r%=n)==1+(i%=n)?"next":r===i-1?"previous":void 0);"next"===e?t.slideNext():"previous"===e?t.slidePrev():t.slideToLoop(a)}else t.slideTo(a);var i,r,n}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let a,r,c=t.pagination.el;c=T(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=S(i[0],t.isHorizontal()?"width":"height",!0),c.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),p=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),c.length>1)i.forEach((e=>{const i=y(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&d(e,"prev"),i===p&&d(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[p];for(let e=o;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}c.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(le(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(le(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(le(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(C(e,s.renderCustom(t,a+1,u)),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let a=t.pagination.el;a=T(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&C(s,r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(le(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function m(){t.params.pagination=ne(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.find((e=>E(e,".swiper")[0]===t.el)))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&p()})),a("snapIndexChange",(()=>{p()})),a("snapGridLengthChange",(()=>{u(),p()})),a("destroy",(()=>{h()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const o=a();let d,c,p,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=c,o=(p-c)*n;s?(o=-o,o>0?(l=c-o,o=0):-o+c>p&&(l=p+o)):o<0?(l=c+o,o=0):o+c>p&&(l=p-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(h),i.style.opacity=1,h=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",p=t.isHorizontal()?a.offsetWidth:a.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),c="auto"===t.params.scrollbar.dragSize?p*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${c}px`:s.style.height=`${c}px`,a.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function E(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(y(e)-w(i)[t.isHorizontal()?"left":"top"]-(null!==d?d:c/2))/(p-c),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",E(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,E(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n}=a;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},l=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",x,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ne(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;if("string"==typeof a.el&&t.isElement&&(i=t.el.querySelector(a.el)),i||"string"!=typeof a.el)i||(i=a.el);else if(i=o.querySelectorAll(a.el),!i.length)return;t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(le(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.scrollbar.enabled?I():(P(),b(),g())})),i("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),i("destroy",(()=>{L()}));const I=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:I,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},n=()=>{const{el:e,slides:s,progress:a,snapGrid:n,isElement:l}=t,o=f(e,i);t.isElement&&o.push(...f(t.hostEl,i)),o.forEach((e=>{r(e,a)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-a*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&n()})),a("setTranslate",(()=>{t.params.parallax.enabled&&n()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:a}=t,r=[...s.querySelectorAll(i)];t.isElement&&r.push(...a.querySelectorAll(i)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,panOnMouseMove:!1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l=1,o=!1,c=!1,p={x:0,y:0};const u=-3;let m,h;const g=[],v={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},b={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},y={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let x,S=1;function T(){if(g.length<2)return 1;const e=g[0].pageX,t=g[0].pageY,s=g[1].pageX,a=g[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function M(){const e=t.params.zoom,s=v.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&v.imageEl&&v.imageEl.naturalWidth){const e=v.imageEl.naturalWidth/v.imageEl.offsetWidth;return Math.min(e,s)}return s}function C(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function P(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}function L(e){if("mouse"===e.pointerType&&g.splice(0,g.length),!C(e))return;const s=t.params.zoom;if(m=!1,h=!1,g.push(e),!(g.length<2)){if(m=!0,v.scaleStart=T(),!v.slideEl){v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),v.slideEl||(v.slideEl=t.slides[t.activeIndex]);let a=v.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=a,v.imageWrapEl=a?E(v.imageEl,`.${s.containerClass}`)[0]:void 0,!v.imageWrapEl)return void(v.imageEl=void 0);v.maxRatio=M()}if(v.imageEl){const[e,t]=function(){if(g.length<2)return{x:null,y:null};const e=v.imageEl.getBoundingClientRect();return[(g[0].pageX+(g[1].pageX-g[0].pageX)/2-e.x-n.scrollX)/l,(g[0].pageY+(g[1].pageY-g[0].pageY)/2-e.y-n.scrollY)/l]}();v.originX=e,v.originY=t,v.imageEl.style.transitionDuration="0ms"}o=!0}}function I(e){if(!C(e))return;const s=t.params.zoom,a=t.zoom,i=g.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(g[i]=e),g.length<2||(h=!0,v.scaleMove=T(),v.imageEl&&(a.scale=v.scaleMove/v.scaleStart*l,a.scale>v.maxRatio&&(a.scale=v.maxRatio-1+(a.scale-v.maxRatio+1)**.5),a.scalet.pointerId===e.pointerId));i>=0&&g.splice(i,1),m&&h&&(m=!1,h=!1,v.imageEl&&(a.scale=Math.max(Math.min(a.scale,v.maxRatio),s.minRatio),v.imageEl.style.transitionDuration=`${t.params.speed}ms`,v.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,l=a.scale,o=!1,a.scale>1&&v.slideEl?v.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&v.slideEl&&v.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(v.originX=0,v.originY=0,v.slideEl=void 0)))}function A(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function $(e){const s="mouse"===e.pointerType&&t.params.zoom.panOnMouseMove;if(!C(e)||!P(e))return;const a=t.zoom;if(!v.imageEl)return;if(!b.isTouched||!v.slideEl)return void(s&&O(e));if(s)return void O(e);b.isMoved||(b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,b.startX=d(v.imageWrapEl,"x")||0,b.startY=d(v.imageWrapEl,"y")||0,v.slideWidth=v.slideEl.offsetWidth,v.slideHeight=v.slideEl.offsetHeight,v.imageWrapEl.style.transitionDuration="0ms");const i=b.width*a.scale,r=b.height*a.scale;b.minX=Math.min(v.slideWidth/2-i/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-r/2,0),b.maxY=-b.minY,b.touchesCurrent.x=g.length>0?g[0].pageX:e.pageX,b.touchesCurrent.y=g.length>0?g[0].pageY:e.pageY;if(Math.max(Math.abs(b.touchesCurrent.x-b.touchesStart.x),Math.abs(b.touchesCurrent.y-b.touchesStart.y))>5&&(t.allowClick=!1),!b.isMoved&&!o){if(t.isHorizontal()&&(Math.floor(b.minX)===Math.floor(b.startX)&&b.touchesCurrent.xb.touchesStart.x))return b.isTouched=!1,void A();if(!t.isHorizontal()&&(Math.floor(b.minY)===Math.floor(b.startY)&&b.touchesCurrent.yb.touchesStart.y))return b.isTouched=!1,void A()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(x),t.touchEventsData.preventTouchMoveFromPointerMove=!0,x=setTimeout((()=>{t.destroyed||A()})),b.isMoved=!0;const n=(a.scale-l)/(v.maxRatio-t.params.zoom.minRatio),{originX:c,originY:p}=v;b.currentX=b.touchesCurrent.x-b.touchesStart.x+b.startX+n*(b.width-2*c),b.currentY=b.touchesCurrent.y-b.touchesStart.y+b.startY+n*(b.height-2*p),b.currentXb.maxX&&(b.currentX=b.maxX-1+(b.currentX-b.maxX+1)**.8),b.currentYb.maxY&&(b.currentY=b.maxY-1+(b.currentY-b.maxY+1)**.8),y.prevPositionX||(y.prevPositionX=b.touchesCurrent.x),y.prevPositionY||(y.prevPositionY=b.touchesCurrent.y),y.prevTime||(y.prevTime=Date.now()),y.x=(b.touchesCurrent.x-y.prevPositionX)/(Date.now()-y.prevTime)/2,y.y=(b.touchesCurrent.y-y.prevPositionY)/(Date.now()-y.prevTime)/2,Math.abs(b.touchesCurrent.x-y.prevPositionX)<2&&(y.x=0),Math.abs(b.touchesCurrent.y-y.prevPositionY)<2&&(y.y=0),y.prevPositionX=b.touchesCurrent.x,y.prevPositionY=b.touchesCurrent.y,y.prevTime=Date.now(),v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}function k(){const e=t.zoom;v.slideEl&&t.activeIndex!==t.slides.indexOf(v.slideEl)&&(v.imageEl&&(v.imageEl.style.transform="translate3d(0,0,0) scale(1)"),v.imageWrapEl&&(v.imageWrapEl.style.transform="translate3d(0,0,0)"),v.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,l=1,v.slideEl=void 0,v.imageEl=void 0,v.imageWrapEl=void 0,v.originX=0,v.originY=0)}function O(e){if(l<=1||!v.imageWrapEl)return;if(!C(e)||!P(e))return;const t=n.getComputedStyle(v.imageWrapEl).transform,s=new n.DOMMatrix(t);if(!c)return c=!0,p.x=e.clientX,p.y=e.clientY,b.startX=s.e,b.startY=s.f,b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,v.slideWidth=v.slideEl.offsetWidth,void(v.slideHeight=v.slideEl.offsetHeight);const a=(e.clientX-p.x)*u,i=(e.clientY-p.y)*u,r=b.width*l,o=b.height*l,d=v.slideWidth,m=v.slideHeight,h=Math.min(d/2-r/2,0),f=-h,g=Math.min(m/2-o/2,0),w=-g,y=Math.max(Math.min(b.startX+a,f),h),E=Math.max(Math.min(b.startY+i,w),g);v.imageWrapEl.style.transitionDuration="0ms",v.imageWrapEl.style.transform=`translate3d(${y}px, ${E}px, 0)`,p.x=e.clientX,p.y=e.clientY,b.startX=y,b.startY=E,b.currentX=y,b.currentY=E}function D(e){const s=t.zoom,a=t.params.zoom;if(!v.slideEl){e&&e.target&&(v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),v.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex]);let s=v.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=s,v.imageWrapEl=s?E(v.imageEl,`.${a.containerClass}`)[0]:void 0}if(!v.imageEl||!v.imageWrapEl)return;let i,r,o,d,c,p,u,m,h,g,y,x,S,T,C,P,L,I;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),v.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===b.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=b.touchesStart.x,r=b.touchesStart.y);const z=l,A="number"==typeof e?e:null;1===l&&A&&(i=void 0,r=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0);const $=M();s.scale=A||$,l=A||$,!e||1===l&&A?(u=0,m=0):(L=v.slideEl.offsetWidth,I=v.slideEl.offsetHeight,o=w(v.slideEl).left+n.scrollX,d=w(v.slideEl).top+n.scrollY,c=o+L/2-i,p=d+I/2-r,h=v.imageEl.offsetWidth||v.imageEl.clientWidth,g=v.imageEl.offsetHeight||v.imageEl.clientHeight,y=h*s.scale,x=g*s.scale,S=Math.min(L/2-y/2,0),T=Math.min(I/2-x/2,0),C=-S,P=-T,z>0&&A&&"number"==typeof b.currentX&&"number"==typeof b.currentY?(u=b.currentX*s.scale/z,m=b.currentY*s.scale/z):(u=c*s.scale,m=p*s.scale),uC&&(u=C),mP&&(m=P)),A&&1===s.scale&&(v.originX=0,v.originY=0),b.currentX=u,b.currentY=m,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform=`translate3d(${u}px, ${m}px,0)`,v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function G(){const e=t.zoom,s=t.params.zoom;if(!v.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex];let e=v.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=e,v.imageWrapEl=e?E(v.imageEl,`.${s.containerClass}`)[0]:void 0}v.imageEl&&v.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,l=1,b.currentX=void 0,b.currentY=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform="translate3d(0,0,0)",v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform="translate3d(0,0,0) scale(1)",v.slideEl.classList.remove(`${s.zoomedSlideClass}`),v.slideEl=void 0,v.originX=0,v.originY=0,t.params.zoom.panOnMouseMove&&(p={x:0,y:0},c&&(c=!1,b.startX=0,b.startY=0)))}function X(e){const s=t.zoom;s.scale&&1!==s.scale?G():D(e)}function Y(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function B(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=Y();t.wrapperEl.addEventListener("pointerdown",L,s),t.wrapperEl.addEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,z,s)})),t.wrapperEl.addEventListener("pointermove",$,a)}function H(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=Y();t.wrapperEl.removeEventListener("pointerdown",L,s),t.wrapperEl.removeEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,z,s)})),t.wrapperEl.removeEventListener("pointermove",$,a)}Object.defineProperty(t.zoom,"scale",{get:()=>S,set(e){if(S!==e){const t=v.imageEl,s=v.slideEl;i("zoomChange",e,t,s)}S=e}}),a("init",(()=>{t.params.zoom.enabled&&B()})),a("destroy",(()=>{H()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!v.imageEl)return;if(b.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),b.isTouched=!0;const a=g.length>0?g[0]:e;b.touchesStart.x=a.pageX,b.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(g.length=0,!v.imageEl)return;if(!b.isTouched||!b.isMoved)return b.isTouched=!1,void(b.isMoved=!1);b.isTouched=!1,b.isMoved=!1;let s=300,a=300;const i=y.x*s,r=b.currentX+i,n=y.y*a,l=b.currentY+n;0!==y.x&&(s=Math.abs((r-b.currentX)/y.x)),0!==y.y&&(a=Math.abs((l-b.currentY)/y.y));const o=Math.max(s,a);b.currentX=r,b.currentY=l;const d=b.width*e.scale,c=b.height*e.scale;b.minX=Math.min(v.slideWidth/2-d/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-c/2,0),b.maxY=-b.minY,b.currentX=Math.max(Math.min(b.currentX,b.maxX),b.minX),b.currentY=Math.max(Math.min(b.currentY,b.maxY),b.minY),v.imageWrapEl.style.transitionDuration=`${o}ms`,v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&X(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&k()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&k()})),Object.assign(t.zoom,{enable:B,disable:H,in:D,out:G,toggle:X})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){("string"==typeof t.params.controller.control?[...document.querySelectorAll(t.params.controller.control)]:[t.params.controller.control]).forEach((e=>{if(t.controller.control||(t.controller.control=[]),e&&e.swiper)t.controller.control.push(e.swiper);else if(e){const s=`${t.params.eventsPrefix}init`,a=i=>{t.controller.control.push(i.detail[0]),t.update(),e.removeEventListener(s,a)};e.addEventListener(s,a)}}))}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),x(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r{e.setAttribute("tabIndex","0")}))}function p(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;if(!t.pagination||!t.pagination.el||a!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(le(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(a)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(a)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&a.matches(le(t.params.pagination.bulletClass))&&a.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function E(){return b()&&t.params.pagination.clickable}const x=(e,t,s)=>{c(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},P=e=>{o=(new Date).getTime()},L=e=>{if(t.a11y.clicked||!t.params.a11y.scrollOnFocus)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>{r||(t.params.loop?t.slideToLoop(parseInt(s.getAttribute("data-swiper-slide-index")),0):t.slideTo(t.slides.indexOf(s),0),r=!1)})))},I=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;h(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},z=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage),e.containerRole&&u(s,e.containerRole);const i=t.wrapperEl,r=e.id||i.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(i).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(i,o),I();let{nextEl:c,prevEl:p}=t.navigation?t.navigation:{};if(c=T(c),p=T(p),c&&c.forEach((t=>x(t,r,e.nextSlideMessage))),p&&p.forEach((t=>x(t,r,e.prevSlideMessage))),E()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}))}a().addEventListener("visibilitychange",P),t.el.addEventListener("focus",L,!0),t.el.addEventListener("focus",L,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};i("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),i("afterInit",(()=>{t.params.a11y.enabled&&z()})),i("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&I()})),i("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),p(s)):(g(s),c(s))),e&&(t.isEnd?(f(e),p(e)):(g(e),c(e)))}()})),i("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(c(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(le(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),i("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),E()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));a().removeEventListener("visibilitychange",P),t.el&&"string"!=typeof t.el&&(t.el.removeEventListener("focus",L,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0))}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.find((e=>e.getAttribute("data-hash")===s));if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||C())}const E=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=i.autoplay.paused?d:b+w-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{E()}))},x=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),E();let a=void 0===e?i.params.autoplay.delay:e;v=i.params.autoplay.delay,w=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.find((e=>e.classList.contains("swiper-slide-active"))):i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,v=r,w=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{x()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},S=()=>{b=(new Date).getTime(),i.autoplay.running=!0,x(),l("autoplayStart")},T=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",y):C()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-b),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},C=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(b=(new Date).getTime(),f?(f=!1,x(d)):x(),i.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,i.animating||i.autoplay.paused||M(!0))},I=e=>{"mouse"===e.pointerType&&(g=!1,i.autoplay.paused&&C())};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",L),i.el.addEventListener("pointerleave",I)),a().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{i.el&&"string"!=typeof i.el&&(i.el.removeEventListener("pointerenter",L),i.el.removeEventListener("pointerleave",I)),a().removeEventListener("visibilitychange",P),i.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{i.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?T():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&C(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s){if(e.swiper.destroyed)return r=!1,!1;t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update()}else if(c(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e{e.classList.add(r)}));else for(let e=0;ee.getAttribute("data-swiper-slide-index")===`${t.realIndex}`));r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),d(!0);else if(a){const s=`${t.params.eventsPrefix}init`,i=r=>{e.swiper=r.detail[0],a.removeEventListener(s,i),o(),d(!0),e.swiper.update(),t.update()};a.addEventListener(s,i)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),i("slideChange update resize observerUpdate",(()=>{d()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:c}=t,p=o()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;l&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(pt.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-p){e=t;break}p=Math.abs(d[e]-p){t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(a("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,i,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{i=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;i&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,r.emitContainerClasses()):!i&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),i=s})),r.grid={initSlides:e=>{const{slidesPerView:i}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;a=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==i&&"row"===l&&(t=Math.max(t,i*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,i,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:c,fill:p}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===p&&l>1){const s=Math.floor(e/(l*c)),a=e-c*l*s,r=0===s?l:Math.min(Math.ceil((u-s*c*l)/c),l);f=Math.floor(a/r),h=a-f*r+s*l,m=h+f*t/c,i.style.order=m}else"column"===p?(h=Math.floor(e/c),f=e-h*c,(h>a||h===a&&f===c-1)&&(f+=1,f>=c&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);i.row=f,i.column=h,i.style.height=`calc((100% - ${(c-1)*d}px) / ${c})`,i.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",i.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:a,roundLengths:i}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),a){const e=[];for(let t=0;t{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),fe({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};me({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=M(t),p=t.params.cubeEffect,u=t.isHorizontal(),m=t.virtual&&t.params.virtual.enabled;let h,f=0;p.shadow&&(u?(h=t.wrapperEl.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),t.wrapperEl.append(h)),h.style.height=`${r}px`):(h=e.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),e.append(h))));for(let e=0;e-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.style.transform=w,p.slideShadows&&i(t,d,u)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,p.shadow)if(u)h.style.transform=`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;h.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`}const g=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${g}px) rotateX(${c(t.isHorizontal()?0:f)}deg) rotateY(${c(t.isHorizontal()?-f:0)}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s)=>{let a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=ge("flip",e,t.isHorizontal()?"left":"top")),i||(i=ge("flip",e,t.isHorizontal()?"right":"bottom")),a&&(a.style.opacity=Math.max(-s,0)),i&&(i.style.opacity=Math.max(s,0))};me({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect,r=M(t);for(let n=0;n{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),me({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth,p=M(t);for(let e=0,t=a.length;e0?u:0),s&&(s.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;me({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides,o=M(t);if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s0&&(g=r.prev,f=!0),m.forEach(((e,t)=>{m[t]=`calc(${e}px + (${i(g.translate[t])} * ${Math.abs(c*n)}))`})),h.forEach(((e,t)=>{let s=g.rotate[t]*Math.abs(c*n);h[t]=s})),a.style.zIndex=-Math.abs(Math.round(d))+e.length;const v=m.join(", "),w=`rotateX(${o(h[0])}deg) rotateY(${o(h[1])}deg) rotateZ(${o(h[2])}deg)`,b=p<0?`scale(${1+(1-g.scale)*p*n})`:`scale(${1-(1-g.scale)*p*n})`,y=p<0?1+(1-g.opacity)*p*n:1-(1-g.opacity)*p*n,E=`translate3d(${v}) ${w} ${b}`;if(f&&g.shadow||!f){let e=a.querySelector(".swiper-slide-shadow");if(!e&&g.shadow&&(e=ge("creative",a)),e){const t=r.shadowPerProgress?c*(1/r.limitProgress):c;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const x=he(0,a);x.style.transform=E,x.style.opacity=y,g.origin&&(x.style.transformOrigin=g.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),me({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o0&&p<1&&(n||t.params.cssMode)&&l-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate?a?-v:v:0}deg)\n scale(${x})\n `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=ge("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;he(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({_loopSwapReset:!1,watchSlidesProgress:!0,loopAdditionalSlides:t.params.cardsEffect.rotate?3:2,centeredSlides:!0,virtualTranslate:!t.params.cssMode})})}];return re.use(ve),re}(); +//# sourceMappingURL=swiper-bundle.min.js.map \ No newline at end of file diff --git a/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.js.map b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.js.map new file mode 100644 index 00000000..918b6cf3 --- /dev/null +++ b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swiper-bundle.js.js","names":["Swiper","isObject$1","obj","constructor","Object","extend$1","target","src","noExtend","keys","filter","key","indexOf","forEach","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","classesToTokens","classes","trim","split","c","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","getComputedStyle$1","WebKitCSSMatrix","transform","webkitTransform","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","isObject","o","prototype","call","slice","extend","to","arguments","undefined","i","nextSource","node","HTMLElement","nodeType","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","getSlideTransformEl","slideEl","shadowRoot","elementChildren","element","selector","HTMLSlotElement","push","assignedElements","matches","showWarning","text","console","warn","err","tag","classList","add","Array","isArray","elementOffset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","elementStyle","prop","elementIndex","child","previousSibling","elementParents","parents","parent","parentElement","elementTransitionEnd","fireCallBack","e","elementOuterSize","size","includeMargins","offsetWidth","makeElementsArray","getRotateFix","v","abs","browser","need3dFix","setInnerHTML","html","trustedTypes","innerHTML","createPolicy","createHTML","s","support","deviceCached","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","condition","className","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","find","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","slidePrev","normalize","val","normalizedSnapGrid","isFreeMode","freeMode","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isInitialOverflow","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","isChild","slot","elementsQueue","elementToCheck","elementIsChildOfSlot","elementIsChildOf","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","_loopSwapReset","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpointContainer","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","createElementIfNotDefined","checkProps","classesToSelector","appendSlide","appendElement","tempDOM","observer","prependSlide","prependElement","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","effectInit","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","overwriteParamsResult","_s","slideShadows","shadowEl","effectTarget","effectParams","transformEl","backfaceVisibility","effectVirtualTransitionEnd","transformElements","allSlides","transitionEndTarget","eventTriggered","getSlide","createShadow","suffix","shadowClass","shadowContainer","prototypeGroup","protoMethod","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","cssModeTimeout","cache","renderSlide","renderExternal","renderExternalUpdate","addSlidesBefore","addSlidesAfter","offset","force","beforeInit","forceActiveIndex","previousFrom","previousTo","previousSlidesGrid","previousOffset","offsetProp","onRendered","slidesToRender","prependIndexes","appendIndexes","loopFrom","loopTo","domSlidesAssigned","numberOfNewSlides","newCache","cachedIndex","cachedEl","cachedElIndex","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","timeout","mousewheel","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","noMousewheelClass","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","delta","raw","targetElContainsTarget","rtlFactor","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","positions","sign","ignoreWheelEvents","position","sticky","prevEvent","firstEvent","snapToThreshold","disableOnInteraction","stop","releaseScroll","getEl","res","toggleEl","disabled","subEl","disabledClass","tagName","lockClass","onPrevClick","onNextClick","initButton","destroyButton","hideOnClick","hiddenClass","navigationDisabledClass","targetIsButton","pagination","clickable","isHidden","toggle","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","onBulletClick","moveDirection","total","firstIndex","midIndex","classesToRemove","flat","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","subElIndex","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","render","paginationHTML","numberOfBullets","dragStartPos","dragSize","trackSize","divider","dragTimeout","scrollbar","dragEl","newSize","newPos","hide","opacity","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","passiveListener","eventMethod","swiperEl","dragClass","draggable","scrollbarDisabledClass","parallax","elementsSelector","setTransform","p","rotate","currentOpacity","elements","_swiper","parallaxEl","parallaxDuration","zoom","limitToOriginalSize","maxRatio","panOnMouseMove","containerClass","zoomedSlideClass","currentScale","isScaling","isPanningWithMouse","mousePanStart","mousePanSensitivity","fakeGestureTouched","fakeGestureMoved","evCache","gesture","originX","originY","slideWidth","slideHeight","imageWrapEl","image","minX","minY","maxX","maxY","touchesStart","touchesCurrent","prevPositionX","prevPositionY","prevTime","allowTouchMoveTimeout","getDistanceBetweenTouches","x1","y1","x2","y2","getMaxRatio","naturalWidth","imageMaxRatio","eventWithinSlide","eventWithinZoomContainer","onGestureStart","scaleStart","getScaleOrigin","onGestureChange","pointerIndex","findIndex","cachedEv","scaleMove","onGestureEnd","isMousePan","onMouseMove","scaledWidth","scaledHeight","scaleRatio","onTransitionEnd","DOMMatrix","f","newX","newY","zoomIn","touchX","touchY","offsetX","offsetY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","prevScale","forceZoomRatio","zoomOut","zoomToggle","getListeners","activeListenerWithCapture","defineProperty","get","set","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","in","out","LinearSpline","binarySearch","maxIndex","minIndex","guess","array","i1","i3","interpolate","removeSpline","spline","inverse","by","controlElement","onControllerSwiper","_t","controlled","controlledTranslate","setControlledTranslate","getInterpolateFunction","isFinite","setControlledTransition","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","containerRole","itemRoleDescriptionMessage","slideRole","scrollOnFocus","clicked","preventFocusHandler","focusTargetSlideEl","liveRegion","visibilityChangedTimestamp","notify","message","notification","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","click","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","onVisibilityChange","handleFocus","isActive","sourceCapabilities","firesTouchEvents","repeat","round","random","live","addElLive","updateNavigation","updatePagination","root","keepQuery","paths","slugify","getPathValues","urlOverride","URL","pathArray","part","setHistory","currentState","state","scrollToSlide","setHistoryPopState","hashNavigation","watchState","slideWithHash","onHashChange","newHash","activeSlideEl","setHash","activeSlideHash","raf","timeLeft","waitForTransition","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","calcTimeLeft","run","delayForce","currentSlideDelay","getSlideDelay","proceed","start","pause","reset","visibilityState","onPointerEnter","onPointerLeave","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","swiperCreated","onThumbClick","thumbsSwiper","thumbsParams","SwiperClass","thumbsSwiperParams","thumbsToActivate","thumbActiveClass","useOffset","currentThumbsIndex","newThumbsIndex","newThumbsSlide","getThumbsElementAndInit","thumbsElement","onThumbsSwiper","watchForThumbsToAppear","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","minimumVelocity","lastMoveEvent","pop","velocityEvent","distance","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","needsLoopFix","j","moveDistance","currentSlideSize","slidesNumberEvenToRows","slidesPerRow","numFullColumns","getSpaceBetween","swiperSlideGridSet","newSlideOrderIndex","row","groupIndex","slideIndexInGroup","columnsInGroup","order","fadeEffect","crossFade","tx","ty","slideOpacity","cubeEffect","shadow","shadowOffset","shadowScale","createSlideShadows","shadowBefore","shadowAfter","r","cubeShadowEl","wrapperRotate","slideAngle","tz","transformOrigin","shadowAngle","sin","scale1","scale2","zFactor","flipEffect","limitRotation","rotateFix","rotateY","rotateX","zIndex","coverflowEffect","stretch","depth","modifier","center","centerOffset","offsetMultiplier","translateZ","slideTransform","shadowBeforeEl","shadowAfterEl","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","getTranslateValue","isCenteredSlides","margin","custom","translateString","rotateString","scaleString","opacityString","shadowOpacity","cardsEffect","perSlideRotate","perSlideOffset","tX","tY","tZ","tXAdd","isSwipeToNext","isSwipeToPrev","subProgress","prevY"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.mjs b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.mjs similarity index 97% rename from src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.mjs rename to src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.mjs index 6dbad805..726e1483 100644 --- a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.mjs +++ b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.mjs @@ -1,5 +1,5 @@ /** - * Swiper 11.2.6 + * Swiper 11.2.8 * Most modern mobile touch slider and framework with hardware accelerated transitions * https://swiperjs.com * @@ -7,7 +7,7 @@ * * Released under the MIT License * - * Released on: March 19, 2025 + * Released on: May 23, 2025 */ import{S as Swiper}from"./shared/swiper-core.min.mjs";import Virtual from"./modules/virtual.min.mjs";import Keyboard from"./modules/keyboard.min.mjs";import Mousewheel from"./modules/mousewheel.min.mjs";import Navigation from"./modules/navigation.min.mjs";import Pagination from"./modules/pagination.min.mjs";import Scrollbar from"./modules/scrollbar.min.mjs";import Parallax from"./modules/parallax.min.mjs";import Zoom from"./modules/zoom.min.mjs";import Controller from"./modules/controller.min.mjs";import A11y from"./modules/a11y.min.mjs";import History from"./modules/history.min.mjs";import HashNavigation from"./modules/hash-navigation.min.mjs";import Autoplay from"./modules/autoplay.min.mjs";import Thumb from"./modules/thumbs.min.mjs";import freeMode from"./modules/free-mode.min.mjs";import Grid from"./modules/grid.min.mjs";import Manipulation from"./modules/manipulation.min.mjs";import EffectFade from"./modules/effect-fade.min.mjs";import EffectCube from"./modules/effect-cube.min.mjs";import EffectFlip from"./modules/effect-flip.min.mjs";import EffectCoverflow from"./modules/effect-coverflow.min.mjs";import EffectCreative from"./modules/effect-creative.min.mjs";import EffectCards from"./modules/effect-cards.min.mjs";const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Controller,A11y,History,HashNavigation,Autoplay,Thumb,freeMode,Grid,Manipulation,EffectFade,EffectCube,EffectFlip,EffectCoverflow,EffectCreative,EffectCards];Swiper.use(modules);export{Swiper,Swiper as default}; diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.mjs.map b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.mjs.map similarity index 100% rename from src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.min.mjs.map rename to src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.min.mjs.map diff --git a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.mjs b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.mjs similarity index 97% rename from src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.mjs rename to src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.mjs index 77e9e6f6..db5eb693 100644 --- a/src/main/webapp/javascript/swiper-11.2.6/swiper-bundle.mjs +++ b/src/main/webapp/javascript/swiper-11.2.8/swiper-bundle.mjs @@ -1,5 +1,5 @@ /** - * Swiper 11.2.6 + * Swiper 11.2.8 * Most modern mobile touch slider and framework with hardware accelerated transitions * https://swiperjs.com * @@ -7,7 +7,7 @@ * * Released under the MIT License * - * Released on: March 19, 2025 + * Released on: May 23, 2025 */ import { S as Swiper } from './shared/swiper-core.mjs'; diff --git a/src/main/webapp/javascript/tinymce-6.8.5/themes/silver/theme.min.js b/src/main/webapp/javascript/tinymce-6.8.5/themes/silver/theme.min.js deleted file mode 100644 index d890a543..00000000 --- a/src/main/webapp/javascript/tinymce-6.8.5/themes/silver/theme.min.js +++ /dev/null @@ -1,384 +0,0 @@ -/** - * TinyMCE version 6.8.5 (TBD) - */ -!function(){"use strict";const e=Object.getPrototypeOf,t=(e,t,o)=>{var n;return!!o(e,t.prototype)||(null===(n=e.constructor)||void 0===n?void 0:n.name)===t.name},o=e=>o=>(e=>{const o=typeof e;return null===e?"null":"object"===o&&Array.isArray(e)?"array":"object"===o&&t(e,String,((e,t)=>t.isPrototypeOf(e)))?"string":o})(o)===e,n=e=>t=>typeof t===e,s=e=>t=>e===t,r=o("string"),a=o("object"),i=o=>((o,n)=>a(o)&&t(o,n,((t,o)=>e(t)===o)))(o,Object),l=o("array"),c=s(null),d=n("boolean"),u=s(void 0),m=e=>null==e,g=e=>!m(e),p=n("function"),h=n("number"),f=(e,t)=>{if(l(e)){for(let o=0,n=e.length;o{},v=e=>()=>e(),y=(e,t)=>(...o)=>e(t.apply(null,o)),x=e=>()=>e,w=e=>e,S=(e,t)=>e===t;function k(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const C=e=>t=>!e(t),O=e=>()=>{throw new Error(e)},_=e=>e(),T=x(!1),E=x(!0);class A{constructor(e,t){this.tag=e,this.value=t}static some(e){return new A(!0,e)}static none(){return A.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?A.some(e(this.value)):A.none()}bind(e){return this.tag?e(this.value):A.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:A.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return g(e)?A.some(e):A.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}A.singletonNone=new A(!1);const M=Array.prototype.slice,D=Array.prototype.indexOf,B=Array.prototype.push,I=(e,t)=>D.call(e,t),F=(e,t)=>{const o=I(e,t);return-1===o?A.none():A.some(o)},R=(e,t)=>I(e,t)>-1,N=(e,t)=>{for(let o=0,n=e.length;o{const o=[];for(let n=0;n{const o=[];for(let n=0;n{const o=e.length,n=new Array(o);for(let s=0;s{for(let o=0,n=e.length;o{const o=[],n=[];for(let s=0,r=e.length;s{const o=[];for(let n=0,s=e.length;n(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,((e,n)=>{o=t(o,e,n)})),o),j=(e,t,o)=>(H(e,((e,n)=>{o=t(o,e,n)})),o),G=(e,t)=>((e,t,o)=>{for(let n=0,s=e.length;n{for(let o=0,n=e.length;o{const t=[];for(let o=0,n=e.length;oq(L(e,t)),X=(e,t)=>{for(let o=0,n=e.length;o{const t=M.call(e,0);return t.reverse(),t},J=(e,t)=>U(e,(e=>!R(t,e))),Z=(e,t)=>{const o={};for(let n=0,s=e.length;n[e],ee=(e,t)=>{const o=M.call(e,0);return o.sort(t),o},te=(e,t)=>t>=0&&tte(e,0),ne=e=>te(e,e.length-1),se=p(Array.from)?Array.from:e=>M.call(e),re=(e,t)=>{for(let o=0;o{const o=ae(e);for(let n=0,s=o.length;nde(e,((e,o)=>({k:o,v:t(e,o)}))),de=(e,t)=>{const o={};return le(e,((e,n)=>{const s=t(e,n);o[s.k]=s.v})),o},ue=e=>(t,o)=>{e[o]=t},me=(e,t,o,n)=>{le(e,((e,s)=>{(t(e,s)?o:n)(e,s)}))},ge=(e,t)=>{const o={};return me(e,t,ue(o),b),o},pe=(e,t)=>{const o=[];return le(e,((e,n)=>{o.push(t(e,n))})),o},he=(e,t)=>{const o=ae(e);for(let n=0,s=o.length;npe(e,w),be=(e,t)=>ve(e,t)?A.from(e[t]):A.none(),ve=(e,t)=>ie.call(e,t),ye=(e,t)=>ve(e,t)&&void 0!==e[t]&&null!==e[t],xe=(e,t,o=S)=>e.exists((e=>o(e,t))),we=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;te.isSome()&&t.isSome()?A.some(o(e.getOrDie(),t.getOrDie())):A.none(),ke=(e,t)=>null!=e?A.some(t(e)):A.none(),Ce=(e,t)=>e?A.some(t):A.none(),Oe=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,_e=(e,t)=>Ee(e,t)?((e,t)=>e.substring(t))(e,t.length):e,Te=(e,t,o=0,n)=>{const s=e.indexOf(t,o);return-1!==s&&(!!u(n)||s+t.length<=n)},Ee=(e,t)=>Oe(e,t,0),Ae=(e,t)=>Oe(e,t,e.length-t.length),Me=(Mo=/^\s+|\s+$/g,e=>e.replace(Mo,"")),De=e=>e.length>0,Be=e=>!De(e),Ie=e=>void 0!==e.style&&p(e.style.getPropertyValue),Fe=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},Re=(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return Fe(o.childNodes[0])},Ne=(e,t)=>{const o=(t||document).createElement(e);return Fe(o)},Ve=(e,t)=>{const o=(t||document).createTextNode(e);return Fe(o)},ze=Fe,Le="undefined"!=typeof window?window:Function("return this;")(),He=(e,t)=>((e,t)=>{let o=null!=t?t:Le;for(let t=0;t{const t=He("ownerDocument.defaultView",e);return a(e)&&((e=>((e,t)=>{const o=((e,t)=>He(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(Pe(e).constructor.name))},We=e=>e.dom.nodeName.toLowerCase(),je=e=>t=>(e=>e.dom.nodeType)(t)===e,Ge=e=>$e(e)&&Ue(e.dom),$e=je(1),qe=je(3),Ye=je(9),Xe=je(11),Ke=e=>t=>$e(t)&&We(t)===e,Je=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},Ze=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Qe=(e,t)=>e.dom===t.dom,et=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},tt=e=>ze(e.dom.ownerDocument),ot=e=>Ye(e)?e:tt(e),nt=e=>ze(ot(e).dom.documentElement),st=e=>ze(ot(e).dom.defaultView),rt=e=>A.from(e.dom.parentNode).map(ze),at=e=>A.from(e.dom.parentElement).map(ze),it=e=>A.from(e.dom.offsetParent).map(ze),lt=e=>L(e.dom.childNodes,ze),ct=(e,t)=>{const o=e.dom.childNodes;return A.from(o[t]).map(ze)},dt=e=>ct(e,0),ut=(e,t)=>({element:e,offset:t}),mt=(e,t)=>{const o=lt(e);return o.length>0&&tXe(e)&&g(e.dom.host),pt=p(Element.prototype.attachShadow)&&p(Node.prototype.getRootNode),ht=x(pt),ft=pt?e=>ze(e.dom.getRootNode()):ot,bt=e=>gt(e)?e:ze(ot(e).dom.body),vt=e=>{const t=ft(e);return gt(t)?A.some(t):A.none()},yt=e=>ze(e.dom.host),xt=e=>{const t=qe(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return vt(ze(t)).fold((()=>o.body.contains(t)),(n=xt,s=yt,e=>n(s(e))));var n,s},wt=()=>St(ze(document)),St=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return ze(t)},kt=(e,t,o)=>{if(!(r(o)||d(o)||h(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},Ct=(e,t,o)=>{kt(e.dom,t,o)},Ot=(e,t)=>{const o=e.dom;le(t,((e,t)=>{kt(o,t,e)}))},_t=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},Tt=(e,t)=>A.from(_t(e,t)),Et=(e,t)=>{const o=e.dom;return!(!o||!o.hasAttribute)&&o.hasAttribute(t)},At=(e,t)=>{e.dom.removeAttribute(t)},Mt=(e,t,o)=>{if(!r(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);Ie(e)&&e.style.setProperty(t,o)},Dt=(e,t)=>{Ie(e)&&e.style.removeProperty(t)},Bt=(e,t,o)=>{const n=e.dom;Mt(n,t,o)},It=(e,t)=>{const o=e.dom;le(t,((e,t)=>{Mt(o,t,e)}))},Ft=(e,t)=>{const o=e.dom;le(t,((e,t)=>{e.fold((()=>{Dt(o,t)}),(e=>{Mt(o,t,e)}))}))},Rt=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||xt(e)?n:Nt(o,t)},Nt=(e,t)=>Ie(e)?e.style.getPropertyValue(t):"",Vt=(e,t)=>{const o=e.dom,n=Nt(o,t);return A.from(n).filter((e=>e.length>0))},zt=e=>{const t={},o=e.dom;if(Ie(o))for(let e=0;e{const n=Ne(e);return Bt(n,t,o),Vt(n,t).isSome()},Ht=(e,t)=>{const o=e.dom;Dt(o,t),xe(Tt(e,"style").map(Me),"")&&At(e,"style")},Pt=e=>e.dom.offsetWidth,Ut=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=Rt(o,e);return parseFloat(t)||0}return n},n=(e,t)=>j(t,((t,o)=>{const n=Rt(e,o),s=void 0===n?0:parseInt(n,10);return isNaN(s)?t:t+s}),0);return{set:(t,o)=>{if(!h(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;Ie(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const s=n(e,o);return t>s?t-s:0}}},Wt=Ut("height",(e=>{const t=e.dom;return xt(e)?t.getBoundingClientRect().height:t.offsetHeight})),jt=e=>Wt.get(e),Gt=e=>Wt.getOuter(e),$t=(e,t)=>({left:e,top:t,translate:(o,n)=>$t(e+o,t+n)}),qt=$t,Yt=(e,t)=>void 0!==e?e:void 0!==t?t:0,Xt=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,s=t.documentElement;if(o===e.dom)return qt(o.offsetLeft,o.offsetTop);const r=Yt(null==n?void 0:n.pageYOffset,s.scrollTop),a=Yt(null==n?void 0:n.pageXOffset,s.scrollLeft),i=Yt(s.clientTop,o.clientTop),l=Yt(s.clientLeft,o.clientLeft);return Kt(e).translate(a-l,r-i)},Kt=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?qt(o.offsetLeft,o.offsetTop):xt(e)?(e=>{const t=e.getBoundingClientRect();return qt(t.left,t.top)})(t):qt(0,0)},Jt=Ut("width",(e=>e.dom.offsetWidth)),Zt=e=>Jt.get(e),Qt=e=>Jt.getOuter(e),eo=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},to=()=>oo(0,0),oo=(e,t)=>({major:e,minor:t}),no={nu:oo,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?to():((e,t)=>{const o=((e,t)=>{for(let o=0;oNumber(t.replace(o,"$"+e));return oo(n(1),n(2))})(e,o)},unknown:to},so=(e,t)=>{const o=String(t).toLowerCase();return G(e,(e=>e.search(o)))},ro=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ao=e=>t=>Te(t,e),io=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>Te(e,"edge/")&&Te(e,"chrome")&&Te(e,"safari")&&Te(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,ro],search:e=>Te(e,"chrome")&&!Te(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>Te(e,"msie")||Te(e,"trident")},{name:"Opera",versionRegexes:[ro,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ao("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ao("firefox")},{name:"Safari",versionRegexes:[ro,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(Te(e,"safari")||Te(e,"mobile/"))&&Te(e,"applewebkit")}],lo=[{name:"Windows",search:ao("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>Te(e,"iphone")||Te(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ao("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:ao("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ao("linux"),versionRegexes:[]},{name:"Solaris",search:ao("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ao("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:ao("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],co={browsers:x(io),oses:x(lo)},uo="Edge",mo="Chromium",go="Opera",po="Firefox",ho="Safari",fo=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(uo),isChromium:n(mo),isIE:n("IE"),isOpera:n(go),isFirefox:n(po),isSafari:n(ho)}},bo=()=>fo({current:void 0,version:no.unknown()}),vo=fo,yo=(x(uo),x(mo),x("IE"),x(go),x(po),x(ho),"Windows"),xo="Android",wo="Linux",So="macOS",ko="Solaris",Co="FreeBSD",Oo="ChromeOS",_o=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(yo),isiOS:n("iOS"),isAndroid:n(xo),isMacOS:n(So),isLinux:n(wo),isSolaris:n(ko),isFreeBSD:n(Co),isChromeOS:n(Oo)}},To=()=>_o({current:void 0,version:no.unknown()}),Eo=_o,Ao=(x(yo),x("iOS"),x(xo),x(wo),x(So),x(ko),x(Co),x(Oo),e=>window.matchMedia(e).matches);var Mo;let Do=eo((()=>((e,t,o)=>{const n=co.browsers(),s=co.oses(),r=t.bind((e=>((e,t)=>re(t.brands,(t=>{const o=t.brand.toLowerCase();return G(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:no.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>so(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(bo,vo),a=((e,t)=>so(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(s,e).fold(To,Eo),i=((e,t,o,n)=>{const s=e.isiOS()&&!0===/ipad/i.test(o),r=e.isiOS()&&!s,a=e.isiOS()||e.isAndroid(),i=a||n("(pointer:coarse)"),l=s||!r&&a&&n("(min-device-width:768px)"),c=r||a&&!l,d=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),u=!c&&!l&&!d;return{isiPad:x(s),isiPhone:x(r),isTablet:x(l),isPhone:x(c),isTouch:x(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:x(d),isDesktop:x(u)}})(a,r,e,o);return{browser:r,os:a,deviceType:i}})(navigator.userAgent,A.from(navigator.userAgentData),Ao)));const Bo=()=>Do(),Io=e=>{const t=ze((e=>{if(ht()&&g(e.target)){const t=ze(e.target);if($e(t)&&(e=>g(e.dom.shadowRoot))(t)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return oe(t)}}return A.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),s=y(n,o);return((e,t,o,n,s,r,a)=>({target:e,x:t,y:o,stop:n,prevent:s,kill:r,raw:a}))(t,e.clientX,e.clientY,o,n,s,e)},Fo=(e,t,o,n,s)=>{const r=((e,t)=>o=>{e(o)&&t(Io(o))})(o,n);return e.dom.addEventListener(t,r,s),{unbind:k(Ro,e,t,r,s)}},Ro=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},No=(e,t)=>{rt(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},Vo=(e,t)=>{const o=(e=>A.from(e.dom.nextSibling).map(ze))(e);o.fold((()=>{rt(e).each((e=>{Lo(e,t)}))}),(e=>{No(e,t)}))},zo=(e,t)=>{dt(e).fold((()=>{Lo(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},Lo=(e,t)=>{e.dom.appendChild(t.dom)},Ho=(e,t)=>{H(t,(t=>{Lo(e,t)}))},Po=e=>{e.dom.textContent="",H(lt(e),(e=>{Uo(e)}))},Uo=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Wo=e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return qt(o,n)},jo=(e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollTo(e,t)},Go=(e,t,o,n)=>({x:e,y:t,width:o,height:n,right:e+o,bottom:t+n}),$o=e=>{const t=void 0===e?window:e,o=t.document,n=Wo(ze(o));return(e=>{const t=void 0===e?window:e;return Bo().browser.isFirefox()?A.none():A.from(t.visualViewport)})(t).fold((()=>{const e=t.document.documentElement,o=e.clientWidth,s=e.clientHeight;return Go(n.left,n.top,o,s)}),(e=>Go(Math.max(e.pageLeft,n.left),Math.max(e.pageTop,n.top),e.width,e.height)))},qo=()=>ze(document),Yo=(e,t)=>e.view(t).fold(x([]),(t=>{const o=e.owner(t),n=Yo(e,o);return[t].concat(n)}));var Xo=Object.freeze({__proto__:null,view:e=>{var t;return(e.dom===document?A.none():A.from(null===(t=e.dom.defaultView)||void 0===t?void 0:t.frameElement)).map(ze)},owner:e=>tt(e)});const Ko=e=>{const t=qo(),o=Wo(t),n=((e,t)=>{const o=t.owner(e),n=Yo(t,o);return A.some(n)})(e,Xo);return n.fold(k(Xt,e),(t=>{const n=Kt(e),s=W(t,((e,t)=>{const o=Kt(t);return{left:e.left+o.left,top:e.top+o.top}}),{left:0,top:0});return qt(s.left+n.left+o.left,s.top+n.top+o.top)}))},Jo=(e,t,o,n)=>({x:e,y:t,width:o,height:n,right:e+o,bottom:t+n}),Zo=e=>{const t=Xt(e),o=Qt(e),n=Gt(e);return Jo(t.left,t.top,o,n)},Qo=e=>{const t=Ko(e),o=Qt(e),n=Gt(e);return Jo(t.left,t.top,o,n)},en=(e,t)=>{const o=Math.max(e.x,t.x),n=Math.max(e.y,t.y),s=Math.min(e.right,t.right),r=Math.min(e.bottom,t.bottom);return Jo(o,n,s-o,r-n)},tn=()=>$o(window);var on=tinymce.util.Tools.resolve("tinymce.ThemeManager");const nn=e=>{const t=t=>t(e),o=x(e),n=()=>s,s={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:E,isError:T,map:t=>rn.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>A.some(e)};return s},sn=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:T,isError:E,map:t,mapError:t=>rn.error(t(e)),bind:t,exists:T,forall:E,getOr:w,or:w,getOrThunk:_,orThunk:_,getOrDie:O(String(e)),each:b,toOptional:A.none};return o},rn={value:nn,error:sn,fromOption:(e,t)=>e.fold((()=>sn(t)),nn)};var an;!function(e){e[e.Error=0]="Error",e[e.Value=1]="Value"}(an||(an={}));const ln=(e,t,o)=>e.stype===an.Error?t(e.serror):o(e.svalue),cn=e=>({stype:an.Value,svalue:e}),dn=e=>({stype:an.Error,serror:e}),un=cn,mn=dn,gn=ln,pn=(e,t,o,n)=>({tag:"field",key:e,newKey:t,presence:o,prop:n}),hn=(e,t,o)=>{switch(e.tag){case"field":return t(e.key,e.newKey,e.presence,e.prop);case"custom":return o(e.newKey,e.instantiator)}},fn=e=>(...t)=>{if(0===t.length)throw new Error("Can't merge zero objects");const o={};for(let n=0;ni(e)&&i(t)?bn(e,t):t)),vn=fn(((e,t)=>t)),yn=e=>({tag:"defaultedThunk",process:e}),xn=e=>yn(x(e)),wn=e=>({tag:"mergeWithThunk",process:e}),Sn=e=>{const t=(e=>{const t=[],o=[];return H(e,(e=>{ln(e,(e=>o.push(e)),(e=>t.push(e)))})),{values:t,errors:o}})(e);return t.errors.length>0?(o=t.errors,y(mn,q)(o)):un(t.values);var o},kn=e=>a(e)&&ae(e).length>100?" removed due to size":JSON.stringify(e,null,2),Cn=(e,t)=>mn([{path:e,getErrorInfo:t}]),On=e=>({extract:(t,o)=>((e,t)=>e.stype===an.Error?t(e.serror):e)(e(o),(e=>((e,t)=>Cn(e,x(t)))(t,e))),toString:x("val")}),_n=On(un),Tn=(e,t,o,n)=>n(be(e,t).getOrThunk((()=>o(e)))),En=(e,t,o,n,s)=>{const r=e=>s.extract(t.concat([n]),e),a=e=>e.fold((()=>un(A.none())),(e=>((e,t)=>e.stype===an.Value?{stype:an.Value,svalue:t(e.svalue)}:e)(s.extract(t.concat([n]),e),A.some)));switch(e.tag){case"required":return((e,t,o,n)=>be(t,o).fold((()=>((e,t,o)=>Cn(e,(()=>'Could not find valid *required* value for "'+t+'" in '+kn(o))))(e,o,t)),n))(t,o,n,r);case"defaultedThunk":return Tn(o,n,e.process,r);case"option":return((e,t,o)=>o(be(e,t)))(o,n,a);case"defaultedOptionThunk":return((e,t,o,n)=>n(be(e,t).map((t=>!0===t?o(e):t))))(o,n,e.process,a);case"mergeWithThunk":return Tn(o,n,x({}),(t=>{const n=bn(e.process(o),t);return r(n)}))}},An=e=>({extract:(t,o)=>e().extract(t,o),toString:()=>e().toString()}),Mn=e=>ae(ge(e,g)),Dn=e=>{const t=Bn(e),o=W(e,((e,t)=>hn(t,(t=>bn(e,{[t]:!0})),x(e))),{});return{extract:(e,n)=>{const s=d(n)?[]:Mn(n),r=U(s,(e=>!ye(o,e)));return 0===r.length?t.extract(e,n):((e,t)=>Cn(e,(()=>"There are unsupported fields: ["+t.join(", ")+"] specified")))(e,r)},toString:t.toString}},Bn=e=>({extract:(t,o)=>((e,t,o)=>{const n={},s=[];for(const r of o)hn(r,((o,r,a,i)=>{const l=En(a,e,t,o,i);gn(l,(e=>{s.push(...e)}),(e=>{n[r]=e}))}),((e,o)=>{n[e]=o(t)}));return s.length>0?mn(s):un(n)})(t,o,e),toString:()=>{const t=L(e,(e=>hn(e,((e,t,o,n)=>e+" -> "+n.toString()),((e,t)=>"state("+e+")"))));return"obj{\n"+t.join("\n")+"}"}}),In=e=>({extract:(t,o)=>{const n=L(o,((o,n)=>e.extract(t.concat(["["+n+"]"]),o)));return Sn(n)},toString:()=>"array("+e.toString()+")"}),Fn=(e,t)=>{const o=void 0!==t?t:w;return{extract:(t,n)=>{const s=[];for(const r of e){const e=r.extract(t,n);if(e.stype===an.Value)return{stype:an.Value,svalue:o(e.svalue)};s.push(e)}return Sn(s)},toString:()=>"oneOf("+L(e,(e=>e.toString())).join(", ")+")"}},Rn=(e,t)=>({extract:(o,n)=>{const s=ae(n),r=((t,o)=>In(On(e)).extract(t,o))(o,s);return((e,t)=>e.stype===an.Value?t(e.svalue):e)(r,(e=>{const s=L(e,(e=>pn(e,e,{tag:"required",process:{}},t)));return Bn(s).extract(o,n)}))},toString:()=>"setOf("+t.toString()+")"}),Nn=y(In,Bn),Vn=x(_n),zn=(e,t)=>On((o=>{const n=typeof o;return e(o)?un(o):mn(`Expected type: ${t} but got: ${n}`)})),Ln=zn(h,"number"),Hn=zn(r,"string"),Pn=zn(d,"boolean"),Un=zn(p,"function"),Wn=e=>{if(Object(e)!==e)return!0;switch({}.toString.call(e).slice(8,-1)){case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return!0;case"Array":case"Object":return Object.keys(e).every((t=>Wn(e[t])));default:return!1}},jn=On((e=>Wn(e)?un(e):mn("Expected value to be acceptable for sending via postMessage"))),Gn=(e,t)=>({extract:(o,n)=>be(n,e).fold((()=>((e,t)=>Cn(e,(()=>'Choice schema did not contain choice key: "'+t+'"')))(o,e)),(e=>((e,t,o,n)=>be(o,n).fold((()=>((e,t,o)=>Cn(e,(()=>'The chosen schema: "'+o+'" did not exist in branches: '+kn(t))))(e,o,n)),(o=>o.extract(e.concat(["branch: "+n]),t))))(o,n,t,e))),toString:()=>"chooseOn("+e+"). Possible values: "+ae(t)}),$n=e=>On((t=>e(t).fold(mn,un))),qn=(e,t)=>Rn((t=>e(t).fold(dn,cn)),t),Yn=(e,t,o)=>{return n=((e,t,o)=>((e,t)=>e.stype===an.Error?{stype:an.Error,serror:t(e.serror)}:e)(t.extract([e],o),(e=>({input:o,errors:e}))))(e,t,o),ln(n,rn.error,rn.value);var n},Xn=e=>e.fold((e=>{throw new Error(Jn(e))}),w),Kn=(e,t,o)=>Xn(Yn(e,t,o)),Jn=e=>"Errors: \n"+(e=>{const t=e.length>10?e.slice(0,10).concat([{path:[],getErrorInfo:x("... (only showing first ten failures)")}]):e;return L(t,(e=>"Failed path: ("+e.path.join(" > ")+")\n"+e.getErrorInfo()))})(e.errors).join("\n")+"\n\nInput object: "+kn(e.input),Zn=(e,t)=>Gn(e,ce(t,Bn)),Qn=(e,t)=>((e,t)=>{const o=eo(t);return{extract:(e,t)=>o().extract(e,t),toString:()=>o().toString()}})(0,t),es=pn,ts=(e,t)=>({tag:"custom",newKey:e,instantiator:t}),os=e=>$n((t=>R(e,t)?rn.value(t):rn.error(`Unsupported value: "${t}", choose one of "${e.join(", ")}".`))),ns=e=>es(e,e,{tag:"required",process:{}},Vn()),ss=(e,t)=>es(e,e,{tag:"required",process:{}},t),rs=e=>ss(e,Ln),as=e=>ss(e,Hn),is=(e,t)=>es(e,e,{tag:"required",process:{}},os(t)),ls=e=>ss(e,Un),cs=(e,t)=>es(e,e,{tag:"required",process:{}},Bn(t)),ds=(e,t)=>es(e,e,{tag:"required",process:{}},Nn(t)),us=(e,t)=>es(e,e,{tag:"required",process:{}},In(t)),ms=e=>es(e,e,{tag:"option",process:{}},Vn()),gs=(e,t)=>es(e,e,{tag:"option",process:{}},t),ps=e=>gs(e,Ln),hs=e=>gs(e,Hn),fs=(e,t)=>gs(e,os(t)),bs=e=>gs(e,Un),vs=(e,t)=>gs(e,In(t)),ys=(e,t)=>gs(e,Bn(t)),xs=(e,t)=>es(e,e,xn(t),Vn()),ws=(e,t,o)=>es(e,e,xn(t),o),Ss=(e,t)=>ws(e,t,Ln),ks=(e,t)=>ws(e,t,Hn),Cs=(e,t,o)=>ws(e,t,os(o)),Os=(e,t)=>ws(e,t,Pn),_s=(e,t)=>ws(e,t,Un),Ts=(e,t,o)=>ws(e,t,In(o)),Es=(e,t,o)=>ws(e,t,Bn(o)),As=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},Ms=e=>{if(!l(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return H(e,((n,s)=>{const r=ae(n);if(1!==r.length)throw new Error("one and only one name per case");const a=r[0],i=n[a];if(void 0!==o[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!l(i))throw new Error("case arguments must be an array");t.push(a),o[a]=(...o)=>{const n=o.length;if(n!==i.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+i.length+" ("+i+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[s].apply(null,o)},match:e=>{const n=ae(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!X(t,(e=>R(n,e))))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:a,params:o})}}}})),o};Ms([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const Ds=(e,t)=>((e,t)=>({[e]:t}))(e,t),Bs=e=>(e=>{const t={};return H(e,(e=>{t[e.key]=e.value})),t})(e),Is=e=>p(e)?e:T,Fs=(e,t,o)=>{let n=e.dom;const s=Is(o);for(;n.parentNode;){n=n.parentNode;const e=ze(n),o=t(e);if(o.isSome())return o;if(s(e))break}return A.none()},Rs=(e,t,o)=>{const n=t(e),s=Is(o);return n.orThunk((()=>s(e)?A.none():Fs(e,t,s)))},Ns=(e,t)=>Qe(e.element,t.event.target),Vs={can:E,abort:T,run:b},zs=e=>{if(!ye(e,"can")&&!ye(e,"abort")&&!ye(e,"run"))throw new Error("EventHandler defined by: "+JSON.stringify(e,null,2)+" does not have can, abort, or run!");return{...Vs,...e}},Ls=x,Hs=Ls("touchstart"),Ps=Ls("touchmove"),Us=Ls("touchend"),Ws=Ls("touchcancel"),js=Ls("mousedown"),Gs=Ls("mousemove"),$s=Ls("mouseout"),qs=Ls("mouseup"),Ys=Ls("mouseover"),Xs=Ls("focusin"),Ks=Ls("focusout"),Js=Ls("keydown"),Zs=Ls("keyup"),Qs=Ls("input"),er=Ls("change"),tr=Ls("click"),or=Ls("transitioncancel"),nr=Ls("transitionend"),sr=Ls("transitionstart"),rr=Ls("selectstart"),ar=e=>x("alloy."+e),ir={tap:ar("tap")},lr=ar("focus"),cr=ar("blur.post"),dr=ar("paste.post"),ur=ar("receive"),mr=ar("execute"),gr=ar("focus.item"),pr=ir.tap,hr=ar("longpress"),fr=ar("sandbox.close"),br=ar("typeahead.cancel"),vr=ar("system.init"),yr=ar("system.touchmove"),xr=ar("system.touchend"),wr=ar("system.scroll"),Sr=ar("system.resize"),kr=ar("system.attached"),Cr=ar("system.detached"),Or=ar("system.dismissRequested"),_r=ar("system.repositionRequested"),Tr=ar("focusmanager.shifted"),Er=ar("slotcontainer.visibility"),Ar=ar("system.external.element.scroll"),Mr=ar("change.tab"),Dr=ar("dismiss.tab"),Br=ar("highlight"),Ir=ar("dehighlight"),Fr=(e,t)=>{zr(e,e.element,t,{})},Rr=(e,t,o)=>{zr(e,e.element,t,o)},Nr=e=>{Fr(e,mr())},Vr=(e,t,o)=>{zr(e,t,o,{})},zr=(e,t,o,n)=>{const s={target:t,...n};e.getSystem().triggerEvent(o,t,s)},Lr=(e,t,o,n)=>{e.getSystem().triggerEvent(o,t,n.event)},Hr=e=>Bs(e),Pr=(e,t)=>({key:e,value:zs({abort:t})}),Ur=e=>({key:e,value:zs({run:(e,t)=>{t.event.prevent()}})}),Wr=(e,t)=>({key:e,value:zs({run:t})}),jr=(e,t,o)=>({key:e,value:zs({run:(e,n)=>{t.apply(void 0,[e,n].concat(o))}})}),Gr=e=>t=>({key:e,value:zs({run:(e,o)=>{Ns(e,o)&&t(e,o)}})}),$r=(e,t,o)=>((e,t)=>Wr(e,((o,n)=>{o.getSystem().getByUid(t).each((t=>{Lr(t,t.element,e,n)}))})))(e,t.partUids[o]),qr=(e,t)=>Wr(e,((e,o)=>{const n=o.event,s=e.getSystem().getByDom(n.target).getOrThunk((()=>Rs(n.target,(t=>e.getSystem().getByDom(t).toOptional()),T).getOr(e)));t(e,s,o)})),Yr=e=>Wr(e,((e,t)=>{t.cut()})),Xr=e=>Wr(e,((e,t)=>{t.stop()})),Kr=(e,t)=>Gr(e)(t),Jr=Gr(kr()),Zr=Gr(Cr()),Qr=Gr(vr()),ea=(aa=mr(),e=>Wr(aa,e)),ta=e=>e.dom.innerHTML,oa=(e,t)=>{const o=tt(e).dom,n=ze(o.createDocumentFragment()),s=((e,t)=>{const o=(t||document).createElement("div");return o.innerHTML=e,lt(ze(o))})(t,o);Ho(n,s),Po(e),Lo(e,n)},na=(e,t)=>ze(e.dom.cloneNode(t)),sa=e=>(e=>{if(gt(e))return"#shadow-root";{const t=(e=>na(e,!1))(e);return(e=>{const t=Ne("div"),o=ze(e.dom.cloneNode(!0));return Lo(t,o),ta(t)})(t)}})(e),ra=Hr([((e,t)=>({key:e,value:zs({can:(e,t)=>{const o=t.event,n=o.originator,s=o.target;return!((e,t,o)=>Qe(t,e.element)&&!Qe(t,o))(e,n,s)||(console.warn(lr()+" did not get interpreted by the desired target. \nOriginator: "+sa(n)+"\nTarget: "+sa(s)+"\nCheck the "+lr()+" event handlers"),!1)}})}))(lr())]);var aa,ia=Object.freeze({__proto__:null,events:ra});let la=0;const ca=e=>{const t=(new Date).getTime(),o=Math.floor(1e9*Math.random());return la++,e+"_"+o+la+String(t)},da=x("alloy-id-"),ua=x("data-alloy-id"),ma=da(),ga=ua(),pa=(e,t)=>{Object.defineProperty(e.dom,ga,{value:t,writable:!0})},ha=e=>{const t=$e(e)?e.dom[ga]:null;return A.from(t)},fa=e=>ca(e),ba=w,va=e=>{const t=t=>`The component must be in a context to execute: ${t}`+(e?"\n"+sa(e().element)+" is not in context.":""),o=e=>()=>{throw new Error(t(e))},n=e=>()=>{console.warn(t(e))};return{debugInfo:x("fake"),triggerEvent:n("triggerEvent"),triggerFocus:n("triggerFocus"),triggerEscape:n("triggerEscape"),broadcast:n("broadcast"),broadcastOn:n("broadcastOn"),broadcastEvent:n("broadcastEvent"),build:o("build"),buildOrPatch:o("buildOrPatch"),addToWorld:o("addToWorld"),removeFromWorld:o("removeFromWorld"),addToGui:o("addToGui"),removeFromGui:o("removeFromGui"),getByUid:o("getByUid"),getByDom:o("getByDom"),isConnected:T}},ya=va(),xa=e=>L(e,(e=>Ae(e,"/*")?e.substring(0,e.length-2):e)),wa=(e,t)=>{const o=e.toString(),n=o.indexOf(")")+1,s=o.indexOf("("),r=o.substring(s+1,n-1).split(/,\s*/);return e.toFunctionAnnotation=()=>({name:t,parameters:xa(r)}),e},Sa=ca("alloy-premade"),ka=e=>(Object.defineProperty(e.element.dom,Sa,{value:e.uid,writable:!0}),Ds(Sa,e)),Ca=e=>be(e,Sa),Oa=e=>((e,t)=>{const o=t.toString(),n=o.indexOf(")")+1,s=o.indexOf("("),r=o.substring(s+1,n-1).split(/,\s*/);return e.toFunctionAnnotation=()=>({name:"OVERRIDE",parameters:xa(r.slice(1))}),e})(((t,...o)=>e(t.getApis(),t,...o)),e),_a={init:()=>Ta({readState:x("No State required")})},Ta=e=>e,Ea=(e,t)=>{const o={};return le(e,((e,n)=>{le(e,((e,s)=>{const r=be(o,s).getOr([]);o[s]=r.concat([t(n,e)])}))})),o},Aa=e=>({classes:u(e.classes)?[]:e.classes,attributes:u(e.attributes)?{}:e.attributes,styles:u(e.styles)?{}:e.styles}),Ma=e=>e.cHandler,Da=(e,t)=>({name:e,handler:t}),Ba=(e,t)=>{const o={};return H(e,(e=>{o[e.name()]=e.handlers(t)})),o},Ia=(e,t,o)=>{const n=t[o];return n?((e,t,o,n)=>{try{const s=ee(o,((o,s)=>{const r=o[t],a=s[t],i=n.indexOf(r),l=n.indexOf(a);if(-1===i)throw new Error("The ordering for "+e+" does not have an entry for "+r+".\nOrder specified: "+JSON.stringify(n,null,2));if(-1===l)throw new Error("The ordering for "+e+" does not have an entry for "+a+".\nOrder specified: "+JSON.stringify(n,null,2));return i(e=>{const t=((e,t)=>(...t)=>j(e,((e,o)=>e&&(e=>e.can)(o).apply(void 0,t)),!0))(e),o=((e,t)=>(...t)=>j(e,((e,o)=>e||(e=>e.abort)(o).apply(void 0,t)),!1))(e);return{can:t,abort:o,run:(...t)=>{H(e,(e=>{e.run.apply(void 0,t)}))}}})(L(e,(e=>e.handler))))):((e,t)=>rn.error(["The event ("+e+') has more than one behaviour that listens to it.\nWhen this occurs, you must specify an event ordering for the behaviours in your spec (e.g. [ "listing", "toggling" ]).\nThe behaviours that can trigger it are: '+JSON.stringify(L(t,(e=>e.name)),null,2)]))(o,e)},Fa=(e,t)=>((e,t)=>{const o=(e=>{const t=[],o=[];return H(e,(e=>{e.fold((e=>{t.push(e)}),(e=>{o.push(e)}))})),{errors:t,values:o}})(e);return o.errors.length>0?(n=o.errors,rn.error(q(n))):((e,t)=>0===e.length?rn.value(t):rn.value(bn(t,vn.apply(void 0,e))))(o.values,t);var n})(pe(e,((e,o)=>(1===e.length?rn.value(e[0].handler):Ia(e,t,o)).map((n=>{const s=(e=>{const t=(e=>p(e)?{can:E,abort:T,run:e}:e)(e);return(e,o,...n)=>{const s=[e,o].concat(n);t.abort.apply(void 0,s)?o.stop():t.can.apply(void 0,s)&&t.run.apply(void 0,s)}})(n),r=e.length>1?U(t[o],(t=>N(e,(e=>e.name===t)))).join(" > "):e[0].name;return Ds(o,((e,t)=>({handler:e,purpose:t}))(s,r))})))),{}),Ra="alloy.base.behaviour",Na=Bn([es("dom","dom",{tag:"required",process:{}},Bn([ns("tag"),xs("styles",{}),xs("classes",[]),xs("attributes",{}),ms("value"),ms("innerHtml")])),ns("components"),ns("uid"),xs("events",{}),xs("apis",{}),es("eventOrder","eventOrder",(ui={[mr()]:["disabling",Ra,"toggling","typeaheadevents"],[lr()]:[Ra,"focusing","keying"],[vr()]:[Ra,"disabling","toggling","representing"],[Qs()]:[Ra,"representing","streaming","invalidating"],[Cr()]:[Ra,"representing","item-events","tooltipping"],[js()]:["focusing",Ra,"item-type-events"],[Hs()]:["focusing",Ra,"item-type-events"],[Ys()]:["item-type-events","tooltipping"],[ur()]:["receiving","reflecting","tooltipping"]},wn(x(ui))),Vn()),ms("domModification")]),Va=e=>e.events,za=(e,t)=>{const o=_t(e,t);return void 0===o||""===o?[]:o.split(" ")},La=e=>void 0!==e.dom.classList,Ha=e=>za(e,"class"),Pa=(e,t)=>((e,t,o)=>{const n=za(e,t).concat([o]);return Ct(e,t,n.join(" ")),!0})(e,"class",t),Ua=(e,t)=>((e,t,o)=>{const n=U(za(e,t),(e=>e!==o));return n.length>0?Ct(e,t,n.join(" ")):At(e,t),!1})(e,"class",t),Wa=(e,t)=>{La(e)?e.dom.classList.add(t):Pa(e,t)},ja=e=>{0===(La(e)?e.dom.classList:Ha(e)).length&&At(e,"class")},Ga=(e,t)=>{La(e)?e.dom.classList.remove(t):Ua(e,t),ja(e)},$a=(e,t)=>La(e)&&e.dom.classList.contains(t),qa=(e,t)=>{H(t,(t=>{Wa(e,t)}))},Ya=(e,t)=>{H(t,(t=>{Ga(e,t)}))},Xa=e=>La(e)?(e=>{const t=e.dom.classList,o=new Array(t.length);for(let e=0;ee.dom.value,Ja=(e,t)=>{if(void 0===t)throw new Error("Value.set was undefined");e.dom.value=t},Za=(e,t,o)=>{o.fold((()=>Lo(e,t)),(e=>{Qe(e,t)||(No(e,t),Uo(e))}))},Qa=(e,t,o)=>{const n=L(t,o),s=lt(e);return H(s.slice(n.length),Uo),n},ei=(e,t,o,n)=>{const s=ct(e,t),r=n(o,s),a=((e,t,o)=>ct(e,t).map((e=>{if(o.exists((t=>!Qe(t,e)))){const t=o.map(We).getOr("span"),n=Ne(t);return No(e,n),n}return e})))(e,t,s);return Za(e,r.element,a),r},ti=(e,t)=>{const o=ae(e),n=ae(t),s=J(n,o),r=((e,o)=>{const n={},s={};return me(e,((e,o)=>!ve(t,o)||e!==t[o]),ue(n),ue(s)),{t:n,f:s}})(e).t;return{toRemove:s,toSet:r}},oi=(e,t)=>{const o=t.filter((t=>We(t)===e.tag&&!(e=>e.innerHtml.isSome()&&e.domChildren.length>0)(e)&&!(e=>ve(e.dom,Sa))(t))).bind((t=>((e,t)=>{try{const o=((e,t)=>{const{class:o,style:n,...s}=(e=>j(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}))(t),{toSet:r,toRemove:a}=ti(e.attributes,s),i=zt(t),{toSet:l,toRemove:c}=ti(e.styles,i),d=Xa(t),u=J(d,e.classes),m=J(e.classes,d);return H(a,(e=>At(t,e))),Ot(t,r),qa(t,m),Ya(t,u),H(c,(e=>Ht(t,e))),It(t,l),e.innerHtml.fold((()=>{const o=e.domChildren;((e,t)=>{Qa(e,t,((t,o)=>{const n=ct(e,o);return Za(e,t,n),t}))})(t,o)}),(e=>{oa(t,e)})),(()=>{const o=t,n=e.value.getOrUndefined();n!==Ka(o)&&Ja(o,null!=n?n:"")})(),t})(e,t);return A.some(o)}catch(e){return A.none()}})(e,t))).getOrThunk((()=>(e=>{const t=Ne(e.tag);Ot(t,e.attributes),qa(t,e.classes),It(t,e.styles),e.innerHtml.each((e=>oa(t,e)));const o=e.domChildren;return Ho(t,o),e.value.each((e=>{Ja(t,e)})),t})(e)));return pa(o,e.uid),o},ni=e=>{const t=(e=>{const t=be(e,"behaviours").getOr({});return Y(ae(t),(e=>{const o=t[e];return g(o)?[o.me]:[]}))})(e);return((e,t)=>((e,t)=>{const o=L(t,(e=>ys(e.name(),[ns("config"),xs("state",_a)]))),n=Yn("component.behaviours",Bn(o),e.behaviours).fold((t=>{throw new Error(Jn(t)+"\nComplete spec:\n"+JSON.stringify(e,null,2))}),w);return{list:t,data:ce(n,(e=>{const t=e.map((e=>({config:e.config,state:e.state.init(e.config)})));return x(t)}))}})(e,t))(e,t)},si=(e,t)=>{const o=()=>m,n=As(ya),s=Xn((e=>Yn("custom.definition",Na,e))(e)),r=ni(e),a=(e=>e.list)(r),i=(e=>e.data)(r),l=((e,t,o)=>{const n={...(s=e).dom,uid:s.uid,domChildren:L(s.components,(e=>e.element))};var s;const r=(e=>e.domModification.fold((()=>Aa({})),Aa))(e),a={"alloy.base.modification":r},i=t.length>0?((e,t,o,n)=>{const s={...t};H(o,(t=>{s[t.name()]=t.exhibit(e,n)}));const r=Ea(s,((e,t)=>({name:e,modification:t}))),a=e=>W(e,((e,t)=>({...t.modification,...e})),{}),i=W(r.classes,((e,t)=>t.modification.concat(e)),[]),l=a(r.attributes),c=a(r.styles);return Aa({classes:i,attributes:l,styles:c})})(o,a,t,n):r;return l=n,c=i,{...l,attributes:{...l.attributes,...c.attributes},styles:{...l.styles,...c.styles},classes:l.classes.concat(c.classes)};var l,c})(s,a,i),c=oi(l,t),d=((e,t,o)=>{const n={"alloy.base.behaviour":Va(e)};return((e,t,o,n)=>{const s=((e,t,o)=>{const n={...o,...Ba(t,e)};return Ea(n,Da)})(e,o,n);return Fa(s,t)})(o,e.eventOrder,t,n).getOrDie()})(s,a,i),u=As(s.components),m={uid:e.uid,getSystem:n.get,config:t=>{const o=i;return(p(o[t.name()])?o[t.name()]:()=>{throw new Error("Could not find "+t.name()+" in "+JSON.stringify(e,null,2))})()},hasConfigured:e=>p(i[e.name()]),spec:e,readState:e=>i[e]().map((e=>e.state.readState())).getOr("not enabled"),getApis:()=>s.apis,connect:e=>{n.set(e)},disconnect:()=>{n.set(va(o))},element:c,syncComponents:()=>{const e=lt(c),t=Y(e,(e=>n.get().getByDom(e).fold((()=>[]),Q)));u.set(t)},components:u.get,events:d};return m},ri=e=>{const t=Ve(e);return ai({element:t})},ai=e=>{const t=Kn("external.component",Dn([ns("element"),ms("uid")]),e),o=As(va()),n=t.uid.getOrThunk((()=>fa("external")));pa(t.element,n);const s={uid:n,getSystem:o.get,config:A.none,hasConfigured:T,connect:e=>{o.set(e)},disconnect:()=>{o.set(va((()=>s)))},getApis:()=>({}),element:t.element,spec:e,readState:x("No state"),syncComponents:b,components:x([]),events:{}};return ka(s)},ii=fa,li=(e,t)=>Ca(e).getOrThunk((()=>((e,t)=>{const{events:o,...n}=ba(e),s=((e,t)=>{const o=be(e,"components").getOr([]);return t.fold((()=>L(o,ci)),(e=>L(o,((t,o)=>li(t,ct(e,o))))))})(n,t),r={...n,events:{...ia,...o},components:s};return rn.value(si(r,t))})((e=>ve(e,"uid"))(e)?e:{uid:ii(""),...e},t).getOrDie())),ci=e=>li(e,A.none()),di=ka;var ui,mi=(e,t,o,n,s)=>e(o,n)?A.some(o):p(s)&&s(o)?A.none():t(o,n,s);const gi=(e,t,o)=>{let n=e.dom;const s=p(o)?o:T;for(;n.parentNode;){n=n.parentNode;const e=ze(n);if(t(e))return A.some(e);if(s(e))break}return A.none()},pi=(e,t,o)=>mi(((e,t)=>t(e)),gi,e,t,o),hi=(e,t,o)=>pi(e,t,o).isSome(),fi=(e,t,o)=>gi(e,(e=>Je(e,t)),o),bi=(e,t)=>((e,o)=>G(e.dom.childNodes,(e=>{return o=ze(e),Je(o,t);var o})).map(ze))(e),vi=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Ze(o)?A.none():A.from(o.querySelector(e)).map(ze)})(t,e),yi=(e,t,o)=>mi(((e,t)=>Je(e,t)),fi,e,t,o),xi="aria-controls",wi=()=>{const e=ca(xi);return{id:e,link:t=>{Ct(t,xi,e)},unlink:e=>{At(e,xi)}}},Si=(e,t)=>hi(t,(t=>Qe(t,e.element)),T)||((e,t)=>(e=>pi(e,(e=>{if(!$e(e))return!1;const t=_t(e,"id");return void 0!==t&&t.indexOf(xi)>-1})).bind((e=>{const t=_t(e,"id"),o=ft(e);return vi(o,`[${xi}="${t}"]`)})))(t).exists((t=>Si(e,t))))(e,t);var ki;!function(e){e[e.STOP=0]="STOP",e[e.NORMAL=1]="NORMAL",e[e.LOGGING=2]="LOGGING"}(ki||(ki={}));const Ci=As({}),Oi=["alloy/data/Fields","alloy/debugging/Debugging"],_i=(e,t,o)=>((e,t,o)=>{switch(be(Ci.get(),e).orThunk((()=>{const t=ae(Ci.get());return re(t,(t=>e.indexOf(t)>-1?A.some(Ci.get()[t]):A.none()))})).getOr(ki.NORMAL)){case ki.NORMAL:return o(Ti());case ki.LOGGING:{const n=((e,t)=>{const o=[],n=(new Date).getTime();return{logEventCut:(e,t,n)=>{o.push({outcome:"cut",target:t,purpose:n})},logEventStopped:(e,t,n)=>{o.push({outcome:"stopped",target:t,purpose:n})},logNoParent:(e,t,n)=>{o.push({outcome:"no-parent",target:t,purpose:n})},logEventNoHandlers:(e,t)=>{o.push({outcome:"no-handlers-left",target:t})},logEventResponse:(e,t,n)=>{o.push({outcome:"response",purpose:n,target:t})},write:()=>{const s=(new Date).getTime();R(["mousemove","mouseover","mouseout",vr()],e)||console.log(e,{event:e,time:s-n,target:t.dom,sequence:L(o,(e=>R(["cut","stopped","response"],e.outcome)?"{"+e.purpose+"} "+e.outcome+" at ("+sa(e.target)+")":e.outcome))})}}})(e,t),s=o(n);return n.write(),s}case ki.STOP:return!0}})(e,t,o),Ti=x({logEventCut:b,logEventStopped:b,logNoParent:b,logEventNoHandlers:b,logEventResponse:b,write:b}),Ei=x([ns("menu"),ns("selectedMenu")]),Ai=x([ns("item"),ns("selectedItem")]);x(Bn(Ai().concat(Ei())));const Mi=x(Bn(Ai())),Di=cs("initSize",[ns("numColumns"),ns("numRows")]),Bi=()=>cs("markers",[ns("backgroundMenu")].concat(Ei()).concat(Ai())),Ii=e=>cs("markers",L(e,ns)),Fi=(e,t,o)=>((()=>{const e=new Error;if(void 0!==e.stack){const t=e.stack.split("\n");G(t,(e=>e.indexOf("alloy")>0&&!N(Oi,(t=>e.indexOf(t)>-1)))).getOr("unknown")}})(),es(t,t,o,$n((e=>rn.value(((...t)=>e.apply(void 0,t))))))),Ri=e=>Fi(0,e,xn(b)),Ni=e=>Fi(0,e,xn(A.none)),Vi=e=>Fi(0,e,{tag:"required",process:{}}),zi=e=>Fi(0,e,{tag:"required",process:{}}),Li=(e,t)=>ts(e,x(t)),Hi=e=>ts(e,w),Pi=x(Di),Ui=(e,t,o,n,s,r,a,i=!1)=>({x:e,y:t,bubble:o,direction:n,placement:s,restriction:r,label:`${a}-${s}`,alwaysFit:i}),Wi=Ms([{southeast:[]},{southwest:[]},{northeast:[]},{northwest:[]},{south:[]},{north:[]},{east:[]},{west:[]}]),ji=Wi.southeast,Gi=Wi.southwest,$i=Wi.northeast,qi=Wi.northwest,Yi=Wi.south,Xi=Wi.north,Ki=Wi.east,Ji=Wi.west,Zi=(e,t,o,n)=>{const s=e+t;return s>n?o:sMath.min(Math.max(e,t),o),el=(e,t)=>Z(["left","right","top","bottom"],(o=>be(t,o).map((t=>((e,t)=>{switch(t){case 1:return e.x;case 0:return e.x+e.width;case 2:return e.y;case 3:return e.y+e.height}})(e,t))))),tl="layout",ol=e=>e.x,nl=(e,t)=>e.x+e.width/2-t.width/2,sl=(e,t)=>e.x+e.width-t.width,rl=(e,t)=>e.y-t.height,al=e=>e.y+e.height,il=(e,t)=>e.y+e.height/2-t.height/2,ll=(e,t,o)=>Ui(ol(e),al(e),o.southeast(),ji(),"southeast",el(e,{left:1,top:3}),tl),cl=(e,t,o)=>Ui(sl(e,t),al(e),o.southwest(),Gi(),"southwest",el(e,{right:0,top:3}),tl),dl=(e,t,o)=>Ui(ol(e),rl(e,t),o.northeast(),$i(),"northeast",el(e,{left:1,bottom:2}),tl),ul=(e,t,o)=>Ui(sl(e,t),rl(e,t),o.northwest(),qi(),"northwest",el(e,{right:0,bottom:2}),tl),ml=(e,t,o)=>Ui(nl(e,t),rl(e,t),o.north(),Xi(),"north",el(e,{bottom:2}),tl),gl=(e,t,o)=>Ui(nl(e,t),al(e),o.south(),Yi(),"south",el(e,{top:3}),tl),pl=(e,t,o)=>Ui((e=>e.x+e.width)(e),il(e,t),o.east(),Ki(),"east",el(e,{left:0}),tl),hl=(e,t,o)=>Ui(((e,t)=>e.x-t.width)(e,t),il(e,t),o.west(),Ji(),"west",el(e,{right:1}),tl),fl=()=>[ll,cl,dl,ul,gl,ml,pl,hl],bl=()=>[cl,ll,ul,dl,gl,ml,pl,hl],vl=()=>[dl,ul,ll,cl,ml,gl],yl=()=>[ul,dl,cl,ll,ml,gl],xl=()=>[ll,cl,dl,ul,gl,ml],wl=()=>[cl,ll,ul,dl,gl,ml];var Sl=Object.freeze({__proto__:null,events:e=>Hr([Wr(ur(),((t,o)=>{const n=e.channels,s=ae(n),r=o,a=((e,t)=>t.universal?e:U(e,(e=>R(t.channels,e))))(s,r);H(a,(e=>{const o=n[e],s=o.schema,a=Kn("channel["+e+"] data\nReceiver: "+sa(t.element),s,r.data);o.onReceive(t,a)}))}))])}),kl=[ss("channels",qn(rn.value,Dn([Vi("onReceive"),xs("schema",Vn())])))];const Cl=(e,t,o)=>Qr(((n,s)=>{o(n,e,t)})),Ol=e=>({key:e,value:void 0}),_l=(e,t,o,n,s,r,a)=>{const i=e=>ye(e,o)?e[o]():A.none(),l=ce(s,((e,t)=>((e,t,o)=>((e,t,o)=>{const n=o.toString(),s=n.indexOf(")")+1,r=n.indexOf("("),a=n.substring(r+1,s-1).split(/,\s*/);return e.toFunctionAnnotation=()=>({name:t,parameters:xa(a.slice(0,1).concat(a.slice(3)))}),e})(((n,...s)=>{const r=[n].concat(s);return n.config({name:x(e)}).fold((()=>{throw new Error("We could not find any behaviour configuration for: "+e+". Using API: "+o)}),(e=>{const o=Array.prototype.slice.call(r,1);return t.apply(void 0,[n,e.config,e.state].concat(o))}))}),o,t))(o,e,t))),c={...ce(r,((e,t)=>wa(e,t))),...l,revoke:k(Ol,o),config:t=>{const n=Kn(o+"-config",e,t);return{key:o,value:{config:n,me:c,configAsRaw:eo((()=>Kn(o+"-config",e,t))),initialConfig:t,state:a}}},schema:x(t),exhibit:(e,t)=>Se(i(e),be(n,"exhibit"),((e,o)=>o(t,e.config,e.state))).getOrThunk((()=>Aa({}))),name:x(o),handlers:e=>i(e).map((e=>be(n,"events").getOr((()=>({})))(e.config,e.state))).getOr({})};return c},Tl=e=>Bs(e),El=Dn([ns("fields"),ns("name"),xs("active",{}),xs("apis",{}),xs("state",_a),xs("extra",{})]),Al=e=>{const t=Kn("Creating behaviour: "+e.name,El,e);return((e,t,o,n,s,r)=>{const a=Dn(e),i=ys(t,[("config",l=e,gs("config",Dn(l)))]);var l;return _l(a,i,t,o,n,s,r)})(t.fields,t.name,t.active,t.apis,t.extra,t.state)},Ml=Dn([ns("branchKey"),ns("branches"),ns("name"),xs("active",{}),xs("apis",{}),xs("state",_a),xs("extra",{})]),Dl=e=>{const t=Kn("Creating behaviour: "+e.name,Ml,e);return((e,t,o,n,s,r)=>{const a=e,i=ys(t,[gs("config",e)]);return _l(a,i,t,o,n,s,r)})(Zn(t.branchKey,t.branches),t.name,t.active,t.apis,t.extra,t.state)},Bl=x(void 0),Il=Al({fields:kl,name:"receiving",active:Sl});var Fl=Object.freeze({__proto__:null,exhibit:(e,t)=>Aa({classes:[],styles:t.useFixed()?{}:{position:"relative"}})});const Rl=(e,t=!1)=>e.dom.focus({preventScroll:t}),Nl=e=>e.dom.blur(),Vl=e=>{const t=ft(e).dom;return e.dom===t.activeElement},zl=(e=qo())=>A.from(e.dom.activeElement).map(ze),Ll=e=>zl(ft(e)).filter((t=>e.dom.contains(t.dom))),Hl=(e,t)=>{const o=ft(t),n=zl(o).bind((e=>{const o=t=>Qe(e,t);return o(t)?A.some(t):((e,t)=>{const o=e=>{for(let n=0;n{zl(o).filter((t=>Qe(t,e))).fold((()=>{Rl(e)}),b)})),s},Pl=(e,t,o,n,s)=>{const r=e=>e+"px";return{position:e,left:t.map(r),top:o.map(r),right:n.map(r),bottom:s.map(r)}},Ul=(e,t)=>{Ft(e,(e=>({...e,position:A.some(e.position)}))(t))},Wl=Ms([{none:[]},{relative:["x","y","width","height"]},{fixed:["x","y","width","height"]}]),jl=(e,t,o,n,s,r)=>{const a=t.rect,i=a.x-o,l=a.y-n,c=s-(i+a.width),d=r-(l+a.height),u=A.some(i),m=A.some(l),g=A.some(c),p=A.some(d),h=A.none();return t.direction.fold((()=>Pl(e,u,m,h,h)),(()=>Pl(e,h,m,g,h)),(()=>Pl(e,u,h,h,p)),(()=>Pl(e,h,h,g,p)),(()=>Pl(e,u,m,h,h)),(()=>Pl(e,u,h,h,p)),(()=>Pl(e,u,m,h,h)),(()=>Pl(e,h,m,g,h)))},Gl=(e,t)=>e.fold((()=>{const e=t.rect;return Pl("absolute",A.some(e.x),A.some(e.y),A.none(),A.none())}),((e,o,n,s)=>jl("absolute",t,e,o,n,s)),((e,o,n,s)=>jl("fixed",t,e,o,n,s))),$l=(e,t)=>{const o=k(Ko,t),n=e.fold(o,o,(()=>{const e=Wo();return Ko(t).translate(-e.left,-e.top)})),s=Qt(t),r=Gt(t);return Jo(n.left,n.top,s,r)},ql=(e,t)=>t.fold((()=>e.fold(tn,tn,Jo)),(t=>e.fold(x(t),x(t),(()=>{const o=Yl(e,t.x,t.y);return Jo(o.left,o.top,t.width,t.height)})))),Yl=(e,t,o)=>{const n=qt(t,o);return e.fold(x(n),x(n),(()=>{const e=Wo();return n.translate(-e.left,-e.top)}))};Wl.none;const Xl=Wl.relative,Kl=Wl.fixed,Jl="data-alloy-placement",Zl=e=>Tt(e,Jl),Ql=Ms([{fit:["reposition"]},{nofit:["reposition","visibleW","visibleH","isVisible"]}]),ec=(e,t,o,n)=>{const s=e.bubble,r=s.offset,a=((e,t,o)=>{const n=(n,s)=>t[n].map((t=>{const r="top"===n||"bottom"===n,a=r?o.top:o.left,i=("left"===n||"top"===n?Math.max:Math.min)(t,s)+a;return r?Qi(i,e.y,e.bottom):Qi(i,e.x,e.right)})).getOr(s),s=n("left",e.x),r=n("top",e.y),a=n("right",e.right),i=n("bottom",e.bottom);return Jo(s,r,a-s,i-r)})(n,e.restriction,r),i=e.x+r.left,l=e.y+r.top,c=Jo(i,l,t,o),{originInBounds:d,sizeInBounds:u,visibleW:m,visibleH:g}=((e,t)=>{const{x:o,y:n,right:s,bottom:r}=t,{x:a,y:i,right:l,bottom:c,width:d,height:u}=e;return{originInBounds:a>=o&&a<=s&&i>=n&&i<=r,sizeInBounds:l<=s&&l>=o&&c<=r&&c>=n,visibleW:Math.min(d,a>=o?s-a:l-o),visibleH:Math.min(u,i>=n?r-i:c-n)}})(c,a),p=d&&u,h=p?c:((e,t)=>{const{x:o,y:n,right:s,bottom:r}=t,{x:a,y:i,width:l,height:c}=e,d=Math.max(o,s-l),u=Math.max(n,r-c),m=Qi(a,o,d),g=Qi(i,n,u),p=Math.min(m+l,s)-m,h=Math.min(g+c,r)-g;return Jo(m,g,p,h)})(c,a),f=h.width>0&&h.height>0,{maxWidth:b,maxHeight:v}=((e,t,o)=>{const n=x(t.bottom-o.y),s=x(o.bottom-t.y),r=((e,t,o,n)=>e.fold(t,t,n,n,t,n,o,o))(e,s,s,n),a=x(t.right-o.x),i=x(o.right-t.x),l=((e,t,o,n)=>e.fold(t,n,t,n,o,o,t,n))(e,i,i,a);return{maxWidth:l,maxHeight:r}})(e.direction,h,n),y={rect:h,maxHeight:v,maxWidth:b,direction:e.direction,placement:e.placement,classes:{on:s.classesOn,off:s.classesOff},layout:e.label,testY:l};return p||e.alwaysFit?Ql.fit(y):Ql.nofit(y,m,g,f)},tc=e=>{const t=As(A.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(A.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(A.some(e))}}},oc=()=>tc((e=>e.unbind())),nc=()=>{const e=tc(b);return{...e,on:t=>e.get().each(t)}},sc=E,rc=(e,t,o)=>((e,t,o,n)=>Fo(e,t,o,n,!1))(e,t,sc,o),ac=(e,t,o)=>((e,t,o,n)=>Fo(e,t,o,n,!0))(e,t,sc,o),ic=Io,lc=["top","bottom","right","left"],cc="data-alloy-transition-timer",dc=(e,t,o,n,s,a)=>{const i=((e,t,o)=>o.exists((o=>{const n=e.mode;return"all"===n||o[n]!==t[n]})))(n,s,a);if(i||((e,t)=>((e,t)=>X(t,(t=>$a(e,t))))(e,t.classes))(e,n)){Bt(e,"position",o.position);const a=$l(t,e),l=Gl(t,{...s,rect:a}),c=Z(lc,(e=>l[e]));((e,t)=>{const o=e=>parseFloat(e).toFixed(3);return he(t,((t,n)=>!((e,t,o=S)=>Se(e,t,o).getOr(e.isNone()&&t.isNone()))(e[n].map(o),t.map(o)))).isSome()})(o,c)&&(Ft(e,c),i&&((e,t)=>{qa(e,t.classes),Tt(e,cc).each((t=>{clearTimeout(parseInt(t,10)),At(e,cc)})),((e,t)=>{const o=oc(),n=oc();let s;const a=t=>{var o;const n=null!==(o=t.raw.pseudoElement)&&void 0!==o?o:"";return Qe(t.target,e)&&Be(n)&&R(lc,t.raw.propertyName)},i=r=>{if(m(r)||a(r)){o.clear(),n.clear();const a=null==r?void 0:r.raw.type;(m(a)||a===nr())&&(clearTimeout(s),At(e,cc),Ya(e,t.classes))}},l=rc(e,sr(),(t=>{a(t)&&(l.unbind(),o.set(rc(e,nr(),i)),n.set(rc(e,or(),i)))})),c=(e=>{const t=t=>{const o=Rt(e,t).split(/\s*,\s*/);return U(o,De)},o=e=>{if(r(e)&&/^[\d.]+/.test(e)){const t=parseFloat(e);return Ae(e,"ms")?t:1e3*t}return 0},n=t("transition-delay"),s=t("transition-duration");return j(s,((e,t,s)=>{const r=o(n[s])+o(t);return Math.max(e,r)}),0)})(e);requestAnimationFrame((()=>{s=setTimeout(i,c+17),Ct(e,cc,s)}))})(e,t)})(e,n),Pt(e))}else Ya(e,n.classes)},uc=(e,t)=>{((e,t)=>{const o=Wt.max(e,t,["margin-top","border-top-width","padding-top","padding-bottom","border-bottom-width","margin-bottom"]);Bt(e,"max-height",o+"px")})(e,Math.floor(t))},mc=x(((e,t)=>{uc(e,t),It(e,{"overflow-x":"hidden","overflow-y":"auto"})})),gc=x(((e,t)=>{uc(e,t)})),pc=(e,t,o)=>void 0===e[t]?o:e[t],hc=(e,t,o,n)=>{const s=((e,t,o,n)=>{Ht(t,"max-height"),Ht(t,"max-width");const s={width:Qt(r=t),height:Gt(r)};var r;return((e,t,o,n,s,r)=>{const a=n.width,i=n.height,l=(t,l,c,d,u)=>{const m=t(o,n,s,e,r),g=ec(m,a,i,r);return g.fold(x(g),((e,t,o,n)=>(u===n?o>d||t>c:!u&&n)?g:Ql.nofit(l,c,d,u)))};return j(t,((e,t)=>{const o=k(l,t);return e.fold(x(e),o)}),Ql.nofit({rect:o,maxHeight:n.height,maxWidth:n.width,direction:ji(),placement:"southeast",classes:{on:[],off:[]},layout:"none",testY:o.y},-1,-1,!1)).fold(w,w)})(t,n.preference,e,s,o,n.bounds)})(e,t,o,n);return((e,t,o)=>{const n=Gl(o.origin,t);o.transition.each((s=>{dc(e,o.origin,n,s,t,o.lastPlacement)})),Ul(e,n)})(t,s,n),((e,t)=>{((e,t)=>{Ct(e,Jl,t)})(e,t.placement)})(t,s),((e,t)=>{const o=t.classes;Ya(e,o.off),qa(e,o.on)})(t,s),((e,t,o)=>{(0,o.maxHeightFunction)(e,t.maxHeight)})(t,s,n),((e,t,o)=>{(0,o.maxWidthFunction)(e,t.maxWidth)})(t,s,n),{layout:s.layout,placement:s.placement}},fc=["valignCentre","alignLeft","alignRight","alignCentre","top","bottom","left","right","inset"],bc=(e,t,o,n=1)=>{const s=e*n,r=t*n,a=e=>be(o,e).getOr([]),i=(e,t,o)=>{const n=J(fc,o);return{offset:qt(e,t),classesOn:Y(o,a),classesOff:Y(n,a)}};return{southeast:()=>i(-e,t,["top","alignLeft"]),southwest:()=>i(e,t,["top","alignRight"]),south:()=>i(-e/2,t,["top","alignCentre"]),northeast:()=>i(-e,-t,["bottom","alignLeft"]),northwest:()=>i(e,-t,["bottom","alignRight"]),north:()=>i(-e/2,-t,["bottom","alignCentre"]),east:()=>i(e,-t/2,["valignCentre","left"]),west:()=>i(-e,-t/2,["valignCentre","right"]),insetNortheast:()=>i(s,r,["top","alignLeft","inset"]),insetNorthwest:()=>i(-s,r,["top","alignRight","inset"]),insetNorth:()=>i(-s/2,r,["top","alignCentre","inset"]),insetSoutheast:()=>i(s,-r,["bottom","alignLeft","inset"]),insetSouthwest:()=>i(-s,-r,["bottom","alignRight","inset"]),insetSouth:()=>i(-s/2,-r,["bottom","alignCentre","inset"]),insetEast:()=>i(-s,-r/2,["valignCentre","right","inset"]),insetWest:()=>i(s,-r/2,["valignCentre","left","inset"])}},vc=()=>bc(0,0,{}),yc=w,xc=(e,t)=>o=>"rtl"===wc(o)?t:e,wc=e=>"rtl"===Rt(e,"direction")?"rtl":"ltr";var Sc;!function(e){e.TopToBottom="toptobottom",e.BottomToTop="bottomtotop"}(Sc||(Sc={}));const kc="data-alloy-vertical-dir",Cc=e=>hi(e,(e=>$e(e)&&_t(e,"data-alloy-vertical-dir")===Sc.BottomToTop)),Oc=()=>ys("layouts",[ns("onLtr"),ns("onRtl"),ms("onBottomLtr"),ms("onBottomRtl")]),_c=(e,t,o,n,s,r,a)=>{const i=a.map(Cc).getOr(!1),l=t.layouts.map((t=>t.onLtr(e))),c=t.layouts.map((t=>t.onRtl(e))),d=i?t.layouts.bind((t=>t.onBottomLtr.map((t=>t(e))))).or(l).getOr(s):l.getOr(o),u=i?t.layouts.bind((t=>t.onBottomRtl.map((t=>t(e))))).or(c).getOr(r):c.getOr(n);return xc(d,u)(e)};var Tc=[ns("hotspot"),ms("bubble"),xs("overrides",{}),Oc(),Li("placement",((e,t,o)=>{const n=t.hotspot,s=$l(o,n.element),r=_c(e.element,t,xl(),wl(),vl(),yl(),A.some(t.hotspot.element));return A.some(yc({anchorBox:s,bubble:t.bubble.getOr(vc()),overrides:t.overrides,layouts:r}))}))],Ec=[ns("x"),ns("y"),xs("height",0),xs("width",0),xs("bubble",vc()),xs("overrides",{}),Oc(),Li("placement",((e,t,o)=>{const n=Yl(o,t.x,t.y),s=Jo(n.left,n.top,t.width,t.height),r=_c(e.element,t,fl(),bl(),fl(),bl(),A.none());return A.some(yc({anchorBox:s,bubble:t.bubble,overrides:t.overrides,layouts:r}))}))];const Ac=Ms([{screen:["point"]},{absolute:["point","scrollLeft","scrollTop"]}]),Mc=e=>e.fold(w,((e,t,o)=>e.translate(-t,-o))),Dc=e=>e.fold(w,w),Bc=e=>j(e,((e,t)=>e.translate(t.left,t.top)),qt(0,0)),Ic=e=>{const t=L(e,Dc);return Bc(t)},Fc=Ac.screen,Rc=Ac.absolute,Nc=(e,t,o)=>{const n=tt(e.element),s=Wo(n),r=((e,t,o)=>{const n=st(o.root).dom;return A.from(n.frameElement).map(ze).filter((t=>{const o=tt(t),n=tt(e.element);return Qe(o,n)})).map(Xt)})(e,0,o).getOr(s);return Rc(r,s.left,s.top)},Vc=(e,t,o,n)=>{const s=Fc(qt(e,t));return A.some(((e,t,o)=>({point:e,width:t,height:o}))(s,o,n))},zc=(e,t,o,n,s)=>e.map((e=>{const r=[t,e.point],a=(i=()=>Ic(r),l=()=>Ic(r),c=()=>(e=>{const t=L(e,Mc);return Bc(t)})(r),n.fold(i,l,c));var i,l,c;const d=(p=a.left,h=a.top,f=e.width,b=e.height,{x:p,y:h,width:f,height:b}),u=o.showAbove?vl():xl(),m=o.showAbove?yl():wl(),g=_c(s,o,u,m,u,m,A.none());var p,h,f,b;return yc({anchorBox:d,bubble:o.bubble.getOr(vc()),overrides:o.overrides,layouts:g})}));var Lc=[ns("node"),ns("root"),ms("bubble"),Oc(),xs("overrides",{}),xs("showAbove",!1),Li("placement",((e,t,o)=>{const n=Nc(e,0,t);return t.node.filter(xt).bind((s=>{const r=s.dom.getBoundingClientRect(),a=Vc(r.left,r.top,r.width,r.height),i=t.node.getOr(e.element);return zc(a,n,t,o,i)}))}))];const Hc=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),Pc=Ms([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Uc=(Pc.before,Pc.on,Pc.after,e=>e.fold(w,w,w)),Wc=Ms([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),jc={domRange:Wc.domRange,relative:Wc.relative,exact:Wc.exact,exactFromRange:e=>Wc.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>ze(e.startContainer),relative:(e,t)=>Uc(e),exact:(e,t,o,n)=>e}))(e);return st(t)},range:Hc},Gc=(e,t,o)=>{const n=e.document.createRange();var s;return s=n,t.fold((e=>{s.setStartBefore(e.dom)}),((e,t)=>{s.setStart(e.dom,t)}),(e=>{s.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,o)=>{e.setEnd(t.dom,o)}),(t=>{e.setEndAfter(t.dom)}))})(n,o),n},$c=(e,t,o,n,s)=>{const r=e.document.createRange();return r.setStart(t.dom,o),r.setEnd(n.dom,s),r},qc=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),Yc=Ms([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Xc=(e,t,o)=>t(ze(o.startContainer),o.startOffset,ze(o.endContainer),o.endOffset),Kc=(e,t)=>((e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:x(e),rtl:A.none}),relative:(t,o)=>({ltr:eo((()=>Gc(e,t,o))),rtl:eo((()=>A.some(Gc(e,o,t))))}),exact:(t,o,n,s)=>({ltr:eo((()=>$c(e,t,o,n,s))),rtl:eo((()=>A.some($c(e,n,s,t,o))))})}))(e,t);return((e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>Yc.rtl(ze(e.endContainer),e.endOffset,ze(e.startContainer),e.startOffset))).getOrThunk((()=>Xc(0,Yc.ltr,o))):Xc(0,Yc.ltr,o)})(0,o)})(e,t).match({ltr:(t,o,n,s)=>{const r=e.document.createRange();return r.setStart(t.dom,o),r.setEnd(n.dom,s),r},rtl:(t,o,n,s)=>{const r=e.document.createRange();return r.setStart(n.dom,s),r.setEnd(t.dom,o),r}});Yc.ltr,Yc.rtl;const Jc=(e,t,o)=>U(((e,t)=>{const o=p(t)?t:T;let n=e.dom;const s=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=ze(e);if(s.push(t),!0===o(t))break;n=e}return s})(e,o),t),Zc=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Ze(o)?[]:L(o.querySelectorAll(e),ze)})(t,e),Qc=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return A.some(Hc(ze(t.startContainer),t.startOffset,ze(o.endContainer),o.endOffset))}return A.none()},ed=e=>{if(null===e.anchorNode||null===e.focusNode)return Qc(e);{const t=ze(e.anchorNode),o=ze(e.focusNode);return((e,t,o,n)=>{const s=((e,t,o,n)=>{const s=tt(e).dom.createRange();return s.setStart(e.dom,t),s.setEnd(o.dom,n),s})(e,t,o,n),r=Qe(e,o)&&t===n;return s.collapsed&&!r})(t,e.anchorOffset,o,e.focusOffset)?A.some(Hc(t,e.anchorOffset,o,e.focusOffset)):Qc(e)}},td=(e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?A.some(o).map(qc):A.none()})(Kc(e,t)),od=((e,t)=>{const o=t=>e(t)?A.from(t.dom.nodeValue):A.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(qe),nd=(e,t)=>({element:e,offset:t}),sd=(e,t)=>qe(e)?nd(e,t):((e,t)=>{const o=lt(e);if(0===o.length)return nd(e,t);if(tod.get(e))(e).length:lt(e).length;return nd(e,t)}})(e,t),rd=e=>void 0!==e.foffset,ad=(e,t)=>t.getSelection.getOrThunk((()=>()=>(e=>(e=>A.from(e.getSelection()))(e).filter((e=>e.rangeCount>0)).bind(ed))(e)))().map((e=>{if(rd(e)){const t=sd(e.start,e.soffset),o=sd(e.finish,e.foffset);return jc.range(t.element,t.offset,o.element,o.offset)}return e}));var id=[ms("getSelection"),ns("root"),ms("bubble"),Oc(),xs("overrides",{}),xs("showAbove",!1),Li("placement",((e,t,o)=>{const n=st(t.root).dom,s=Nc(e,0,t),r=ad(n,t).bind((e=>{if(rd(e)){const t=((e,t)=>(e=>{const t=e.getBoundingClientRect();return t.width>0||t.height>0?A.some(t).map(qc):A.none()})(Kc(e,t)))(n,jc.exactFromRange(e)).orThunk((()=>{const t=Ve("\ufeff");No(e.start,t);const o=td(n,jc.exact(t,0,t,1));return Uo(t),o}));return t.bind((e=>Vc(e.left,e.top,e.width,e.height)))}{const t=ce(e,(e=>e.dom.getBoundingClientRect())),o={left:Math.min(t.firstCell.left,t.lastCell.left),right:Math.max(t.firstCell.right,t.lastCell.right),top:Math.min(t.firstCell.top,t.lastCell.top),bottom:Math.max(t.firstCell.bottom,t.lastCell.bottom)};return Vc(o.left,o.top,o.right-o.left,o.bottom-o.top)}})),a=ad(n,t).bind((e=>rd(e)?$e(e.start)?A.some(e.start):at(e.start):A.some(e.firstCell))).getOr(e.element);return zc(r,s,t,o,a)}))];const ld="link-layout",cd=e=>e.x+e.width,dd=(e,t)=>e.x-t.width,ud=(e,t)=>e.y-t.height+e.height,md=e=>e.y,gd=(e,t,o)=>Ui(cd(e),md(e),o.southeast(),ji(),"southeast",el(e,{left:0,top:2}),ld),pd=(e,t,o)=>Ui(dd(e,t),md(e),o.southwest(),Gi(),"southwest",el(e,{right:1,top:2}),ld),hd=(e,t,o)=>Ui(cd(e),ud(e,t),o.northeast(),$i(),"northeast",el(e,{left:0,bottom:3}),ld),fd=(e,t,o)=>Ui(dd(e,t),ud(e,t),o.northwest(),qi(),"northwest",el(e,{right:1,bottom:3}),ld),bd=()=>[gd,pd,hd,fd],vd=()=>[pd,gd,fd,hd];var yd=[ns("item"),Oc(),xs("overrides",{}),Li("placement",((e,t,o)=>{const n=$l(o,t.item.element),s=_c(e.element,t,bd(),vd(),bd(),vd(),A.none());return A.some(yc({anchorBox:n,bubble:vc(),overrides:t.overrides,layouts:s}))}))],xd=Zn("type",{selection:id,node:Lc,hotspot:Tc,submenu:yd,makeshift:Ec});const wd=[us("classes",Hn),Cs("mode","all",["all","layout","placement"])],Sd=[xs("useFixed",T),ms("getBounds")],kd=[ss("anchor",xd),ys("transition",wd)],Cd=(e,t,o,n,s,r)=>{const a=Kn("placement.info",Bn(kd),s),i=a.anchor,l=n.element,c=o.get(n.uid);Hl((()=>{Bt(l,"position","fixed");const s=Vt(l,"visibility");Bt(l,"visibility","hidden");const d=t.useFixed()?(()=>{const e=document.documentElement;return Kl(0,0,e.clientWidth,e.clientHeight)})():(e=>{const t=Xt(e.element),o=e.element.dom.getBoundingClientRect();return Xl(t.left,t.top,o.width,o.height)})(e);i.placement(e,i,d).each((e=>{const s=r.orThunk((()=>t.getBounds.map(_))),i=((e,t,o,n,s,r)=>((e,t,o,n,s,r,a,i)=>{const l=pc(a,"maxHeightFunction",mc()),c=pc(a,"maxWidthFunction",b),d=e.anchorBox,u=e.origin,m={bounds:ql(u,r),origin:u,preference:n,maxHeightFunction:l,maxWidthFunction:c,lastPlacement:s,transition:i};return hc(d,t,o,m)})(((e,t)=>((e,t)=>({anchorBox:e,origin:t}))(e,t))(t.anchorBox,e),n.element,t.bubble,t.layouts,s,o,t.overrides,r))(d,e,s,n,c,a.transition);o.set(n.uid,i)})),s.fold((()=>{Ht(l,"visibility")}),(e=>{Bt(l,"visibility",e)})),Vt(l,"left").isNone()&&Vt(l,"top").isNone()&&Vt(l,"right").isNone()&&Vt(l,"bottom").isNone()&&xe(Vt(l,"position"),"fixed")&&Ht(l,"position")}),l)};var Od=Object.freeze({__proto__:null,position:(e,t,o,n,s)=>{const r=A.none();Cd(e,t,o,n,s,r)},positionWithinBounds:Cd,getMode:(e,t,o)=>t.useFixed()?"fixed":"absolute",reset:(e,t,o,n)=>{const s=n.element;H(["position","left","right","top","bottom"],(e=>Ht(s,e))),(e=>{At(e,Jl)})(s),o.clear(n.uid)}});const _d=Al({fields:Sd,name:"positioning",active:Fl,apis:Od,state:Object.freeze({__proto__:null,init:()=>{let e={};return Ta({readState:()=>e,clear:t=>{g(t)?delete e[t]:e={}},set:(t,o)=>{e[t]=o},get:t=>be(e,t)})}})}),Td=e=>e.getSystem().isConnected(),Ed=e=>{Fr(e,Cr());const t=e.components();H(t,Ed)},Ad=e=>{const t=e.components();H(t,Ad),Fr(e,kr())},Md=(e,t)=>{e.getSystem().addToWorld(t),xt(e.element)&&Ad(t)},Dd=e=>{Ed(e),e.getSystem().removeFromWorld(e)},Bd=(e,t)=>{Lo(e.element,t.element)},Id=(e,t)=>{Fd(e,t,Lo)},Fd=(e,t,o)=>{e.getSystem().addToWorld(t),o(e.element,t.element),xt(e.element)&&Ad(t),e.syncComponents()},Rd=e=>{Ed(e),Uo(e.element),e.getSystem().removeFromWorld(e)},Nd=e=>{const t=rt(e.element).bind((t=>e.getSystem().getByDom(t).toOptional()));Rd(e),t.each((e=>{e.syncComponents()}))},Vd=e=>{const t=e.components();H(t,Rd),Po(e.element),e.syncComponents()},zd=(e,t)=>{Hd(e,t,Lo)},Ld=(e,t)=>{Hd(e,t,Vo)},Hd=(e,t,o)=>{o(e,t.element);const n=lt(t.element);H(n,(e=>{t.getByDom(e).each(Ad)}))},Pd=e=>{const t=lt(e.element);H(t,(t=>{e.getByDom(t).each(Ed)})),Uo(e.element)},Ud=(e,t,o,n)=>{o.get().each((t=>{Vd(e)}));const s=t.getAttachPoint(e);Id(s,e);const r=e.getSystem().build(n);return Id(e,r),o.set(r),r},Wd=(e,t,o,n)=>{const s=Ud(e,t,o,n);return t.onOpen(e,s),s},jd=(e,t,o)=>{o.get().each((n=>{Vd(e),Nd(e),t.onClose(e,n),o.clear()}))},Gd=(e,t,o)=>o.isOpen(),$d=(e,t,o)=>{const n=t.getAttachPoint(e);Bt(e.element,"position",_d.getMode(n)),((e,t,o,n)=>{Vt(e.element,t).fold((()=>{At(e.element,o)}),(t=>{Ct(e.element,o,t)})),Bt(e.element,t,"hidden")})(e,"visibility",t.cloakVisibilityAttr)},qd=(e,t,o)=>{(e=>N(["top","left","right","bottom"],(t=>Vt(e,t).isSome())))(e.element)||Ht(e.element,"position"),((e,t,o)=>{Tt(e.element,o).fold((()=>Ht(e.element,t)),(o=>Bt(e.element,t,o)))})(e,"visibility",t.cloakVisibilityAttr)};var Yd=Object.freeze({__proto__:null,cloak:$d,decloak:qd,open:Wd,openWhileCloaked:(e,t,o,n,s)=>{$d(e,t),Wd(e,t,o,n),s(),qd(e,t)},close:jd,isOpen:Gd,isPartOf:(e,t,o,n)=>Gd(0,0,o)&&o.get().exists((o=>t.isPartOf(e,o,n))),getState:(e,t,o)=>o.get(),setContent:(e,t,o,n)=>o.get().map((()=>Ud(e,t,o,n)))}),Xd=Object.freeze({__proto__:null,events:(e,t)=>Hr([Wr(fr(),((o,n)=>{jd(o,e,t)}))])}),Kd=[Ri("onOpen"),Ri("onClose"),ns("isPartOf"),ns("getAttachPoint"),xs("cloakVisibilityAttr","data-precloak-visibility")],Jd=Object.freeze({__proto__:null,init:()=>{const e=nc(),t=x("not-implemented");return Ta({readState:t,isOpen:e.isSet,clear:e.clear,set:e.set,get:e.get})}});const Zd=Al({fields:Kd,name:"sandboxing",active:Xd,apis:Yd,state:Jd}),Qd=x("dismiss.popups"),eu=x("reposition.popups"),tu=x("mouse.released"),ou=Dn([xs("isExtraPart",T),ys("fireEventInstead",[xs("event",Or())])]),nu=e=>{const t=Kn("Dismissal",ou,e);return{[Qd()]:{schema:Dn([ns("target")]),onReceive:(e,o)=>{Zd.isOpen(e)&&(Zd.isPartOf(e,o.target)||t.isExtraPart(e,o.target)||t.fireEventInstead.fold((()=>Zd.close(e)),(t=>Fr(e,t.event))))}}}},su=Dn([ys("fireEventInstead",[xs("event",_r())]),ls("doReposition")]),ru=e=>{const t=Kn("Reposition",su,e);return{[eu()]:{onReceive:e=>{Zd.isOpen(e)&&t.fireEventInstead.fold((()=>t.doReposition(e)),(t=>Fr(e,t.event)))}}}},au=(e,t,o)=>{t.store.manager.onLoad(e,t,o)},iu=(e,t,o)=>{t.store.manager.onUnload(e,t,o)};var lu=Object.freeze({__proto__:null,onLoad:au,onUnload:iu,setValue:(e,t,o,n)=>{t.store.manager.setValue(e,t,o,n)},getValue:(e,t,o)=>t.store.manager.getValue(e,t,o),getState:(e,t,o)=>o}),cu=Object.freeze({__proto__:null,events:(e,t)=>{const o=e.resetOnDom?[Jr(((o,n)=>{au(o,e,t)})),Zr(((o,n)=>{iu(o,e,t)}))]:[Cl(e,t,au)];return Hr(o)}});const du=()=>{const e=As(null);return Ta({set:e.set,get:e.get,isNotSet:()=>null===e.get(),clear:()=>{e.set(null)},readState:()=>({mode:"memory",value:e.get()})})},uu=()=>{const e=As({}),t=As({});return Ta({readState:()=>({mode:"dataset",dataByValue:e.get(),dataByText:t.get()}),lookup:o=>be(e.get(),o).orThunk((()=>be(t.get(),o))),update:o=>{const n=e.get(),s=t.get(),r={},a={};H(o,(e=>{r[e.value]=e,be(e,"meta").each((t=>{be(t,"text").each((t=>{a[t]=e}))}))})),e.set({...n,...r}),t.set({...s,...a})},clear:()=>{e.set({}),t.set({})}})};var mu=Object.freeze({__proto__:null,memory:du,dataset:uu,manual:()=>Ta({readState:b}),init:e=>e.store.manager.state(e)});const gu=(e,t,o,n)=>{const s=t.store;o.update([n]),s.setValue(e,n),t.onSetValue(e,n)};var pu=[ms("initialValue"),ns("getFallbackEntry"),ns("getDataKey"),ns("setValue"),Li("manager",{setValue:gu,getValue:(e,t,o)=>{const n=t.store,s=n.getDataKey(e);return o.lookup(s).getOrThunk((()=>n.getFallbackEntry(s)))},onLoad:(e,t,o)=>{t.store.initialValue.each((n=>{gu(e,t,o,n)}))},onUnload:(e,t,o)=>{o.clear()},state:uu})],hu=[ns("getValue"),xs("setValue",b),ms("initialValue"),Li("manager",{setValue:(e,t,o,n)=>{t.store.setValue(e,n),t.onSetValue(e,n)},getValue:(e,t,o)=>t.store.getValue(e),onLoad:(e,t,o)=>{t.store.initialValue.each((o=>{t.store.setValue(e,o)}))},onUnload:b,state:_a.init})],fu=[ms("initialValue"),Li("manager",{setValue:(e,t,o,n)=>{o.set(n),t.onSetValue(e,n)},getValue:(e,t,o)=>o.get(),onLoad:(e,t,o)=>{t.store.initialValue.each((e=>{o.isNotSet()&&o.set(e)}))},onUnload:(e,t,o)=>{o.clear()},state:du})],bu=[ws("store",{mode:"memory"},Zn("mode",{memory:fu,manual:hu,dataset:pu})),Ri("onSetValue"),xs("resetOnDom",!1)];const vu=Al({fields:bu,name:"representing",active:cu,apis:lu,extra:{setValueFrom:(e,t)=>{const o=vu.getValue(t);vu.setValue(e,o)}},state:mu}),yu=(e,t)=>Es(e,{},L(t,(t=>{return o=t.name(),n="Cannot configure "+t.name()+" for "+e,es(o,o,{tag:"option",process:{}},On((e=>mn("The field: "+o+" is forbidden. "+n))));var o,n})).concat([ts("dump",w)])),xu=e=>e.dump,wu=(e,t)=>({...Tl(t),...e.dump}),Su=yu,ku=wu,Cu="placeholder",Ou=Ms([{single:["required","valueThunk"]},{multiple:["required","valueThunks"]}]),_u=e=>ve(e,"uiType"),Tu=(e,t,o,n)=>((e,t,o,n)=>_u(o)&&o.uiType===Cu?((e,t,o,n)=>e.exists((e=>e!==o.owner))?Ou.single(!0,x(o)):be(n,o.name).fold((()=>{throw new Error("Unknown placeholder component: "+o.name+"\nKnown: ["+ae(n)+"]\nNamespace: "+e.getOr("none")+"\nSpec: "+JSON.stringify(o,null,2))}),(e=>e.replace())))(e,0,o,n):Ou.single(!1,x(o)))(e,0,o,n).fold(((s,r)=>{const a=_u(o)?r(t,o.config,o.validated):r(t),i=be(a,"components").getOr([]),l=Y(i,(o=>Tu(e,t,o,n)));return[{...a,components:l}]}),((e,n)=>{if(_u(o)){const e=n(t,o.config,o.validated);return o.validated.preprocess.getOr(w)(e)}return n(t)})),Eu=Ou.single,Au=Ou.multiple,Mu=x(Cu),Du=Ms([{required:["data"]},{external:["data"]},{optional:["data"]},{group:["data"]}]),Bu=xs("factory",{sketch:w}),Iu=xs("schema",[]),Fu=ns("name"),Ru=es("pname","pname",yn((e=>"")),Vn()),Nu=ts("schema",(()=>[ms("preprocess")])),Vu=xs("defaults",x({})),zu=xs("overrides",x({})),Lu=Bn([Bu,Iu,Fu,Ru,Vu,zu]),Hu=Bn([Bu,Iu,Fu,Vu,zu]),Pu=Bn([Bu,Iu,Fu,Ru,Vu,zu]),Uu=Bn([Bu,Nu,Fu,ns("unit"),Ru,Vu,zu]),Wu=e=>e.fold(A.some,A.none,A.some,A.some),ju=e=>{const t=e=>e.name;return e.fold(t,t,t,t)},Gu=(e,t)=>o=>{const n=Kn("Converting part type",t,o);return e(n)},$u=Gu(Du.required,Lu),qu=Gu(Du.external,Hu),Yu=Gu(Du.optional,Pu),Xu=Gu(Du.group,Uu),Ku=x("entirety");var Ju=Object.freeze({__proto__:null,required:$u,external:qu,optional:Yu,group:Xu,asNamedPart:Wu,name:ju,asCommon:e=>e.fold(w,w,w,w),original:Ku});const Zu=(e,t,o,n)=>bn(t.defaults(e,o,n),o,{uid:e.partUids[t.name]},t.overrides(e,o,n)),Qu=(e,t)=>{const o={};return H(t,(t=>{Wu(t).each((t=>{const n=em(e,t.pname);o[t.name]=o=>{const s=Kn("Part: "+t.name+" in "+e,Bn(t.schema),o);return{...n,config:o,validated:s}}}))})),o},em=(e,t)=>({uiType:Mu(),owner:e,name:t}),tm=(e,t,o)=>({uiType:Mu(),owner:e,name:t,config:o,validated:{}}),om=e=>Y(e,(e=>e.fold(A.none,A.some,A.none,A.none).map((e=>cs(e.name,e.schema.concat([Hi(Ku())])))).toArray())),nm=e=>L(e,ju),sm=(e,t,o)=>((e,t,o)=>{const n={},s={};return H(o,(e=>{e.fold((e=>{n[e.pname]=Eu(!0,((t,o,n)=>e.factory.sketch(Zu(t,e,o,n))))}),(e=>{const o=t.parts[e.name];s[e.name]=x(e.factory.sketch(Zu(t,e,o[Ku()]),o))}),(e=>{n[e.pname]=Eu(!1,((t,o,n)=>e.factory.sketch(Zu(t,e,o,n))))}),(e=>{n[e.pname]=Au(!0,((t,o,n)=>{const s=t[e.name];return L(s,(o=>e.factory.sketch(bn(e.defaults(t,o,n),o,e.overrides(t,o)))))}))}))})),{internals:x(n),externals:x(s)}})(0,t,o),rm=(e,t,o)=>((e,t,o,n)=>{const s=ce(n,((e,t)=>((e,t)=>{let o=!1;return{name:x(e),required:()=>t.fold(((e,t)=>e),((e,t)=>e)),used:()=>o,replace:()=>{if(o)throw new Error("Trying to use the same placeholder more than once: "+e);return o=!0,t}}})(t,e))),r=((e,t,o,n)=>Y(o,(o=>Tu(e,t,o,n))))(e,t,o,s);return le(s,(o=>{if(!1===o.used()&&o.required())throw new Error("Placeholder: "+o.name()+" was not found in components list\nNamespace: "+e.getOr("none")+"\nComponents: "+JSON.stringify(t.components,null,2))})),r})(A.some(e),t,t.components,o),am=(e,t,o)=>{const n=t.partUids[o];return e.getSystem().getByUid(n).toOptional()},im=(e,t,o)=>am(e,t,o).getOrDie("Could not find part: "+o),lm=(e,t,o)=>{const n={},s=t.partUids,r=e.getSystem();return H(o,(e=>{n[e]=x(r.getByUid(s[e]))})),n},cm=(e,t)=>{const o=e.getSystem();return ce(t.partUids,((e,t)=>x(o.getByUid(e))))},dm=e=>ae(e.partUids),um=(e,t,o)=>{const n={},s=t.partUids,r=e.getSystem();return H(o,(e=>{n[e]=x(r.getByUid(s[e]).getOrDie())})),n},mm=(e,t)=>{const o=nm(t);return Bs(L(o,(t=>({key:t,value:e+"-"+t}))))},gm=e=>es("partUids","partUids",wn((t=>mm(t.uid,e))),Vn());var pm=Object.freeze({__proto__:null,generate:Qu,generateOne:tm,schemas:om,names:nm,substitutes:sm,components:rm,defaultUids:mm,defaultUidsSchema:gm,getAllParts:cm,getAllPartNames:dm,getPart:am,getPartOrDie:im,getParts:lm,getPartsOrDie:um});const hm=(e,t,o,n,s)=>{const r=((e,t)=>(e.length>0?[cs("parts",e)]:[]).concat([ns("uid"),xs("dom",{}),xs("components",[]),Hi("originalSpec"),xs("debug.sketcher",{})]).concat(t))(n,s);return Kn(e+" [SpecSchema]",Dn(r.concat(t)),o)},fm=(e,t,o,n,s)=>{const r=bm(s),a=om(o),i=gm(o),l=hm(e,t,r,a,[i]),c=sm(0,l,o);return n(l,rm(e,l,c.internals()),r,c.externals())},bm=e=>(e=>ve(e,"uid"))(e)?e:{...e,uid:fa("uid")},vm=Dn([ns("name"),ns("factory"),ns("configFields"),xs("apis",{}),xs("extraApis",{})]),ym=Dn([ns("name"),ns("factory"),ns("configFields"),ns("partFields"),xs("apis",{}),xs("extraApis",{})]),xm=e=>{const t=Kn("Sketcher for "+e.name,vm,e),o=ce(t.apis,Oa),n=ce(t.extraApis,((e,t)=>wa(e,t)));return{name:t.name,configFields:t.configFields,sketch:e=>((e,t,o,n)=>{const s=bm(n);return o(hm(e,t,s,[],[]),s)})(t.name,t.configFields,t.factory,e),...o,...n}},wm=e=>{const t=Kn("Sketcher for "+e.name,ym,e),o=Qu(t.name,t.partFields),n=ce(t.apis,Oa),s=ce(t.extraApis,((e,t)=>wa(e,t)));return{name:t.name,partFields:t.partFields,configFields:t.configFields,sketch:e=>fm(t.name,t.configFields,t.partFields,t.factory,e),parts:o,...n,...s}},Sm=e=>Ke("input")(e)&&"radio"!==_t(e,"type")||Ke("textarea")(e);var km=Object.freeze({__proto__:null,getCurrent:(e,t,o)=>t.find(e)});const Cm=[ns("find")],Om=Al({fields:Cm,name:"composing",apis:km}),_m=["input","button","textarea","select"],Tm=(e,t,o)=>{(t.disabled()?Im:Fm)(e,t)},Em=(e,t)=>!0===t.useNative&&R(_m,We(e.element)),Am=e=>{Ct(e.element,"disabled","disabled")},Mm=e=>{At(e.element,"disabled")},Dm=e=>{Ct(e.element,"aria-disabled","true")},Bm=e=>{Ct(e.element,"aria-disabled","false")},Im=(e,t,o)=>{t.disableClass.each((t=>{Wa(e.element,t)})),(Em(e,t)?Am:Dm)(e),t.onDisabled(e)},Fm=(e,t,o)=>{t.disableClass.each((t=>{Ga(e.element,t)})),(Em(e,t)?Mm:Bm)(e),t.onEnabled(e)},Rm=(e,t)=>Em(e,t)?(e=>Et(e.element,"disabled"))(e):(e=>"true"===_t(e.element,"aria-disabled"))(e);var Nm=Object.freeze({__proto__:null,enable:Fm,disable:Im,isDisabled:Rm,onLoad:Tm,set:(e,t,o,n)=>{(n?Im:Fm)(e,t)}}),Vm=Object.freeze({__proto__:null,exhibit:(e,t)=>Aa({classes:t.disabled()?t.disableClass.toArray():[]}),events:(e,t)=>Hr([Pr(mr(),((t,o)=>Rm(t,e))),Cl(e,t,Tm)])}),zm=[_s("disabled",T),xs("useNative",!0),ms("disableClass"),Ri("onDisabled"),Ri("onEnabled")];const Lm=Al({fields:zm,name:"disabling",active:Vm,apis:Nm}),Hm=(e,t,o,n)=>{const s=Zc(e.element,"."+t.highlightClass);H(s,(o=>{N(n,(e=>Qe(e.element,o)))||(Ga(o,t.highlightClass),e.getSystem().getByDom(o).each((o=>{t.onDehighlight(e,o),Fr(o,Ir())})))}))},Pm=(e,t,o,n)=>{Hm(e,t,0,[n]),Um(e,t,o,n)||(Wa(n.element,t.highlightClass),t.onHighlight(e,n),Fr(n,Br()))},Um=(e,t,o,n)=>$a(n.element,t.highlightClass),Wm=(e,t,o)=>vi(e.element,"."+t.itemClass).bind((t=>e.getSystem().getByDom(t).toOptional())),jm=(e,t,o)=>{const n=Zc(e.element,"."+t.itemClass);return(n.length>0?A.some(n[n.length-1]):A.none()).bind((t=>e.getSystem().getByDom(t).toOptional()))},Gm=(e,t,o,n)=>{const s=Zc(e.element,"."+t.itemClass);return $(s,(e=>$a(e,t.highlightClass))).bind((t=>{const o=Zi(t,n,0,s.length-1);return e.getSystem().getByDom(s[o]).toOptional()}))},$m=(e,t,o)=>{const n=Zc(e.element,"."+t.itemClass);return we(L(n,(t=>e.getSystem().getByDom(t).toOptional())))};var qm=Object.freeze({__proto__:null,dehighlightAll:(e,t,o)=>Hm(e,t,0,[]),dehighlight:(e,t,o,n)=>{Um(e,t,o,n)&&(Ga(n.element,t.highlightClass),t.onDehighlight(e,n),Fr(n,Ir()))},highlight:Pm,highlightFirst:(e,t,o)=>{Wm(e,t).each((n=>{Pm(e,t,o,n)}))},highlightLast:(e,t,o)=>{jm(e,t).each((n=>{Pm(e,t,o,n)}))},highlightAt:(e,t,o,n)=>{((e,t,o,n)=>{const s=Zc(e.element,"."+t.itemClass);return A.from(s[n]).fold((()=>rn.error(new Error("No element found with index "+n))),e.getSystem().getByDom)})(e,t,0,n).fold((e=>{throw e}),(n=>{Pm(e,t,o,n)}))},highlightBy:(e,t,o,n)=>{const s=$m(e,t);G(s,n).each((n=>{Pm(e,t,o,n)}))},isHighlighted:Um,getHighlighted:(e,t,o)=>vi(e.element,"."+t.highlightClass).bind((t=>e.getSystem().getByDom(t).toOptional())),getFirst:Wm,getLast:jm,getPrevious:(e,t,o)=>Gm(e,t,0,-1),getNext:(e,t,o)=>Gm(e,t,0,1),getCandidates:$m}),Ym=[ns("highlightClass"),ns("itemClass"),Ri("onHighlight"),Ri("onDehighlight")];const Xm=Al({fields:Ym,name:"highlighting",apis:qm}),Km=[8],Jm=[9],Zm=[13],Qm=[27],eg=[32],tg=[37],og=[38],ng=[39],sg=[40],rg=(e,t,o)=>{const n=K(e.slice(0,t)),s=K(e.slice(t+1));return G(n.concat(s),o)},ag=(e,t,o)=>{const n=K(e.slice(0,t));return G(n,o)},ig=(e,t,o)=>{const n=e.slice(0,t),s=e.slice(t+1);return G(s.concat(n),o)},lg=(e,t,o)=>{const n=e.slice(t+1);return G(n,o)},cg=e=>t=>{const o=t.raw;return R(e,o.which)},dg=e=>t=>X(e,(e=>e(t))),ug=e=>!0===e.raw.shiftKey,mg=e=>!0===e.raw.ctrlKey,gg=C(ug),pg=(e,t)=>({matches:e,classification:t}),hg=(e,t,o)=>{t.exists((e=>o.exists((t=>Qe(t,e)))))||Rr(e,Tr(),{prevFocus:t,newFocus:o})},fg=()=>{const e=e=>Ll(e.element);return{get:e,set:(t,o)=>{const n=e(t);t.getSystem().triggerFocus(o,t.element);const s=e(t);hg(t,n,s)}}},bg=()=>{const e=e=>Xm.getHighlighted(e).map((e=>e.element));return{get:e,set:(t,o)=>{const n=e(t);t.getSystem().getByDom(o).fold(b,(e=>{Xm.highlight(t,e)}));const s=e(t);hg(t,n,s)}}};var vg;!function(e){e.OnFocusMode="onFocus",e.OnEnterOrSpaceMode="onEnterOrSpace",e.OnApiMode="onApi"}(vg||(vg={}));const yg=(e,t,o,n,s)=>{const r=(e,t,o,n,s)=>{return(r=o(e,t,n,s),a=t.event,G(r,(e=>e.matches(a))).map((e=>e.classification))).bind((o=>o(e,t,n,s)));var r,a},a={schema:()=>e.concat([xs("focusManager",fg()),ws("focusInside","onFocus",$n((e=>R(["onFocus","onEnterOrSpace","onApi"],e)?rn.value(e):rn.error("Invalid value for focusInside")))),Li("handler",a),Li("state",t),Li("sendFocusIn",s)]),processKey:r,toEvents:(e,t)=>{const a=e.focusInside!==vg.OnFocusMode?A.none():s(e).map((o=>Wr(lr(),((n,s)=>{o(n,e,t),s.stop()})))),i=[Wr(Js(),((n,a)=>{r(n,a,o,e,t).fold((()=>{((o,n)=>{const r=cg(eg.concat(Zm))(n.event);e.focusInside===vg.OnEnterOrSpaceMode&&r&&Ns(o,n)&&s(e).each((s=>{s(o,e,t),n.stop()}))})(n,a)}),(e=>{a.stop()}))})),Wr(Zs(),((o,s)=>{r(o,s,n,e,t).each((e=>{s.stop()}))}))];return Hr(a.toArray().concat(i))}};return a},xg=e=>{const t=[ms("onEscape"),ms("onEnter"),xs("selector",'[data-alloy-tabstop="true"]:not(:disabled)'),xs("firstTabstop",0),xs("useTabstopAt",E),ms("visibilitySelector")].concat([e]),o=(e,t)=>{const o=e.visibilitySelector.bind((e=>yi(t,e))).getOr(t);return jt(o)>0},n=(e,t)=>t.focusManager.get(e).bind((e=>yi(e,t.selector))),s=(e,t,n)=>{((e,t)=>{const n=Zc(e.element,t.selector),s=U(n,(e=>o(t,e)));return A.from(s[t.firstTabstop])})(e,t).each((o=>{t.focusManager.set(e,o)}))},r=(e,t,s,r)=>{const a=Zc(e.element,s.selector);return n(e,s).bind((t=>$(a,k(Qe,t)).bind((t=>((e,t,n,s,r)=>r(t,n,(e=>((e,t)=>o(e,t)&&e.useTabstopAt(t))(s,e))).fold((()=>s.cyclic?A.some(!0):A.none()),(t=>(s.focusManager.set(e,t),A.some(!0)))))(e,a,t,s,r)))))},a=(e,t,o)=>{const n=o.cyclic?rg:ag;return r(e,0,o,n)},i=(e,t,o)=>{const n=o.cyclic?ig:lg;return r(e,0,o,n)},l=x([pg(dg([ug,cg(Jm)]),a),pg(cg(Jm),i),pg(dg([gg,cg(Zm)]),((e,t,o)=>o.onEnter.bind((o=>o(e,t)))))]),c=x([pg(cg(Qm),((e,t,o)=>o.onEscape.bind((o=>o(e,t))))),pg(cg(Jm),((e,t,o)=>n(e,o).filter((e=>!o.useTabstopAt(e))).bind((n=>((e=>(e=>rt(e))(e).bind(dt).exists((t=>Qe(t,e))))(n)?a:i)(e,t,o)))))]);return yg(t,_a.init,l,c,(()=>A.some(s)))};var wg=xg(ts("cyclic",T)),Sg=xg(ts("cyclic",E));const kg=(e,t,o)=>Sm(o)&&cg(eg)(t.event)?A.none():((e,t,o)=>(Vr(e,o,mr()),A.some(!0)))(e,0,o),Cg=(e,t)=>A.some(!0),Og=[xs("execute",kg),xs("useSpace",!1),xs("useEnter",!0),xs("useControlEnter",!1),xs("useDown",!1)],_g=(e,t,o)=>o.execute(e,t,e.element);var Tg=yg(Og,_a.init,((e,t,o,n)=>{const s=o.useSpace&&!Sm(e.element)?eg:[],r=o.useEnter?Zm:[],a=o.useDown?sg:[],i=s.concat(r).concat(a);return[pg(cg(i),_g)].concat(o.useControlEnter?[pg(dg([mg,cg(Zm)]),_g)]:[])}),((e,t,o,n)=>o.useSpace&&!Sm(e.element)?[pg(cg(eg),Cg)]:[]),(()=>A.none()));const Eg=()=>{const e=nc();return Ta({readState:()=>e.get().map((e=>({numRows:String(e.numRows),numColumns:String(e.numColumns)}))).getOr({numRows:"?",numColumns:"?"}),setGridSize:(t,o)=>{e.set({numRows:t,numColumns:o})},getNumRows:()=>e.get().map((e=>e.numRows)),getNumColumns:()=>e.get().map((e=>e.numColumns))})};var Ag=Object.freeze({__proto__:null,flatgrid:Eg,init:e=>e.state(e)});const Mg=e=>(t,o,n,s)=>{const r=e(t.element);return Fg(r,t,o,n,s)},Dg=(e,t)=>{const o=xc(e,t);return Mg(o)},Bg=(e,t)=>{const o=xc(t,e);return Mg(o)},Ig=e=>(t,o,n,s)=>Fg(e,t,o,n,s),Fg=(e,t,o,n,s)=>n.focusManager.get(t).bind((o=>e(t.element,o,n,s))).map((e=>(n.focusManager.set(t,e),!0))),Rg=Ig,Ng=Ig,Vg=Ig,zg=e=>!(e=>e.offsetWidth<=0&&e.offsetHeight<=0)(e.dom),Lg=(e,t,o)=>{const n=Zc(e,o);return((e,o)=>$(e,(e=>Qe(e,t))).map((t=>({index:t,candidates:e}))))(U(n,zg))},Hg=(e,t)=>$(e,(e=>Qe(t,e))),Pg=(e,t,o,n)=>n(Math.floor(t/o),t%o).bind((t=>{const n=t.row*o+t.column;return n>=0&&nPg(e,t,n,((t,r)=>{const a=t===o-1?e.length-t*n:n,i=Zi(r,s,0,a-1);return A.some({row:t,column:i})})),Wg=(e,t,o,n,s)=>Pg(e,t,n,((t,r)=>{const a=Zi(t,s,0,o-1),i=a===o-1?e.length-a*n:n,l=Qi(r,0,i-1);return A.some({row:a,column:l})})),jg=[ns("selector"),xs("execute",kg),Ni("onEscape"),xs("captureTab",!1),Pi()],Gg=(e,t,o)=>{vi(e.element,t.selector).each((o=>{t.focusManager.set(e,o)}))},$g=e=>(t,o,n,s)=>Lg(t,o,n.selector).bind((t=>e(t.candidates,t.index,s.getNumRows().getOr(n.initSize.numRows),s.getNumColumns().getOr(n.initSize.numColumns)))),qg=(e,t,o)=>o.captureTab?A.some(!0):A.none(),Yg=$g(((e,t,o,n)=>Ug(e,t,o,n,-1))),Xg=$g(((e,t,o,n)=>Ug(e,t,o,n,1))),Kg=$g(((e,t,o,n)=>Wg(e,t,o,n,-1))),Jg=$g(((e,t,o,n)=>Wg(e,t,o,n,1))),Zg=x([pg(cg(tg),Dg(Yg,Xg)),pg(cg(ng),Bg(Yg,Xg)),pg(cg(og),Rg(Kg)),pg(cg(sg),Ng(Jg)),pg(dg([ug,cg(Jm)]),qg),pg(dg([gg,cg(Jm)]),qg),pg(cg(eg.concat(Zm)),((e,t,o,n)=>((e,t)=>t.focusManager.get(e).bind((e=>yi(e,t.selector))))(e,o).bind((n=>o.execute(e,t,n)))))]),Qg=x([pg(cg(Qm),((e,t,o)=>o.onEscape(e,t))),pg(cg(eg),Cg)]);var ep=yg(jg,Eg,Zg,Qg,(()=>A.some(Gg)));const tp=(e,t,o,n,s)=>{const r=(e,t,o)=>s(e,t,n,0,o.length-1,o[t],(t=>{return n=o[t],"button"===We(n)&&"disabled"===_t(n,"disabled")?r(e,t,o):A.from(o[t]);var n}));return Lg(e,o,t).bind((e=>{const t=e.index,o=e.candidates;return r(t,t,o)}))},op=(e,t,o,n)=>tp(e,t,o,n,((e,t,o,n,s,r,a)=>{const i=Qi(t+o,n,s);return i===e?A.from(r):a(i)})),np=(e,t,o,n)=>tp(e,t,o,n,((e,t,o,n,s,r,a)=>{const i=Zi(t,o,n,s);return i===e?A.none():a(i)})),sp=[ns("selector"),xs("getInitial",A.none),xs("execute",kg),Ni("onEscape"),xs("executeOnMove",!1),xs("allowVertical",!0),xs("allowHorizontal",!0),xs("cycles",!0)],rp=(e,t,o)=>((e,t)=>t.focusManager.get(e).bind((e=>yi(e,t.selector))))(e,o).bind((n=>o.execute(e,t,n))),ap=(e,t,o)=>{t.getInitial(e).orThunk((()=>vi(e.element,t.selector))).each((o=>{t.focusManager.set(e,o)}))},ip=(e,t,o)=>(o.cycles?np:op)(e,o.selector,t,-1),lp=(e,t,o)=>(o.cycles?np:op)(e,o.selector,t,1),cp=e=>(t,o,n,s)=>e(t,o,n,s).bind((()=>n.executeOnMove?rp(t,o,n):A.some(!0))),dp=x([pg(cg(eg),Cg),pg(cg(Qm),((e,t,o)=>o.onEscape(e,t)))]);var up=yg(sp,_a.init,((e,t,o,n)=>{const s=[...o.allowHorizontal?tg:[]].concat(o.allowVertical?og:[]),r=[...o.allowHorizontal?ng:[]].concat(o.allowVertical?sg:[]);return[pg(cg(s),cp(Dg(ip,lp))),pg(cg(r),cp(Bg(ip,lp))),pg(cg(Zm),rp),pg(cg(eg),rp)]}),dp,(()=>A.some(ap)));const mp=(e,t,o)=>A.from(e[t]).bind((e=>A.from(e[o]).map((e=>({rowIndex:t,columnIndex:o,cell:e}))))),gp=(e,t,o,n)=>{const s=e[t].length,r=Zi(o,n,0,s-1);return mp(e,t,r)},pp=(e,t,o,n)=>{const s=Zi(o,n,0,e.length-1),r=e[s].length,a=Qi(t,0,r-1);return mp(e,s,a)},hp=(e,t,o,n)=>{const s=e[t].length,r=Qi(o+n,0,s-1);return mp(e,t,r)},fp=(e,t,o,n)=>{const s=Qi(o+n,0,e.length-1),r=e[s].length,a=Qi(t,0,r-1);return mp(e,s,a)},bp=[cs("selectors",[ns("row"),ns("cell")]),xs("cycles",!0),xs("previousSelector",A.none),xs("execute",kg)],vp=(e,t,o)=>{t.previousSelector(e).orThunk((()=>{const o=t.selectors;return vi(e.element,o.cell)})).each((o=>{t.focusManager.set(e,o)}))},yp=(e,t)=>(o,n,s)=>{const r=s.cycles?e:t;return yi(n,s.selectors.row).bind((e=>{const t=Zc(e,s.selectors.cell);return Hg(t,n).bind((t=>{const n=Zc(o,s.selectors.row);return Hg(n,e).bind((e=>{const o=((e,t)=>L(e,(e=>Zc(e,t.selectors.cell))))(n,s);return r(o,e,t).map((e=>e.cell))}))}))}))},xp=yp(((e,t,o)=>gp(e,t,o,-1)),((e,t,o)=>hp(e,t,o,-1))),wp=yp(((e,t,o)=>gp(e,t,o,1)),((e,t,o)=>hp(e,t,o,1))),Sp=yp(((e,t,o)=>pp(e,o,t,-1)),((e,t,o)=>fp(e,o,t,-1))),kp=yp(((e,t,o)=>pp(e,o,t,1)),((e,t,o)=>fp(e,o,t,1))),Cp=x([pg(cg(tg),Dg(xp,wp)),pg(cg(ng),Bg(xp,wp)),pg(cg(og),Rg(Sp)),pg(cg(sg),Ng(kp)),pg(cg(eg.concat(Zm)),((e,t,o)=>Ll(e.element).bind((n=>o.execute(e,t,n)))))]),Op=x([pg(cg(eg),Cg)]);var _p=yg(bp,_a.init,Cp,Op,(()=>A.some(vp)));const Tp=[ns("selector"),xs("execute",kg),xs("moveOnTab",!1)],Ep=(e,t,o)=>o.focusManager.get(e).bind((n=>o.execute(e,t,n))),Ap=(e,t,o)=>{vi(e.element,t.selector).each((o=>{t.focusManager.set(e,o)}))},Mp=(e,t,o)=>np(e,o.selector,t,-1),Dp=(e,t,o)=>np(e,o.selector,t,1),Bp=x([pg(cg(og),Vg(Mp)),pg(cg(sg),Vg(Dp)),pg(dg([ug,cg(Jm)]),((e,t,o,n)=>o.moveOnTab?Vg(Mp)(e,t,o,n):A.none())),pg(dg([gg,cg(Jm)]),((e,t,o,n)=>o.moveOnTab?Vg(Dp)(e,t,o,n):A.none())),pg(cg(Zm),Ep),pg(cg(eg),Ep)]),Ip=x([pg(cg(eg),Cg)]);var Fp=yg(Tp,_a.init,Bp,Ip,(()=>A.some(Ap)));const Rp=[Ni("onSpace"),Ni("onEnter"),Ni("onShiftEnter"),Ni("onLeft"),Ni("onRight"),Ni("onTab"),Ni("onShiftTab"),Ni("onUp"),Ni("onDown"),Ni("onEscape"),xs("stopSpaceKeyup",!1),ms("focusIn")];var Np=yg(Rp,_a.init,((e,t,o)=>[pg(cg(eg),o.onSpace),pg(dg([gg,cg(Zm)]),o.onEnter),pg(dg([ug,cg(Zm)]),o.onShiftEnter),pg(dg([ug,cg(Jm)]),o.onShiftTab),pg(dg([gg,cg(Jm)]),o.onTab),pg(cg(og),o.onUp),pg(cg(sg),o.onDown),pg(cg(tg),o.onLeft),pg(cg(ng),o.onRight),pg(cg(eg),o.onSpace)]),((e,t,o)=>[...o.stopSpaceKeyup?[pg(cg(eg),Cg)]:[],pg(cg(Qm),o.onEscape)]),(e=>e.focusIn));const Vp=wg.schema(),zp=Sg.schema(),Lp=up.schema(),Hp=ep.schema(),Pp=_p.schema(),Up=Tg.schema(),Wp=Fp.schema(),jp=Np.schema(),Gp=Dl({branchKey:"mode",branches:Object.freeze({__proto__:null,acyclic:Vp,cyclic:zp,flow:Lp,flatgrid:Hp,matrix:Pp,execution:Up,menu:Wp,special:jp}),name:"keying",active:{events:(e,t)=>e.handler.toEvents(e,t)},apis:{focusIn:(e,t,o)=>{t.sendFocusIn(t).fold((()=>{e.getSystem().triggerFocus(e.element,e.element)}),(n=>{n(e,t,o)}))},setGridSize:(e,t,o,n,s)=>{(e=>ye(e,"setGridSize"))(o)?o.setGridSize(n,s):console.error("Layout does not support setGridSize")}},state:Ag}),$p=(e,t)=>{Hl((()=>{((e,t,o)=>{const n=e.components();(e=>{H(e.components(),(e=>Uo(e.element))),Po(e.element),e.syncComponents()})(e);const s=o(t),r=J(n,s);H(r,(t=>{Ed(t),e.getSystem().removeFromWorld(t)})),H(s,(t=>{Td(t)?Bd(e,t):(e.getSystem().addToWorld(t),Bd(e,t),xt(e.element)&&Ad(t))})),e.syncComponents()})(e,t,(()=>L(t,e.getSystem().build)))}),e.element)},qp=(e,t)=>{Hl((()=>{((o,n,s)=>{const r=o.components(),a=Y(n,(e=>Ca(e).toArray()));H(r,(e=>{R(a,e)||Dd(e)}));const i=((e,t,o)=>Qa(e,t,((t,n)=>ei(e,n,t,o))))(e.element,t,e.getSystem().buildOrPatch),l=J(r,i);H(l,(e=>{Td(e)&&Dd(e)})),H(i,(e=>{Td(e)||Md(o,e)})),o.syncComponents()})(e,t)}),e.element)},Yp=(e,t,o,n)=>{Dd(t);const s=ei(e.element,o,n,e.getSystem().buildOrPatch);Md(e,s),e.syncComponents()},Xp=(e,t,o)=>{const n=e.getSystem().build(o);Fd(e,n,t)},Kp=(e,t,o,n)=>{Nd(t),Xp(e,((e,t)=>((e,t,o)=>{ct(e,o).fold((()=>{Lo(e,t)}),(e=>{No(e,t)}))})(e,t,o)),n)},Jp=(e,t)=>e.components(),Zp=(e,t,o,n,s)=>{const r=Jp(e);return A.from(r[n]).map((o=>(s.fold((()=>Nd(o)),(s=>{(t.reuseDom?Yp:Kp)(e,o,n,s)})),o)))};var Qp=Object.freeze({__proto__:null,append:(e,t,o,n)=>{Xp(e,Lo,n)},prepend:(e,t,o,n)=>{Xp(e,zo,n)},remove:(e,t,o,n)=>{const s=Jp(e),r=G(s,(e=>Qe(n.element,e.element)));r.each(Nd)},replaceAt:Zp,replaceBy:(e,t,o,n,s)=>{const r=Jp(e);return $(r,n).bind((o=>Zp(e,t,0,o,s)))},set:(e,t,o,n)=>(t.reuseDom?qp:$p)(e,n),contents:Jp});const eh=Al({fields:[Os("reuseDom",!0)],name:"replacing",apis:Qp}),th=(e,t)=>{const o=((e,t)=>{const o=Hr(t);return Al({fields:[ns("enabled")],name:e,active:{events:x(o)}})})(e,t);return{key:e,value:{config:{},me:o,configAsRaw:x({}),initialConfig:{},state:_a}}},oh=(e,t)=>{t.ignore||(Rl(e.element),t.onFocus(e))};var nh=Object.freeze({__proto__:null,focus:oh,blur:(e,t)=>{t.ignore||Nl(e.element)},isFocused:e=>Vl(e.element)}),sh=Object.freeze({__proto__:null,exhibit:(e,t)=>{const o=t.ignore?{}:{attributes:{tabindex:"-1"}};return Aa(o)},events:e=>Hr([Wr(lr(),((t,o)=>{oh(t,e),o.stop()}))].concat(e.stopMousedown?[Wr(js(),((e,t)=>{t.event.prevent()}))]:[]))}),rh=[Ri("onFocus"),xs("stopMousedown",!1),xs("ignore",!1)];const ah=Al({fields:rh,name:"focusing",active:sh,apis:nh}),ih=(e,t,o,n)=>{const s=o.get();o.set(n),((e,t,o)=>{t.toggleClass.each((t=>{o.get()?Wa(e.element,t):Ga(e.element,t)}))})(e,t,o),((e,t,o)=>{const n=t.aria;n.update(e,n,o.get())})(e,t,o),s!==n&&t.onToggled(e,n)},lh=(e,t,o)=>{ih(e,t,o,!o.get())},ch=(e,t,o)=>{ih(e,t,o,t.selected)};var dh=Object.freeze({__proto__:null,onLoad:ch,toggle:lh,isOn:(e,t,o)=>o.get(),on:(e,t,o)=>{ih(e,t,o,!0)},off:(e,t,o)=>{ih(e,t,o,!1)},set:ih}),uh=Object.freeze({__proto__:null,exhibit:()=>Aa({}),events:(e,t)=>{const o=(n=e,s=t,r=lh,ea((e=>{r(e,n,s)})));var n,s,r;const a=Cl(e,t,ch);return Hr(q([e.toggleOnExecute?[o]:[],[a]]))}});const mh=(e,t,o)=>{Ct(e.element,"aria-expanded",o)};var gh=[xs("selected",!1),ms("toggleClass"),xs("toggleOnExecute",!0),Ri("onToggled"),ws("aria",{mode:"none"},Zn("mode",{pressed:[xs("syncWithExpanded",!1),Li("update",((e,t,o)=>{Ct(e.element,"aria-pressed",o),t.syncWithExpanded&&mh(e,0,o)}))],checked:[Li("update",((e,t,o)=>{Ct(e.element,"aria-checked",o)}))],expanded:[Li("update",mh)],selected:[Li("update",((e,t,o)=>{Ct(e.element,"aria-selected",o)}))],none:[Li("update",b)]}))];const ph=Al({fields:gh,name:"toggling",active:uh,apis:dh,state:(!1,{init:()=>{const e=As(false);return{get:()=>e.get(),set:t=>e.set(t),clear:()=>e.set(false),readState:()=>e.get()}}})});const hh=()=>{const e=(e,t)=>{t.stop(),Nr(e)};return[Wr(tr(),e),Wr(pr(),e),Yr(Hs()),Yr(js())]},fh=e=>Hr(q([e.map((e=>ea(((t,o)=>{e(t),o.stop()})))).toArray(),hh()])),bh="alloy.item-hover",vh="alloy.item-focus",yh="alloy.item-toggled",xh=e=>{(Ll(e.element).isNone()||ah.isFocused(e))&&(ah.isFocused(e)||ah.focus(e),Rr(e,bh,{item:e}))},wh=e=>{Rr(e,vh,{item:e})},Sh=x(bh),kh=x(vh),Ch=x(yh),Oh=e=>e.toggling.map((e=>e.exclusive?"menuitemradio":"menuitemcheckbox")).getOr("menuitem"),_h=[ns("data"),ns("components"),ns("dom"),xs("hasSubmenu",!1),ms("toggling"),Su("itemBehaviours",[ph,ah,Gp,vu]),xs("ignoreFocus",!1),xs("domModification",{}),Li("builder",(e=>({dom:e.dom,domModification:{...e.domModification,attributes:{role:Oh(e),...e.domModification.attributes,"aria-haspopup":e.hasSubmenu,...e.hasSubmenu?{"aria-expanded":!1}:{}}},behaviours:ku(e.itemBehaviours,[e.toggling.fold(ph.revoke,(e=>ph.config((e=>({aria:{mode:"checked"},...ge(e,((e,t)=>"exclusive"!==t)),onToggled:(t,o)=>{p(e.onToggled)&&e.onToggled(t,o),((e,t)=>{Rr(e,yh,{item:e,state:t})})(t,o)}}))(e)))),ah.config({ignore:e.ignoreFocus,stopMousedown:e.ignoreFocus,onFocus:e=>{wh(e)}}),Gp.config({mode:"execution"}),vu.config({store:{mode:"memory",initialValue:e.data}}),th("item-type-events",[...hh(),Wr(Ys(),xh),Wr(gr(),ah.focus)])]),components:e.components,eventOrder:e.eventOrder}))),xs("eventOrder",{})],Th=[ns("dom"),ns("components"),Li("builder",(e=>({dom:e.dom,components:e.components,events:Hr([Xr(gr())])})))],Eh=x("item-widget"),Ah=x([$u({name:"widget",overrides:e=>({behaviours:Tl([vu.config({store:{mode:"manual",getValue:t=>e.data,setValue:b}})])})})]),Mh=[ns("uid"),ns("data"),ns("components"),ns("dom"),xs("autofocus",!1),xs("ignoreFocus",!1),Su("widgetBehaviours",[vu,ah,Gp]),xs("domModification",{}),gm(Ah()),Li("builder",(e=>{const t=sm(Eh(),e,Ah()),o=rm(Eh(),e,t.internals()),n=t=>am(t,e,"widget").map((e=>(Gp.focusIn(e),e))),s=(t,o)=>Sm(o.event.target)?A.none():e.autofocus?(o.setSource(t.element),A.none()):A.none();return{dom:e.dom,components:o,domModification:e.domModification,events:Hr([ea(((e,t)=>{n(e).each((e=>{t.stop()}))})),Wr(Ys(),xh),Wr(gr(),((t,o)=>{e.autofocus?n(t):ah.focus(t)}))]),behaviours:ku(e.widgetBehaviours,[vu.config({store:{mode:"memory",initialValue:e.data}}),ah.config({ignore:e.ignoreFocus,onFocus:e=>{wh(e)}}),Gp.config({mode:"special",focusIn:e.autofocus?e=>{n(e)}:Bl(),onLeft:s,onRight:s,onEscape:(t,o)=>ah.isFocused(t)||e.autofocus?e.autofocus?(o.setSource(t.element),A.none()):A.none():(ah.focus(t),A.some(!0))})])}}))],Dh=Zn("type",{widget:Mh,item:_h,separator:Th}),Bh=x([Xu({factory:{sketch:e=>{const t=Kn("menu.spec item",Dh,e);return t.builder(t)}},name:"items",unit:"item",defaults:(e,t)=>ve(t,"uid")?t:{...t,uid:fa("item")},overrides:(e,t)=>({type:t.type,ignoreFocus:e.fakeFocus,domModification:{classes:[e.markers.item]}})})]),Ih=x([ns("value"),ns("items"),ns("dom"),ns("components"),xs("eventOrder",{}),yu("menuBehaviours",[Xm,vu,Om,Gp]),ws("movement",{mode:"menu",moveOnTab:!0},Zn("mode",{grid:[Pi(),Li("config",((e,t)=>({mode:"flatgrid",selector:"."+e.markers.item,initSize:{numColumns:t.initSize.numColumns,numRows:t.initSize.numRows},focusManager:e.focusManager})))],matrix:[Li("config",((e,t)=>({mode:"matrix",selectors:{row:t.rowSelector,cell:"."+e.markers.item},previousSelector:t.previousSelector,focusManager:e.focusManager}))),ns("rowSelector"),xs("previousSelector",A.none)],menu:[xs("moveOnTab",!0),Li("config",((e,t)=>({mode:"menu",selector:"."+e.markers.item,moveOnTab:t.moveOnTab,focusManager:e.focusManager})))]})),ss("markers",Mi()),xs("fakeFocus",!1),xs("focusManager",fg()),Ri("onHighlight"),Ri("onDehighlight")]),Fh=x("alloy.menu-focus"),Rh=wm({name:"Menu",configFields:Ih(),partFields:Bh(),factory:(e,t,o,n)=>({uid:e.uid,dom:e.dom,markers:e.markers,behaviours:wu(e.menuBehaviours,[Xm.config({highlightClass:e.markers.selectedItem,itemClass:e.markers.item,onHighlight:e.onHighlight,onDehighlight:e.onDehighlight}),vu.config({store:{mode:"memory",initialValue:e.value}}),Om.config({find:A.some}),Gp.config(e.movement.config(e,e.movement))]),events:Hr([Wr(kh(),((e,t)=>{const o=t.event;e.getSystem().getByDom(o.target).each((o=>{Xm.highlight(e,o),t.stop(),Rr(e,Fh(),{menu:e,item:o})}))})),Wr(Sh(),((e,t)=>{const o=t.event.item;Xm.highlight(e,o)})),Wr(Ch(),((e,t)=>{const{item:o,state:n}=t.event;n&&"menuitemradio"===_t(o.element,"role")&&((e,t)=>{const o=Zc(e.element,'[role="menuitemradio"][aria-checked="true"]');H(o,(o=>{Qe(o,t.element)||e.getSystem().getByDom(o).each((e=>{ph.off(e)}))}))})(e,o)}))]),components:t,eventOrder:e.eventOrder,domModification:{attributes:{role:"menu"}}})}),Nh=(e,t,o,n)=>be(o,n).bind((n=>be(e,n).bind((n=>{const s=Nh(e,t,o,n);return A.some([n].concat(s))})))).getOr([]),Vh=e=>"prepared"===e.type?A.some(e.menu):A.none(),zh=()=>{const e=As({}),t=As({}),o=As({}),n=nc(),s=As({}),r=e=>a(e).bind(Vh),a=e=>be(t.get(),e),i=t=>be(e.get(),t);return{setMenuBuilt:(e,o)=>{t.set({...t.get(),[e]:{type:"prepared",menu:o}})},setContents:(r,a,i,l)=>{n.set(r),e.set(i),t.set(a),s.set(l);const c=((e,t)=>{const o={};le(e,((e,t)=>{H(e,(e=>{o[e]=t}))}));const n=t,s=de(t,((e,t)=>({k:e,v:t}))),r=ce(s,((e,t)=>[t].concat(Nh(o,n,s,t))));return ce(o,(e=>be(r,e).getOr([e])))})(l,i);o.set(c)},expand:t=>be(e.get(),t).map((e=>{const n=be(o.get(),t).getOr([]);return[e].concat(n)})),refresh:e=>be(o.get(),e),collapse:e=>be(o.get(),e).bind((e=>e.length>1?A.some(e.slice(1)):A.none())),lookupMenu:a,lookupItem:i,otherMenus:e=>{const t=s.get();return J(ae(t),e)},getPrimary:()=>n.get().bind(r),getMenus:()=>t.get(),clear:()=>{e.set({}),t.set({}),o.set({}),n.clear()},isClear:()=>n.get().isNone(),getTriggeringPath:(t,s)=>{const a=U(i(t).toArray(),(e=>r(e).isSome()));return be(o.get(),t).bind((t=>{const o=K(a.concat(t));return(e=>{const t=[];for(let o=0;o((t,o,n)=>r(t).bind((s=>(t=>he(e.get(),((e,o)=>e===t)))(t).bind((e=>o(e).map((e=>({triggeredMenu:s,triggeringItem:e,triggeringPath:n}))))))))(t,s,o.slice(0,a+1)).fold((()=>xe(n.get(),t)?[]:[A.none()]),(e=>[A.some(e)])))))}))}}},Lh=Vh,Hh=ca("tiered-menu-item-highlight"),Ph=ca("tiered-menu-item-dehighlight");var Uh;!function(e){e[e.HighlightMenuAndItem=0]="HighlightMenuAndItem",e[e.HighlightJustMenu=1]="HighlightJustMenu",e[e.HighlightNone=2]="HighlightNone"}(Uh||(Uh={}));const Wh=x("collapse-item"),jh=xm({name:"TieredMenu",configFields:[zi("onExecute"),zi("onEscape"),Vi("onOpenMenu"),Vi("onOpenSubmenu"),Ri("onRepositionMenu"),Ri("onCollapseMenu"),xs("highlightOnOpen",Uh.HighlightMenuAndItem),cs("data",[ns("primary"),ns("menus"),ns("expansions")]),xs("fakeFocus",!1),Ri("onHighlightItem"),Ri("onDehighlightItem"),Ri("onHover"),Bi(),ns("dom"),xs("navigateOnHover",!0),xs("stayInDom",!1),yu("tmenuBehaviours",[Gp,Xm,Om,eh]),xs("eventOrder",{})],apis:{collapseMenu:(e,t)=>{e.collapseMenu(t)},highlightPrimary:(e,t)=>{e.highlightPrimary(t)},repositionMenus:(e,t)=>{e.repositionMenus(t)}},factory:(e,t)=>{const o=nc(),n=zh(),s=e=>vu.getValue(e).value,r=t=>ce(e.data.menus,((e,t)=>Y(e.items,(e=>"separator"===e.type?[]:[e.data.value])))),a=Xm.highlight,i=(t,o)=>{a(t,o),Xm.getHighlighted(o).orThunk((()=>Xm.getFirst(o))).each((n=>{e.fakeFocus?Xm.highlight(o,n):Vr(t,n.element,gr())}))},l=(e,t)=>we(L(t,(t=>e.lookupMenu(t).bind((e=>"prepared"===e.type?A.some(e.menu):A.none()))))),c=(t,o,n)=>{const s=l(o,o.otherMenus(n));H(s,(o=>{Ya(o.element,[e.markers.backgroundMenu]),e.stayInDom||eh.remove(t,o)}))},d=(t,n)=>{const r=(t=>o.get().getOrThunk((()=>{const n={},r=Zc(t.element,`.${e.markers.item}`),a=U(r,(e=>"true"===_t(e,"aria-haspopup")));return H(a,(e=>{t.getSystem().getByDom(e).each((e=>{const t=s(e);n[t]=e}))})),o.set(n),n})))(t);le(r,((e,t)=>{const o=R(n,t);Ct(e.element,"aria-expanded",o)}))},u=(t,o,n)=>A.from(n[0]).bind((s=>o.lookupMenu(s).bind((s=>{if("notbuilt"===s.type)return A.none();{const r=s.menu,a=l(o,n.slice(1));return H(a,(t=>{Wa(t.element,e.markers.backgroundMenu)})),xt(r.element)||eh.append(t,di(r)),Ya(r.element,[e.markers.backgroundMenu]),i(t,r),c(t,o,n),A.some(r)}}))));let m;!function(e){e[e.HighlightSubmenu=0]="HighlightSubmenu",e[e.HighlightParent=1]="HighlightParent"}(m||(m={}));const g=(t,o,r=m.HighlightSubmenu)=>{if(o.hasConfigured(Lm)&&Lm.isDisabled(o))return A.some(o);{const a=s(o);return n.expand(a).bind((s=>(d(t,s),A.from(s[0]).bind((a=>n.lookupMenu(a).bind((i=>{const l=((e,t,o)=>{if("notbuilt"===o.type){const s=e.getSystem().build(o.nbMenu());return n.setMenuBuilt(t,s),s}return o.menu})(t,a,i);return xt(l.element)||eh.append(t,di(l)),e.onOpenSubmenu(t,o,l,K(s)),r===m.HighlightSubmenu?(Xm.highlightFirst(l),u(t,n,s)):(Xm.dehighlightAll(l),A.some(o))})))))))}},p=(t,o)=>{const r=s(o);return n.collapse(r).bind((s=>(d(t,s),u(t,n,s).map((n=>(e.onCollapseMenu(t,o,n),n))))))},h=t=>(o,n)=>yi(n.getSource(),`.${e.markers.item}`).bind((e=>o.getSystem().getByDom(e).toOptional().bind((e=>t(o,e).map(E))))),f=Hr([Wr(Fh(),((e,t)=>{const o=t.event.item;n.lookupItem(s(o)).each((()=>{const o=t.event.menu;Xm.highlight(e,o);const r=s(t.event.item);n.refresh(r).each((t=>c(e,n,t)))}))})),ea(((t,o)=>{const n=o.event.target;t.getSystem().getByDom(n).each((o=>{0===s(o).indexOf("collapse-item")&&p(t,o),g(t,o,m.HighlightSubmenu).fold((()=>{e.onExecute(t,o)}),b)}))})),Jr(((t,o)=>{(t=>{const o=((t,o,n)=>ce(n,((n,s)=>{const r=()=>Rh.sketch({...n,value:s,markers:e.markers,fakeFocus:e.fakeFocus,onHighlight:(e,t)=>{Rr(e,Hh,{menuComp:e,itemComp:t})},onDehighlight:(e,t)=>{Rr(e,Ph,{menuComp:e,itemComp:t})},focusManager:e.fakeFocus?bg():fg()});return s===o?{type:"prepared",menu:t.getSystem().build(r())}:{type:"notbuilt",nbMenu:r}})))(t,e.data.primary,e.data.menus),s=r();return n.setContents(e.data.primary,o,e.data.expansions,s),n.getPrimary()})(t).each((o=>{eh.append(t,di(o)),e.onOpenMenu(t,o),e.highlightOnOpen===Uh.HighlightMenuAndItem?i(t,o):e.highlightOnOpen===Uh.HighlightJustMenu&&a(t,o)}))})),Wr(Hh,((t,o)=>{e.onHighlightItem(t,o.event.menuComp,o.event.itemComp)})),Wr(Ph,((t,o)=>{e.onDehighlightItem(t,o.event.menuComp,o.event.itemComp)})),...e.navigateOnHover?[Wr(Sh(),((t,o)=>{const r=o.event.item;((e,t)=>{const o=s(t);n.refresh(o).bind((t=>(d(e,t),u(e,n,t))))})(t,r),g(t,r,m.HighlightParent),e.onHover(t,r)}))]:[]]),v=e=>Xm.getHighlighted(e).bind(Xm.getHighlighted),y={collapseMenu:e=>{v(e).each((t=>{p(e,t)}))},highlightPrimary:e=>{n.getPrimary().each((t=>{i(e,t)}))},repositionMenus:t=>{const o=n.getPrimary().bind((e=>v(t).bind((e=>{const t=s(e),o=fe(n.getMenus()),r=we(L(o,Lh));return n.getTriggeringPath(t,(e=>((e,t,o)=>re(t,(e=>{if(!e.getSystem().isConnected())return A.none();const t=Xm.getCandidates(e);return G(t,(e=>s(e)===o))})))(0,r,e)))})).map((t=>({primary:e,triggeringPath:t})))));o.fold((()=>{(e=>A.from(e.components()[0]).filter((e=>"menu"===_t(e.element,"role"))))(t).each((o=>{e.onRepositionMenu(t,o,[])}))}),(({primary:o,triggeringPath:n})=>{e.onRepositionMenu(t,o,n)}))}};return{uid:e.uid,dom:e.dom,markers:e.markers,behaviours:wu(e.tmenuBehaviours,[Gp.config({mode:"special",onRight:h(((e,t)=>Sm(t.element)?A.none():g(e,t,m.HighlightSubmenu))),onLeft:h(((e,t)=>Sm(t.element)?A.none():p(e,t))),onEscape:h(((t,o)=>p(t,o).orThunk((()=>e.onEscape(t,o).map((()=>t)))))),focusIn:(e,t)=>{n.getPrimary().each((t=>{Vr(e,t.element,gr())}))}}),Xm.config({highlightClass:e.markers.selectedMenu,itemClass:e.markers.menu}),Om.config({find:e=>Xm.getHighlighted(e)}),eh.config({})]),eventOrder:e.eventOrder,apis:y,events:f}},extraApis:{tieredData:(e,t,o)=>({primary:e,menus:t,expansions:o}),singleData:(e,t)=>({primary:e,menus:Ds(e,t),expansions:{}}),collapseItem:e=>({value:ca(Wh()),meta:{text:e}})}}),Gh=xm({name:"InlineView",configFields:[ns("lazySink"),Ri("onShow"),Ri("onHide"),bs("onEscape"),yu("inlineBehaviours",[Zd,vu,Il]),ys("fireDismissalEventInstead",[xs("event",Or())]),ys("fireRepositionEventInstead",[xs("event",_r())]),xs("getRelated",A.none),xs("isExtraPart",T),xs("eventOrder",A.none)],factory:(e,t)=>{const o=(t,o,n,s)=>{const r=e.lazySink(t).getOrDie();Zd.openWhileCloaked(t,o,(()=>_d.positionWithinBounds(r,t,n,s()))),vu.setValue(t,A.some({mode:"position",config:n,getBounds:s}))},n=(t,o,n,s)=>{const r=((e,t,o,n,s)=>{const r=()=>e.lazySink(t),a="horizontal"===n.type?{layouts:{onLtr:()=>xl(),onRtl:()=>wl()}}:{},i=e=>(e=>2===e.length)(e)?a:{};return jh.sketch({dom:{tag:"div"},data:n.data,markers:n.menu.markers,highlightOnOpen:n.menu.highlightOnOpen,fakeFocus:n.menu.fakeFocus,onEscape:()=>(Zd.close(t),e.onEscape.map((e=>e(t))),A.some(!0)),onExecute:()=>A.some(!0),onOpenMenu:(e,t)=>{_d.positionWithinBounds(r().getOrDie(),t,o,s())},onOpenSubmenu:(e,t,o,n)=>{const s=r().getOrDie();_d.position(s,o,{anchor:{type:"submenu",item:t,...i(n)}})},onRepositionMenu:(e,t,n)=>{const a=r().getOrDie();_d.positionWithinBounds(a,t,o,s()),H(n,(e=>{const t=i(e.triggeringPath);_d.position(a,e.triggeredMenu,{anchor:{type:"submenu",item:e.triggeringItem,...t}})}))}})})(e,t,o,n,s);Zd.open(t,r),vu.setValue(t,A.some({mode:"menu",menu:r}))},s=t=>{Zd.isOpen(t)&&vu.getValue(t).each((o=>{switch(o.mode){case"menu":Zd.getState(t).each(jh.repositionMenus);break;case"position":const n=e.lazySink(t).getOrDie();_d.positionWithinBounds(n,t,o.config,o.getBounds())}}))},r={setContent:(e,t)=>{Zd.setContent(e,t)},showAt:(e,t,n)=>{const s=A.none;o(e,t,n,s)},showWithinBounds:o,showMenuAt:(e,t,o)=>{n(e,t,o,A.none)},showMenuWithinBounds:n,hide:e=>{Zd.isOpen(e)&&(vu.setValue(e,A.none()),Zd.close(e))},getContent:e=>Zd.getState(e),reposition:s,isOpen:Zd.isOpen};return{uid:e.uid,dom:e.dom,behaviours:wu(e.inlineBehaviours,[Zd.config({isPartOf:(t,o,n)=>Si(o,n)||((t,o)=>e.getRelated(t).exists((e=>Si(e,o))))(t,n),getAttachPoint:t=>e.lazySink(t).getOrDie(),onOpen:t=>{e.onShow(t)},onClose:t=>{e.onHide(t)}}),vu.config({store:{mode:"memory",initialValue:A.none()}}),Il.config({channels:{...nu({isExtraPart:t.isExtraPart,...e.fireDismissalEventInstead.map((e=>({fireEventInstead:{event:e.event}}))).getOr({})}),...ru({...e.fireRepositionEventInstead.map((e=>({fireEventInstead:{event:e.event}}))).getOr({}),doReposition:s})}})]),eventOrder:e.eventOrder,apis:r}},apis:{showAt:(e,t,o,n)=>{e.showAt(t,o,n)},showWithinBounds:(e,t,o,n,s)=>{e.showWithinBounds(t,o,n,s)},showMenuAt:(e,t,o,n)=>{e.showMenuAt(t,o,n)},showMenuWithinBounds:(e,t,o,n,s)=>{e.showMenuWithinBounds(t,o,n,s)},hide:(e,t)=>{e.hide(t)},isOpen:(e,t)=>e.isOpen(t),getContent:(e,t)=>e.getContent(t),setContent:(e,t,o)=>{e.setContent(t,o)},reposition:(e,t)=>{e.reposition(t)}}});var $h=tinymce.util.Tools.resolve("tinymce.util.Delay");const qh=xm({name:"Button",factory:e=>{const t=fh(e.action),o=e.dom.tag,n=t=>be(e.dom,"attributes").bind((e=>be(e,t)));return{uid:e.uid,dom:e.dom,components:e.components,events:t,behaviours:ku(e.buttonBehaviours,[ah.config({}),Gp.config({mode:"execution",useSpace:!0,useEnter:!0})]),domModification:{attributes:"button"===o?{type:n("type").getOr("button"),...n("role").map((e=>({role:e}))).getOr({})}:{role:e.role.getOr(n("role").getOr("button"))}},eventOrder:e.eventOrder}},configFields:[xs("uid",void 0),ns("dom"),xs("components",[]),Su("buttonBehaviours",[ah,Gp]),ms("action"),ms("role"),xs("eventOrder",{})]}),Yh=e=>{const t=Re(e),o=lt(t),n=(e=>{const t=void 0!==e.dom.attributes?e.dom.attributes:[];return j(t,((e,t)=>"class"===t.name?e:{...e,[t.name]:t.value}),{})})(t),s=(e=>Array.prototype.slice.call(e.dom.classList,0))(t),r=0===o.length?{}:{innerHtml:ta(t)};return{tag:We(t),classes:s,attributes:n,...r}},Xh=e=>{const t=(e=>void 0!==e.uid)(e)&&ye(e,"uid")?e.uid:fa("memento");return{get:e=>e.getSystem().getByUid(t).getOrDie(),getOpt:e=>e.getSystem().getByUid(t).toOptional(),asSpec:()=>({...e,uid:t})}},{entries:Kh,setPrototypeOf:Jh,isFrozen:Zh,getPrototypeOf:Qh,getOwnPropertyDescriptor:ef}=Object;let{freeze:tf,seal:of,create:nf}=Object,{apply:sf,construct:rf}="undefined"!=typeof Reflect&&Reflect;// eslint-disable-line import/no-mutable-exports -tf||(tf=function(e){return e}),of||(of=function(e){return e}),sf||(sf=function(e,t,o){return e.apply(t,o)}),rf||(rf=function(e,t){return new e(...t)});const af=xf(Array.prototype.forEach),lf=xf(Array.prototype.pop),cf=xf(Array.prototype.push),df=xf(String.prototype.toLowerCase),uf=xf(String.prototype.toString),mf=xf(String.prototype.match),gf=xf(String.prototype.replace),pf=xf(String.prototype.indexOf),hf=xf(String.prototype.trim),ff=xf(Object.prototype.hasOwnProperty),bf=xf(RegExp.prototype.test),vf=(yf=TypeError,function(){for(var e=arguments.length,t=new Array(e),o=0;o1?o-1:0),s=1;s2&&void 0!==arguments[2]?arguments[2]:df;Jh&& -// Make 'in' and truthy checks like Boolean(set.constructor) -// independent of any properties defined on Object.prototype. -// Prevent prototype setters from intercepting set as a this value. -Jh(e,null);let n=t.length;for(;n--;){let s=t[n];if("string"==typeof s){const e=o(s);e!==s&&( -// Config presets (e.g. tags.js, attrs.js) are immutable. -Zh(t)||(t[n]=e),s=e)}e[s]=!0}return e} -/** - * Clean up an array to harden against CSPP - * - * @param {Array} array - The array to be cleaned. - * @returns {Array} The cleaned version of the array - */function Sf(e){for(let t=0;t/gm),zf=of(/\${[\w\W]*}/gm),Lf=of(/^data-[\-\w.\u00B7-\uFFFF]/),Hf=of(/^aria-[\-\w]+$/),Pf=of(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Uf=of(/^(?:\w+script|data):/i),Wf=of(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),jf=of(/^html$/i),Gf=of(/^[a-z][.\w]*(-[.\w]+)+$/i); -// SVG -var $f=Object.freeze({__proto__:null,MUSTACHE_EXPR:Nf,ERB_EXPR:Vf,TMPLIT_EXPR:zf,DATA_ATTR:Lf,ARIA_ATTR:Hf,IS_ALLOWED_URI:Pf,IS_SCRIPT_OR_DATA:Uf,ATTR_WHITESPACE:Wf,DOCTYPE_NAME:jf,CUSTOM_ELEMENT:Gf}); -// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType -const qf=function(){return"undefined"==typeof window?null:window};var Yf=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:qf();const o=t=>e(t) -/** - * Version label, exposed for easier checks - * if DOMPurify is up to date or not - */;if(o.version="3.1.7", -/** - * Array of elements that DOMPurify removed during sanitation. - * Empty if nothing was removed. - */ -o.removed=[],!t||!t.document||9!==t.document.nodeType) -// Not running in a browser, provide a factory function -// so that you can pass your own Window -return o.isSupported=!1,o;let{document:n}=t;const s=n,r=s.currentScript,{DocumentFragment:a,HTMLTemplateElement:i,Node:l,Element:c,NodeFilter:d,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:m,DOMParser:g,trustedTypes:p}=t,h=c.prototype,f=Cf(h,"cloneNode"),b=Cf(h,"remove"),v=Cf(h,"nextSibling"),y=Cf(h,"childNodes"),x=Cf(h,"parentNode"); -// As per issue #47, the web-components registry is inherited by a -// new document created via createHTMLDocument. As per the spec -// (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries) -// a new empty registry is used when creating a template contents owner -// document, so we use that as our parent document to ensure nothing -// is inherited. -if("function"==typeof i){const e=n.createElement("template");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let w,S="";const{implementation:k,createNodeIterator:C,createDocumentFragment:O,getElementsByTagName:_}=n,{importNode:T}=s;let E={}; -/** - * Expose whether this browser supports running the full DOMPurify. - */o.isSupported="function"==typeof Kh&&"function"==typeof x&&k&&void 0!==k.createHTMLDocument;const{MUSTACHE_EXPR:A,ERB_EXPR:M,TMPLIT_EXPR:D,DATA_ATTR:B,ARIA_ATTR:I,IS_SCRIPT_OR_DATA:F,ATTR_WHITESPACE:R,CUSTOM_ELEMENT:N}=$f;let{IS_ALLOWED_URI:V}=$f,z=null; -/** - * We consider the elements and attributes below to be safe. Ideally - * don't add any new ones but feel free to remove unwanted ones. - */ -/* allowed element names */const L=wf({},[...Of,..._f,...Tf,...Af,...Df]); -/* Allowed attribute names */let H=null;const P=wf({},[...Bf,...If,...Ff,...Rf]); -/* - * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements. - * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements) - * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list) - * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`. - */let U=Object.seal(nf(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),W=null,j=null,G=!0,$=!0,q=!1,Y=!0,X=!1,K=!0,J=!1,Z=!1,Q=!1,ee=!1,te=!1,oe=!1,ne=!0,se=!1,re=!0,ae=!1,ie={},le=null; -/* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */const ce=wf({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]); -/* Tags that are safe for data: URIs */let de=null;const ue=wf({},["audio","video","img","source","image","track"]); -/* Attributes safe for values like "javascript:" */let me=null;const ge=wf({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),pe="http://www.w3.org/1998/Math/MathML",he="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml"; -/* Document namespace */ -let be=fe,ve=!1,ye=null;const xe=wf({},[pe,he,fe],uf); -/* Parsing of strict XHTML documents */let we=null;const Se=["application/xhtml+xml","text/html"];let ke=null,Ce=null; -/* Keep a reference to config to pass to hooks */ -/* Ideally, do not touch anything below this line */ -/* ______________________________________________ */ -const Oe=n.createElement("form"),_e=function(e){return e instanceof RegExp||e instanceof Function},Te=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Ce||Ce!==e){if( -/* Shield configuration object from tampering */ -e&&"object"==typeof e||(e={}) -/* Shield configuration object from prototype pollution */,e=kf(e),we= -// eslint-disable-next-line unicorn/prefer-includes --1===Se.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE, -// HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is. -ke="application/xhtml+xml"===we?uf:df, -/* Set configuration parameters */ -z=ff(e,"ALLOWED_TAGS")?wf({},e.ALLOWED_TAGS,ke):L,H=ff(e,"ALLOWED_ATTR")?wf({},e.ALLOWED_ATTR,ke):P,ye=ff(e,"ALLOWED_NAMESPACES")?wf({},e.ALLOWED_NAMESPACES,uf):xe,me=ff(e,"ADD_URI_SAFE_ATTR")?wf(kf(ge), -// eslint-disable-line indent -e.ADD_URI_SAFE_ATTR, -// eslint-disable-line indent -ke):ge,de=ff(e,"ADD_DATA_URI_TAGS")?wf(kf(ue), -// eslint-disable-line indent -e.ADD_DATA_URI_TAGS, -// eslint-disable-line indent -ke):ue,le=ff(e,"FORBID_CONTENTS")?wf({},e.FORBID_CONTENTS,ke):ce,W=ff(e,"FORBID_TAGS")?wf({},e.FORBID_TAGS,ke):{},j=ff(e,"FORBID_ATTR")?wf({},e.FORBID_ATTR,ke):{},ie=!!ff(e,"USE_PROFILES")&&e.USE_PROFILES,G=!1!==e.ALLOW_ARIA_ATTR,// Default true -$=!1!==e.ALLOW_DATA_ATTR,// Default true -q=e.ALLOW_UNKNOWN_PROTOCOLS||!1,// Default false -Y=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,// Default true -X=e.SAFE_FOR_TEMPLATES||!1,// Default false -K=!1!==e.SAFE_FOR_XML,// Default true -J=e.WHOLE_DOCUMENT||!1,// Default false -ee=e.RETURN_DOM||!1,// Default false -te=e.RETURN_DOM_FRAGMENT||!1,// Default false -oe=e.RETURN_TRUSTED_TYPE||!1,// Default false -Q=e.FORCE_BODY||!1,// Default false -ne=!1!==e.SANITIZE_DOM,// Default true -se=e.SANITIZE_NAMED_PROPS||!1,// Default false -re=!1!==e.KEEP_CONTENT,// Default true -ae=e.IN_PLACE||!1,// Default false -V=e.ALLOWED_URI_REGEXP||Pf,be=e.NAMESPACE||fe,U=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&_e(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(U.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&_e(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(U.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(U.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),X&&($=!1),te&&(ee=!0) -/* Parse profile info */,ie&&(z=wf({},Df),H=[],!0===ie.html&&(wf(z,Of),wf(H,Bf)),!0===ie.svg&&(wf(z,_f),wf(H,If),wf(H,Rf)),!0===ie.svgFilters&&(wf(z,Tf),wf(H,If),wf(H,Rf)),!0===ie.mathMl&&(wf(z,Af),wf(H,Ff),wf(H,Rf))) -/* Merge configuration parameters */,e.ADD_TAGS&&(z===L&&(z=kf(z)),wf(z,e.ADD_TAGS,ke)),e.ADD_ATTR&&(H===P&&(H=kf(H)),wf(H,e.ADD_ATTR,ke)),e.ADD_URI_SAFE_ATTR&&wf(me,e.ADD_URI_SAFE_ATTR,ke),e.FORBID_CONTENTS&&(le===ce&&(le=kf(le)),wf(le,e.FORBID_CONTENTS,ke)) -/* Add #text in case KEEP_CONTENT is set to true */,re&&(z["#text"]=!0) -/* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */,J&&wf(z,["html","head","body"]) -/* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */,z.table&&(wf(z,["tbody"]),delete W.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw vf('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw vf('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'); -// Overwrite existing TrustedTypes policy. -w=e.TRUSTED_TYPES_POLICY, -// Sign local variables required by `sanitize`. -S=w.createHTML("")}else -// Uninitialized policy, attempt to initialize the internal dompurify policy. -void 0===w&&(w=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null; -// Allow the callers to control the unique policy name -// by adding a data-tt-policy-suffix to the script element with the DOMPurify. -// Policy creation with duplicate names throws in Trusted Types. -let o=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(o=t.getAttribute(n));const s="dompurify"+(o?"#"+o:"");try{return e.createPolicy(s,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){ -// Policy creation failed (most likely another DOMPurify script has -// already run). Skip creating the policy, as this will only cause errors -// if TT are enforced. -return console.warn("TrustedTypes policy "+s+" could not be created."),null}}(p,r)), -// If creating the internal policy succeeded sign internal variables. -null!==w&&"string"==typeof S&&(S=w.createHTML("")); -// Prevent further manipulation of configuration. -// Not available in IE8, Safari 5, etc. -tf&&tf(e),Ce=e}},Ee=wf({},["mi","mo","mn","ms","mtext"]),Ae=wf({},["annotation-xml"]),Me=wf({},["title","style","font","a","script"]),De=wf({},[..._f,...Tf,...Ef]),Be=wf({},[...Af,...Mf]),Ie=function(e){cf(o.removed,{element:e});try{ -// eslint-disable-next-line unicorn/prefer-dom-node-remove -x(e).removeChild(e)}catch(t){b(e)}},Fe=function(e,t){try{cf(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){cf(o.removed,{attribute:null,from:t})} -// We void attribute values for unremovable "is"" attributes -if(t.removeAttribute(e),"is"===e&&!H[e])if(ee||te)try{Ie(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Re=function(e){ -/* Create a HTML document */ -let t=null,o=null;if(Q)e=""+e;else{ -/* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */ -const t=mf(e,/^[\r\n\t ]+/);o=t&&t[0]}"application/xhtml+xml"===we&&be===fe&&( -// Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict) -e=''+e+"");const s=w?w.createHTML(e):e; -/* - * Use the DOMParser API by default, fallback later if needs be - * DOMParser not work for svg when has multiple root element. - */if(be===fe)try{t=(new g).parseFromString(s,we)}catch(e){} -/* Use createHTMLDocument in case DOMParser is not available */if(!t||!t.documentElement){t=k.createDocument(be,"template",null);try{t.documentElement.innerHTML=ve?S:s}catch(e){ -// Syntax error if dirtyPayload is invalid xml -}}const r=t.body||t.documentElement; -/* Work on whole document or just its body */ -return e&&o&&r.insertBefore(n.createTextNode(o),r.childNodes[0]||null),be===fe?_.call(t,J?"html":"body")[0]:J?t.documentElement:r},Ne=function(e){return C.call(e.ownerDocument||e,e, -// eslint-disable-next-line no-bitwise -d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},Ve=function(e){return e instanceof m&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof u)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},ze=function(e){return"function"==typeof l&&e instanceof l},Le=function(e,t,n){E[e]&&af(E[e],(e=>{e.call(o,t,n,Ce)}))},He=function(e){let t=null; -/* Execute a hook if present */ -/* Check if element is clobbered or can clobber */ -if(Le("beforeSanitizeElements",e,null),Ve(e))return Ie(e),!0; -/* Now let's check the element's type and name */const n=ke(e.nodeName); -/* Execute a hook if present */ -/* Detect mXSS attempts abusing namespace confusion */ -if(Le("uponSanitizeElement",e,{tagName:n,allowedTags:z}),e.hasChildNodes()&&!ze(e.firstElementChild)&&bf(/<[/\w]/g,e.innerHTML)&&bf(/<[/\w]/g,e.textContent))return Ie(e),!0; -/* Remove any occurrence of processing instructions */if(7===e.nodeType)return Ie(e),!0; -/* Remove any kind of possibly harmful comments */if(K&&8===e.nodeType&&bf(/<[/\w]/g,e.data))return Ie(e),!0; -/* Remove element if anything forbids its presence */if(!z[n]||W[n]){ -/* Check if we have a custom element to handle */ -if(!W[n]&&Ue(n)){if(U.tagNameCheck instanceof RegExp&&bf(U.tagNameCheck,n))return!1;if(U.tagNameCheck instanceof Function&&U.tagNameCheck(n))return!1} -/* Keep content except for bad-listed elements */if(re&&!le[n]){const t=x(e)||e.parentNode,o=y(e)||e.childNodes;if(o&&t)for(let n=o.length-1;n>=0;--n){const s=f(o[n],!0);s.__removalCount=(e.__removalCount||0)+1,t.insertBefore(s,v(e))}}return Ie(e),!0} -/* Check whether element has a valid namespace */return e instanceof c&&!function(e){let t=x(e); -// In JSDOM, if we're inside shadow DOM, then parentNode -// can be null. We just simulate parent in this case. -t&&t.tagName||(t={namespaceURI:be,tagName:"template"});const o=df(e.tagName),n=df(t.tagName);return!!ye[e.namespaceURI]&&(e.namespaceURI===he? -// The only way to switch from HTML namespace to SVG -// is via . If it happens via any other tag, then -// it should be killed. -t.namespaceURI===fe?"svg"===o: -// The only way to switch from MathML to SVG is via` -// svg if parent is either or MathML -// text integration points. -t.namespaceURI===pe?"svg"===o&&("annotation-xml"===n||Ee[n]):Boolean(De[o]):e.namespaceURI===pe? -// The only way to switch from HTML namespace to MathML -// is via . If it happens via any other tag, then -// it should be killed. -t.namespaceURI===fe?"math"===o: -// The only way to switch from SVG to MathML is via -// and HTML integration points -t.namespaceURI===he?"math"===o&&Ae[n]:Boolean(Be[o]):e.namespaceURI===fe? -// The only way to switch from SVG to HTML is via -// HTML integration points, and from MathML to HTML -// is via MathML text integration points -!(t.namespaceURI===he&&!Ae[n])&&!(t.namespaceURI===pe&&!Ee[n])&&!Be[o]&&(Me[o]||!De[o]):!("application/xhtml+xml"!==we||!ye[e.namespaceURI]))}(e)?(Ie(e),!0): -/* Make sure that older browsers don't get fallback-tag mXSS */ -"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!bf(/<\/no(script|embed|frames)/i,e.innerHTML)?( -/* Sanitize element content to be template-safe */ -X&&3===e.nodeType&&( -/* Get the element's text content */ -t=e.textContent,af([A,M,D],(e=>{t=gf(t,e," ")})),e.textContent!==t&&(cf(o.removed,{element:e.cloneNode()}),e.textContent=t)) -/* Execute a hook if present */,Le("afterSanitizeElements",e,null),!1):(Ie(e),!0)},Pe=function(e,t,o){ -/* Make sure attribute cannot clobber */ -if(ne&&("id"===t||"name"===t)&&(o in n||o in Oe))return!1; -/* Allow valid data-* attributes: At least one character after "-" - (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes) - XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804) - We don't need to check the value; it's always URI safe. */if($&&!j[t]&&bf(B,t));else if(G&&bf(I,t));else if(!H[t]||j[t]){if( -// First condition does a very basic check if a) it's basically a valid custom element tagname AND -// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck -// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck -!(Ue(e)&&(U.tagNameCheck instanceof RegExp&&bf(U.tagNameCheck,e)||U.tagNameCheck instanceof Function&&U.tagNameCheck(e))&&(U.attributeNameCheck instanceof RegExp&&bf(U.attributeNameCheck,t)||U.attributeNameCheck instanceof Function&&U.attributeNameCheck(t))|| -// Alternative, second condition checks if it's an `is`-attribute, AND -// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck -"is"===t&&U.allowCustomizedBuiltInElements&&(U.tagNameCheck instanceof RegExp&&bf(U.tagNameCheck,o)||U.tagNameCheck instanceof Function&&U.tagNameCheck(o))))return!1; -/* Check value is safe. First, is attr inert? If so, is safe */}else if(me[t]);else if(bf(V,gf(o,R,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==pf(o,"data:")||!de[e])if(q&&!bf(F,gf(o,R,"")));else if(o)return!1;return!0},Ue=function(e){return"annotation-xml"!==e&&mf(e,N)},We=function(e){ -/* Execute a hook if present */ -Le("beforeSanitizeAttributes",e,null);const{attributes:t}=e; -/* Check if we have attributes; if not we might have a text node */if(!t)return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:H};let s=t.length; -/* Go backwards over all attributes; safely remove bad ones */for(;s--;){const r=t[s],{name:a,namespaceURI:i,value:l}=r,c=ke(a);let d="value"===a?l:hf(l);const u=d; -/* Execute a hook if present */ -/* Did the hooks approve of the attribute? */ -if(n.attrName=c,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,// Allows developers to see this is a property they can set -Le("uponSanitizeAttribute",e,n),d=n.attrValue,n.forceKeepAttr)continue; -/* Did the hooks approve of the attribute? */if(!n.keepAttr){Fe(a,e);continue} -/* Work around a security issue in jQuery 3.0 */if(!Y&&bf(/\/>/i,d)){Fe(a,e);continue} -/* Sanitize attribute content to be template-safe */X&&af([A,M,D],(e=>{d=gf(d,e," ")})) -/* Is `value` valid for this attribute? */;const m=ke(e.nodeName);if(Pe(m,c,d)) -/* Work around a security issue with comments inside attributes */ -if( -/* Full DOM Clobbering protection via namespace isolation, - * Prefix id and name attributes with `user-content-` - */ -!se||"id"!==c&&"name"!==c||( -// Remove the attribute with this value -Fe(a,e), -// Prefix the value and later re-create the attribute with the sanitized value -d="user-content-"+d),K&&bf(/((--!?|])>)|<\/(style|title)/i,d))Fe(a,e);else{ -/* Handle attributes that require Trusted Types */ -if(w&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(i);else switch(p.getAttributeType(m,c)){case"TrustedHTML":d=w.createHTML(d);break;case"TrustedScriptURL":d=w.createScriptURL(d)} -/* Handle invalid data-* attribute set by try-catching it */if(d!==u)try{i?e.setAttributeNS(i,a,d): -/* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */ -e.setAttribute(a,d),Ve(e)?Ie(e):lf(o.removed)}catch(e){}}else Fe(a,e)} -/* Execute a hook if present */Le("afterSanitizeAttributes",e,null)},je=function e(t){let o=null;const n=Ne(t); -/* Execute a hook if present */for(Le("beforeSanitizeShadowDOM",t,null);o=n.nextNode();) -/* Execute a hook if present */ -Le("uponSanitizeShadowNode",o,null), -/* Sanitize tags and elements */ -He(o)||( -/* Deep shadow DOM detected */ -o.content instanceof a&&e(o.content) -/* Check attributes, sanitize if necessary */,We(o)); -/* Execute a hook if present */Le("afterSanitizeShadowDOM",t,null)}; -/** - * Sanitize - * Public method providing core sanitation functionality - * - * @param {String|Node} dirty string or DOM node - * @param {Object} cfg object - */ -// eslint-disable-next-line complexity -return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,c=null; -/* Stringify, in case dirty is an object */ -if( -/* Make sure we have a string to sanitize. - DO NOT return early, as this will return the wrong type if - the user has requested a DOM object rather than a string */ -ve=!e,ve&&(e="\x3c!--\x3e"),"string"!=typeof e&&!ze(e)){if("function"!=typeof e.toString)throw vf("toString is not a function");if("string"!=typeof(e=e.toString()))throw vf("dirty is not a string, aborting")} -/* Return dirty HTML if DOMPurify cannot run */if(!o.isSupported)return e; -/* Assign config vars */if(Z||Te(t) -/* Clean up removed elements */,o.removed=[], -/* Check if dirty is correctly typed for IN_PLACE */ -"string"==typeof e&&(ae=!1),ae){ -/* Do some early pre-sanitization to avoid unsafe root nodes */ -if(e.nodeName){const t=ke(e.nodeName);if(!z[t]||W[t])throw vf("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof l) -/* If dirty is a DOM element, append to an empty document to avoid - elements being stripped by the parser */ -n=Re("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),1===r.nodeType&&"BODY"===r.nodeName||"HTML"===r.nodeName? -/* Node is already a body, use as is */ -n=r: -// eslint-disable-next-line unicorn/prefer-dom-node-append -n.appendChild(r);else{ -/* Exit directly if we have nothing to do */ -if(!ee&&!X&&!J&& -// eslint-disable-next-line unicorn/prefer-includes --1===e.indexOf("<"))return w&&oe?w.createHTML(e):e; -/* Initialize the document to work on */ -/* Check we have a DOM node from the data */ -if(n=Re(e),!n)return ee?null:oe?S:""} -/* Remove first element node (ours) if FORCE_BODY is set */n&&Q&&Ie(n.firstChild) -/* Get node iterator */;const d=Ne(ae?e:n); -/* Now start iterating over the created document */for(;i=d.nextNode();) -/* Sanitize tags and elements */ -He(i)||( -/* Shadow DOM detected, sanitize it */ -i.content instanceof a&&je(i.content) -/* Check attributes, sanitize if necessary */,We(i)); -/* If we sanitized `dirty` in-place, return it. */if(ae)return e; -/* Return sanitized string or DOM */if(ee){if(te)for(c=O.call(n.ownerDocument);n.firstChild;) -// eslint-disable-next-line unicorn/prefer-dom-node-append -c.appendChild(n.firstChild);else c=n;return(H.shadowroot||H.shadowrootmode)&&( -/* - AdoptNode() is not used because internal state is not reset - (e.g. the past names map of a HTMLFormElement), this is safe - in theory but we would rather not risk another attack vector. - The state that is cloned by importNode() is explicitly defined - by the specs. - */ -c=T.call(s,c,!0)),c}let u=J?n.outerHTML:n.innerHTML; -/* Serialize doctype if allowed */return J&&z["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&bf(jf,n.ownerDocument.doctype.name)&&(u="\n"+u) -/* Sanitize final string template-safe */,X&&af([A,M,D],(e=>{u=gf(u,e," ")})),w&&oe?w.createHTML(u):u}, -/** - * Public method to set the configuration once - * setConfig - * - * @param {Object} cfg configuration object - */ -o.setConfig=function(){Te(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Z=!0}, -/** - * Public method to remove the configuration - * clearConfig - * - */ -o.clearConfig=function(){Ce=null,Z=!1}, -/** - * Public method to check if an attribute value is valid. - * Uses last set config, if any. Otherwise, uses config defaults. - * isValidAttribute - * - * @param {String} tag Tag name of containing element. - * @param {String} attr Attribute name. - * @param {String} value Attribute value. - * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false. - */ -o.isValidAttribute=function(e,t,o){ -/* Initialize shared config vars if necessary. */ -Ce||Te({});const n=ke(e),s=ke(t);return Pe(n,s,o)}, -/** - * AddHook - * Public method to add DOMPurify hooks - * - * @param {String} entryPoint entry point for the hook to add - * @param {Function} hookFunction function to execute - */ -o.addHook=function(e,t){"function"==typeof t&&(E[e]=E[e]||[],cf(E[e],t))}, -/** - * RemoveHook - * Public method to remove a DOMPurify hook at a given entryPoint - * (pops it from the stack of hooks if more are present) - * - * @param {String} entryPoint entry point for the hook to remove - * @return {Function} removed(popped) hook - */ -o.removeHook=function(e){if(E[e])return lf(E[e])}, -/** - * RemoveHooks - * Public method to remove all DOMPurify hooks at a given entryPoint - * - * @param {String} entryPoint entry point for the hooks to remove - */ -o.removeHooks=function(e){E[e]&&(E[e]=[])}, -/** - * RemoveAllHooks - * Public method to remove all DOMPurify hooks - */ -o.removeAllHooks=function(){E={}},o}();const Xf=e=>Yf().sanitize(e);var Kf=tinymce.util.Tools.resolve("tinymce.util.I18n");const Jf={indent:!0,outdent:!0,"table-insert-column-after":!0,"table-insert-column-before":!0,"paste-column-after":!0,"paste-column-before":!0,"unordered-list":!0,"list-bull-circle":!0,"list-bull-default":!0,"list-bull-square":!0},Zf="temporary-placeholder",Qf=e=>()=>be(e,Zf).getOr("!not found!"),eb=(e,t)=>{const o=e.toLowerCase();if(Kf.isRtl()){const e=((e,t)=>Ae(e,t)?e:((e,t)=>e+t)(e,t))(o,"-rtl");return ve(t,e)?e:o}return o},tb=(e,t)=>be(t,eb(e,t)),ob=(e,t)=>{const o=t();return tb(e,o).getOrThunk(Qf(o))},nb=()=>th("add-focusable",[Jr((e=>{bi(e.element,"svg").each((e=>Ct(e,"focusable","false")))}))]),sb=(e,t,o,n)=>{var s,r;const a=(e=>!!Kf.isRtl()&&ve(Jf,e))(t)?["tox-icon--flip"]:[],i=be(o,eb(t,o)).or(n).getOrThunk(Qf(o));return{dom:{tag:e.tag,attributes:null!==(s=e.attributes)&&void 0!==s?s:{},classes:e.classes.concat(a),innerHtml:i},behaviours:Tl([...null!==(r=e.behaviours)&&void 0!==r?r:[],nb()])}},rb=(e,t,o,n=A.none())=>sb(t,e,o(),n),ab={success:"checkmark",error:"warning",err:"error",warning:"warning",warn:"warning",info:"info"},ib=xm({name:"Notification",factory:e=>{const t=Xh({dom:Yh(`

${Xf(e.translationProvider(e.text))}

`),behaviours:Tl([eh.config({})])}),o=e=>({dom:{tag:"div",classes:["tox-bar"],styles:{width:`${e}%`}}}),n=e=>({dom:{tag:"div",classes:["tox-text"],innerHtml:`${e}%`}}),s=Xh({dom:{tag:"div",classes:e.progress?["tox-progress-bar","tox-progress-indicator"]:["tox-progress-bar"]},components:[{dom:{tag:"div",classes:["tox-bar-container"]},components:[o(0)]},n(0)],behaviours:Tl([eh.config({})])}),r={updateProgress:(e,t)=>{e.getSystem().isConnected()&&s.getOpt(e).each((e=>{eh.set(e,[{dom:{tag:"div",classes:["tox-bar-container"]},components:[o(t)]},n(t)])}))},updateText:(e,o)=>{if(e.getSystem().isConnected()){const n=t.get(e);eh.set(n,[ri(o)])}}},a=q([e.icon.toArray(),e.level.toArray(),e.level.bind((e=>A.from(ab[e]))).toArray()]),i=Xh(qh.sketch({dom:{tag:"button",classes:["tox-notification__dismiss","tox-button","tox-button--naked","tox-button--icon"]},components:[rb("close",{tag:"span",classes:["tox-icon"],attributes:{"aria-label":e.translationProvider("Close")}},e.iconProvider)],action:t=>{e.onAction(t)}})),l=((e,t,o)=>{const n=o(),s=G(e,(e=>ve(n,eb(e,n))));return sb({tag:"div",classes:["tox-notification__icon"]},s.getOr(Zf),n,A.none())})(a,0,e.iconProvider),c=[l,{dom:{tag:"div",classes:["tox-notification__body"]},components:[t.asSpec()],behaviours:Tl([eh.config({})])}];return{uid:e.uid,dom:{tag:"div",attributes:{role:"alert"},classes:e.level.map((e=>["tox-notification","tox-notification--in",`tox-notification--${e}`])).getOr(["tox-notification","tox-notification--in"])},behaviours:Tl([ah.config({}),th("notification-events",[Wr(Xs(),(e=>{i.getOpt(e).each(ah.focus)}))])]),components:c.concat(e.progress?[s.asSpec()]:[]).concat(e.closeButton?[i.asSpec()]:[]),apis:r}},configFields:[ms("level"),ns("progress"),ms("icon"),ns("onAction"),ns("text"),ns("iconProvider"),ns("translationProvider"),Os("closeButton",!0)],apis:{updateProgress:(e,t,o)=>{e.updateProgress(t,o)},updateText:(e,t,o)=>{e.updateText(t,o)}}});var lb,cb,db=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),ub=tinymce.util.Tools.resolve("tinymce.EditorManager"),mb=tinymce.util.Tools.resolve("tinymce.Env");!function(e){e.default="wrap",e.floating="floating",e.sliding="sliding",e.scrolling="scrolling"}(lb||(lb={})),function(e){e.auto="auto",e.top="top",e.bottom="bottom"}(cb||(cb={}));const gb=e=>t=>t.options.get(e),pb=e=>t=>A.from(e(t)),hb=e=>{const t=mb.deviceType.isPhone(),o=mb.deviceType.isTablet()||t,n=e.options.register,s=e=>r(e)||!1===e,a=e=>r(e)||h(e);n("skin",{processor:e=>r(e)||!1===e,default:"oxide"}),n("skin_url",{processor:"string"}),n("height",{processor:a,default:Math.max(e.getElement().offsetHeight,400)}),n("width",{processor:a,default:db.DOM.getStyle(e.getElement(),"width")}),n("min_height",{processor:"number",default:100}),n("min_width",{processor:"number"}),n("max_height",{processor:"number"}),n("max_width",{processor:"number"}),n("style_formats",{processor:"object[]"}),n("style_formats_merge",{processor:"boolean",default:!1}),n("style_formats_autohide",{processor:"boolean",default:!1}),n("line_height_formats",{processor:"string",default:"1 1.1 1.2 1.3 1.4 1.5 2"}),n("font_family_formats",{processor:"string",default:"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats"}),n("font_size_formats",{processor:"string",default:"8pt 10pt 12pt 14pt 18pt 24pt 36pt"}),n("font_size_input_default_unit",{processor:"string",default:"pt"}),n("block_formats",{processor:"string",default:"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre"}),n("content_langs",{processor:"object[]"}),n("removed_menuitems",{processor:"string",default:""}),n("menubar",{processor:e=>r(e)||d(e),default:!t}),n("menu",{processor:"object",default:{}}),n("toolbar",{processor:e=>d(e)||r(e)||l(e)?{value:e,valid:!0}:{valid:!1,message:"Must be a boolean, string or array."},default:!0}),V(9,(e=>{n("toolbar"+(e+1),{processor:"string"})})),n("toolbar_mode",{processor:"string",default:o?"scrolling":"floating"}),n("toolbar_groups",{processor:"object",default:{}}),n("toolbar_location",{processor:"string",default:cb.auto}),n("toolbar_persist",{processor:"boolean",default:!1}),n("toolbar_sticky",{processor:"boolean",default:e.inline}),n("toolbar_sticky_offset",{processor:"number",default:0}),n("fixed_toolbar_container",{processor:"string",default:""}),n("fixed_toolbar_container_target",{processor:"object"}),n("ui_mode",{processor:"string",default:"combined"}),n("file_picker_callback",{processor:"function"}),n("file_picker_validator_handler",{processor:"function"}),n("file_picker_types",{processor:"string"}),n("typeahead_urls",{processor:"boolean",default:!0}),n("anchor_top",{processor:s,default:"#top"}),n("anchor_bottom",{processor:s,default:"#bottom"}),n("draggable_modal",{processor:"boolean",default:!1}),n("statusbar",{processor:"boolean",default:!0}),n("elementpath",{processor:"boolean",default:!0}),n("branding",{processor:"boolean",default:!0}),n("promotion",{processor:"boolean",default:!0}),n("resize",{processor:e=>"both"===e||d(e),default:!mb.deviceType.isTouch()}),n("sidebar_show",{processor:"string"}),n("help_accessibility",{processor:"boolean",default:e.hasPlugin("help")}),n("default_font_stack",{processor:"string[]",default:[]})},fb=gb("readonly"),bb=gb("height"),vb=gb("width"),yb=pb(gb("min_width")),xb=pb(gb("min_height")),wb=pb(gb("max_width")),Sb=pb(gb("max_height")),kb=pb(gb("style_formats")),Cb=gb("style_formats_merge"),Ob=gb("style_formats_autohide"),_b=gb("content_langs"),Tb=gb("removed_menuitems"),Eb=gb("toolbar_mode"),Ab=gb("toolbar_groups"),Mb=gb("toolbar_location"),Db=gb("fixed_toolbar_container"),Bb=gb("fixed_toolbar_container_target"),Ib=gb("toolbar_persist"),Fb=gb("toolbar_sticky_offset"),Rb=gb("menubar"),Nb=gb("toolbar"),Vb=gb("file_picker_callback"),zb=gb("file_picker_validator_handler"),Lb=gb("font_size_input_default_unit"),Hb=gb("file_picker_types"),Pb=gb("typeahead_urls"),Ub=gb("anchor_top"),Wb=gb("anchor_bottom"),jb=gb("draggable_modal"),Gb=gb("statusbar"),$b=gb("elementpath"),qb=gb("branding"),Yb=gb("resize"),Xb=gb("paste_as_text"),Kb=gb("sidebar_show"),Jb=gb("promotion"),Zb=gb("help_accessibility"),Qb=gb("default_font_stack"),ev=e=>!1===e.options.get("skin"),tv=e=>!1!==e.options.get("menubar"),ov=e=>{const t=e.options.get("skin_url");if(ev(e))return t;if(t)return e.documentBaseURI.toAbsolute(t);{const t=e.options.get("skin");return ub.baseURL+"/skins/ui/"+t}},nv=e=>A.from(e.options.get("skin_url")),sv=e=>e.options.get("line_height_formats").split(" "),rv=e=>{const t=Nb(e),o=r(t),n=l(t)&&t.length>0;return!iv(e)&&(n||o||!0===t)},av=e=>{const t=V(9,(t=>e.options.get("toolbar"+(t+1)))),o=U(t,r);return Ce(o.length>0,o)},iv=e=>av(e).fold((()=>{const t=Nb(e);return f(t,r)&&t.length>0}),E),lv=e=>Mb(e)===cb.bottom,cv=e=>{var t;if(!e.inline)return A.none();const o=null!==(t=Db(e))&&void 0!==t?t:"";if(o.length>0)return vi(wt(),o);const n=Bb(e);return g(n)?A.some(ze(n)):A.none()},dv=e=>e.inline&&cv(e).isSome(),uv=e=>cv(e).getOrThunk((()=>bt(ft(ze(e.getElement()))))),mv=e=>e.inline&&!tv(e)&&!rv(e)&&!iv(e),gv=e=>(e.options.get("toolbar_sticky")||e.inline)&&!dv(e)&&!mv(e),pv=e=>!dv(e)&&"split"===e.options.get("ui_mode"),hv=e=>{const t=e.options.get("menu");return ce(t,(e=>({...e,items:e.items})))};var fv=Object.freeze({__proto__:null,get ToolbarMode(){return lb},get ToolbarLocation(){return cb},register:hb,getSkinUrl:ov,getSkinUrlOption:nv,isReadOnly:fb,isSkinDisabled:ev,getHeightOption:bb,getWidthOption:vb,getMinWidthOption:yb,getMinHeightOption:xb,getMaxWidthOption:wb,getMaxHeightOption:Sb,getUserStyleFormats:kb,shouldMergeStyleFormats:Cb,shouldAutoHideStyleFormats:Ob,getLineHeightFormats:sv,getContentLanguages:_b,getRemovedMenuItems:Tb,isMenubarEnabled:tv,isMultipleToolbars:iv,isToolbarEnabled:rv,isToolbarPersist:Ib,getMultipleToolbarsOption:av,getUiContainer:uv,useFixedContainer:dv,isSplitUiMode:pv,getToolbarMode:Eb,isDraggableModal:jb,isDistractionFree:mv,isStickyToolbar:gv,getStickyToolbarOffset:Fb,getToolbarLocation:Mb,isToolbarLocationBottom:lv,getToolbarGroups:Ab,getMenus:hv,getMenubar:Rb,getToolbar:Nb,getFilePickerCallback:Vb,getFilePickerTypes:Hb,useTypeaheadUrls:Pb,getAnchorTop:Ub,getAnchorBottom:Wb,getFilePickerValidatorHandler:zb,getFontSizeInputDefaultUnit:Lb,useStatusBar:Gb,useElementPath:$b,promotionEnabled:Jb,useBranding:qb,getResize:Yb,getPasteAsText:Xb,getSidebarShow:Kb,useHelpAccessibility:Zb,getDefaultFontStack:Qb});const bv="[data-mce-autocompleter]",vv=e=>yi(e,bv);var yv;!function(e){e[e.CLOSE_ON_EXECUTE=0]="CLOSE_ON_EXECUTE",e[e.BUBBLE_TO_SANDBOX=1]="BUBBLE_TO_SANDBOX"}(yv||(yv={}));var xv=yv;const wv="tox-menu-nav__js",Sv="tox-collection__item",kv="tox-swatch",Cv={normal:wv,color:kv},Ov="tox-collection__item--enabled",_v="tox-collection__item-icon",Tv="tox-collection__item-label",Ev="tox-collection__item-caret",Av="tox-collection__item--active",Mv="tox-collection__item-container",Dv="tox-collection__item-container--row",Bv=e=>be(Cv,e).getOr(wv),Iv=e=>"color"===e?"tox-swatches":"tox-menu",Fv=e=>({backgroundMenu:"tox-background-menu",selectedMenu:"tox-selected-menu",selectedItem:"tox-collection__item--active",hasIcons:"tox-menu--has-icons",menu:Iv(e),tieredMenu:"tox-tiered-menu"}),Rv=e=>{const t=Fv(e);return{backgroundMenu:t.backgroundMenu,selectedMenu:t.selectedMenu,menu:t.menu,selectedItem:t.selectedItem,item:Bv(e)}},Nv=(e,t,o)=>{const n=Fv(o);return{tag:"div",classes:q([[n.menu,`tox-menu-${t}-column`],e?[n.hasIcons]:[]])}},Vv=[Rh.parts.items({})],zv=(e,t,o)=>{const n=Fv(o);return{dom:{tag:"div",classes:q([[n.tieredMenu]])},markers:Rv(o)}},Lv=x([ms("data"),xs("inputAttributes",{}),xs("inputStyles",{}),xs("tag","input"),xs("inputClasses",[]),Ri("onSetValue"),xs("styles",{}),xs("eventOrder",{}),yu("inputBehaviours",[vu,ah]),xs("selectOnFocus",!0)]),Hv=e=>Tl([ah.config({onFocus:e.selectOnFocus?e=>{const t=e.element,o=Ka(t);t.dom.setSelectionRange(0,o.length)}:b})]),Pv=e=>({...Hv(e),...wu(e.inputBehaviours,[vu.config({store:{mode:"manual",...e.data.map((e=>({initialValue:e}))).getOr({}),getValue:e=>Ka(e.element),setValue:(e,t)=>{Ka(e.element)!==t&&Ja(e.element,t)}},onSetValue:e.onSetValue})])}),Uv=e=>({tag:e.tag,attributes:{type:"text",...e.inputAttributes},styles:e.inputStyles,classes:e.inputClasses}),Wv=xm({name:"Input",configFields:Lv(),factory:(e,t)=>({uid:e.uid,dom:Uv(e),components:[],behaviours:Pv(e),eventOrder:e.eventOrder})}),jv=ca("refetch-trigger-event"),Gv=ca("redirect-menu-item-interaction"),$v="tox-menu__searcher",qv=e=>vi(e.element,`.${$v}`).bind((t=>e.getSystem().getByDom(t).toOptional())),Yv=qv,Xv=e=>({fetchPattern:vu.getValue(e),selectionStart:e.element.dom.selectionStart,selectionEnd:e.element.dom.selectionEnd}),Kv=e=>{const t=(e,t)=>(t.cut(),A.none()),o=(e,t)=>{const o={interactionEvent:t.event,eventType:t.event.raw.type};return Rr(e,Gv,o),A.some(!0)},n="searcher-events";return{dom:{tag:"div",classes:[Sv]},components:[Wv.sketch({inputClasses:[$v,"tox-textfield"],inputAttributes:{...e.placeholder.map((t=>({placeholder:e.i18n(t)}))).getOr({}),type:"search","aria-autocomplete":"list"},inputBehaviours:Tl([th(n,[Wr(Qs(),(e=>{Fr(e,jv)})),Wr(Js(),((e,t)=>{"Escape"===t.event.raw.key&&t.stop()}))]),Gp.config({mode:"special",onLeft:t,onRight:t,onSpace:t,onEnter:o,onEscape:o,onUp:o,onDown:o})]),eventOrder:{keydown:[n,Gp.name()]}})]}},Jv="tox-collection--results__js",Zv=e=>{var t;return e.dom?{...e,dom:{...e.dom,attributes:{...null!==(t=e.dom.attributes)&&void 0!==t?t:{},id:ca("aria-item-search-result-id"),"aria-selected":"false"}}}:e},Qv=(e,t)=>o=>{const n=z(o,t);return L(n,(t=>({dom:e,components:t})))},ey=(e,t)=>{const o=[];let n=[];return H(e,((e,s)=>{t(e,s)?(n.length>0&&o.push(n),n=[],(ve(e.dom,"innerHtml")||e.components&&e.components.length>0)&&n.push(e)):n.push(e)})),n.length>0&&o.push(n),L(o,(e=>({dom:{tag:"div",classes:["tox-collection__group"]},components:e})))},ty=(e,t,o)=>Rh.parts.items({preprocess:n=>{const s=L(n,o);return"auto"!==e&&e>1?Qv({tag:"div",classes:["tox-collection__group"]},e)(s):ey(s,((e,o)=>"separator"===t[o].type))}}),oy=(e,t,o=!0)=>({dom:{tag:"div",classes:["tox-menu","tox-collection"].concat(1===e?["tox-collection--list"]:["tox-collection--grid"])},components:[ty(e,t,w)]}),ny=e=>N(e,(e=>"icon"in e&&void 0!==e.icon)),sy=e=>(console.error(Jn(e)),console.log(e),A.none()),ry=(e,t,o,n,s)=>{const r=(a=o,{dom:{tag:"div",classes:["tox-collection","tox-collection--horizontal"]},components:[Rh.parts.items({preprocess:e=>ey(e,((e,t)=>"separator"===a[t].type))})]});var a;return{value:e,dom:r.dom,components:r.components,items:o}},ay=(e,t,o,n,s)=>{if("color"===s.menuType){const t=(e=>({dom:{tag:"div",classes:["tox-menu","tox-swatches-menu"]},components:[{dom:{tag:"div",classes:["tox-swatches"]},components:[Rh.parts.items({preprocess:"auto"!==e?Qv({tag:"div",classes:["tox-swatches__row"]},e):w})]}]}))(n);return{value:e,dom:t.dom,components:t.components,items:o}}if("normal"===s.menuType&&"auto"===n){const t=oy(n,o);return{value:e,dom:t.dom,components:t.components,items:o}}if("normal"===s.menuType||"searchable"===s.menuType){const t="searchable"!==s.menuType?oy(n,o):"search-with-field"===s.searchMode.searchMode?((e,t,o)=>{const n=ca("aria-controls-search-results");return{dom:{tag:"div",classes:["tox-menu","tox-collection"].concat(1===e?["tox-collection--list"]:["tox-collection--grid"])},components:[Kv({i18n:Kf.translate,placeholder:o.placeholder}),{dom:{tag:"div",classes:[...1===e?["tox-collection--list"]:["tox-collection--grid"],Jv],attributes:{id:n}},components:[ty(e,t,Zv)]}]}})(n,o,s.searchMode):((e,t,o=!0)=>{const n=ca("aria-controls-search-results");return{dom:{tag:"div",classes:["tox-menu","tox-collection",Jv].concat(1===e?["tox-collection--list"]:["tox-collection--grid"]),attributes:{id:n}},components:[ty(e,t,Zv)]}})(n,o);return{value:e,dom:t.dom,components:t.components,items:o}}if("listpreview"===s.menuType&&"auto"!==n){const t=(e=>({dom:{tag:"div",classes:["tox-menu","tox-collection","tox-collection--toolbar","tox-collection--toolbar-lg"]},components:[Rh.parts.items({preprocess:Qv({tag:"div",classes:["tox-collection__group"]},e)})]}))(n);return{value:e,dom:t.dom,components:t.components,items:o}}return{value:e,dom:Nv(t,n,s.menuType),components:Vv,items:o}},iy=as("type"),ly=as("name"),cy=as("label"),dy=as("text"),uy=as("title"),my=as("icon"),gy=as("value"),py=ls("fetch"),hy=ls("getSubmenuItems"),fy=ls("onAction"),by=ls("onItemAction"),vy=_s("onSetup",(()=>b)),yy=hs("name"),xy=hs("text"),wy=hs("icon"),Sy=hs("tooltip"),ky=hs("label"),Cy=hs("shortcut"),Oy=bs("select"),_y=Os("active",!1),Ty=Os("borderless",!1),Ey=Os("enabled",!0),Ay=Os("primary",!1),My=e=>xs("columns",e),Dy=xs("meta",{}),By=_s("onAction",b),Iy=e=>ks("type",e),Fy=e=>es("name","name",yn((()=>ca(`${e}-name`))),Hn),Ry=Bn([iy,xy]),Ny=Bn([Iy("autocompleteitem"),_y,Ey,Dy,gy,xy,wy]),Vy=[Ey,Sy,wy,xy,vy],zy=Bn([iy,fy].concat(Vy)),Ly=e=>Yn("toolbarbutton",zy,e),Hy=[_y].concat(Vy),Py=Bn(Hy.concat([iy,fy])),Uy=e=>Yn("ToggleButton",Py,e),Wy=[_s("predicate",T),Cs("scope","node",["node","editor"]),Cs("position","selection",["node","selection","line"])],jy=Vy.concat([Iy("contextformbutton"),Ay,fy,ts("original",w)]),Gy=Hy.concat([Iy("contextformbutton"),Ay,fy,ts("original",w)]),$y=Vy.concat([Iy("contextformbutton")]),qy=Hy.concat([Iy("contextformtogglebutton")]),Yy=Zn("type",{contextformbutton:jy,contextformtogglebutton:Gy}),Xy=Bn([Iy("contextform"),_s("initValue",x("")),ky,us("commands",Yy),gs("launch",Zn("type",{contextformbutton:$y,contextformtogglebutton:qy}))].concat(Wy)),Ky=Bn([Iy("contexttoolbar"),as("items")].concat(Wy)),Jy=[iy,as("src"),hs("alt"),Ts("classes",[],Hn)],Zy=Bn(Jy),Qy=[iy,dy,yy,Ts("classes",["tox-collection__item-label"],Hn)],ex=Bn(Qy),tx=An((()=>Gn("type",{cardimage:Zy,cardtext:ex,cardcontainer:ox}))),ox=Bn([iy,ks("direction","horizontal"),ks("align","left"),ks("valign","middle"),us("items",tx)]),nx=[Ey,xy,Cy,("menuitem",es("value","value",yn((()=>ca("menuitem-value"))),Vn())),Dy];const sx=Bn([iy,ky,us("items",tx),vy,By].concat(nx)),rx=Bn([iy,_y,wy].concat(nx)),ax=[iy,as("fancytype"),By],ix=[xs("initData",{})].concat(ax),lx=[bs("select"),Es("initData",{},[Os("allowCustomColors",!0),ks("storageKey","default"),vs("colors",Vn())])].concat(ax),cx=Zn("fancytype",{inserttable:ix,colorswatch:lx}),dx=Bn([iy,vy,By,wy].concat(nx)),ux=Bn([iy,hy,vy,wy].concat(nx)),mx=Bn([iy,wy,_y,vy,fy].concat(nx)),gx=(e,t,o)=>{const n=Zc(e.element,"."+o);if(n.length>0){const e=$(n,(e=>{const o=e.dom.getBoundingClientRect().top,s=n[0].dom.getBoundingClientRect().top;return Math.abs(o-s)>t})).getOr(n.length);return A.some({numColumns:e,numRows:Math.ceil(n.length/e)})}return A.none()},px=e=>((e,t)=>Tl([th(e,t)]))(ca("unnamed-events"),e),hx=ca("tooltip.exclusive"),fx=ca("tooltip.show"),bx=ca("tooltip.hide"),vx=(e,t,o)=>{e.getSystem().broadcastOn([hx],{})};var yx=Object.freeze({__proto__:null,hideAllExclusive:vx,setComponents:(e,t,o,n)=>{o.getTooltip().each((e=>{e.getSystem().isConnected()&&eh.set(e,n)}))}}),xx=Object.freeze({__proto__:null,events:(e,t)=>{const o=o=>{t.getTooltip().each((n=>{Nd(n),e.onHide(o,n),t.clearTooltip()})),t.clearTimer()};return Hr(q([[Wr(fx,(o=>{t.resetTimer((()=>{(o=>{if(!t.isShowing()){vx(o);const n=e.lazySink(o).getOrDie(),s=o.getSystem().build({dom:e.tooltipDom,components:e.tooltipComponents,events:Hr("normal"===e.mode?[Wr(Ys(),(e=>{Fr(o,fx)})),Wr($s(),(e=>{Fr(o,bx)}))]:[]),behaviours:Tl([eh.config({})])});t.setTooltip(s),Id(n,s),e.onShow(o,s),_d.position(n,s,{anchor:e.anchor(o)})}})(o)}),e.delay)})),Wr(bx,(n=>{t.resetTimer((()=>{o(n)}),e.delay)})),Wr(ur(),((e,t)=>{const n=t;n.universal||R(n.channels,hx)&&o(e)})),Zr((e=>{o(e)}))],"normal"===e.mode?[Wr(Xs(),(e=>{Fr(e,fx)})),Wr(cr(),(e=>{Fr(e,bx)})),Wr(Ys(),(e=>{Fr(e,fx)})),Wr($s(),(e=>{Fr(e,bx)}))]:[Wr(Br(),((e,t)=>{Fr(e,fx)})),Wr(Ir(),(e=>{Fr(e,bx)}))]]))}}),wx=[ns("lazySink"),ns("tooltipDom"),xs("exclusive",!0),xs("tooltipComponents",[]),xs("delay",300),Cs("mode","normal",["normal","follow-highlight"]),xs("anchor",(e=>({type:"hotspot",hotspot:e,layouts:{onLtr:x([gl,ml,ll,dl,cl,ul]),onRtl:x([gl,ml,ll,dl,cl,ul])}}))),Ri("onHide"),Ri("onShow")],Sx=Object.freeze({__proto__:null,init:()=>{const e=nc(),t=nc(),o=()=>{e.on(clearTimeout)},n=x("not-implemented");return Ta({getTooltip:t.get,isShowing:t.isSet,setTooltip:t.set,clearTooltip:t.clear,clearTimer:o,resetTimer:(t,n)=>{o(),e.set(setTimeout(t,n))},readState:n})}});const kx=Al({fields:wx,name:"tooltipping",active:xx,state:Sx,apis:yx}),Cx="silver.readonly",Ox=Bn([("readonly",ss("readonly",Pn))]);const _x=(e,t)=>{const o=e.mainUi.outerContainer.element,n=[e.mainUi.mothership,...e.uiMotherships];t&&H(n,(e=>{e.broadcastOn([Qd()],{target:o})})),H(n,(e=>{e.broadcastOn([Cx],{readonly:t})}))},Tx=(e,t)=>{e.on("init",(()=>{e.mode.isReadOnly()&&_x(t,!0)})),e.on("SwitchMode",(()=>_x(t,e.mode.isReadOnly()))),fb(e)&&e.mode.set("readonly")},Ex=()=>Il.config({channels:{[Cx]:{schema:Ox,onReceive:(e,t)=>{Lm.set(e,t.readonly)}}}}),Ax=e=>Lm.config({disabled:e}),Mx=e=>Lm.config({disabled:e,disableClass:"tox-tbtn--disabled"}),Dx=e=>Lm.config({disabled:e,disableClass:"tox-tbtn--disabled",useNative:!1}),Bx=(e,t)=>{const o=e.getApi(t);return e=>{e(o)}},Ix=(e,t)=>Jr((o=>{Bx(e,o)((o=>{const n=e.onSetup(o);p(n)&&t.set(n)}))})),Fx=(e,t)=>Zr((o=>Bx(e,o)(t.get()))),Rx=(e,t)=>ea(((o,n)=>{Bx(e,o)(e.onAction),e.triggersSubmenu||t!==xv.CLOSE_ON_EXECUTE||(o.getSystem().isConnected()&&Fr(o,fr()),n.stop())})),Nx={[mr()]:["disabling","alloy.base.behaviour","toggling","item-events"]},Vx=we,zx=(e,t,o,n)=>{const s=As(b);return{type:"item",dom:t.dom,components:Vx(t.optComponents),data:e.data,eventOrder:Nx,hasSubmenu:e.triggersSubmenu,itemBehaviours:Tl([th("item-events",[Rx(e,o),Ix(e,s),Fx(e,s)]),(r=()=>!e.enabled||n.isDisabled(),Lm.config({disabled:r,disableClass:"tox-collection__item--state-disabled"})),Ex(),eh.config({})].concat(e.itemBehaviours))};var r},Lx=e=>({value:e.value,meta:{text:e.text.getOr(""),...e.meta}}),Hx=e=>{const t=mb.os.isMacOS()||mb.os.isiOS(),o=t?{alt:"\u2325",ctrl:"\u2303",shift:"\u21e7",meta:"\u2318",access:"\u2303\u2325"}:{meta:"Ctrl",access:"Shift+Alt"},n=e.split("+"),s=L(n,(e=>{const t=e.toLowerCase().trim();return ve(o,t)?o[t]:e}));return t?s.join(""):s.join("+")},Px=(e,t,o=[_v])=>rb(e,{tag:"div",classes:o},t),Ux=e=>({dom:{tag:"div",classes:[Tv]},components:[ri(Kf.translate(e))]}),Wx=(e,t)=>({dom:{tag:"div",classes:t,innerHtml:e}}),jx=(e,t)=>({dom:{tag:"div",classes:[Tv]},components:[{dom:{tag:e.tag,styles:e.styles},components:[ri(Kf.translate(t))]}]}),Gx=e=>({dom:{tag:"div",classes:["tox-collection__item-accessory"]},components:[ri(Hx(e))]}),$x=e=>Px("checkmark",e,["tox-collection__item-checkmark"]),qx=e=>{const t=e.map((e=>({attributes:{title:Kf.translate(e),id:ca("menu-item")}}))).getOr({});return{tag:"div",classes:[wv,Sv],...t}},Yx=(e,t,o,n=A.none())=>"color"===e.presets?((e,t,o)=>{const n=e.ariaLabel,s=e.value,r=e.iconContent.map((e=>((e,t,o)=>{const n=t();return tb(e,n).or(o).getOrThunk(Qf(n))})(e,t.icons,o)));return{dom:(()=>{const e=kv,o=r.getOr(""),a=n.map((e=>({title:t.translate(e)}))).getOr({}),i={tag:"div",attributes:a,classes:[e]};return"custom"===s?{...i,tag:"button",classes:[...i.classes,"tox-swatches__picker-btn"],innerHtml:o}:"remove"===s?{...i,classes:[...i.classes,"tox-swatch--remove"],innerHtml:o}:g(s)?{...i,attributes:{...i.attributes,"data-mce-color":s},styles:{"background-color":s},innerHtml:o}:i})(),optComponents:[]}})(e,t,n):((e,t,o,n)=>{const s={tag:"div",classes:[_v]},r=o?e.iconContent.map((e=>rb(e,s,t.icons,n))).orThunk((()=>A.some({dom:s}))):A.none(),a=e.checkMark,i=A.from(e.meta).fold((()=>Ux),(e=>ve(e,"style")?k(jx,e.style):Ux)),l=e.htmlContent.fold((()=>e.textContent.map(i)),(e=>A.some(Wx(e,[Tv]))));return{dom:qx(e.ariaLabel),optComponents:[r,l,e.shortcutContent.map(Gx),a,e.caret]}})(e,t,o,n),Xx=(e,t)=>be(e,"tooltipWorker").map((e=>[kx.config({lazySink:t.getSink,tooltipDom:{tag:"div",classes:["tox-tooltip-worker-container"]},tooltipComponents:[],anchor:e=>({type:"submenu",item:e,overrides:{maxHeightFunction:gc}}),mode:"follow-highlight",onShow:(t,o)=>{e((e=>{kx.setComponents(t,[ai({element:ze(e)})])}))}})])).getOr([]),Kx=(e,t)=>{const o=(e=>db.DOM.encode(e))(Kf.translate(e));if(t.length>0){const e=new RegExp((e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(t),"gi");return o.replace(e,(e=>`${e}`))}return o},Jx=(e,t)=>L(e,(e=>{switch(e.type){case"cardcontainer":return((e,t)=>{const o="vertical"===e.direction?"tox-collection__item-container--column":Dv,n="left"===e.align?"tox-collection__item-container--align-left":"tox-collection__item-container--align-right";return{dom:{tag:"div",classes:[Mv,o,n,(()=>{switch(e.valign){case"top":return"tox-collection__item-container--valign-top";case"middle":return"tox-collection__item-container--valign-middle";case"bottom":return"tox-collection__item-container--valign-bottom"}})()]},components:t}})(e,Jx(e.items,t));case"cardimage":return((e,t,o)=>({dom:{tag:"img",classes:t,attributes:{src:e,alt:o.getOr("")}}}))(e.src,e.classes,e.alt);case"cardtext":const o=e.name.exists((e=>R(t.cardText.highlightOn,e))),n=o?A.from(t.cardText.matchText).getOr(""):"";return Wx(Kx(e.text,n),e.classes)}})),Zx=Qu(Eh(),Ah()),Qx=e=>({value:nw(e)}),ew=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,tw=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,ow=e=>ew.test(e)||tw.test(e),nw=e=>_e(e,"#").toUpperCase(),sw=e=>{const t=e.toString(16);return(1===t.length?"0"+t:t).toUpperCase()},rw=e=>{const t=sw(e.red)+sw(e.green)+sw(e.blue);return Qx(t)},aw=Math.min,iw=Math.max,lw=Math.round,cw=/^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)\s*$/i,dw=/^\s*rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?(?:\.\d+)?)\s*\)\s*$/i,uw=(e,t,o,n)=>({red:e,green:t,blue:o,alpha:n}),mw=e=>{const t=parseInt(e,10);return t.toString()===e&&t>=0&&t<=255},gw=e=>{let t,o,n;const s=(e.hue||0)%360;let r=e.saturation/100,a=e.value/100;if(r=iw(0,aw(r,1)),a=iw(0,aw(a,1)),0===r)return t=o=n=lw(255*a),uw(t,o,n,1);const i=s/60,l=a*r,c=l*(1-Math.abs(i%2-1)),d=a-l;switch(Math.floor(i)){case 0:t=l,o=c,n=0;break;case 1:t=c,o=l,n=0;break;case 2:t=0,o=l,n=c;break;case 3:t=0,o=c,n=l;break;case 4:t=c,o=0,n=l;break;case 5:t=l,o=0,n=c;break;default:t=o=n=0}return t=lw(255*(t+d)),o=lw(255*(o+d)),n=lw(255*(n+d)),uw(t,o,n,1)},pw=e=>{const t=(e=>{const t=(e=>{const t=e.value.replace(ew,((e,t,o,n)=>t+t+o+o+n+n));return{value:t}})(e),o=tw.exec(t.value);return null===o?["FFFFFF","FF","FF","FF"]:o})(e),o=parseInt(t[1],16),n=parseInt(t[2],16),s=parseInt(t[3],16);return uw(o,n,s,1)},hw=(e,t,o,n)=>{const s=parseInt(e,10),r=parseInt(t,10),a=parseInt(o,10),i=parseFloat(n);return uw(s,r,a,i)},fw=e=>{if("transparent"===e)return A.some(uw(0,0,0,0));const t=cw.exec(e);if(null!==t)return A.some(hw(t[1],t[2],t[3],"1"));const o=dw.exec(e);return null!==o?A.some(hw(o[1],o[2],o[3],o[4])):A.none()},bw=e=>`rgba(${e.red},${e.green},${e.blue},${e.alpha})`,vw=uw(255,0,0,1),yw=(e,t)=>{e.dispatch("ResizeContent",t)},xw=(e,t)=>{e.dispatch("TextColorChange",t)},ww=(e,t)=>e.dispatch("ResolveName",{name:t.nodeName.toLowerCase(),target:t}),Sw=(e,t)=>()=>{e(),t()},kw=e=>Ow(e,"NodeChange",(t=>{t.setEnabled(e.selection.isEditable())})),Cw=(e,t)=>o=>{const n=kw(e)(o),s=((e,t)=>o=>{const n=oc(),s=()=>{o.setActive(e.formatter.match(t));const s=e.formatter.formatChanged(t,o.setActive);n.set(s)};return e.initialized?s():e.once("init",s),()=>{e.off("init",s),n.clear()}})(e,t)(o);return()=>{n(),s()}},Ow=(e,t,o)=>n=>{const s=()=>o(n),r=()=>{o(n),e.on(t,s)};return e.initialized?r():e.once("init",r),()=>{e.off("init",r),e.off(t,s)}},_w=e=>t=>()=>{e.undoManager.transact((()=>{e.focus(),e.execCommand("mceToggleFormat",!1,t.format)}))},Tw=(e,t)=>()=>e.execCommand(t);var Ew=tinymce.util.Tools.resolve("tinymce.util.LocalStorage");const Aw={},Mw=e=>be(Aw,e).getOrThunk((()=>{const t=`tinymce-custom-colors-${e}`,o=Ew.getItem(t);if(m(o)){const e=Ew.getItem("tinymce-custom-colors");Ew.setItem(t,g(e)?e:"[]")}const n=((e,t=10)=>{const o=Ew.getItem(e),n=r(o)?JSON.parse(o):[],s=t-(a=n).length<0?a.slice(0,t):a;var a;const i=e=>{s.splice(e,1)};return{add:o=>{F(s,o).each(i),s.unshift(o),s.length>t&&s.pop(),Ew.setItem(e,JSON.stringify(s))},state:()=>s.slice(0)}})(t,10);return Aw[e]=n,n})),Dw=(e,t)=>{Mw(e).add(t)},Bw=(e,t,o)=>({hue:e,saturation:t,value:o}),Iw=e=>{let t=0,o=0,n=0;const s=e.red/255,r=e.green/255,a=e.blue/255,i=Math.min(s,Math.min(r,a)),l=Math.max(s,Math.max(r,a));return i===l?(n=i,Bw(0,0,100*n)):(t=s===i?3:a===i?1:5,t=60*(t-(s===i?r-a:a===i?s-r:a-s)/(l-i)),o=(l-i)/l,n=l,Bw(Math.round(t),Math.round(100*o),Math.round(100*n)))},Fw=e=>rw(gw(e)),Rw=e=>{return(t=e,ow(t)?A.some({value:nw(t)}):A.none()).orThunk((()=>fw(e).map(rw))).getOrThunk((()=>{const t=document.createElement("canvas");t.height=1,t.width=1;const o=t.getContext("2d");o.clearRect(0,0,t.width,t.height),o.fillStyle="#FFFFFF",o.fillStyle=e,o.fillRect(0,0,1,1);const n=o.getImageData(0,0,1,1).data,s=n[0],r=n[1],a=n[2],i=n[3];return rw(uw(s,r,a,i))}));var t},Nw="forecolor",Vw="hilitecolor",zw=e=>{const t=[];for(let o=0;ot=>t.options.get(e),Hw="#000000",Pw=(e,t)=>t===Nw&&e.options.isSet("color_map_foreground")?Lw("color_map_foreground")(e):t===Vw&&e.options.isSet("color_map_background")?Lw("color_map_background")(e):Lw("color_map")(e),Uw=(e,t="default")=>Math.max(5,Math.ceil(Math.sqrt(Pw(e,t).length))),Ww=(e,t)=>{const o=Lw("color_cols")(e),n=Uw(e,t);return o===Uw(e)?n:o},jw=(e,t="default")=>Math.round(t===Nw?Lw("color_cols_foreground")(e):t===Vw?Lw("color_cols_background")(e):Lw("color_cols")(e)),Gw=Lw("custom_colors"),$w=Lw("color_default_foreground"),qw=Lw("color_default_background"),Yw=(e,t)=>{const o=ze(e.selection.getStart()),n="hilitecolor"===t?Rs(o,(e=>{if($e(e)){const t=Rt(e,"background-color");return Ce(fw(t).exists((e=>0!==e.alpha)),t)}return A.none()})).getOr("rgba(0, 0, 0, 0)"):Rt(o,"color");return fw(n).map((e=>"#"+rw(e).value))},Xw=e=>{const t="choiceitem",o={type:t,text:"Remove color",icon:"color-swatch-remove-color",value:"remove"};return e?[o,{type:t,text:"Custom color",icon:"color-picker",value:"custom"}]:[o]},Kw=(e,t,o,n)=>{"custom"===o?rS(e)((o=>{o.each((o=>{Dw(t,o),e.execCommand("mceApplyTextcolor",t,o),n(o)}))}),Yw(e,t).getOr(Hw)):"remove"===o?(n(""),e.execCommand("mceRemoveTextcolor",t)):(n(o),e.execCommand("mceApplyTextcolor",t,o))},Jw=(e,t,o)=>e.concat((e=>L(Mw(e).state(),(e=>({type:"choiceitem",text:e,icon:"checkmark",value:e}))))(t).concat(Xw(o))),Zw=(e,t,o)=>n=>{n(Jw(e,t,o))},Qw=(e,t,o)=>{const n="forecolor"===t?"tox-icon-text-color__color":"tox-icon-highlight-bg-color__color";e.setIconFill(n,o)},eS=(e,t)=>{e.setTooltip(t)},tS=(e,t)=>o=>{const n=Yw(e,t);return xe(n,o.toUpperCase())},oS=(e,t,o)=>{if(Be(o))return"forecolor"===t?"Text color":"Background color";const n="forecolor"===t?"Text color {0}":"Background color {0}",s=Jw(Pw(e,t),t,!1),r=G(s,(e=>e.value===o)).getOr({text:""}).text;return e.translate([n,e.translate(r)])},nS=(e,t,o,n)=>{e.ui.registry.addSplitButton(t,{tooltip:oS(e,o,n.get()),presets:"color",icon:"forecolor"===t?"text-color":"highlight-bg-color",select:tS(e,o),columns:jw(e,o),fetch:Zw(Pw(e,o),o,Gw(e)),onAction:t=>{Kw(e,o,n.get(),b)},onItemAction:(s,r)=>{Kw(e,o,r,(o=>{n.set(o),xw(e,{name:t,color:o})}))},onSetup:s=>{Qw(s,t,n.get());const r=n=>{n.name===t&&(Qw(s,n.name,n.color),eS(s,oS(e,o,n.color)))};return e.on("TextColorChange",r),Sw(kw(e)(s),(()=>{e.off("TextColorChange",r)}))}})},sS=(e,t,o,n,s)=>{e.ui.registry.addNestedMenuItem(t,{text:n,icon:"forecolor"===t?"text-color":"highlight-bg-color",onSetup:n=>(eS(n,oS(e,o,s.get())),Qw(n,t,s.get()),kw(e)(n)),getSubmenuItems:()=>[{type:"fancymenuitem",fancytype:"colorswatch",select:tS(e,o),initData:{storageKey:o},onAction:n=>{Kw(e,o,n.value,(o=>{s.set(o),xw(e,{name:t,color:o})}))}}]})},rS=e=>(t,o)=>{let n=!1;const s={colorpicker:o};e.windowManager.open({title:"Color Picker",size:"normal",body:{type:"panel",items:[{type:"colorpicker",name:"colorpicker",label:"Color"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:s,onAction:(e,t)=>{"hex-valid"===t.name&&(n=t.value)},onSubmit:o=>{const s=o.getData().colorpicker;n?(t(A.from(s)),o.close()):e.windowManager.alert(e.translate(["Invalid hex color code: {0}",s]))},onClose:b,onCancel:()=>{t(A.none())}})},aS=(e,t,o,n,s,r,a,i)=>{const l=ny(t),c=iS(t,o,n,"color"!==s?"normal":"color",r,a,i);return ay(e,l,c,n,{menuType:s})},iS=(e,t,o,n,s,r,a)=>we(L(e,(i=>{return"choiceitem"===i.type?(l=i,Yn("choicemenuitem",rx,l)).fold(sy,(i=>A.some(((e,t,o,n,s,r,a,i=!0)=>{const l=Yx({presets:o,textContent:t?e.text:A.none(),htmlContent:A.none(),ariaLabel:e.text,iconContent:e.icon,shortcutContent:t?e.shortcut:A.none(),checkMark:t?A.some($x(a.icons)):A.none(),caret:A.none(),value:e.value},a,i);return bn(zx({data:Lx(e),enabled:e.enabled,getApi:e=>({setActive:t=>{ph.set(e,t)},isActive:()=>ph.isOn(e),isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t)}),onAction:t=>n(e.value),onSetup:e=>(e.setActive(s),b),triggersSubmenu:!1,itemBehaviours:[]},l,r,a),{toggling:{toggleClass:Ov,toggleOnExecute:!1,selected:e.active,exclusive:!0}})})(i,1===o,n,t,r(i.value),s,a,ny(e))))):A.none();var l}))),lS=(e,t)=>{const o=Rv(t);return 1===e?{mode:"menu",moveOnTab:!0}:"auto"===e?{mode:"grid",selector:"."+o.item,initSize:{numColumns:1,numRows:1}}:{mode:"matrix",rowSelector:"."+("color"===t?"tox-swatches__row":"tox-collection__group"),previousSelector:e=>"color"===t?vi(e.element,"[aria-checked=true]"):A.none()}},cS=ca("cell-over"),dS=ca("cell-execute"),uS=(e,t,o)=>{const n=o=>Rr(o,dS,{row:e,col:t}),s=(e,t)=>{t.stop(),n(e)};return ci({dom:{tag:"div",attributes:{role:"button","aria-label":o}},behaviours:Tl([th("insert-table-picker-cell",[Wr(Ys(),ah.focus),Wr(mr(),n),Wr(tr(),s),Wr(pr(),s)]),ph.config({toggleClass:"tox-insert-table-picker__selected",toggleOnExecute:!1}),ah.config({onFocus:o=>Rr(o,cS,{row:e,col:t})})])})},mS=e=>Y(e,(e=>L(e,di))),gS=(e,t)=>ri(`${t}x${e}`),pS={inserttable:(e,t)=>{const o=(e=>(t,o)=>e.shared.providers.translate(["{0} columns, {1} rows",o,t]))(t),n=((e,t,o)=>{const n=[];for(let t=0;t<10;t++){const o=[];for(let n=0;n<10;n++){const s=e(t+1,n+1);o.push(uS(t,n,s))}n.push(o)}return n})(o),s=gS(0,0),r=Xh({dom:{tag:"span",classes:["tox-insert-table-picker__label"]},components:[s],behaviours:Tl([eh.config({})])});return{type:"widget",data:{value:ca("widget-id")},dom:{tag:"div",classes:["tox-fancymenuitem"]},autofocus:!0,components:[Zx.widget({dom:{tag:"div",classes:["tox-insert-table-picker"]},components:mS(n).concat(r.asSpec()),behaviours:Tl([th("insert-table-picker",[Jr((e=>{eh.set(r.get(e),[s])})),qr(cS,((e,t,o)=>{const{row:s,col:a}=o.event;((e,t,o,n,s)=>{for(let n=0;n<10;n++)for(let s=0;s<10;s++)ph.set(e[n][s],n<=t&&s<=o)})(n,s,a),eh.set(r.get(e),[gS(s+1,a+1)])})),qr(dS,((t,o,n)=>{const{row:s,col:r}=n.event;e.onAction({numRows:s+1,numColumns:r+1}),Fr(t,fr())}))]),Gp.config({initSize:{numRows:10,numColumns:10},mode:"flatgrid",selector:'[role="button"]'})])})]}},colorswatch:(e,t)=>{const o=((e,t)=>{const o=e.initData.allowCustomColors&&t.colorinput.hasCustomColors();return e.initData.colors.fold((()=>Jw(t.colorinput.getColors(e.initData.storageKey),e.initData.storageKey,o)),(e=>e.concat(Xw(o))))})(e,t),n=t.colorinput.getColorCols(e.initData.storageKey),s="color",r={...aS(ca("menu-value"),o,(t=>{e.onAction({value:t})}),n,s,xv.CLOSE_ON_EXECUTE,e.select.getOr(T),t.shared.providers),markers:Rv(s),movement:lS(n,s)};return{type:"widget",data:{value:ca("widget-id")},dom:{tag:"div",classes:["tox-fancymenuitem"]},autofocus:!0,components:[Zx.widget(Rh.sketch(r))]}}},hS=e=>({type:"separator",dom:{tag:"div",classes:[Sv,"tox-collection__group-heading"]},components:e.text.map(ri).toArray()});var fS=Object.freeze({__proto__:null,getCoupled:(e,t,o,n)=>o.getOrCreate(e,t,n),getExistingCoupled:(e,t,o,n)=>o.getExisting(e,t,n)}),bS=[ss("others",qn(rn.value,Vn()))],vS=Object.freeze({__proto__:null,init:()=>{const e={},t=(t,o)=>{if(0===ae(t.others).length)throw new Error("Cannot find any known coupled components");return be(e,o)},o=x({});return Ta({readState:o,getExisting:(e,o,n)=>t(o,n).orThunk((()=>(be(o.others,n).getOrDie("No information found for coupled component: "+n),A.none()))),getOrCreate:(o,n,s)=>t(n,s).getOrThunk((()=>{const t=be(n.others,s).getOrDie("No information found for coupled component: "+s)(o),r=o.getSystem().build(t);return e[s]=r,r}))})}});const yS=Al({fields:bS,name:"coupling",apis:fS,state:vS}),xS=e=>{let t=A.none(),o=[];const n=e=>{s()?r(e):o.push(e)},s=()=>t.isSome(),r=e=>{t.each((t=>{setTimeout((()=>{e(t)}),0)}))};return e((e=>{s()||(t=A.some(e),H(o,r),o=[])})),{get:n,map:e=>xS((t=>{n((o=>{t(e(o))}))})),isReady:s}},wS={nu:xS,pure:e=>xS((t=>{t(e)}))},SS=e=>{setTimeout((()=>{throw e}),0)},kS=e=>{const t=t=>{e().then(t,SS)};return{map:t=>kS((()=>e().then(t))),bind:t=>kS((()=>e().then((e=>t(e).toPromise())))),anonBind:t=>kS((()=>e().then((()=>t.toPromise())))),toLazy:()=>wS.nu(t),toCached:()=>{let t=null;return kS((()=>(null===t&&(t=e()),t)))},toPromise:e,get:t}},CS=e=>kS((()=>new Promise(e))),OS=e=>kS((()=>Promise.resolve(e))),_S=x("sink"),TS=x(Yu({name:_S(),overrides:x({dom:{tag:"div"},behaviours:Tl([_d.config({useFixed:E})]),events:Hr([Yr(Js()),Yr(js()),Yr(tr())])})})),ES=(e,t)=>{const o=e.getHotspot(t).getOr(t),n="hotspot",s=e.getAnchorOverrides();return e.layouts.fold((()=>({type:n,hotspot:o,overrides:s})),(e=>({type:n,hotspot:o,overrides:s,layouts:e})))},AS=(e,t,o,n,s,r,a)=>{const i=((e,t,o,n,s,r,a)=>{const i=((e,t,o)=>(0,e.fetch)(o).map(t))(e,t,n),l=BS(n,e);return i.map((e=>e.bind((e=>A.from(jh.sketch({...r.menu(),uid:fa(""),data:e,highlightOnOpen:a,onOpenMenu:(e,t)=>{const n=l().getOrDie();_d.position(n,t,{anchor:o}),Zd.decloak(s)},onOpenSubmenu:(e,t,o)=>{const n=l().getOrDie();_d.position(n,o,{anchor:{type:"submenu",item:t}}),Zd.decloak(s)},onRepositionMenu:(e,t,n)=>{const s=l().getOrDie();_d.position(s,t,{anchor:o}),H(n,(e=>{_d.position(s,e.triggeredMenu,{anchor:{type:"submenu",item:e.triggeringItem}})}))},onEscape:()=>(ah.focus(n),Zd.close(s),A.some(!0))}))))))})(e,t,ES(e,o),o,n,s,a);return i.map((e=>(e.fold((()=>{Zd.isOpen(n)&&Zd.close(n)}),(e=>{Zd.cloak(n),Zd.open(n,e),r(n)})),n)))},MS=(e,t,o,n,s,r,a)=>(Zd.close(n),OS(n)),DS=(e,t,o,n,s,r)=>{const a=yS.getCoupled(o,"sandbox");return(Zd.isOpen(a)?MS:AS)(e,t,o,a,n,s,r)},BS=(e,t)=>e.getSystem().getByUid(t.uid+"-"+_S()).map((e=>()=>rn.value(e))).getOrThunk((()=>t.lazySink.fold((()=>()=>rn.error(new Error("No internal sink is specified, nor could an external sink be found"))),(t=>()=>t(e))))),IS=e=>{Zd.getState(e).each((e=>{jh.repositionMenus(e)}))},FS=(e,t,o)=>{const n=wi(),s=BS(t,e);return{dom:{tag:"div",classes:e.sandboxClasses,attributes:{id:n.id,role:"listbox"}},behaviours:ku(e.sandboxBehaviours,[vu.config({store:{mode:"memory",initialValue:t}}),Zd.config({onOpen:(s,r)=>{const a=ES(e,t);n.link(t.element),e.matchWidth&&((e,t,o)=>{const n=Om.getCurrent(t).getOr(t),s=Zt(e.element);o?Bt(n.element,"min-width",s+"px"):((e,t)=>{Jt.set(e,t)})(n.element,s)})(a.hotspot,r,e.useMinWidth),e.onOpen(a,s,r),void 0!==o&&void 0!==o.onOpen&&o.onOpen(s,r)},onClose:(e,s)=>{n.unlink(t.element),void 0!==o&&void 0!==o.onClose&&o.onClose(e,s)},isPartOf:(e,o,n)=>Si(o,n)||Si(t,n),getAttachPoint:()=>s().getOrDie()}),Om.config({find:e=>Zd.getState(e).bind((e=>Om.getCurrent(e)))}),Il.config({channels:{...nu({isExtraPart:T}),...ru({doReposition:IS})}})])}},RS=e=>{const t=yS.getCoupled(e,"sandbox");IS(t)},NS=()=>[xs("sandboxClasses",[]),Su("sandboxBehaviours",[Om,Il,Zd,vu])],VS=x([ns("dom"),ns("fetch"),Ri("onOpen"),Ni("onExecute"),xs("getHotspot",A.some),xs("getAnchorOverrides",x({})),Oc(),yu("dropdownBehaviours",[ph,yS,Gp,ah]),ns("toggleClass"),xs("eventOrder",{}),ms("lazySink"),xs("matchWidth",!1),xs("useMinWidth",!1),ms("role")].concat(NS())),zS=x([qu({schema:[Bi(),xs("fakeFocus",!1)],name:"menu",defaults:e=>({onExecute:e.onExecute})}),TS()]),LS=wm({name:"Dropdown",configFields:VS(),partFields:zS(),factory:(e,t,o,n)=>{const s=e=>{Zd.getState(e).each((e=>{jh.highlightPrimary(e)}))},r=(t,o,s)=>DS(e,w,t,n,o,s),a={expand:e=>{ph.isOn(e)||r(e,b,Uh.HighlightNone).get(b)},open:e=>{ph.isOn(e)||r(e,b,Uh.HighlightMenuAndItem).get(b)},refetch:t=>yS.getExistingCoupled(t,"sandbox").fold((()=>r(t,b,Uh.HighlightMenuAndItem).map(b)),(o=>AS(e,w,t,o,n,b,Uh.HighlightMenuAndItem).map(b))),isOpen:ph.isOn,close:e=>{ph.isOn(e)&&r(e,b,Uh.HighlightMenuAndItem).get(b)},repositionMenus:e=>{ph.isOn(e)&&RS(e)}},i=(e,t)=>(Nr(e),A.some(!0));return{uid:e.uid,dom:e.dom,components:t,behaviours:wu(e.dropdownBehaviours,[ph.config({toggleClass:e.toggleClass,aria:{mode:"expanded"}}),yS.config({others:{sandbox:t=>FS(e,t,{onOpen:()=>ph.on(t),onClose:()=>ph.off(t)})}}),Gp.config({mode:"special",onSpace:i,onEnter:i,onDown:(e,t)=>{if(LS.isOpen(e)){const t=yS.getCoupled(e,"sandbox");s(t)}else LS.open(e);return A.some(!0)},onEscape:(e,t)=>LS.isOpen(e)?(LS.close(e),A.some(!0)):A.none()}),ah.config({})]),events:fh(A.some((e=>{r(e,s,Uh.HighlightMenuAndItem).get(b)}))),eventOrder:{...e.eventOrder,[mr()]:["disabling","toggling","alloy.base.behaviour"]},apis:a,domModification:{attributes:{"aria-haspopup":"true",...e.role.fold((()=>({})),(e=>({role:e}))),..."button"===e.dom.tag?{type:("type",be(e.dom,"attributes").bind((e=>be(e,"type")))).getOr("button")}:{}}}}},apis:{open:(e,t)=>e.open(t),refetch:(e,t)=>e.refetch(t),expand:(e,t)=>e.expand(t),close:(e,t)=>e.close(t),isOpen:(e,t)=>e.isOpen(t),repositionMenus:(e,t)=>e.repositionMenus(t)}}),HS=(e,t,o)=>{Yv(e).each((e=>{var n;((e,t)=>{Tt(t.element,"id").each((t=>Ct(e.element,"aria-activedescendant",t)))})(e,o),($a((n=t).element,Jv)?A.some(n.element):vi(n.element,"."+Jv)).each((t=>{Tt(t,"id").each((t=>Ct(e.element,"aria-controls",t)))}))})),Ct(o.element,"aria-selected","true")},PS=(e,t,o)=>{Ct(o.element,"aria-selected","false")},US=e=>yS.getExistingCoupled(e,"sandbox").bind(qv).map(Xv).map((e=>e.fetchPattern)).getOr("");var WS;!function(e){e[e.ContentFocus=0]="ContentFocus",e[e.UiFocus=1]="UiFocus"}(WS||(WS={}));const jS=(e,t,o,n,s)=>{const r=o.shared.providers,a=e=>s?{...e,shortcut:A.none(),icon:e.text.isSome()?A.none():e.icon}:e;switch(e.type){case"menuitem":return(i=e,Yn("menuitem",dx,i)).fold(sy,(e=>A.some(((e,t,o,n=!0)=>{const s=Yx({presets:"normal",iconContent:e.icon,textContent:e.text,htmlContent:A.none(),ariaLabel:e.text,caret:A.none(),checkMark:A.none(),shortcutContent:e.shortcut},o,n);return zx({data:Lx(e),getApi:e=>({isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t)}),enabled:e.enabled,onAction:e.onAction,onSetup:e.onSetup,triggersSubmenu:!1,itemBehaviours:[]},s,t,o)})(a(e),t,r,n))));case"nestedmenuitem":return(e=>Yn("nestedmenuitem",ux,e))(e).fold(sy,(e=>A.some(((e,t,o,n=!0,s=!1)=>{const r=s?(a=o.icons,Px("chevron-down",a,[Ev])):(e=>Px("chevron-right",e,[Ev]))(o.icons);var a;const i=Yx({presets:"normal",iconContent:e.icon,textContent:e.text,htmlContent:A.none(),ariaLabel:e.text,caret:A.some(r),checkMark:A.none(),shortcutContent:e.shortcut},o,n);return zx({data:Lx(e),getApi:e=>({isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t),setIconFill:(t,o)=>{vi(e.element,`svg path[class="${t}"], rect[class="${t}"]`).each((e=>{Ct(e,"fill",o)}))},setTooltip:t=>{const n=o.translate(t);Ot(e.element,{"aria-label":n,title:n})}}),enabled:e.enabled,onAction:b,onSetup:e.onSetup,triggersSubmenu:!0,itemBehaviours:[]},i,t,o)})(a(e),t,r,n,s))));case"togglemenuitem":return(e=>Yn("togglemenuitem",mx,e))(e).fold(sy,(e=>A.some(((e,t,o,n=!0)=>{const s=Yx({iconContent:e.icon,textContent:e.text,htmlContent:A.none(),ariaLabel:e.text,checkMark:A.some($x(o.icons)),caret:A.none(),shortcutContent:e.shortcut,presets:"normal",meta:e.meta},o,n);return bn(zx({data:Lx(e),enabled:e.enabled,getApi:e=>({setActive:t=>{ph.set(e,t)},isActive:()=>ph.isOn(e),isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t)}),onAction:e.onAction,onSetup:e.onSetup,triggersSubmenu:!1,itemBehaviours:[]},s,t,o),{toggling:{toggleClass:Ov,toggleOnExecute:!1,selected:e.active}})})(a(e),t,r,n))));case"separator":return(e=>Yn("separatormenuitem",Ry,e))(e).fold(sy,(e=>A.some(hS(e))));case"fancymenuitem":return(e=>Yn("fancymenuitem",cx,e))(e).fold(sy,(e=>((e,t)=>be(pS,e.fancytype).map((o=>o(e,t))))(e,o)));default:return console.error("Unknown item in general menu",e),A.none()}var i},GS=(e,t,o,n,s,r,a)=>{const i=1===n,l=!i||ny(e);return we(L(e,(e=>{switch(e.type){case"separator":return(n=e,Yn("Autocompleter.Separator",Ry,n)).fold(sy,(e=>A.some(hS(e))));case"cardmenuitem":return(e=>Yn("cardmenuitem",sx,e))(e).fold(sy,(e=>A.some(((e,t,o,n)=>{const s={dom:qx(e.label),optComponents:[A.some({dom:{tag:"div",classes:[Mv,Dv]},components:Jx(e.items,n)})]};return zx({data:Lx({text:A.none(),...e}),enabled:e.enabled,getApi:e=>({isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>{Lm.set(e,!t),H(Zc(e.element,"*"),(o=>{e.getSystem().getByDom(o).each((e=>{e.hasConfigured(Lm)&&Lm.set(e,!t)}))}))}}),onAction:e.onAction,onSetup:e.onSetup,triggersSubmenu:!1,itemBehaviours:A.from(n.itemBehaviours).getOr([])},s,t,o.providers)})({...e,onAction:t=>{e.onAction(t),o(e.value,e.meta)}},s,r,{itemBehaviours:Xx(e.meta,r),cardText:{matchText:t,highlightOn:a}}))));default:return(e=>Yn("Autocompleter.Item",Ny,e))(e).fold(sy,(e=>A.some(((e,t,o,n,s,r,a,i=!0)=>{const l=Yx({presets:n,textContent:A.none(),htmlContent:o?e.text.map((e=>Kx(e,t))):A.none(),ariaLabel:e.text,iconContent:e.icon,shortcutContent:A.none(),checkMark:A.none(),caret:A.none(),value:e.value},a.providers,i,e.icon);return zx({data:Lx(e),enabled:e.enabled,getApi:x({}),onAction:t=>s(e.value,e.meta),onSetup:x(b),triggersSubmenu:!1,itemBehaviours:Xx(e.meta,a)},l,r,a.providers)})(e,t,i,"normal",o,s,r,l))))}var n})))},$S=(e,t,o,n,s,r)=>{const a=ny(t),i=we(L(t,(e=>{const t=e=>jS(e,o,n,(e=>s?!ve(e,"text"):a)(e),s);return"nestedmenuitem"===e.type&&e.getSubmenuItems().length<=0?t({...e,enabled:!1}):t(e)}))),l=(e=>"no-search"===e.searchMode?{menuType:"normal"}:{menuType:"searchable",searchMode:e})(r);return(s?ry:ay)(e,a,i,1,l)},qS=e=>jh.singleData(e.value,e),YS=(e,t)=>{const o=ca("autocompleter"),n=As(!1),s=As(!1),r=ci(Gh.sketch({dom:{tag:"div",classes:["tox-autocompleter"],attributes:{id:o}},components:[],fireDismissalEventInstead:{},inlineBehaviours:Tl([th("dismissAutocompleter",[Wr(Or(),(()=>d())),Wr(Br(),((t,o)=>{Tt(o.event.target,"id").each((t=>Ct(ze(e.getBody()),"aria-activedescendant",t)))}))])]),lazySink:t.getSink})),a=()=>Gh.isOpen(r),i=s.get,l=()=>{if(a()){Gh.hide(r),e.dom.remove(o,!1);const t=ze(e.getBody());Tt(t,"aria-owns").filter((e=>e===o)).each((()=>{At(t,"aria-owns"),At(t,"aria-activedescendant")}))}},c=()=>Gh.getContent(r).bind((e=>te(e.components(),0))),d=()=>e.execCommand("mceAutocompleterClose"),u=s=>{const a=(o=>{const s=re(o,(e=>A.from(e.columns))).getOr(1);return Y(o,(o=>{const r=o.items;return GS(r,o.matchText,((t,s)=>{const r=e.selection.getRng();((e,t)=>vv(ze(t.startContainer)).map((t=>{const o=e.createRng();return o.selectNode(t.dom),o})))(e.dom,r).each((r=>{const a={hide:()=>d(),reload:t=>{l(),e.execCommand("mceAutocompleterReload",!1,{fetchOptions:t})}};n.set(!0),o.onAction(a,r,t,s),n.set(!1)}))}),s,xv.BUBBLE_TO_SANDBOX,t,o.highlightOn)}))})(s);a.length>0?(((t,o)=>{var n;(n=ze(e.getBody()),vi(n,bv)).each((n=>{const s=re(t,(e=>A.from(e.columns))).getOr(1);Gh.showMenuAt(r,{anchor:{type:"node",root:ze(e.getBody()),node:A.from(n)}},((e,t,o,n)=>{const s=lS(t,n),r=Rv(n);return{data:qS({...e,movement:s,menuBehaviours:px("auto"!==t?[]:[Jr(((e,t)=>{gx(e,4,r.item).each((({numColumns:t,numRows:o})=>{Gp.setGridSize(e,o,t)}))}))])}),menu:{markers:Rv(n),fakeFocus:o===WS.ContentFocus}}})(ay("autocompleter-value",!0,o,s,{menuType:"normal"}),s,WS.ContentFocus,"normal"))})),c().each(Xm.highlightFirst)})(s,a),Ct(ze(e.getBody()),"aria-owns",o),e.inline||m()):l()},m=()=>{e.dom.get(o)&&e.dom.remove(o,!1);const t=e.getDoc().documentElement,n=e.selection.getNode(),s=(e=>na(e,!0))(r.element);It(s,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px",top:`${n.offsetTop}px`,left:`${n.offsetLeft}px`}),e.dom.add(t,s.dom),vi(s,'[role="menu"]').each((e=>{Ht(e,"position"),Ht(e,"max-height")}))};e.on("AutocompleterStart",(({lookupData:e})=>{s.set(!0),n.set(!1),u(e)})),e.on("AutocompleterUpdate",(({lookupData:e})=>u(e))),e.on("AutocompleterEnd",(()=>{l(),s.set(!1),n.set(!1)}));((e,t)=>{const o=(e,t)=>{Rr(e,Js(),{raw:t})},n=()=>e.getMenu().bind(Xm.getHighlighted);t.on("keydown",(t=>{const s=t.which;e.isActive()&&(e.isMenuOpen()?13===s?(n().each(Nr),t.preventDefault()):40===s?(n().fold((()=>{e.getMenu().each(Xm.highlightFirst)}),(e=>{o(e,t)})),t.preventDefault(),t.stopImmediatePropagation()):37!==s&&38!==s&&39!==s||n().each((e=>{o(e,t),t.preventDefault(),t.stopImmediatePropagation()})):13!==s&&38!==s&&40!==s||e.cancelIfNecessary())})),t.on("NodeChange",(t=>{e.isActive()&&!e.isProcessingAction()&&vv(ze(t.element)).isNone()&&e.cancelIfNecessary()}))})({cancelIfNecessary:d,isMenuOpen:a,isActive:i,isProcessingAction:n.get,getMenu:c},e)},XS=["visible","hidden","clip"],KS=e=>Me(e).length>0&&!R(XS,e),JS=e=>{if(Ge(e)){const t=Rt(e,"overflow-x"),o=Rt(e,"overflow-y");return KS(t)||KS(o)}return!1},ZS=(e,t)=>pv(e)?(e=>{const t=Jc(e,JS),o=0===t.length?vt(e).map(yt).map((e=>Jc(e,JS))).getOr([]):t;return oe(o).map((e=>({element:e,others:o.slice(1)})))})(t):A.none(),QS=e=>{const t=[...L(e.others,Zo),tn()];return((e,t)=>j(t,((e,t)=>en(e,t)),e))(Zo(e.element),t)},ek=(e,t,o)=>yi(e,t,o).isSome(),tk=(e,t)=>{let o=null;return{cancel:()=>{null!==o&&(clearTimeout(o),o=null)},schedule:(...n)=>{o=setTimeout((()=>{e.apply(null,n),o=null}),t)}}},ok=e=>{const t=e.raw;return void 0===t.touches||1!==t.touches.length?A.none():A.some(t.touches[0])},nk=(e,t)=>{const o={stopBackspace:!0,...t},n=(e=>{const t=nc(),o=As(!1),n=tk((t=>{e.triggerEvent(hr(),t),o.set(!0)}),400),s=Bs([{key:Hs(),value:e=>(ok(e).each((s=>{n.cancel();const r={x:s.clientX,y:s.clientY,target:e.target};n.schedule(e),o.set(!1),t.set(r)})),A.none())},{key:Ps(),value:e=>(n.cancel(),ok(e).each((e=>{t.on((o=>{((e,t)=>{const o=Math.abs(e.clientX-t.x),n=Math.abs(e.clientY-t.y);return o>5||n>5})(e,o)&&t.clear()}))})),A.none())},{key:Us(),value:s=>(n.cancel(),t.get().filter((e=>Qe(e.target,s.target))).map((t=>o.get()?(s.prevent(),!1):e.triggerEvent(pr(),s))))}]);return{fireIfReady:(e,t)=>be(s,t).bind((t=>t(e)))}})(o),s=L(["touchstart","touchmove","touchend","touchcancel","gesturestart","mousedown","mouseup","mouseover","mousemove","mouseout","click"].concat(["selectstart","input","contextmenu","change","transitionend","transitioncancel","drag","dragstart","dragend","dragenter","dragleave","dragover","drop","keyup"]),(t=>rc(e,t,(e=>{n.fireIfReady(e,t).each((t=>{t&&e.kill()})),o.triggerEvent(t,e)&&e.kill()})))),r=nc(),a=rc(e,"paste",(e=>{n.fireIfReady(e,"paste").each((t=>{t&&e.kill()})),o.triggerEvent("paste",e)&&e.kill(),r.set(setTimeout((()=>{o.triggerEvent(dr(),e)}),0))})),i=rc(e,"keydown",(e=>{o.triggerEvent("keydown",e)?e.kill():o.stopBackspace&&(e=>e.raw.which===Km[0]&&!R(["input","textarea"],We(e.target))&&!ek(e.target,'[contenteditable="true"]'))(e)&&e.prevent()})),l=rc(e,"focusin",(e=>{o.triggerEvent("focusin",e)&&e.kill()})),c=nc(),d=rc(e,"focusout",(e=>{o.triggerEvent("focusout",e)&&e.kill(),c.set(setTimeout((()=>{o.triggerEvent(cr(),e)}),0))}));return{unbind:()=>{H(s,(e=>{e.unbind()})),i.unbind(),l.unbind(),d.unbind(),a.unbind(),r.on(clearTimeout),c.on(clearTimeout)}}},sk=(e,t)=>{const o=be(e,"target").getOr(t);return As(o)},rk=Ms([{stopped:[]},{resume:["element"]},{complete:[]}]),ak=(e,t,o,n,s,r)=>{const a=e(t,n),i=((e,t)=>{const o=As(!1),n=As(!1);return{stop:()=>{o.set(!0)},cut:()=>{n.set(!0)},isStopped:o.get,isCut:n.get,event:e,setSource:t.set,getSource:t.get}})(o,s);return a.fold((()=>(r.logEventNoHandlers(t,n),rk.complete())),(e=>{const o=e.descHandler;return Ma(o)(i),i.isStopped()?(r.logEventStopped(t,e.element,o.purpose),rk.stopped()):i.isCut()?(r.logEventCut(t,e.element,o.purpose),rk.complete()):rt(e.element).fold((()=>(r.logNoParent(t,e.element,o.purpose),rk.complete())),(n=>(r.logEventResponse(t,e.element,o.purpose),rk.resume(n))))}))},ik=(e,t,o,n,s,r)=>ak(e,t,o,n,s,r).fold(E,(n=>ik(e,t,o,n,s,r)),T),lk=(e,t,o,n,s)=>{const r=sk(o,n);return ik(e,t,o,n,r,s)},ck=()=>{const e=(()=>{const e={};return{registerId:(t,o,n)=>{le(n,((n,s)=>{const r=void 0!==e[s]?e[s]:{};r[o]=((e,t)=>({cHandler:k.apply(void 0,[e.handler].concat(t)),purpose:e.purpose}))(n,t),e[s]=r}))},unregisterId:t=>{le(e,((e,o)=>{ve(e,t)&&delete e[t]}))},filterByType:t=>be(e,t).map((e=>pe(e,((e,t)=>((e,t)=>({id:e,descHandler:t}))(t,e))))).getOr([]),find:(t,o,n)=>be(e,o).bind((e=>Rs(n,(t=>((e,t)=>ha(t).bind((t=>be(e,t))).map((e=>((e,t)=>({element:e,descHandler:t}))(t,e))))(e,t)),t)))}})(),t={},o=o=>{ha(o.element).each((o=>{delete t[o],e.unregisterId(o)}))};return{find:(t,o,n)=>e.find(t,o,n),filter:t=>e.filterByType(t),register:n=>{const s=(e=>{const t=e.element;return ha(t).getOrThunk((()=>((e,t)=>{const o=ca(ma+"uid-");return pa(t,o),o})(0,e.element)))})(n);ye(t,s)&&((e,n)=>{const s=t[n];if(s!==e)throw new Error('The tagId "'+n+'" is already used by: '+sa(s.element)+"\nCannot use it for: "+sa(e.element)+"\nThe conflicting element is"+(xt(s.element)?" ":" not ")+"already in the DOM");o(e)})(n,s);const r=[n];e.registerId(r,s,n.events),t[s]=n},unregister:o,getById:e=>be(t,e)}},dk=xm({name:"Container",factory:e=>{const{attributes:t,...o}=e.dom;return{uid:e.uid,dom:{tag:"div",attributes:{role:"presentation",...t},...o},components:e.components,behaviours:xu(e.containerBehaviours),events:e.events,domModification:e.domModification,eventOrder:e.eventOrder}},configFields:[xs("components",[]),yu("containerBehaviours",[]),xs("events",{}),xs("domModification",{}),xs("eventOrder",{})]}),uk=e=>{const t=t=>rt(e.element).fold(E,(e=>Qe(t,e))),o=ck(),n=(e,n)=>o.find(t,e,n),s=nk(e.element,{triggerEvent:(e,t)=>_i(e,t.target,(o=>((e,t,o,n)=>lk(e,t,o,o.target,n))(n,e,t,o)))}),r={debugInfo:x("real"),triggerEvent:(e,t,o)=>{_i(e,t,(s=>lk(n,e,o,t,s)))},triggerFocus:(e,t)=>{ha(e).fold((()=>{Rl(e)}),(o=>{_i(lr(),e,(o=>(((e,t,o,n,s)=>{const r=sk(o,n);ak(e,t,o,n,r,s)})(n,lr(),{originator:t,kill:b,prevent:b,target:e},e,o),!1)))}))},triggerEscape:(e,t)=>{r.triggerEvent("keydown",e.element,t.event)},getByUid:e=>p(e),getByDom:e=>h(e),build:ci,buildOrPatch:li,addToGui:e=>{l(e)},removeFromGui:e=>{c(e)},addToWorld:e=>{a(e)},removeFromWorld:e=>{i(e)},broadcast:e=>{u(e)},broadcastOn:(e,t)=>{m(e,t)},broadcastEvent:(e,t)=>{g(e,t)},isConnected:E},a=e=>{e.connect(r),qe(e.element)||(o.register(e),H(e.components(),a),r.triggerEvent(vr(),e.element,{target:e.element}))},i=e=>{qe(e.element)||(H(e.components(),i),o.unregister(e)),e.disconnect()},l=t=>{Id(e,t)},c=e=>{Nd(e)},d=e=>{const t=o.filter(ur());H(t,(t=>{const o=t.descHandler;Ma(o)(e)}))},u=e=>{d({universal:!0,data:e})},m=(e,t)=>{d({universal:!1,channels:e,data:t})},g=(e,t)=>((e,t,o)=>{const n=(e=>{const t=As(!1);return{stop:()=>{t.set(!0)},cut:b,isStopped:t.get,isCut:T,event:e,setSource:O("Cannot set source of a broadcasted event"),getSource:O("Cannot get source of a broadcasted event")}})(t);return H(e,(e=>{const t=e.descHandler;Ma(t)(n)})),n.isStopped()})(o.filter(e),t),p=e=>o.getById(e).fold((()=>rn.error(new Error('Could not find component with uid: "'+e+'" in system.'))),rn.value),h=e=>{const t=ha(e).getOr("not found");return p(t)};return a(e),{root:e,element:e.element,destroy:()=>{s.unbind(),Uo(e.element)},add:l,remove:c,getByUid:p,getByDom:h,addToWorld:a,removeFromWorld:i,broadcast:u,broadcastOn:m,broadcastEvent:g}},mk=x([xs("prefix","form-field"),yu("fieldBehaviours",[Om,vu])]),gk=x([Yu({schema:[ns("dom")],name:"label"}),Yu({factory:{sketch:e=>({uid:e.uid,dom:{tag:"span",styles:{display:"none"},attributes:{"aria-hidden":"true"},innerHtml:e.text}})},schema:[ns("text")],name:"aria-descriptor"}),$u({factory:{sketch:e=>{const t=((e,t)=>{const o={};return le(e,((e,n)=>{R(t,n)||(o[n]=e)})),o})(e,["factory"]);return e.factory.sketch(t)}},schema:[ns("factory")],name:"field"})]),pk=wm({name:"FormField",configFields:mk(),partFields:gk(),factory:(e,t,o,n)=>{const s=wu(e.fieldBehaviours,[Om.config({find:t=>am(t,e,"field")}),vu.config({store:{mode:"manual",getValue:e=>Om.getCurrent(e).bind(vu.getValue),setValue:(e,t)=>{Om.getCurrent(e).each((e=>{vu.setValue(e,t)}))}}})]),r=Hr([Jr(((t,o)=>{const n=lm(t,e,["label","field","aria-descriptor"]);n.field().each((t=>{const o=ca(e.prefix);n.label().each((e=>{Ct(e.element,"for",o),Ct(t.element,"id",o)})),n["aria-descriptor"]().each((o=>{const n=ca(e.prefix);Ct(o.element,"id",n),Ct(t.element,"aria-describedby",n)}))}))}))]),a={getField:t=>am(t,e,"field"),getLabel:t=>am(t,e,"label")};return{uid:e.uid,dom:e.dom,components:t,behaviours:s,events:r,apis:a}},apis:{getField:(e,t)=>e.getField(t),getLabel:(e,t)=>e.getLabel(t)}});var hk=Object.freeze({__proto__:null,exhibit:(e,t)=>Aa({attributes:Bs([{key:t.tabAttr,value:"true"}])})}),fk=[xs("tabAttr","data-alloy-tabstop")];const bk=Al({fields:fk,name:"tabstopping",active:hk});var vk=tinymce.util.Tools.resolve("tinymce.html.Entities");const yk=(e,t,o,n)=>{const s=xk(e,t,o,n);return pk.sketch(s)},xk=(e,t,o,n)=>({dom:wk(o),components:e.toArray().concat([t]),fieldBehaviours:Tl(n)}),wk=e=>({tag:"div",classes:["tox-form__group"].concat(e)}),Sk=(e,t)=>pk.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[ri(t.translate(e))]}),kk=ca("form-component-change"),Ck=ca("form-close"),Ok=ca("form-cancel"),_k=ca("form-action"),Tk=ca("form-submit"),Ek=ca("form-block"),Ak=ca("form-unblock"),Mk=ca("form-tabchange"),Dk=ca("form-resize"),Bk=(e,t,o)=>{const n=e.label.map((e=>Sk(e,t))),s=t.icons(),r=e=>(t,o)=>{yi(o.event.target,"[data-collection-item-value]").each((n=>{e(t,o,n,_t(n,"data-collection-item-value"))}))},a=r(((o,n,s,r)=>{n.stop(),t.isDisabled()||Rr(o,_k,{name:e.name,value:r})})),i=[Wr(Ys(),r(((e,t,o)=>{Rl(o)}))),Wr(tr(),a),Wr(pr(),a),Wr(Xs(),r(((e,t,o)=>{vi(e.element,"."+Av).each((e=>{Ga(e,Av)})),Wa(o,Av)}))),Wr(Ks(),r((e=>{vi(e.element,"."+Av).each((e=>{Ga(e,Av)}))}))),ea(r(((t,o,n,s)=>{Rr(t,_k,{name:e.name,value:s})})))],l=(e,t)=>L(Zc(e.element,".tox-collection__item"),t),c=pk.parts.field({dom:{tag:"div",classes:["tox-collection"].concat(1!==e.columns?["tox-collection--grid"]:["tox-collection--list"])},components:[],factory:{sketch:w},behaviours:Tl([Lm.config({disabled:t.isDisabled,onDisabled:e=>{l(e,(e=>{Wa(e,"tox-collection__item--state-disabled"),Ct(e,"aria-disabled",!0)}))},onEnabled:e=>{l(e,(e=>{Ga(e,"tox-collection__item--state-disabled"),At(e,"aria-disabled")}))}}),Ex(),eh.config({}),vu.config({store:{mode:"memory",initialValue:o.getOr([])},onSetValue:(o,n)=>{((o,n)=>{const r=L(n,(o=>{const n=Kf.translate(o.text),r=1===e.columns?`
${n}
`:"",a=`
${(e=>{var t;return null!==(t=s[e])&&void 0!==t?t:e})(o.icon)}
`,i={_:" "," - ":" ","-":" "},l=n.replace(/\_| \- |\-/g,(e=>i[e]));return`
${a}${r}
`})),a="auto"!==e.columns&&e.columns>1?z(r,e.columns):[r],i=L(a,(e=>`
${e.join("")}
`));oa(o.element,i.join(""))})(o,n),"auto"===e.columns&&gx(o,5,"tox-collection__item").each((({numRows:e,numColumns:t})=>{Gp.setGridSize(o,e,t)})),Fr(o,Dk)}}),bk.config({}),Gp.config((d=e.columns,"normal",1===d?{mode:"menu",moveOnTab:!1,selector:".tox-collection__item"}:"auto"===d?{mode:"flatgrid",selector:".tox-collection__item",initSize:{numColumns:1,numRows:1}}:{mode:"matrix",selectors:{row:".tox-collection__group",cell:`.${Sv}`}})),th("collection-events",i)]),eventOrder:{[mr()]:["disabling","alloy.base.behaviour","collection-events"]}});var d;return yk(n,c,["tox-form__group--collection"],[])},Ik=["input","textarea"],Fk=e=>{const t=We(e);return R(Ik,t)},Rk=(e,t)=>{const o=t.getRoot(e).getOr(e.element);Ga(o,t.invalidClass),t.notify.each((t=>{Fk(e.element)&&Ct(e.element,"aria-invalid",!1),t.getContainer(e).each((e=>{oa(e,t.validHtml)})),t.onValid(e)}))},Nk=(e,t,o,n)=>{const s=t.getRoot(e).getOr(e.element);Wa(s,t.invalidClass),t.notify.each((t=>{Fk(e.element)&&Ct(e.element,"aria-invalid",!0),t.getContainer(e).each((e=>{oa(e,n)})),t.onInvalid(e,n)}))},Vk=(e,t,o)=>t.validator.fold((()=>OS(rn.value(!0))),(t=>t.validate(e))),zk=(e,t,o)=>(t.notify.each((t=>{t.onValidate(e)})),Vk(e,t).map((o=>e.getSystem().isConnected()?o.fold((o=>(Nk(e,t,0,o),rn.error(o))),(o=>(Rk(e,t),rn.value(o)))):rn.error("No longer in system"))));var Lk=Object.freeze({__proto__:null,markValid:Rk,markInvalid:Nk,query:Vk,run:zk,isInvalid:(e,t)=>{const o=t.getRoot(e).getOr(e.element);return $a(o,t.invalidClass)}}),Hk=Object.freeze({__proto__:null,events:(e,t)=>e.validator.map((t=>Hr([Wr(t.onEvent,(t=>{zk(t,e).get(w)}))].concat(t.validateOnLoad?[Jr((t=>{zk(t,e).get(b)}))]:[])))).getOr({})}),Pk=[ns("invalidClass"),xs("getRoot",A.none),ys("notify",[xs("aria","alert"),xs("getContainer",A.none),xs("validHtml",""),Ri("onValid"),Ri("onInvalid"),Ri("onValidate")]),ys("validator",[ns("validate"),xs("onEvent","input"),xs("validateOnLoad",!0)])];const Uk=Al({fields:Pk,name:"invalidating",active:Hk,apis:Lk,extra:{validation:e=>t=>{const o=vu.getValue(t);return OS(e(o))}}}),Wk=Al({fields:[],name:"unselecting",active:Object.freeze({__proto__:null,events:()=>Hr([Pr(rr(),E)]),exhibit:()=>Aa({styles:{"-webkit-user-select":"none","user-select":"none","-ms-user-select":"none","-moz-user-select":"-moz-none"},attributes:{unselectable:"on"}})})}),jk=ca("color-input-change"),Gk=ca("color-swatch-change"),$k=ca("color-picker-cancel"),qk=Yu({schema:[ns("dom")],name:"label"}),Yk=e=>Yu({name:e+"-edge",overrides:t=>t.model.manager.edgeActions[e].fold((()=>({})),(e=>({events:Hr([jr(Hs(),((t,o,n)=>e(t,n)),[t]),jr(js(),((t,o,n)=>e(t,n)),[t]),jr(Gs(),((t,o,n)=>{n.mouseIsDown.get()&&e(t,n)}),[t])])})))}),Xk=Yk("top-left"),Kk=Yk("top"),Jk=Yk("top-right"),Zk=Yk("right"),Qk=Yk("bottom-right"),eC=Yk("bottom"),tC=Yk("bottom-left"),oC=Yk("left"),nC=$u({name:"thumb",defaults:x({dom:{styles:{position:"absolute"}}}),overrides:e=>({events:Hr([$r(Hs(),e,"spectrum"),$r(Ps(),e,"spectrum"),$r(Us(),e,"spectrum"),$r(js(),e,"spectrum"),$r(Gs(),e,"spectrum"),$r(qs(),e,"spectrum")])})}),sC=e=>ug(e.event);var rC=[qk,oC,Zk,Kk,eC,Xk,Jk,tC,Qk,nC,$u({schema:[ts("mouseIsDown",(()=>As(!1)))],name:"spectrum",overrides:e=>{const t=e.model.manager,o=(o,n)=>t.getValueFromEvent(n).map((n=>t.setValueFrom(o,e,n)));return{behaviours:Tl([Gp.config({mode:"special",onLeft:(o,n)=>t.onLeft(o,e,sC(n)),onRight:(o,n)=>t.onRight(o,e,sC(n)),onUp:(o,n)=>t.onUp(o,e,sC(n)),onDown:(o,n)=>t.onDown(o,e,sC(n))}),bk.config({}),ah.config({})]),events:Hr([Wr(Hs(),o),Wr(Ps(),o),Wr(js(),o),Wr(Gs(),((t,n)=>{e.mouseIsDown.get()&&o(t,n)}))])}}})];const aC=x("slider.change.value"),iC=e=>{const t=e.event.raw;if((e=>-1!==e.type.indexOf("touch"))(t)){const e=t;return void 0!==e.touches&&1===e.touches.length?A.some(e.touches[0]).map((e=>qt(e.clientX,e.clientY))):A.none()}{const e=t;return void 0!==e.clientX?A.some(e).map((e=>qt(e.clientX,e.clientY))):A.none()}},lC=e=>e.model.minX,cC=e=>e.model.minY,dC=e=>e.model.minX-1,uC=e=>e.model.minY-1,mC=e=>e.model.maxX,gC=e=>e.model.maxY,pC=e=>e.model.maxX+1,hC=e=>e.model.maxY+1,fC=(e,t,o)=>t(e)-o(e),bC=e=>fC(e,mC,lC),vC=e=>fC(e,gC,cC),yC=e=>bC(e)/2,xC=e=>vC(e)/2,wC=(e,t)=>t?e.stepSize*e.speedMultiplier:e.stepSize,SC=e=>e.snapToGrid,kC=e=>e.snapStart,CC=e=>e.rounded,OC=(e,t)=>void 0!==e[t+"-edge"],_C=e=>OC(e,"left"),TC=e=>OC(e,"right"),EC=e=>OC(e,"top"),AC=e=>OC(e,"bottom"),MC=e=>e.model.value.get(),DC=(e,t)=>({x:e,y:t}),BC=(e,t)=>{Rr(e,aC(),{value:t})},IC=(e,t,o,n)=>eo?o:e===t?t-1:Math.max(t,e-n),FC=(e,t,o,n)=>e>o?e:eMath.max(t,Math.min(o,e)),NC=e=>{const{min:t,max:o,range:n,value:s,step:r,snap:a,snapStart:i,rounded:l,hasMinEdge:c,hasMaxEdge:d,minBound:u,maxBound:m,screenRange:g}=e,p=c?t-1:t,h=d?o+1:o;if(sm)return h;{const e=((e,t,o)=>Math.min(o,Math.max(e,t))-t)(s,u,m),c=RC(e/g*n+t,p,h);return a&&c>=t&&c<=o?((e,t,o,n,s)=>s.fold((()=>{const s=e-t,r=Math.round(s/n)*n;return RC(t+r,t-1,o+1)}),(t=>{const s=(e-t)%n,r=Math.round(s/n),a=Math.floor((e-t)/n),i=Math.floor((o-t)/n),l=t+Math.min(i,a+r)*n;return Math.max(t,l)})))(c,t,o,r,i):l?Math.round(c):c}},VC=e=>{const{min:t,max:o,range:n,value:s,hasMinEdge:r,hasMaxEdge:a,maxBound:i,maxOffset:l,centerMinEdge:c,centerMaxEdge:d}=e;return so?a?i:d:(s-t)/n*l},zC="top",LC="right",HC="bottom",PC="left",UC=e=>e.element.dom.getBoundingClientRect(),WC=(e,t)=>e[t],jC=e=>{const t=UC(e);return WC(t,PC)},GC=e=>{const t=UC(e);return WC(t,LC)},$C=e=>{const t=UC(e);return WC(t,zC)},qC=e=>{const t=UC(e);return WC(t,HC)},YC=e=>{const t=UC(e);return WC(t,"width")},XC=e=>{const t=UC(e);return WC(t,"height")},KC=(e,t,o)=>(e+t)/2-o,JC=(e,t)=>{const o=UC(e),n=UC(t),s=WC(o,PC),r=WC(o,LC),a=WC(n,PC);return KC(s,r,a)},ZC=(e,t)=>{const o=UC(e),n=UC(t),s=WC(o,zC),r=WC(o,HC),a=WC(n,zC);return KC(s,r,a)},QC=(e,t)=>{Rr(e,aC(),{value:t})},eO=(e,t,o)=>{const n={min:lC(t),max:mC(t),range:bC(t),value:o,step:wC(t),snap:SC(t),snapStart:kC(t),rounded:CC(t),hasMinEdge:_C(t),hasMaxEdge:TC(t),minBound:jC(e),maxBound:GC(e),screenRange:YC(e)};return NC(n)},tO=e=>(t,o,n)=>((e,t,o,n)=>{const s=(e>0?FC:IC)(MC(o),lC(o),mC(o),wC(o,n));return QC(t,s),A.some(s)})(e,t,o,n).map(E),oO=(e,t,o,n,s,r)=>{const a=((e,t,o,n,s)=>{const r=YC(e),a=n.bind((t=>A.some(JC(t,e)))).getOr(0),i=s.bind((t=>A.some(JC(t,e)))).getOr(r),l={min:lC(t),max:mC(t),range:bC(t),value:o,hasMinEdge:_C(t),hasMaxEdge:TC(t),minBound:jC(e),minOffset:0,maxBound:GC(e),maxOffset:r,centerMinEdge:a,centerMaxEdge:i};return VC(l)})(t,r,o,n,s);return jC(t)-jC(e)+a},nO=tO(-1),sO=tO(1),rO=A.none,aO=A.none,iO={"top-left":A.none(),top:A.none(),"top-right":A.none(),right:A.some(((e,t)=>{BC(e,pC(t))})),"bottom-right":A.none(),bottom:A.none(),"bottom-left":A.none(),left:A.some(((e,t)=>{BC(e,dC(t))}))};var lO=Object.freeze({__proto__:null,setValueFrom:(e,t,o)=>{const n=eO(e,t,o);return QC(e,n),n},setToMin:(e,t)=>{const o=lC(t);QC(e,o)},setToMax:(e,t)=>{const o=mC(t);QC(e,o)},findValueOfOffset:eO,getValueFromEvent:e=>iC(e).map((e=>e.left)),findPositionOfValue:oO,setPositionFromValue:(e,t,o,n)=>{const s=MC(o),r=oO(e,n.getSpectrum(e),s,n.getLeftEdge(e),n.getRightEdge(e),o),a=Zt(t.element)/2;Bt(t.element,"left",r-a+"px")},onLeft:nO,onRight:sO,onUp:rO,onDown:aO,edgeActions:iO});const cO=(e,t)=>{Rr(e,aC(),{value:t})},dO=(e,t,o)=>{const n={min:cC(t),max:gC(t),range:vC(t),value:o,step:wC(t),snap:SC(t),snapStart:kC(t),rounded:CC(t),hasMinEdge:EC(t),hasMaxEdge:AC(t),minBound:$C(e),maxBound:qC(e),screenRange:XC(e)};return NC(n)},uO=e=>(t,o,n)=>((e,t,o,n)=>{const s=(e>0?FC:IC)(MC(o),cC(o),gC(o),wC(o,n));return cO(t,s),A.some(s)})(e,t,o,n).map(E),mO=(e,t,o,n,s,r)=>{const a=((e,t,o,n,s)=>{const r=XC(e),a=n.bind((t=>A.some(ZC(t,e)))).getOr(0),i=s.bind((t=>A.some(ZC(t,e)))).getOr(r),l={min:cC(t),max:gC(t),range:vC(t),value:o,hasMinEdge:EC(t),hasMaxEdge:AC(t),minBound:$C(e),minOffset:0,maxBound:qC(e),maxOffset:r,centerMinEdge:a,centerMaxEdge:i};return VC(l)})(t,r,o,n,s);return $C(t)-$C(e)+a},gO=A.none,pO=A.none,hO=uO(-1),fO=uO(1),bO={"top-left":A.none(),top:A.some(((e,t)=>{BC(e,uC(t))})),"top-right":A.none(),right:A.none(),"bottom-right":A.none(),bottom:A.some(((e,t)=>{BC(e,hC(t))})),"bottom-left":A.none(),left:A.none()};var vO=Object.freeze({__proto__:null,setValueFrom:(e,t,o)=>{const n=dO(e,t,o);return cO(e,n),n},setToMin:(e,t)=>{const o=cC(t);cO(e,o)},setToMax:(e,t)=>{const o=gC(t);cO(e,o)},findValueOfOffset:dO,getValueFromEvent:e=>iC(e).map((e=>e.top)),findPositionOfValue:mO,setPositionFromValue:(e,t,o,n)=>{const s=MC(o),r=mO(e,n.getSpectrum(e),s,n.getTopEdge(e),n.getBottomEdge(e),o),a=jt(t.element)/2;Bt(t.element,"top",r-a+"px")},onLeft:gO,onRight:pO,onUp:hO,onDown:fO,edgeActions:bO});const yO=(e,t)=>{Rr(e,aC(),{value:t})},xO=(e,t)=>({x:e,y:t}),wO=(e,t)=>(o,n,s)=>((e,t,o,n,s)=>{const r=e>0?FC:IC,a=t?MC(n).x:r(MC(n).x,lC(n),mC(n),wC(n,s)),i=t?r(MC(n).y,cC(n),gC(n),wC(n,s)):MC(n).y;return yO(o,xO(a,i)),A.some(a)})(e,t,o,n,s).map(E),SO=wO(-1,!1),kO=wO(1,!1),CO=wO(-1,!0),OO=wO(1,!0),_O={"top-left":A.some(((e,t)=>{BC(e,DC(dC(t),uC(t)))})),top:A.some(((e,t)=>{BC(e,DC(yC(t),uC(t)))})),"top-right":A.some(((e,t)=>{BC(e,DC(pC(t),uC(t)))})),right:A.some(((e,t)=>{BC(e,DC(pC(t),xC(t)))})),"bottom-right":A.some(((e,t)=>{BC(e,DC(pC(t),hC(t)))})),bottom:A.some(((e,t)=>{BC(e,DC(yC(t),hC(t)))})),"bottom-left":A.some(((e,t)=>{BC(e,DC(dC(t),hC(t)))})),left:A.some(((e,t)=>{BC(e,DC(dC(t),xC(t)))}))};var TO=Object.freeze({__proto__:null,setValueFrom:(e,t,o)=>{const n=eO(e,t,o.left),s=dO(e,t,o.top),r=xO(n,s);return yO(e,r),r},setToMin:(e,t)=>{const o=lC(t),n=cC(t);yO(e,xO(o,n))},setToMax:(e,t)=>{const o=mC(t),n=gC(t);yO(e,xO(o,n))},getValueFromEvent:e=>iC(e),setPositionFromValue:(e,t,o,n)=>{const s=MC(o),r=oO(e,n.getSpectrum(e),s.x,n.getLeftEdge(e),n.getRightEdge(e),o),a=mO(e,n.getSpectrum(e),s.y,n.getTopEdge(e),n.getBottomEdge(e),o),i=Zt(t.element)/2,l=jt(t.element)/2;Bt(t.element,"left",r-i+"px"),Bt(t.element,"top",a-l+"px")},onLeft:SO,onRight:kO,onUp:CO,onDown:OO,edgeActions:_O});const EO=wm({name:"Slider",configFields:[xs("stepSize",1),xs("speedMultiplier",10),xs("onChange",b),xs("onChoose",b),xs("onInit",b),xs("onDragStart",b),xs("onDragEnd",b),xs("snapToGrid",!1),xs("rounded",!0),ms("snapStart"),ss("model",Zn("mode",{x:[xs("minX",0),xs("maxX",100),ts("value",(e=>As(e.mode.minX))),ns("getInitialValue"),Li("manager",lO)],y:[xs("minY",0),xs("maxY",100),ts("value",(e=>As(e.mode.minY))),ns("getInitialValue"),Li("manager",vO)],xy:[xs("minX",0),xs("maxX",100),xs("minY",0),xs("maxY",100),ts("value",(e=>As({x:e.mode.minX,y:e.mode.minY}))),ns("getInitialValue"),Li("manager",TO)]})),yu("sliderBehaviours",[Gp,vu]),ts("mouseIsDown",(()=>As(!1)))],partFields:rC,factory:(e,t,o,n)=>{const s=t=>im(t,e,"thumb"),r=t=>im(t,e,"spectrum"),a=t=>am(t,e,"left-edge"),i=t=>am(t,e,"right-edge"),l=t=>am(t,e,"top-edge"),c=t=>am(t,e,"bottom-edge"),d=e.model,u=d.manager,m=(t,o)=>{u.setPositionFromValue(t,o,e,{getLeftEdge:a,getRightEdge:i,getTopEdge:l,getBottomEdge:c,getSpectrum:r})},g=(e,t)=>{d.value.set(t);const o=s(e);m(e,o)},p=t=>{const o=e.mouseIsDown.get();e.mouseIsDown.set(!1),o&&am(t,e,"thumb").each((o=>{const n=d.value.get();e.onChoose(t,o,n)}))},h=(t,o)=>{o.stop(),e.mouseIsDown.set(!0),e.onDragStart(t,s(t))},f=(t,o)=>{o.stop(),e.onDragEnd(t,s(t)),p(t)},b=t=>{am(t,e,"spectrum").map(Gp.focusIn)};return{uid:e.uid,dom:e.dom,components:t,behaviours:wu(e.sliderBehaviours,[Gp.config({mode:"special",focusIn:b}),vu.config({store:{mode:"manual",getValue:e=>d.value.get(),setValue:g}}),Il.config({channels:{[tu()]:{onReceive:p}}})]),events:Hr([Wr(aC(),((t,o)=>{((t,o)=>{g(t,o);const n=s(t);e.onChange(t,n,o),A.some(!0)})(t,o.event.value)})),Jr(((t,o)=>{const n=d.getInitialValue();d.value.set(n);const a=s(t);m(t,a);const i=r(t);e.onInit(t,a,i,d.value.get())})),Wr(Hs(),h),Wr(Us(),f),Wr(js(),((e,t)=>{b(e),h(e,t)})),Wr(qs(),f)]),apis:{resetToMin:t=>{u.setToMin(t,e)},resetToMax:t=>{u.setToMax(t,e)},setValue:g,refresh:m},domModification:{styles:{position:"relative"}}}},apis:{setValue:(e,t,o)=>{e.setValue(t,o)},resetToMin:(e,t)=>{e.resetToMin(t)},resetToMax:(e,t)=>{e.resetToMax(t)},refresh:(e,t)=>{e.refresh(t)}}}),AO=ca("rgb-hex-update"),MO=ca("slider-update"),DO=ca("palette-update"),BO="form",IO=[yu("formBehaviours",[vu])],FO=e=>"",RO=(e,t)=>({uid:e.uid,dom:e.dom,components:t,behaviours:wu(e.formBehaviours,[vu.config({store:{mode:"manual",getValue:t=>{const o=cm(t,e);return ce(o,((e,t)=>e().bind((e=>{return o=Om.getCurrent(e),n=new Error(`Cannot find a current component to extract the value from for form part '${t}': `+sa(e.element)),o.fold((()=>rn.error(n)),rn.value);var o,n})).map(vu.getValue)))},setValue:(t,o)=>{le(o,((o,n)=>{am(t,e,n).each((e=>{Om.getCurrent(e).each((e=>{vu.setValue(e,o)}))}))}))}}})]),apis:{getField:(t,o)=>am(t,e,o).bind(Om.getCurrent)}}),NO={getField:Oa(((e,t,o)=>e.getField(t,o))),sketch:e=>{const t=(()=>{const e=[];return{field:(t,o)=>(e.push(t),tm(BO,FO(t),o)),record:x(e)}})(),o=e(t),n=t.record(),s=L(n,(e=>$u({name:e,pname:FO(e)})));return fm(BO,IO,s,RO,o)}},VO=ca("valid-input"),zO=ca("invalid-input"),LO=ca("validating-input"),HO="colorcustom.rgb.",PO=(e,t,o,n)=>{const s=(o,n)=>Uk.config({invalidClass:t("invalid"),notify:{onValidate:e=>{Rr(e,LO,{type:o})},onValid:e=>{Rr(e,VO,{type:o,value:vu.getValue(e)})},onInvalid:e=>{Rr(e,zO,{type:o,value:vu.getValue(e)})}},validator:{validate:t=>{const o=vu.getValue(t),s=n(o)?rn.value(!0):rn.error(e("aria.input.invalid"));return OS(s)},validateOnLoad:!1}}),r=(o,n,r,a,i)=>{const l=e(HO+"range"),c=pk.parts.label({dom:{tag:"label",attributes:{"aria-label":a}},components:[ri(r)]}),d=pk.parts.field({data:i,factory:Wv,inputAttributes:{type:"text",..."hex"===n?{"aria-live":"polite"}:{}},inputClasses:[t("textfield")],inputBehaviours:Tl([s(n,o),bk.config({})]),onSetValue:e=>{Uk.isInvalid(e)&&Uk.run(e).get(b)}}),u=[c,d],m="hex"!==n?[pk.parts["aria-descriptor"]({text:l})]:[];return{dom:{tag:"div",attributes:{role:"presentation"}},components:u.concat(m)}},a=(e,t)=>{const o=t.red,n=t.green,s=t.blue;vu.setValue(e,{red:o,green:n,blue:s})},i=Xh({dom:{tag:"div",classes:[t("rgba-preview")],styles:{"background-color":"white"},attributes:{role:"presentation"}}}),l=(e,t)=>{i.getOpt(e).each((e=>{Bt(e.element,"background-color","#"+t.value)}))},c=xm({factory:()=>{const s={red:As(A.some(255)),green:As(A.some(255)),blue:As(A.some(255)),hex:As(A.some("ffffff"))},c=e=>s[e].get(),d=(e,t)=>{s[e].set(t)},u=e=>{const t=e.red,o=e.green,n=e.blue;d("red",A.some(t)),d("green",A.some(o)),d("blue",A.some(n))},m=(e,t)=>{const o=t.event;"hex"!==o.type?d(o.type,A.none()):n(e)},g=(e,t)=>{const n=t.event;(e=>"hex"===e.type)(n)?((e,t)=>{o(e);const n=Qx(t);d("hex",A.some(n.value));const s=pw(n);a(e,s),u(s),Rr(e,AO,{hex:n}),l(e,n)})(e,n.value):((e,t,o)=>{const n=parseInt(o,10);d(t,A.some(n)),c("red").bind((e=>c("green").bind((t=>c("blue").map((o=>uw(e,t,o,1))))))).each((t=>{const o=((e,t)=>{const o=rw(t);return NO.getField(e,"hex").each((t=>{ah.isFocused(t)||vu.setValue(e,{hex:o.value})})),o})(e,t);Rr(e,AO,{hex:o}),l(e,o)}))})(e,n.type,n.value)},p=t=>({label:e(HO+t+".label"),description:e(HO+t+".description")}),h=p("red"),f=p("green"),b=p("blue"),v=p("hex");return bn(NO.sketch((o=>({dom:{tag:"form",classes:[t("rgb-form")],attributes:{"aria-label":e("aria.color.picker")}},components:[o.field("red",pk.sketch(r(mw,"red",h.label,h.description,255))),o.field("green",pk.sketch(r(mw,"green",f.label,f.description,255))),o.field("blue",pk.sketch(r(mw,"blue",b.label,b.description,255))),o.field("hex",pk.sketch(r(ow,"hex",v.label,v.description,"ffffff"))),i.asSpec()],formBehaviours:Tl([Uk.config({invalidClass:t("form-invalid")}),th("rgb-form-events",[Wr(VO,g),Wr(zO,m),Wr(LO,m)])])}))),{apis:{updateHex:(e,t)=>{vu.setValue(e,{hex:t.value}),((e,t)=>{const o=pw(t);a(e,o),u(o)})(e,t),l(e,t)}}})},name:"RgbForm",configFields:[],apis:{updateHex:(e,t,o)=>{e.updateHex(t,o)}},extraApis:{}});return c},UO=(e,t)=>{const o=xm({name:"ColourPicker",configFields:[ns("dom"),xs("onValidHex",b),xs("onInvalidHex",b)],factory:o=>{const n=PO(e,t,o.onValidHex,o.onInvalidHex),s=((e,t)=>{const o=EO.parts.spectrum({dom:{tag:"canvas",attributes:{role:"presentation"},classes:[t("sv-palette-spectrum")]}}),n=EO.parts.thumb({dom:{tag:"div",attributes:{role:"presentation"},classes:[t("sv-palette-thumb")],innerHtml:``}}),s=(e,t)=>{const{width:o,height:n}=e,s=e.getContext("2d");if(null===s)return;s.fillStyle=t,s.fillRect(0,0,o,n);const r=s.createLinearGradient(0,0,o,0);r.addColorStop(0,"rgba(255,255,255,1)"),r.addColorStop(1,"rgba(255,255,255,0)"),s.fillStyle=r,s.fillRect(0,0,o,n);const a=s.createLinearGradient(0,0,0,n);a.addColorStop(0,"rgba(0,0,0,0)"),a.addColorStop(1,"rgba(0,0,0,1)"),s.fillStyle=a,s.fillRect(0,0,o,n)};return xm({factory:r=>{const a=x({x:0,y:0}),i=Tl([Om.config({find:A.some}),ah.config({})]);return EO.sketch({dom:{tag:"div",attributes:{role:"slider","aria-valuetext":e(["Saturation {0}%, Brightness {1}%",0,0])},classes:[t("sv-palette")]},model:{mode:"xy",getInitialValue:a},rounded:!1,components:[o,n],onChange:(t,o,n)=>{h(n)||Ct(t.element,"aria-valuetext",e(["Saturation {0}%, Brightness {1}%",Math.floor(n.x),Math.floor(100-n.y)])),Rr(t,DO,{value:n})},onInit:(e,t,o,n)=>{s(o.element.dom,bw(vw))},sliderBehaviours:i})},name:"SaturationBrightnessPalette",configFields:[],apis:{setHue:(e,t,o)=>{((e,t)=>{const o=e.components()[0].element.dom,n=Bw(t,100,100),r=gw(n);s(o,bw(r))})(t,o)},setThumb:(t,o,n)=>{((t,o)=>{const n=Iw(pw(o));EO.setValue(t,{x:n.saturation,y:100-n.value}),Ct(t.element,"aria-valuetext",e(["Saturation {0}%, Brightness {1}%",n.saturation,n.value]))})(o,n)}},extraApis:{}})})(e,t),r={paletteRgba:As(vw),paletteHue:As(0)},a=Xh(((e,t)=>{const o=EO.parts.spectrum({dom:{tag:"div",classes:[t("hue-slider-spectrum")],attributes:{role:"presentation"}}}),n=EO.parts.thumb({dom:{tag:"div",classes:[t("hue-slider-thumb")],attributes:{role:"presentation"}}});return EO.sketch({dom:{tag:"div",classes:[t("hue-slider")],attributes:{role:"slider","aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":120}},rounded:!1,model:{mode:"y",getInitialValue:x(0)},components:[o,n],sliderBehaviours:Tl([ah.config({})]),onChange:(e,t,o)=>{Ct(e.element,"aria-valuenow",Math.floor(360-3.6*o)),Rr(e,MO,{value:o})}})})(0,t)),i=Xh(s.sketch({})),l=Xh(n.sketch({})),c=(e,t,o)=>{i.getOpt(e).each((e=>{s.setHue(e,o)}))},d=(e,t)=>{l.getOpt(e).each((e=>{n.updateHex(e,t)}))},u=(e,t,o)=>{a.getOpt(e).each((e=>{EO.setValue(e,(e=>100-e/360*100)(o))}))},m=(e,t)=>{i.getOpt(e).each((e=>{s.setThumb(e,t)}))},g=(e,t,o,n)=>{((e,t)=>{const o=pw(e);r.paletteRgba.set(o),r.paletteHue.set(t)})(t,o),H(n,(n=>{n(e,t,o)}))};return{uid:o.uid,dom:o.dom,components:[i.asSpec(),a.asSpec(),l.asSpec()],behaviours:Tl([th("colour-picker-events",[Wr(AO,(()=>{const e=[c,u,m];return(t,o)=>{const n=o.event.hex,s=(e=>Iw(pw(e)))(n);g(t,n,s.hue,e)}})()),Wr(DO,(()=>{const e=[d];return(t,o)=>{const n=o.event.value,s=r.paletteHue.get(),a=Bw(s,n.x,100-n.y),i=Fw(a);g(t,i,s,e)}})()),Wr(MO,(()=>{const e=[c,d];return(t,o)=>{const n=(e=>(100-e)/100*360)(o.event.value),s=r.paletteRgba.get(),a=Iw(s),i=Bw(n,a.saturation,a.value),l=Fw(i);g(t,l,n,e)}})())]),Om.config({find:e=>l.getOpt(e)}),Gp.config({mode:"acyclic"})])}}});return o},WO=()=>Om.config({find:A.some}),jO=e=>Om.config({find:t=>ct(t.element,e).bind((e=>t.getSystem().getByDom(e).toOptional()))}),GO=Bn([xs("preprocess",w),xs("postprocess",w)]),$O=(e,t)=>{const o=Kn("RepresentingConfigs.memento processors",GO,t);return vu.config({store:{mode:"manual",getValue:t=>{const n=e.get(t),s=vu.getValue(n);return o.postprocess(s)},setValue:(t,n)=>{const s=o.preprocess(n),r=e.get(t);vu.setValue(r,s)}}})},qO=(e,t,o)=>vu.config({store:{mode:"manual",...e.map((e=>({initialValue:e}))).getOr({}),getValue:t,setValue:o}}),YO=(e,t,o)=>qO(e,(e=>t(e.element)),((e,t)=>o(e.element,t))),XO=e=>vu.config({store:{mode:"memory",initialValue:e}}),KO={"colorcustom.rgb.red.label":"R","colorcustom.rgb.red.description":"Red component","colorcustom.rgb.green.label":"G","colorcustom.rgb.green.description":"Green component","colorcustom.rgb.blue.label":"B","colorcustom.rgb.blue.description":"Blue component","colorcustom.rgb.hex.label":"#","colorcustom.rgb.hex.description":"Hex color code","colorcustom.rgb.range":"Range 0 to 255","aria.color.picker":"Color Picker","aria.input.invalid":"Invalid input"};var JO=tinymce.util.Tools.resolve("tinymce.Resource"),ZO=tinymce.util.Tools.resolve("tinymce.util.Tools");const QO=(e,t)=>{let o=null;const n=()=>{c(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...s)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,s)}),t)}}},e_=ca("alloy-fake-before-tabstop"),t_=ca("alloy-fake-after-tabstop"),o_=e=>({dom:{tag:"div",styles:{width:"1px",height:"1px",outline:"none"},attributes:{tabindex:"0"},classes:e},behaviours:Tl([ah.config({ignore:!0}),bk.config({})])}),n_=(e,t)=>({dom:{tag:"div",classes:["tox-navobj",...e.getOr([])]},components:[o_([e_]),t,o_([t_])],behaviours:Tl([jO(1)])}),s_=(e,t)=>{Rr(e,Js(),{raw:{which:9,shiftKey:t}})},r_=(e,t)=>{const o=t.element;$a(o,e_)?s_(e,!0):$a(o,t_)&&s_(e,!1)},a_=e=>ek(e,["."+e_,"."+t_].join(","),T),i_=ca("update-dialog"),l_=ca("update-title"),c_=ca("update-body"),d_=ca("update-footer"),u_=ca("body-send-message"),m_=ca("dialog-focus-shifted"),g_=Bo().browser,p_=g_.isSafari(),h_=g_.isFirefox(),f_=p_||h_,b_=g_.isChromium(),v_=({scrollTop:e,scrollHeight:t,clientHeight:o})=>Math.ceil(e)+o>=t,y_=(e,t)=>e.scrollTo(0,"bottom"===t?99999999:t),x_=(e,t,o)=>{const n=e.dom;A.from(n.contentDocument).fold(o,(e=>{let o=0;const s=((e,t)=>{const o=e.body;return A.from(!/^1))?o:e.documentElement)})(e,t).map((e=>(o=e.scrollTop,e))).forall(v_),r=()=>{const e=n.contentWindow;g(e)&&(s?y_(e,"bottom"):!s&&f_&&0!==o&&y_(e,o))};p_&&n.addEventListener("load",r,{once:!0}),e.open(),e.write(t),e.close(),p_||r()}))},w_=Ce(f_,p_?500:200).map((e=>((e,t)=>{let o=null,n=null;return{cancel:()=>{c(o)||(clearTimeout(o),o=null,n=null)},throttle:(...s)=>{n=s,c(o)&&(o=setTimeout((()=>{const t=n;o=null,n=null,e.apply(null,t)}),t))}}})(x_,e))),S_=ca("toolbar.button.execute"),k_=ca("common-button-display-events"),C_={[mr()]:["disabling","alloy.base.behaviour","toggling","toolbar-button-events"],[kr()]:["toolbar-button-events",k_],[js()]:["focusing","alloy.base.behaviour",k_]},O_=e=>Bt(e.element,"width",Rt(e.element,"width")),__=(e,t,o)=>rb(e,{tag:"span",classes:["tox-icon","tox-tbtn__icon-wrap"],behaviours:o},t),T_=(e,t)=>__(e,t,[]),E_=(e,t)=>__(e,t,[eh.config({})]),A_=(e,t,o)=>({dom:{tag:"span",classes:[`${t}__select-label`]},components:[ri(o.translate(e))],behaviours:Tl([eh.config({})])}),M_=ca("update-menu-text"),D_=ca("update-menu-icon"),B_=(e,t,o)=>{const n=As(b),s=e.text.map((e=>Xh(A_(e,t,o.providers)))),r=e.icon.map((e=>Xh(E_(e,o.providers.icons)))),a=(e,t)=>{const o=vu.getValue(e);return ah.focus(o),Rr(o,"keydown",{raw:t.event.raw}),LS.close(o),A.some(!0)},i=e.role.fold((()=>({})),(e=>({role:e}))),l=e.tooltip.fold((()=>({})),(e=>{const t=o.providers.translate(e);return{title:t,"aria-label":t}})),c=rb("chevron-down",{tag:"div",classes:[`${t}__select-chevron`]},o.providers.icons),d=ca("common-button-display-events"),u=Xh(LS.sketch({...e.uid?{uid:e.uid}:{},...i,dom:{tag:"button",classes:[t,`${t}--select`].concat(L(e.classes,(e=>`${t}--${e}`))),attributes:{...l}},components:Vx([r.map((e=>e.asSpec())),s.map((e=>e.asSpec())),A.some(c)]),matchWidth:!0,useMinWidth:!0,onOpen:(t,o,n)=>{e.searchable&&(e=>{Yv(e).each((e=>ah.focus(e)))})(n)},dropdownBehaviours:Tl([...e.dropdownBehaviours,Ax((()=>e.disabled||o.providers.isDisabled())),Ex(),Wk.config({}),eh.config({}),th("dropdown-events",[Ix(e,n),Fx(e,n)]),th(d,[Jr(((e,t)=>O_(e)))]),th("menubutton-update-display-text",[Wr(M_,((e,t)=>{s.bind((t=>t.getOpt(e))).each((e=>{eh.set(e,[ri(o.providers.translate(t.event.text))])}))})),Wr(D_,((e,t)=>{r.bind((t=>t.getOpt(e))).each((e=>{eh.set(e,[E_(t.event.icon,o.providers.icons)])}))}))])]),eventOrder:bn(C_,{mousedown:["focusing","alloy.base.behaviour","item-type-events","normal-dropdown-events"],[kr()]:["toolbar-button-events","dropdown-events",d]}),sandboxBehaviours:Tl([Gp.config({mode:"special",onLeft:a,onRight:a}),th("dropdown-sandbox-events",[Wr(jv,((e,t)=>{(e=>{const t=vu.getValue(e),o=qv(e).map(Xv);LS.refetch(t).get((()=>{const e=yS.getCoupled(t,"sandbox");o.each((t=>qv(e).each((e=>((e,t)=>{vu.setValue(e,t.fetchPattern),e.element.dom.selectionStart=t.selectionStart,e.element.dom.selectionEnd=t.selectionEnd})(e,t)))))}))})(e),t.stop()})),Wr(Gv,((e,t)=>{((e,t)=>{(e=>Zd.getState(e).bind(Xm.getHighlighted).bind(Xm.getHighlighted))(e).each((o=>{((e,t,o,n)=>{const s={...n,target:t};e.getSystem().triggerEvent(o,t,s)})(e,o.element,t.event.eventType,t.event.interactionEvent)}))})(e,t),t.stop()}))])]),lazySink:o.getSink,toggleClass:`${t}--active`,parts:{menu:{...zv(0,e.columns,e.presets),fakeFocus:e.searchable,onHighlightItem:HS,onCollapseMenu:(e,t,o)=>{Xm.getHighlighted(o).each((t=>{HS(e,o,t)}))},onDehighlightItem:PS}},getAnchorOverrides:()=>({maxHeightFunction:(e,t)=>{mc()(e,t-10)}}),fetch:t=>CS(k(e.fetch,t))}));return u.asSpec()},I_=e=>"separator"===e.type,F_={type:"separator"},R_=(e,t)=>{const o=((e,t)=>{const o=j(e,((e,o)=>(e=>r(e))(o)?""===o?e:"|"===o?e.length>0&&!I_(e[e.length-1])?e.concat([F_]):e:ve(t,o.toLowerCase())?e.concat([t[o.toLowerCase()]]):e:e.concat([o])),[]);return o.length>0&&I_(o[o.length-1])&&o.pop(),o})(r(e)?e.split(" "):e,t);return W(o,((e,o)=>{if((e=>ve(e,"getSubmenuItems"))(o)){const n=(e=>{const t=be(e,"value").getOrThunk((()=>ca("generated-menu-item")));return bn({value:t},e)})(o),s=((e,t)=>{const o=e.getSubmenuItems(),n=R_(o,t);return{item:e,menus:bn(n.menus,{[e.value]:n.items}),expansions:bn(n.expansions,{[e.value]:e.value})}})(n,t);return{menus:bn(e.menus,s.menus),items:[s.item,...e.items],expansions:bn(e.expansions,s.expansions)}}return{...e,items:[o,...e.items]}}),{menus:{},expansions:{},items:[]})},N_=(e,t,o,n)=>{const s=ca("primary-menu"),r=R_(e,o.shared.providers.menuItems());if(0===r.items.length)return A.none();const a=(e=>e.search.fold((()=>({searchMode:"no-search"})),(e=>({searchMode:"search-with-field",placeholder:e.placeholder}))))(n),i=$S(s,r.items,t,o,n.isHorizontalMenu,a),l=(e=>e.search.fold((()=>({searchMode:"no-search"})),(e=>({searchMode:"search-with-results"}))))(n),c=ce(r.menus,((e,n)=>$S(n,e,t,o,!1,l))),d=bn(c,Ds(s,i));return A.from(jh.tieredData(s,d,r.expansions))},V_=e=>!ve(e,"items"),z_="data-value",L_=(e,t,o,n)=>L(o,(o=>V_(o)?{type:"togglemenuitem",text:o.text,value:o.value,active:o.value===n,onAction:()=>{vu.setValue(e,o.value),Rr(e,kk,{name:t}),ah.focus(e)}}:{type:"nestedmenuitem",text:o.text,getSubmenuItems:()=>L_(e,t,o.items,n)})),H_=(e,t)=>re(e,(e=>V_(e)?Ce(e.value===t,e):H_(e.items,t))),P_=xm({name:"HtmlSelect",configFields:[ns("options"),yu("selectBehaviours",[ah,vu]),xs("selectClasses",[]),xs("selectAttributes",{}),ms("data")],factory:(e,t)=>{const o=L(e.options,(e=>({dom:{tag:"option",value:e.value,innerHtml:e.text}}))),n=e.data.map((e=>Ds("initialValue",e))).getOr({});return{uid:e.uid,dom:{tag:"select",classes:e.selectClasses,attributes:e.selectAttributes},components:o,behaviours:wu(e.selectBehaviours,[ah.config({}),vu.config({store:{mode:"manual",getValue:e=>Ka(e.element),setValue:(t,o)=>{const n=oe(e.options);G(e.options,(e=>e.value===o)).isSome()?Ja(t.element,o):-1===t.element.dom.selectedIndex&&""===o&&n.each((e=>Ja(t.element,e.value)))},...n}})])}}}),U_=x([xs("field1Name","field1"),xs("field2Name","field2"),Vi("onLockedChange"),Ii(["lockClass"]),xs("locked",!1),Su("coupledFieldBehaviours",[Om,vu])]),W_=(e,t)=>$u({factory:pk,name:e,overrides:e=>({fieldBehaviours:Tl([th("coupled-input-behaviour",[Wr(Qs(),(o=>{((e,t,o)=>am(e,t,o).bind(Om.getCurrent))(o,e,t).each((t=>{am(o,e,"lock").each((n=>{ph.isOn(n)&&e.onLockedChange(o,t,n)}))}))}))])])})}),j_=x([W_("field1","field2"),W_("field2","field1"),$u({factory:qh,schema:[ns("dom")],name:"lock",overrides:e=>({buttonBehaviours:Tl([ph.config({selected:e.locked,toggleClass:e.markers.lockClass,aria:{mode:"pressed"}})])})})]),G_=wm({name:"FormCoupledInputs",configFields:U_(),partFields:j_(),factory:(e,t,o,n)=>({uid:e.uid,dom:e.dom,components:t,behaviours:ku(e.coupledFieldBehaviours,[Om.config({find:A.some}),vu.config({store:{mode:"manual",getValue:t=>{const o=um(t,e,["field1","field2"]);return{[e.field1Name]:vu.getValue(o.field1()),[e.field2Name]:vu.getValue(o.field2())}},setValue:(t,o)=>{const n=um(t,e,["field1","field2"]);ye(o,e.field1Name)&&vu.setValue(n.field1(),o[e.field1Name]),ye(o,e.field2Name)&&vu.setValue(n.field2(),o[e.field2Name])}}})]),apis:{getField1:t=>am(t,e,"field1"),getField2:t=>am(t,e,"field2"),getLock:t=>am(t,e,"lock")}}),apis:{getField1:(e,t)=>e.getField1(t),getField2:(e,t)=>e.getField2(t),getLock:(e,t)=>e.getLock(t)}}),$_=e=>{const t=/^\s*(\d+(?:\.\d+)?)\s*(|cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)\s*$/.exec(e);if(null!==t){const e=parseFloat(t[1]),o=t[2];return rn.value({value:e,unit:o})}return rn.error(e)},q_=(e,t)=>{const o={"":96,px:96,pt:72,cm:2.54,pc:12,mm:25.4,in:1},n=e=>ve(o,e);return e.unit===t?A.some(e.value):n(e.unit)&&n(t)?o[e.unit]===o[t]?A.some(e.value):A.some(e.value/o[e.unit]*o[t]):A.none()},Y_=e=>A.none(),X_=(e,t)=>{const o=e.label.map((e=>Sk(e,t))),n=[Lm.config({disabled:()=>e.disabled||t.isDisabled()}),Ex(),Gp.config({mode:"execution",useEnter:!0!==e.multiline,useControlEnter:!0===e.multiline,execute:e=>(Fr(e,Tk),A.some(!0))}),th("textfield-change",[Wr(Qs(),((t,o)=>{Rr(t,kk,{name:e.name})})),Wr(dr(),((t,o)=>{Rr(t,kk,{name:e.name})}))]),bk.config({})],s=e.validation.map((e=>Uk.config({getRoot:e=>at(e.element),invalidClass:"tox-invalid",validator:{validate:t=>{const o=vu.getValue(t),n=e.validator(o);return OS(!0===n?rn.value(o):rn.error(n))},validateOnLoad:e.validateOnLoad}}))).toArray(),r={...e.placeholder.fold(x({}),(e=>({placeholder:t.translate(e)}))),...e.inputMode.fold(x({}),(e=>({inputmode:e})))},a=pk.parts.field({tag:!0===e.multiline?"textarea":"input",...e.data.map((e=>({data:e}))).getOr({}),inputAttributes:r,inputClasses:[e.classname],inputBehaviours:Tl(q([n,s])),selectOnFocus:!1,factory:Wv}),i=e.multiline?{dom:{tag:"div",classes:["tox-textarea-wrap"]},components:[a]}:a,l=(e.flex?["tox-form__group--stretched"]:[]).concat(e.maximized?["tox-form-group--maximize"]:[]),c=[Lm.config({disabled:()=>e.disabled||t.isDisabled(),onDisabled:e=>{pk.getField(e).each(Lm.disable)},onEnabled:e=>{pk.getField(e).each(Lm.enable)}}),Ex()];return yk(o,i,l,c)},K_=(e,t)=>t.getAnimationRoot.fold((()=>e.element),(t=>t(e))),J_=e=>e.dimension.property,Z_=(e,t)=>e.dimension.getDimension(t),Q_=(e,t)=>{const o=K_(e,t);Ya(o,[t.shrinkingClass,t.growingClass])},eT=(e,t)=>{Ga(e.element,t.openClass),Wa(e.element,t.closedClass),Bt(e.element,J_(t),"0px"),Pt(e.element)},tT=(e,t)=>{Ga(e.element,t.closedClass),Wa(e.element,t.openClass),Ht(e.element,J_(t))},oT=(e,t,o,n)=>{o.setCollapsed(),Bt(e.element,J_(t),Z_(t,e.element)),Q_(e,t),eT(e,t),t.onStartShrink(e),t.onShrunk(e)},nT=(e,t,o,n)=>{const s=n.getOrThunk((()=>Z_(t,e.element)));o.setCollapsed(),Bt(e.element,J_(t),s),Pt(e.element);const r=K_(e,t);Ga(r,t.growingClass),Wa(r,t.shrinkingClass),eT(e,t),t.onStartShrink(e)},sT=(e,t,o)=>{const n=Z_(t,e.element);("0px"===n?oT:nT)(e,t,o,A.some(n))},rT=(e,t,o)=>{const n=K_(e,t),s=$a(n,t.shrinkingClass),r=Z_(t,e.element);tT(e,t);const a=Z_(t,e.element);(s?()=>{Bt(e.element,J_(t),r),Pt(e.element)}:()=>{eT(e,t)})(),Ga(n,t.shrinkingClass),Wa(n,t.growingClass),tT(e,t),Bt(e.element,J_(t),a),o.setExpanded(),t.onStartGrow(e)},aT=(e,t,o)=>{const n=K_(e,t);return!0===$a(n,t.growingClass)},iT=(e,t,o)=>{const n=K_(e,t);return!0===$a(n,t.shrinkingClass)};var lT=Object.freeze({__proto__:null,refresh:(e,t,o)=>{if(o.isExpanded()){Ht(e.element,J_(t));const o=Z_(t,e.element);Bt(e.element,J_(t),o)}},grow:(e,t,o)=>{o.isExpanded()||rT(e,t,o)},shrink:(e,t,o)=>{o.isExpanded()&&sT(e,t,o)},immediateShrink:(e,t,o)=>{o.isExpanded()&&oT(e,t,o)},hasGrown:(e,t,o)=>o.isExpanded(),hasShrunk:(e,t,o)=>o.isCollapsed(),isGrowing:aT,isShrinking:iT,isTransitioning:(e,t,o)=>aT(e,t)||iT(e,t),toggleGrow:(e,t,o)=>{(o.isExpanded()?sT:rT)(e,t,o)},disableTransitions:Q_,immediateGrow:(e,t,o)=>{o.isExpanded()||(tT(e,t),Bt(e.element,J_(t),Z_(t,e.element)),Q_(e,t),o.setExpanded(),t.onStartGrow(e),t.onGrown(e))}}),cT=Object.freeze({__proto__:null,exhibit:(e,t,o)=>{const n=t.expanded;return Aa(n?{classes:[t.openClass],styles:{}}:{classes:[t.closedClass],styles:Ds(t.dimension.property,"0px")})},events:(e,t)=>Hr([Kr(nr(),((o,n)=>{n.event.raw.propertyName===e.dimension.property&&(Q_(o,e),t.isExpanded()&&Ht(o.element,e.dimension.property),(t.isExpanded()?e.onGrown:e.onShrunk)(o))}))])}),dT=[ns("closedClass"),ns("openClass"),ns("shrinkingClass"),ns("growingClass"),ms("getAnimationRoot"),Ri("onShrunk"),Ri("onStartShrink"),Ri("onGrown"),Ri("onStartGrow"),xs("expanded",!1),ss("dimension",Zn("property",{width:[Li("property","width"),Li("getDimension",(e=>Zt(e)+"px"))],height:[Li("property","height"),Li("getDimension",(e=>jt(e)+"px"))]}))];const uT=Al({fields:dT,name:"sliding",active:cT,apis:lT,state:Object.freeze({__proto__:null,init:e=>{const t=As(e.expanded);return Ta({isExpanded:()=>!0===t.get(),isCollapsed:()=>!1===t.get(),setCollapsed:k(t.set,!1),setExpanded:k(t.set,!0),readState:()=>"expanded: "+t.get()})}})}),mT=e=>({isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t),setActive:t=>{const o=e.element;t?(Wa(o,"tox-tbtn--enabled"),Ct(o,"aria-pressed",!0)):(Ga(o,"tox-tbtn--enabled"),At(o,"aria-pressed"))},isActive:()=>$a(e.element,"tox-tbtn--enabled"),setText:t=>{Rr(e,M_,{text:t})},setIcon:t=>Rr(e,D_,{icon:t})}),gT=(e,t,o,n,s=!0)=>B_({text:e.text,icon:e.icon,tooltip:e.tooltip,searchable:e.search.isSome(),role:n,fetch:(t,n)=>{const s={pattern:e.search.isSome()?US(t):""};e.fetch((t=>{n(N_(t,xv.CLOSE_ON_EXECUTE,o,{isHorizontalMenu:!1,search:e.search}))}),s,mT(t))},onSetup:e.onSetup,getApi:mT,columns:1,presets:"normal",classes:[],dropdownBehaviours:[...s?[bk.config({})]:[]]},t,o.shared),pT=(e,t,o)=>{const n=e=>n=>{const s=!n.isActive();n.setActive(s),e.storage.set(s),o.shared.getSink().each((o=>{t().getOpt(o).each((t=>{Rl(t.element),Rr(t,_k,{name:e.name,value:e.storage.get()})}))}))},s=e=>t=>{t.setActive(e.storage.get())};return t=>{t(L(e,(e=>{const t=e.text.fold((()=>({})),(e=>({text:e})));return{type:e.type,active:!1,...t,onAction:n(e),onSetup:s(e)}})))}},hT=e=>({dom:{tag:"span",classes:["tox-tree__label"],attributes:{title:e,"aria-label":e}},components:[ri(e)]}),fT=ca("leaf-label-event-id"),bT=({leaf:e,onLeafAction:t,visible:o,treeId:n,selectedId:s,backstage:r})=>{const a=e.menu.map((e=>gT(e,"tox-mbtn",r,A.none(),o))),i=[hT(e.title)];return a.each((e=>i.push(e))),qh.sketch({dom:{tag:"div",classes:["tox-tree--leaf__label","tox-trbtn"].concat(o?["tox-tree--leaf__label--visible"]:[])},components:i,role:"treeitem",action:o=>{t(e.id),o.getSystem().broadcastOn([`update-active-item-${n}`],{value:e.id})},eventOrder:{[Js()]:[fT,"keying"]},buttonBehaviours:Tl([...o?[bk.config({})]:[],ph.config({toggleClass:"tox-trbtn--enabled",toggleOnExecute:!1,aria:{mode:"selected"}}),Il.config({channels:{[`update-active-item-${n}`]:{onReceive:(t,o)=>{(o.value===e.id?ph.on:ph.off)(t)}}}}),th(fT,[Jr(((t,o)=>{s.each((o=>{(o===e.id?ph.on:ph.off)(t)}))})),Wr(Js(),((e,t)=>{const o="ArrowLeft"===t.event.raw.code,n="ArrowRight"===t.event.raw.code;o?(fi(e.element,".tox-tree--directory").each((t=>{e.getSystem().getByDom(t).each((e=>{bi(t,".tox-tree--directory__label").each((t=>{e.getSystem().getByDom(t).each(ah.focus)}))}))})),t.stop()):n&&t.stop()}))])])})},vT=ca("directory-label-event-id"),yT=({directory:e,visible:t,noChildren:o,backstage:n})=>{const s=e.menu.map((e=>gT(e,"tox-mbtn",n,A.none()))),r=[{dom:{tag:"div",classes:["tox-chevron"]},components:[(a="chevron-right",i=n.shared.providers.icons,((e,t,o)=>rb(e,{tag:"span",classes:["tox-tree__icon-wrap","tox-icon"],behaviours:[]},t))(a,i))]},hT(e.title)];var a,i;s.each((e=>{r.push(e)}));const l=t=>{fi(t.element,".tox-tree--directory").each((o=>{t.getSystem().getByDom(o).each((o=>{const n=!ph.isOn(o);ph.toggle(o),Rr(t,"expand-tree-node",{expanded:n,node:e.id})}))}))};return qh.sketch({dom:{tag:"div",classes:["tox-tree--directory__label","tox-trbtn"].concat(t?["tox-tree--directory__label--visible"]:[])},components:r,action:l,eventOrder:{[Js()]:[vT,"keying"]},buttonBehaviours:Tl([...t?[bk.config({})]:[],th(vT,[Wr(Js(),((e,t)=>{const n="ArrowRight"===t.event.raw.code,s="ArrowLeft"===t.event.raw.code;n&&o&&t.stop(),(n||s)&&fi(e.element,".tox-tree--directory").each((o=>{e.getSystem().getByDom(o).each((o=>{!ph.isOn(o)&&n||ph.isOn(o)&&s?(l(e),t.stop()):s&&!ph.isOn(o)&&(fi(o.element,".tox-tree--directory").each((e=>{bi(e,".tox-tree--directory__label").each((e=>{o.getSystem().getByDom(e).each(ah.focus)}))})),t.stop())}))}))}))])])})},xT=({children:e,onLeafAction:t,visible:o,treeId:n,expandedIds:s,selectedId:r,backstage:a})=>({dom:{tag:"div",classes:["tox-tree--directory__children"]},components:e.map((e=>"leaf"===e.type?bT({leaf:e,selectedId:r,onLeafAction:t,visible:o,treeId:n,backstage:a}):ST({directory:e,expandedIds:s,selectedId:r,onLeafAction:t,labelTabstopping:o,treeId:n,backstage:a}))),behaviours:Tl([uT.config({dimension:{property:"height"},closedClass:"tox-tree--directory__children--closed",openClass:"tox-tree--directory__children--open",growingClass:"tox-tree--directory__children--growing",shrinkingClass:"tox-tree--directory__children--shrinking",expanded:o}),eh.config({})])}),wT=ca("directory-event-id"),ST=({directory:e,onLeafAction:t,labelTabstopping:o,treeId:n,backstage:s,expandedIds:r,selectedId:a})=>{const{children:i}=e,l=As(r),c=r.includes(e.id);return{dom:{tag:"div",classes:["tox-tree--directory"],attributes:{role:"treeitem"}},components:[yT({directory:e,visible:o,noChildren:0===e.children.length,backstage:s}),xT({children:i,expandedIds:r,selectedId:a,onLeafAction:t,visible:c,treeId:n,backstage:s})],behaviours:Tl([th(wT,[Jr(((e,t)=>{ph.set(e,c)})),Wr("expand-tree-node",((e,t)=>{const{expanded:o,node:n}=t.event;l.set(o?[...l.get(),n]:l.get().filter((e=>e!==n)))}))]),ph.config({...e.children.length>0?{aria:{mode:"expanded"}}:{},toggleClass:"tox-tree--directory--expanded",onToggled:(e,o)=>{const r=e.components()[1],c=(d=o,i.map((e=>"leaf"===e.type?bT({leaf:e,selectedId:a,onLeafAction:t,visible:d,treeId:n,backstage:s}):ST({directory:e,expandedIds:l.get(),selectedId:a,onLeafAction:t,labelTabstopping:d,treeId:n,backstage:s}))));var d;o?uT.grow(r):uT.shrink(r),eh.set(r,c)}})])}},kT=ca("tree-event-id");var CT=Object.freeze({__proto__:null,events:(e,t)=>{const o=e.stream.streams.setup(e,t);return Hr([Wr(e.event,o),Zr((()=>t.cancel()))].concat(e.cancelEvent.map((e=>[Wr(e,(()=>t.cancel()))])).getOr([])))}});const OT=e=>{const t=As(null);return Ta({readState:()=>({timer:null!==t.get()?"set":"unset"}),setTimer:e=>{t.set(e)},cancel:()=>{const e=t.get();null!==e&&e.cancel()}})};var _T=Object.freeze({__proto__:null,throttle:OT,init:e=>e.stream.streams.state(e)}),TT=[ss("stream",Zn("mode",{throttle:[ns("delay"),xs("stopEvent",!0),Li("streams",{setup:(e,t)=>{const o=e.stream,n=QO(e.onStream,o.delay);return t.setTimer(n),(e,t)=>{n.throttle(e,t),o.stopEvent&&t.stop()}},state:OT})]})),xs("event","input"),ms("cancelEvent"),Vi("onStream")];const ET=Al({fields:TT,name:"streaming",active:CT,state:_T}),AT=(e,t,o)=>{const n=vu.getValue(o);vu.setValue(t,n),DT(t)},MT=(e,t)=>{const o=e.element,n=Ka(o),s=o.dom;"number"!==_t(o,"type")&&t(s,n)},DT=e=>{MT(e,((e,t)=>e.setSelectionRange(t.length,t.length)))},BT=x("alloy.typeahead.itemexecute"),IT=x([ms("lazySink"),ns("fetch"),xs("minChars",5),xs("responseTime",1e3),Ri("onOpen"),xs("getHotspot",A.some),xs("getAnchorOverrides",x({})),xs("layouts",A.none()),xs("eventOrder",{}),Es("model",{},[xs("getDisplayText",(e=>void 0!==e.meta&&void 0!==e.meta.text?e.meta.text:e.value)),xs("selectsOver",!0),xs("populateFromBrowse",!0)]),Ri("onSetValue"),Ni("onExecute"),Ri("onItemExecute"),xs("inputClasses",[]),xs("inputAttributes",{}),xs("inputStyles",{}),xs("matchWidth",!0),xs("useMinWidth",!1),xs("dismissOnBlur",!0),Ii(["openClass"]),ms("initialData"),yu("typeaheadBehaviours",[ah,vu,ET,Gp,ph,yS]),ts("lazyTypeaheadComp",(()=>As(A.none))),ts("previewing",(()=>As(!0)))].concat(Lv()).concat(NS())),FT=x([qu({schema:[Bi()],name:"menu",overrides:e=>({fakeFocus:!0,onHighlightItem:(t,o,n)=>{e.previewing.get()?e.lazyTypeaheadComp.get().each((t=>{((e,t,o)=>{if(e.selectsOver){const n=vu.getValue(t),s=e.getDisplayText(n),r=vu.getValue(o);return 0===e.getDisplayText(r).indexOf(s)?A.some((()=>{AT(0,t,o),((e,t)=>{MT(e,((e,o)=>e.setSelectionRange(t,o.length)))})(t,s.length)})):A.none()}return A.none()})(e.model,t,n).fold((()=>{e.model.selectsOver?(Xm.dehighlight(o,n),e.previewing.set(!0)):e.previewing.set(!1)}),(t=>{t(),e.previewing.set(!1)}))})):e.lazyTypeaheadComp.get().each((t=>{e.model.populateFromBrowse&&AT(e.model,t,n),Tt(n.element,"id").each((e=>Ct(t.element,"aria-activedescendant",e)))}))},onExecute:(t,o)=>e.lazyTypeaheadComp.get().map((e=>(Rr(e,BT(),{item:o}),!0))),onHover:(t,o)=>{e.previewing.set(!1),e.lazyTypeaheadComp.get().each((t=>{e.model.populateFromBrowse&&AT(e.model,t,o)}))}})})]),RT=wm({name:"Typeahead",configFields:IT(),partFields:FT(),factory:(e,t,o,n)=>{const s=(t,o,s)=>{e.previewing.set(!1);const r=yS.getCoupled(t,"sandbox");if(Zd.isOpen(r))Om.getCurrent(r).each((e=>{Xm.getHighlighted(e).fold((()=>{s(e)}),(()=>{Lr(r,e.element,"keydown",o)}))}));else{const o=e=>{Om.getCurrent(e).each(s)};AS(e,a(t),t,r,n,o,Uh.HighlightMenuAndItem).get(b)}},r=Hv(e),a=e=>t=>t.map((t=>{const o=fe(t.menus),n=Y(o,(e=>U(e.items,(e=>"item"===e.type))));return vu.getState(e).update(L(n,(e=>e.data))),t})),i=e=>Om.getCurrent(e),l="typeaheadevents",c=[ah.config({}),vu.config({onSetValue:e.onSetValue,store:{mode:"dataset",getDataKey:e=>Ka(e.element),getFallbackEntry:e=>({value:e,meta:{}}),setValue:(t,o)=>{Ja(t.element,e.model.getDisplayText(o))},...e.initialData.map((e=>Ds("initialValue",e))).getOr({})}}),ET.config({stream:{mode:"throttle",delay:e.responseTime,stopEvent:!1},onStream:(t,o)=>{const s=yS.getCoupled(t,"sandbox");if(ah.isFocused(t)&&Ka(t.element).length>=e.minChars){const o=i(s).bind((e=>Xm.getHighlighted(e).map(vu.getValue)));e.previewing.set(!0);const r=t=>{i(s).each((t=>{o.fold((()=>{e.model.selectsOver&&Xm.highlightFirst(t)}),(e=>{Xm.highlightBy(t,(t=>vu.getValue(t).value===e.value)),Xm.getHighlighted(t).orThunk((()=>(Xm.highlightFirst(t),A.none())))}))}))};AS(e,a(t),t,s,n,r,Uh.HighlightJustMenu).get(b)}},cancelEvent:br()}),Gp.config({mode:"special",onDown:(e,t)=>(s(e,t,Xm.highlightFirst),A.some(!0)),onEscape:e=>{const t=yS.getCoupled(e,"sandbox");return Zd.isOpen(t)?(Zd.close(t),A.some(!0)):A.none()},onUp:(e,t)=>(s(e,t,Xm.highlightLast),A.some(!0)),onEnter:t=>{const o=yS.getCoupled(t,"sandbox"),n=Zd.isOpen(o);if(n&&!e.previewing.get())return i(o).bind((e=>Xm.getHighlighted(e))).map((e=>(Rr(t,BT(),{item:e}),!0)));{const s=vu.getValue(t);return Fr(t,br()),e.onExecute(o,t,s),n&&Zd.close(o),A.some(!0)}}}),ph.config({toggleClass:e.markers.openClass,aria:{mode:"expanded"}}),yS.config({others:{sandbox:t=>FS(e,t,{onOpen:()=>ph.on(t),onClose:()=>{e.lazyTypeaheadComp.get().each((e=>At(e.element,"aria-activedescendant"))),ph.off(t)}})}}),th(l,[Jr((t=>{e.lazyTypeaheadComp.set(A.some(t))})),Zr((t=>{e.lazyTypeaheadComp.set(A.none())})),ea((t=>{const o=b;DS(e,a(t),t,n,o,Uh.HighlightMenuAndItem).get(b)})),Wr(BT(),((t,o)=>{const n=yS.getCoupled(t,"sandbox");AT(e.model,t,o.event.item),Fr(t,br()),e.onItemExecute(t,n,o.event.item,vu.getValue(t)),Zd.close(n),DT(t)}))].concat(e.dismissOnBlur?[Wr(cr(),(e=>{const t=yS.getCoupled(e,"sandbox");Ll(t.element).isNone()&&Zd.close(t)}))]:[]))],d={[Cr()]:[vu.name(),ET.name(),l],...e.eventOrder};return{uid:e.uid,dom:Uv(bn(e,{inputAttributes:{role:"combobox","aria-autocomplete":"list","aria-haspopup":"true"}})),behaviours:{...r,...wu(e.typeaheadBehaviours,c)},eventOrder:d}}}),NT=e=>({...e,toCached:()=>NT(e.toCached()),bindFuture:t=>NT(e.bind((e=>e.fold((e=>OS(rn.error(e))),(e=>t(e)))))),bindResult:t=>NT(e.map((e=>e.bind(t)))),mapResult:t=>NT(e.map((e=>e.map(t)))),mapError:t=>NT(e.map((e=>e.mapError(t)))),foldResult:(t,o)=>e.map((e=>e.fold(t,o))),withTimeout:(t,o)=>NT(CS((n=>{let s=!1;const r=setTimeout((()=>{s=!0,n(rn.error(o()))}),t);e.get((e=>{s||(clearTimeout(r),n(e))}))})))}),VT=e=>NT(CS(e)),zT=(e,t,o=[],n,s,r)=>{const a=t.fold((()=>({})),(e=>({action:e}))),i={buttonBehaviours:Tl([Ax((()=>!e.enabled||r.isDisabled())),Ex(),bk.config({}),th("button press",[Ur("click"),Ur("mousedown")])].concat(o)),eventOrder:{click:["button press","alloy.base.behaviour"],mousedown:["button press","alloy.base.behaviour"]},...a},l=bn(i,{dom:n});return bn(l,{components:s})},LT=(e,t,o,n=[])=>{const s={tag:"button",classes:["tox-tbtn"],attributes:e.tooltip.map((e=>({"aria-label":o.translate(e),title:o.translate(e)}))).getOr({})},r=e.icon.map((e=>T_(e,o.icons))),a=Vx([r]);return zT(e,t,n,s,a,o)},HT=e=>{switch(e){case"primary":return["tox-button"];case"toolbar":return["tox-tbtn"];default:return["tox-button","tox-button--secondary"]}},PT=(e,t,o,n=[],s=[])=>{const r=o.translate(e.text),a=e.icon.map((e=>T_(e,o.icons))),i=[a.getOrThunk((()=>ri(r)))],l=e.buttonType.getOr(e.primary||e.borderless?"primary":"secondary"),c=[...HT(l),...a.isSome()?["tox-button--icon"]:[],...e.borderless?["tox-button--naked"]:[],...s];return zT(e,t,n,{tag:"button",classes:c,attributes:{title:r}},i,o)},UT=(e,t,o,n=[],s=[])=>{const r=PT(e,A.some(t),o,n,s);return qh.sketch(r)},WT=(e,t)=>o=>{"custom"===t?Rr(o,_k,{name:e,value:{}}):"submit"===t?Fr(o,Tk):"cancel"===t?Fr(o,Ok):console.error("Unknown button type: ",t)},jT=(e,t,o)=>{if(((e,t)=>"menu"===t)(0,t)){const t=()=>r,n=e,s={...e,type:"menubutton",search:A.none(),onSetup:t=>(t.setEnabled(e.enabled),b),fetch:pT(n.items,t,o)},r=Xh(gT(s,"tox-tbtn",o,A.none()));return r.asSpec()}if(((e,t)=>"custom"===t||"cancel"===t||"submit"===t)(0,t)){const n=WT(e.name,t),s={...e,borderless:!1};return UT(s,n,o.shared.providers,[])}if(((e,t)=>"togglebutton"===t)(0,t))return((e,t)=>{var o,n;const s=e.icon.map((e=>E_(e,t.icons))).map(Xh),r=e.buttonType.getOr(e.primary?"primary":"secondary"),a={...e,name:null!==(o=e.name)&&void 0!==o?o:"",primary:"primary"===r,tooltip:A.from(e.tooltip),enabled:null!==(n=e.enabled)&&void 0!==n&&n,borderless:!1},i=a.tooltip.map((e=>({"aria-label":t.translate(e),title:t.translate(e)}))).getOr({}),l=HT(null!=r?r:"secondary"),c=e.icon.isSome()&&e.text.isSome(),d={tag:"button",classes:[...l.concat(e.icon.isSome()?["tox-button--icon"]:[]),...e.active?["tox-button--enabled"]:[],...c?["tox-button--icon-and-text"]:[]],attributes:i},u=t.translate(e.text.getOr("")),m=ri(u),g=[...Vx([s.map((e=>e.asSpec()))]),...e.text.isSome()?[m]:[]],p=zT(a,A.some((o=>{Rr(o,_k,{name:e.name,value:{setIcon:e=>{s.map((n=>n.getOpt(o).each((o=>{eh.set(o,[E_(e,t.icons)])}))))}}})})),[],d,g,t);return qh.sketch(p)})(e,o.shared.providers);throw console.error("Unknown footer button type: ",t),new Error("Unknown footer button type")},GT={type:"separator"},$T=e=>({type:"menuitem",value:e.url,text:e.title,meta:{attach:e.attach},onAction:b}),qT=(e,t)=>({type:"menuitem",value:t,text:e,meta:{attach:void 0},onAction:b}),YT=(e,t)=>(e=>L(e,$T))(((e,t)=>U(t,(t=>t.type===e)))(e,t)),XT=e=>YT("header",e.targets),KT=e=>YT("anchor",e.targets),JT=e=>A.from(e.anchorTop).map((e=>qT("",e))).toArray(),ZT=e=>A.from(e.anchorBottom).map((e=>qT("",e))).toArray(),QT=(e,t)=>{const o=e.toLowerCase();return U(t,(e=>{var t;const n=void 0!==e.meta&&void 0!==e.meta.text?e.meta.text:e.text,s=null!==(t=e.value)&&void 0!==t?t:"";return Te(n.toLowerCase(),o)||Te(s.toLowerCase(),o)}))},eE=ca("aria-invalid"),tE=(e,t)=>{e.dom.checked=t},oE=e=>e.dom.checked,nE=e=>(t,o,n,s)=>be(o,"name").fold((()=>e(o,s,A.none())),(r=>t.field(r,e(o,s,be(n,r))))),sE={bar:nE(((e,t)=>((e,t)=>({dom:{tag:"div",classes:["tox-bar","tox-form__controls-h-stack"]},components:L(e.items,t.interpreter)}))(e,t.shared))),collection:nE(((e,t,o)=>Bk(e,t.shared.providers,o))),alertbanner:nE(((e,t)=>((e,t)=>{const o=ob(e.icon,t.icons);return dk.sketch({dom:{tag:"div",attributes:{role:"alert"},classes:["tox-notification","tox-notification--in",`tox-notification--${e.level}`]},components:[{dom:{tag:"div",classes:["tox-notification__icon"],innerHtml:e.url?void 0:o},components:e.url?[qh.sketch({dom:{tag:"button",classes:["tox-button","tox-button--naked","tox-button--icon"],innerHtml:o,attributes:{title:t.translate(e.iconTooltip)}},action:t=>Rr(t,_k,{name:"alert-banner",value:e.url}),buttonBehaviours:Tl([nb()])})]:void 0},{dom:{tag:"div",classes:["tox-notification__body"],innerHtml:t.translate(e.text)}}]})})(e,t.shared.providers))),input:nE(((e,t,o)=>((e,t,o)=>X_({name:e.name,multiline:!1,label:e.label,inputMode:e.inputMode,placeholder:e.placeholder,flex:!1,disabled:!e.enabled,classname:"tox-textfield",validation:A.none(),maximized:e.maximized,data:o},t))(e,t.shared.providers,o))),textarea:nE(((e,t,o)=>((e,t,o)=>X_({name:e.name,multiline:!0,label:e.label,inputMode:A.none(),placeholder:e.placeholder,flex:!0,disabled:!e.enabled,classname:"tox-textarea",validation:A.none(),maximized:e.maximized,data:o},t))(e,t.shared.providers,o))),label:nE(((e,t)=>((e,t)=>{const o="tox-label";return{dom:{tag:"div",classes:["tox-form__group"]},components:[{dom:{tag:"label",classes:[o,..."center"===e.align?[`${o}--center`]:[],..."end"===e.align?[`${o}--end`]:[]]},components:[ri(t.providers.translate(e.label))]},...L(e.items,t.interpreter)],behaviours:Tl([WO(),eh.config({}),(n=A.none(),YO(n,ta,oa)),Gp.config({mode:"acyclic"})])};var n})(e,t.shared))),iframe:(MA=(e,t,o)=>((e,t,o)=>{const n="tox-dialog__iframe",s=e.transparent?[]:[`${n}--opaque`],r=e.border?["tox-navobj-bordered"]:[],a={...e.label.map((e=>({title:e}))).getOr({}),...o.map((e=>({srcdoc:e}))).getOr({}),...e.sandboxed?{sandbox:"allow-scripts allow-same-origin"}:{}},i=((e,t)=>{const o=As(e.getOr(""));return{getValue:e=>o.get(),setValue:(e,n)=>{if(o.get()!==n){const o=e.element,s=()=>Ct(o,"srcdoc",n);t?w_.fold(x(x_),(e=>e.throttle))(o,n,s):s()}o.set(n)}}})(o,e.streamContent),l=e.label.map((e=>Sk(e,t))),c=pk.parts.field({factory:{sketch:e=>n_(A.from(r),{uid:e.uid,dom:{tag:"iframe",attributes:a,classes:[n,...s]},behaviours:Tl([bk.config({}),ah.config({}),qO(o,i.getValue,i.setValue),Il.config({channels:{[m_]:{onReceive:(e,t)=>{t.newFocus.each((t=>{at(e.element).each((o=>{(Qe(e.element,t)?Wa:Ga)(o,"tox-navobj-bordered-focus")}))}))}}}})])})}});return yk(l,c,["tox-form__group--stretched"],[])})(e,t.shared.providers,o),(e,t,o,n)=>{const s=bn(t,{source:"dynamic"});return nE(MA)(e,s,o,n)}),button:nE(((e,t)=>((e,t)=>{const o=WT(e.name,"custom");return n=A.none(),s=pk.parts.field({factory:qh,...PT(e,A.some(o),t,[XO(""),WO()])}),yk(n,s,[],[]);var n,s})(e,t.shared.providers))),checkbox:nE(((e,t,o)=>((e,t,o)=>{const n=e=>(e.element.dom.click(),A.some(!0)),s=pk.parts.field({factory:{sketch:w},dom:{tag:"input",classes:["tox-checkbox__input"],attributes:{type:"checkbox"}},behaviours:Tl([WO(),Lm.config({disabled:()=>!e.enabled||t.isDisabled(),onDisabled:e=>{at(e.element).each((e=>Wa(e,"tox-checkbox--disabled")))},onEnabled:e=>{at(e.element).each((e=>Ga(e,"tox-checkbox--disabled")))}}),bk.config({}),ah.config({}),YO(o,oE,tE),Gp.config({mode:"special",onEnter:n,onSpace:n,stopSpaceKeyup:!0}),th("checkbox-events",[Wr(er(),((t,o)=>{Rr(t,kk,{name:e.name})}))])])}),r=pk.parts.label({dom:{tag:"span",classes:["tox-checkbox__label"]},components:[ri(t.translate(e.label))],behaviours:Tl([Wk.config({})])}),a=e=>rb("checked"===e?"selected":"unselected",{tag:"span",classes:["tox-icon","tox-checkbox-icon__"+e]},t.icons),i=Xh({dom:{tag:"div",classes:["tox-checkbox__icons"]},components:[a("checked"),a("unchecked")]});return pk.sketch({dom:{tag:"label",classes:["tox-checkbox"]},components:[s,i.asSpec(),r],fieldBehaviours:Tl([Lm.config({disabled:()=>!e.enabled||t.isDisabled()}),Ex()])})})(e,t.shared.providers,o))),colorinput:nE(((e,t,o)=>((e,t,o,n)=>{const s=pk.parts.field({factory:Wv,inputClasses:["tox-textfield"],data:n,onSetValue:e=>Uk.run(e).get(b),inputBehaviours:Tl([Lm.config({disabled:t.providers.isDisabled}),Ex(),bk.config({}),Uk.config({invalidClass:"tox-textbox-field-invalid",getRoot:e=>at(e.element),notify:{onValid:e=>{const t=vu.getValue(e);Rr(e,jk,{color:t})}},validator:{validateOnLoad:!1,validate:e=>{const t=vu.getValue(e);if(0===t.length)return OS(rn.value(!0));{const e=Ne("span");Bt(e,"background-color",t);const o=Vt(e,"background-color").fold((()=>rn.error("blah")),(e=>rn.value(t)));return OS(o)}}}})]),selectOnFocus:!1}),r=e.label.map((e=>Sk(e,t.providers))),a=(e,t)=>{Rr(e,Gk,{value:t})},i=Xh(((e,t)=>LS.sketch({dom:e.dom,components:e.components,toggleClass:"mce-active",dropdownBehaviours:Tl([Ax(t.providers.isDisabled),Ex(),Wk.config({}),bk.config({})]),layouts:e.layouts,sandboxClasses:["tox-dialog__popups"],lazySink:t.getSink,fetch:o=>CS((t=>e.fetch(t))).map((n=>A.from(qS(bn(aS(ca("menu-value"),n,(t=>{e.onItemAction(o,t)}),e.columns,e.presets,xv.CLOSE_ON_EXECUTE,T,t.providers),{movement:lS(e.columns,e.presets)}))))),parts:{menu:zv(0,0,e.presets)}}))({dom:{tag:"span",attributes:{"aria-label":t.providers.translate("Color swatch")}},layouts:{onRtl:()=>[cl,ll,gl],onLtr:()=>[ll,cl,gl]},components:[],fetch:Zw(o.getColors(e.storageKey),e.storageKey,o.hasCustomColors()),columns:o.getColorCols(e.storageKey),presets:"color",onItemAction:(t,n)=>{i.getOpt(t).each((t=>{"custom"===n?o.colorPicker((o=>{o.fold((()=>Fr(t,$k)),(o=>{a(t,o),Dw(e.storageKey,o)}))}),"#ffffff"):a(t,"remove"===n?"":n)}))}},t));return pk.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:r.toArray().concat([{dom:{tag:"div",classes:["tox-color-input"]},components:[s,i.asSpec()]}]),fieldBehaviours:Tl([th("form-field-events",[Wr(jk,((t,o)=>{i.getOpt(t).each((e=>{Bt(e.element,"background-color",o.event.color)})),Rr(t,kk,{name:e.name})})),Wr(Gk,((e,t)=>{pk.getField(e).each((o=>{vu.setValue(o,t.event.value),Om.getCurrent(e).each(ah.focus)}))})),Wr($k,((e,t)=>{pk.getField(e).each((t=>{Om.getCurrent(e).each(ah.focus)}))}))])])})})(e,t.shared,t.colorinput,o))),colorpicker:nE(((e,t,o)=>((e,t,o)=>{const n=e=>"tox-"+e,s=UO((e=>t=>r(t)?e.translate(KO[t]):e.translate(t))(t),n),a=Xh(s.sketch({dom:{tag:"div",classes:[n("color-picker-container")],attributes:{role:"presentation"}},onValidHex:e=>{Rr(e,_k,{name:"hex-valid",value:!0})},onInvalidHex:e=>{Rr(e,_k,{name:"hex-valid",value:!1})}}));return{dom:{tag:"div"},components:[a.asSpec()],behaviours:Tl([qO(o,(e=>{const t=a.get(e);return Om.getCurrent(t).bind((e=>vu.getValue(e).hex)).map((e=>"#"+_e(e,"#"))).getOr("")}),((e,t)=>{const o=A.from(/^#([a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?)/.exec(t)).bind((e=>te(e,1))),n=a.get(e);Om.getCurrent(n).fold((()=>{console.log("Can not find form")}),(e=>{vu.setValue(e,{hex:o.getOr("")}),NO.getField(e,"hex").each((e=>{Fr(e,Qs())}))}))})),WO()])}})(0,t.shared.providers,o))),dropzone:nE(((e,t,o)=>((e,t,o)=>{const n=(e,t)=>{t.stop()},s=e=>(t,o)=>{H(e,(e=>{e(t,o)}))},r=(e,t)=>{var o;if(!Lm.isDisabled(e)){const n=t.event.raw;i(e,null===(o=n.dataTransfer)||void 0===o?void 0:o.files)}},a=(e,t)=>{const o=t.event.raw.target;i(e,o.files)},i=(o,n)=>{n&&(vu.setValue(o,((e,t)=>{const o=ZO.explode(t.getOption("images_file_types"));return U(se(e),(e=>N(o,(t=>Ae(e.name.toLowerCase(),`.${t.toLowerCase()}`)))))})(n,t)),Rr(o,kk,{name:e.name}))},l=Xh({dom:{tag:"input",attributes:{type:"file",accept:"image/*"},styles:{display:"none"}},behaviours:Tl([th("input-file-events",[Yr(tr()),Yr(pr())])])}),c=e.label.map((e=>Sk(e,t))),d=pk.parts.field({factory:{sketch:e=>({uid:e.uid,dom:{tag:"div",classes:["tox-dropzone-container"]},behaviours:Tl([XO(o.getOr([])),WO(),Lm.config({}),ph.config({toggleClass:"dragenter",toggleOnExecute:!1}),th("dropzone-events",[Wr("dragenter",s([n,ph.toggle])),Wr("dragleave",s([n,ph.toggle])),Wr("dragover",n),Wr("drop",s([n,r])),Wr(er(),a)])]),components:[{dom:{tag:"div",classes:["tox-dropzone"],styles:{}},components:[{dom:{tag:"p"},components:[ri(t.translate("Drop an image here"))]},qh.sketch({dom:{tag:"button",styles:{position:"relative"},classes:["tox-button","tox-button--secondary"]},components:[ri(t.translate("Browse for an image")),l.asSpec()],action:e=>{l.get(e).element.dom.click()},buttonBehaviours:Tl([bk.config({}),Ax(t.isDisabled),Ex()])})]}]})}});return yk(c,d,["tox-form__group--stretched"],[])})(e,t.shared.providers,o))),grid:nE(((e,t)=>((e,t)=>({dom:{tag:"div",classes:["tox-form__grid",`tox-form__grid--${e.columns}col`]},components:L(e.items,t.interpreter)}))(e,t.shared))),listbox:nE(((e,t,o)=>((e,t,o)=>{const n=t.shared.providers,s=o.bind((t=>H_(e.items,t))).orThunk((()=>oe(e.items).filter(V_))),r=e.label.map((e=>Sk(e,n))),a=pk.parts.field({dom:{},factory:{sketch:o=>B_({uid:o.uid,text:s.map((e=>e.text)),icon:A.none(),tooltip:e.label,role:A.none(),fetch:(o,n)=>{const s=L_(o,e.name,e.items,vu.getValue(o));n(N_(s,xv.CLOSE_ON_EXECUTE,t,{isHorizontalMenu:!1,search:A.none()}))},onSetup:x(b),getApi:x({}),columns:1,presets:"normal",classes:[],dropdownBehaviours:[bk.config({}),qO(s.map((e=>e.value)),(e=>_t(e.element,z_)),((t,o)=>{H_(e.items,o).each((e=>{Ct(t.element,z_,e.value),Rr(t,M_,{text:e.text})}))}))]},"tox-listbox",t.shared)}}),i={dom:{tag:"div",classes:["tox-listboxfield"]},components:[a]};return pk.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:q([r.toArray(),[i]]),fieldBehaviours:Tl([Lm.config({disabled:x(!e.enabled),onDisabled:e=>{pk.getField(e).each(Lm.disable)},onEnabled:e=>{pk.getField(e).each(Lm.enable)}})])})})(e,t,o))),selectbox:nE(((e,t,o)=>((e,t,o)=>{const n=L(e.items,(e=>({text:t.translate(e.text),value:e.value}))),s=e.label.map((e=>Sk(e,t))),r=pk.parts.field({dom:{},...o.map((e=>({data:e}))).getOr({}),selectAttributes:{size:e.size},options:n,factory:P_,selectBehaviours:Tl([Lm.config({disabled:()=>!e.enabled||t.isDisabled()}),bk.config({}),th("selectbox-change",[Wr(er(),((t,o)=>{Rr(t,kk,{name:e.name})}))])])}),a=e.size>1?A.none():A.some(rb("chevron-down",{tag:"div",classes:["tox-selectfield__icon-js"]},t.icons)),i={dom:{tag:"div",classes:["tox-selectfield"]},components:q([[r],a.toArray()])};return pk.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:q([s.toArray(),[i]]),fieldBehaviours:Tl([Lm.config({disabled:()=>!e.enabled||t.isDisabled(),onDisabled:e=>{pk.getField(e).each(Lm.disable)},onEnabled:e=>{pk.getField(e).each(Lm.enable)}}),Ex()])})})(e,t.shared.providers,o))),sizeinput:nE(((e,t)=>((e,t)=>{let o=Y_;const n=ca("ratio-event"),s=e=>rb(e,{tag:"span",classes:["tox-icon","tox-lock-icon__"+e]},t.icons),r=G_.parts.lock({dom:{tag:"button",classes:["tox-lock","tox-button","tox-button--naked","tox-button--icon"],attributes:{title:t.translate(e.label.getOr("Constrain proportions"))}},components:[s("lock"),s("unlock")],buttonBehaviours:Tl([Lm.config({disabled:()=>!e.enabled||t.isDisabled()}),Ex(),bk.config({})])}),a=e=>({dom:{tag:"div",classes:["tox-form__group"]},components:e}),i=o=>pk.parts.field({factory:Wv,inputClasses:["tox-textfield"],inputBehaviours:Tl([Lm.config({disabled:()=>!e.enabled||t.isDisabled()}),Ex(),bk.config({}),th("size-input-events",[Wr(Xs(),((e,t)=>{Rr(e,n,{isField1:o})})),Wr(er(),((t,o)=>{Rr(t,kk,{name:e.name})}))])]),selectOnFocus:!1}),l=e=>({dom:{tag:"label",classes:["tox-label"]},components:[ri(t.translate(e))]}),c=G_.parts.field1(a([pk.parts.label(l("Width")),i(!0)])),d=G_.parts.field2(a([pk.parts.label(l("Height")),i(!1)]));return G_.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:[{dom:{tag:"div",classes:["tox-form__controls-h-stack"]},components:[c,d,a([l("\xa0"),r])]}],field1Name:"width",field2Name:"height",locked:!0,markers:{lockClass:"tox-locked"},onLockedChange:(e,t,n)=>{$_(vu.getValue(e)).each((e=>{o(e).each((e=>{vu.setValue(t,(e=>{const t={"":0,px:0,pt:1,mm:1,pc:2,ex:2,em:2,ch:2,rem:2,cm:3,in:4,"%":4};let o=e.value.toFixed((n=e.unit)in t?t[n]:1);var n;return-1!==o.indexOf(".")&&(o=o.replace(/\.?0*$/,"")),o+e.unit})(e))}))}))},coupledFieldBehaviours:Tl([Lm.config({disabled:()=>!e.enabled||t.isDisabled(),onDisabled:e=>{G_.getField1(e).bind(pk.getField).each(Lm.disable),G_.getField2(e).bind(pk.getField).each(Lm.disable),G_.getLock(e).each(Lm.disable)},onEnabled:e=>{G_.getField1(e).bind(pk.getField).each(Lm.enable),G_.getField2(e).bind(pk.getField).each(Lm.enable),G_.getLock(e).each(Lm.enable)}}),Ex(),th("size-input-events2",[Wr(n,((e,t)=>{const n=t.event.isField1,s=n?G_.getField1(e):G_.getField2(e),r=n?G_.getField2(e):G_.getField1(e),a=s.map(vu.getValue).getOr(""),i=r.map(vu.getValue).getOr("");o=((e,t)=>{const o=$_(e).toOptional(),n=$_(t).toOptional();return Se(o,n,((e,t)=>q_(e,t.unit).map((e=>t.value/e)).map((e=>{return o=e,n=t.unit,e=>q_(e,n).map((e=>({value:e*o,unit:n})));var o,n})).getOr(Y_))).getOr(Y_)})(a,i)}))])])})})(e,t.shared.providers))),slider:nE(((e,t,o)=>((e,t,o)=>{const n=EO.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[ri(t.translate(e.label))]}),s=EO.parts.spectrum({dom:{tag:"div",classes:["tox-slider__rail"],attributes:{role:"presentation"}}}),r=EO.parts.thumb({dom:{tag:"div",classes:["tox-slider__handle"],attributes:{role:"presentation"}}});return EO.sketch({dom:{tag:"div",classes:["tox-slider"],attributes:{role:"presentation"}},model:{mode:"x",minX:e.min,maxX:e.max,getInitialValue:x(o.getOrThunk((()=>(Math.abs(e.max)-Math.abs(e.min))/2)))},components:[n,s,r],sliderBehaviours:Tl([WO(),ah.config({})]),onChoose:(t,o,n)=>{Rr(t,kk,{name:e.name,value:n})}})})(e,t.shared.providers,o))),urlinput:nE(((e,t,o)=>((e,t,o,n)=>{const s=t.shared.providers,r=t=>{const n=vu.getValue(t);o.addToHistory(n.value,e.filetype)},a={...n.map((e=>({initialData:e}))).getOr({}),dismissOnBlur:!0,inputClasses:["tox-textfield"],sandboxClasses:["tox-dialog__popups"],inputAttributes:{"aria-errormessage":eE,type:"url"},minChars:0,responseTime:0,fetch:n=>{const s=((e,t,o)=>{var n,s;const r=vu.getValue(t),a=null!==(s=null===(n=null==r?void 0:r.meta)||void 0===n?void 0:n.text)&&void 0!==s?s:r.value;return o.getLinkInformation().fold((()=>[]),(t=>{const n=QT(a,(e=>L(e,(e=>qT(e,e))))(o.getHistory(e)));return"file"===e?(s=[n,QT(a,XT(t)),QT(a,q([JT(t),KT(t),ZT(t)]))],j(s,((e,t)=>0===e.length||0===t.length?e.concat(t):e.concat(GT,t)),[])):n;var s}))})(e.filetype,n,o),r=N_(s,xv.BUBBLE_TO_SANDBOX,t,{isHorizontalMenu:!1,search:A.none()});return OS(r)},getHotspot:e=>g.getOpt(e),onSetValue:(e,t)=>{e.hasConfigured(Uk)&&Uk.run(e).get(b)},typeaheadBehaviours:Tl([...o.getValidationHandler().map((t=>Uk.config({getRoot:e=>at(e.element),invalidClass:"tox-control-wrap--status-invalid",notify:{onInvalid:(e,t)=>{c.getOpt(e).each((e=>{Ct(e.element,"title",s.translate(t))}))}},validator:{validate:o=>{const n=vu.getValue(o);return VT((o=>{t({type:e.filetype,url:n.value},(e=>{if("invalid"===e.status){const t=rn.error(e.message);o(t)}else{const t=rn.value(e.message);o(t)}}))}))},validateOnLoad:!1}}))).toArray(),Lm.config({disabled:()=>!e.enabled||s.isDisabled()}),bk.config({}),th("urlinput-events",[Wr(Qs(),(t=>{const o=Ka(t.element),n=o.trim();n!==o&&Ja(t.element,n),"file"===e.filetype&&Rr(t,kk,{name:e.name})})),Wr(er(),(t=>{Rr(t,kk,{name:e.name}),r(t)})),Wr(dr(),(t=>{Rr(t,kk,{name:e.name}),r(t)}))])]),eventOrder:{[Qs()]:["streaming","urlinput-events","invalidating"]},model:{getDisplayText:e=>e.value,selectsOver:!1,populateFromBrowse:!1},markers:{openClass:"tox-textfield--popup-open"},lazySink:t.shared.getSink,parts:{menu:zv(0,0,"normal")},onExecute:(e,t,o)=>{Rr(t,Tk,{})},onItemExecute:(t,o,n,s)=>{r(t),Rr(t,kk,{name:e.name})}},i=pk.parts.field({...a,factory:RT}),l=e.label.map((e=>Sk(e,s))),c=Xh(((e,t,o=e,n=e)=>rb(o,{tag:"div",classes:["tox-icon","tox-control-wrap__status-icon-"+e],attributes:{title:s.translate(n),"aria-live":"polite",...t.fold((()=>({})),(e=>({id:e})))}},s.icons))("invalid",A.some(eE),"warning")),d=Xh({dom:{tag:"div",classes:["tox-control-wrap__status-icon-wrap"]},components:[c.asSpec()]}),u=o.getUrlPicker(e.filetype),m=ca("browser.url.event"),g=Xh({dom:{tag:"div",classes:["tox-control-wrap"]},components:[i,d.asSpec()],behaviours:Tl([Lm.config({disabled:()=>!e.enabled||s.isDisabled()})])}),p=Xh(UT({name:e.name,icon:A.some("browse"),text:e.picker_text.or(e.label).getOr(""),enabled:e.enabled,primary:!1,buttonType:A.none(),borderless:!0},(e=>Fr(e,m)),s,[],["tox-browse-url"]));return pk.sketch({dom:wk([]),components:l.toArray().concat([{dom:{tag:"div",classes:["tox-form__controls-h-stack"]},components:q([[g.asSpec()],u.map((()=>p.asSpec())).toArray()])}]),fieldBehaviours:Tl([Lm.config({disabled:()=>!e.enabled||s.isDisabled(),onDisabled:e=>{pk.getField(e).each(Lm.disable),p.getOpt(e).each(Lm.disable)},onEnabled:e=>{pk.getField(e).each(Lm.enable),p.getOpt(e).each(Lm.enable)}}),Ex(),th("url-input-events",[Wr(m,(t=>{Om.getCurrent(t).each((o=>{const n=vu.getValue(o),s={fieldname:e.name,...n};u.each((n=>{n(s).get((n=>{vu.setValue(o,n),Rr(t,kk,{name:e.name})}))}))}))}))])])})})(e,t,t.urlinput,o))),customeditor:nE((e=>{const t=nc(),o=Xh({dom:{tag:e.tag}}),n=nc();return{dom:{tag:"div",classes:["tox-custom-editor"]},behaviours:Tl([th("custom-editor-events",[Jr((s=>{o.getOpt(s).each((o=>{((e=>ve(e,"init"))(e)?e.init(o.element.dom):JO.load(e.scriptId,e.scriptUrl).then((t=>t(o.element.dom,e.settings)))).then((e=>{n.on((t=>{e.setValue(t)})),n.clear(),t.set(e)}))}))}))]),qO(A.none(),(()=>t.get().fold((()=>n.get().getOr("")),(e=>e.getValue()))),((e,o)=>{t.get().fold((()=>n.set(o)),(e=>e.setValue(o)))})),WO()]),components:[o.asSpec()]}})),htmlpanel:nE((e=>"presentation"===e.presets?dk.sketch({dom:{tag:"div",classes:["tox-form__group"],innerHtml:e.html}}):dk.sketch({dom:{tag:"div",classes:["tox-form__group"],innerHtml:e.html,attributes:{role:"document"}},containerBehaviours:Tl([bk.config({}),ah.config({})])}))),imagepreview:nE(((e,t,o)=>((e,t)=>{const o=As(t.getOr({url:""})),n=Xh({dom:{tag:"img",classes:["tox-imagepreview__image"],attributes:t.map((e=>({src:e.url}))).getOr({})}}),s=Xh({dom:{tag:"div",classes:["tox-imagepreview__container"],attributes:{role:"presentation"}},components:[n.asSpec()]}),r={};e.height.each((e=>r.height=e));const a=t.map((e=>({url:e.url,zoom:A.from(e.zoom),cachedWidth:A.from(e.cachedWidth),cachedHeight:A.from(e.cachedHeight)})));return{dom:{tag:"div",classes:["tox-imagepreview"],styles:r,attributes:{role:"presentation"}},components:[s.asSpec()],behaviours:Tl([WO(),qO(a,(()=>o.get()),((e,t)=>{const r={url:t.url};t.zoom.each((e=>r.zoom=e)),t.cachedWidth.each((e=>r.cachedWidth=e)),t.cachedHeight.each((e=>r.cachedHeight=e)),o.set(r);const a=()=>{const{cachedWidth:t,cachedHeight:o,zoom:n}=r;if(!u(t)&&!u(o)){if(u(n)){const n=((e,t,o)=>{const n=Zt(e),s=jt(e);return Math.min(n/t,s/o,1)})(e.element,t,o);r.zoom=n}const a=((e,t,o,n,s)=>{const r=o*s,a=n*s,i=Math.max(0,e/2-r/2),l=Math.max(0,t/2-a/2);return{left:i.toString()+"px",top:l.toString()+"px",width:r.toString()+"px",height:a.toString()+"px"}})(Zt(e.element),jt(e.element),t,o,r.zoom);s.getOpt(e).each((e=>{It(e.element,a)}))}};n.getOpt(e).each((o=>{const n=o.element;var s;t.url!==_t(n,"src")&&(Ct(n,"src",t.url),Ga(e.element,"tox-imagepreview__loaded")),a(),(s=n,new Promise(((e,t)=>{const o=()=>{r(),e(s)},n=[rc(s,"load",o),rc(s,"error",(()=>{r(),t("Unable to load data from image: "+s.dom.src)}))],r=()=>H(n,(e=>e.unbind()));s.dom.complete&&o()}))).then((t=>{e.getSystem().isConnected()&&(Wa(e.element,"tox-imagepreview__loaded"),r.cachedWidth=t.dom.naturalWidth,r.cachedHeight=t.dom.naturalHeight,a())}))}))}))])}})(e,o))),table:nE(((e,t)=>((e,t)=>{const o=e=>({dom:{tag:"td",innerHtml:t.translate(e)}});return{dom:{tag:"table",classes:["tox-dialog__table"]},components:[(s=e.header,{dom:{tag:"thead"},components:[{dom:{tag:"tr"},components:L(s,(e=>({dom:{tag:"th",innerHtml:t.translate(e)}})))}]}),(n=e.cells,{dom:{tag:"tbody"},components:L(n,(e=>({dom:{tag:"tr"},components:L(e,o)})))})],behaviours:Tl([bk.config({}),ah.config({})])};var n,s})(e,t.shared.providers))),tree:nE(((e,t)=>((e,t)=>{const o=e.onLeafAction.getOr(b),n=e.onToggleExpand.getOr(b),s=e.defaultExpandedIds,r=As(s),a=As(e.defaultSelectedId),i=ca("tree-id"),l=(n,s)=>e.items.map((e=>"leaf"===e.type?bT({leaf:e,selectedId:n,onLeafAction:o,visible:!0,treeId:i,backstage:t}):ST({directory:e,selectedId:n,onLeafAction:o,expandedIds:s,labelTabstopping:!0,treeId:i,backstage:t})));return{dom:{tag:"div",classes:["tox-tree"],attributes:{role:"tree"}},components:l(a.get(),r.get()),behaviours:Tl([Gp.config({mode:"flow",selector:".tox-tree--leaf__label--visible, .tox-tree--directory__label--visible",cycles:!1}),th(kT,[Wr("expand-tree-node",((e,t)=>{const{expanded:o,node:s}=t.event;r.set(o?[...r.get(),s]:r.get().filter((e=>e!==s))),n(r.get(),{expanded:o,node:s})}))]),Il.config({channels:{[`update-active-item-${i}`]:{onReceive:(e,t)=>{a.set(A.some(t.value)),eh.set(e,l(A.some(t.value),r.get()))}}}}),eh.config({})])}})(e,t))),panel:nE(((e,t)=>((e,t)=>({dom:{tag:"div",classes:e.classes},components:L(e.items,t.shared.interpreter)}))(e,t)))},rE={field:(e,t)=>t,record:x([])},aE=(e,t,o,n)=>{const s=bn(n,{shared:{interpreter:t=>iE(e,t,o,s)}});return iE(e,t,o,s)},iE=(e,t,o,n)=>be(sE,t.type).fold((()=>(console.error(`Unknown factory type "${t.type}", defaulting to container: `,t),t)),(s=>s(e,t,o,n))),lE=(e,t,o)=>iE(rE,e,t,o),cE="layout-inset",dE=e=>e.x,uE=(e,t)=>e.x+e.width/2-t.width/2,mE=(e,t)=>e.x+e.width-t.width,gE=e=>e.y,pE=(e,t)=>e.y+e.height-t.height,hE=(e,t)=>e.y+e.height/2-t.height/2,fE=(e,t,o)=>Ui(mE(e,t),pE(e,t),o.insetSouthwest(),qi(),"southwest",el(e,{right:0,bottom:3}),cE),bE=(e,t,o)=>Ui(dE(e),pE(e,t),o.insetSoutheast(),$i(),"southeast",el(e,{left:1,bottom:3}),cE),vE=(e,t,o)=>Ui(mE(e,t),gE(e),o.insetNorthwest(),Gi(),"northwest",el(e,{right:0,top:2}),cE),yE=(e,t,o)=>Ui(dE(e),gE(e),o.insetNortheast(),ji(),"northeast",el(e,{left:1,top:2}),cE),xE=(e,t,o)=>Ui(uE(e,t),gE(e),o.insetNorth(),Yi(),"north",el(e,{top:2}),cE),wE=(e,t,o)=>Ui(uE(e,t),pE(e,t),o.insetSouth(),Xi(),"south",el(e,{bottom:3}),cE),SE=(e,t,o)=>Ui(mE(e,t),hE(e,t),o.insetEast(),Ji(),"east",el(e,{right:0}),cE),kE=(e,t,o)=>Ui(dE(e),hE(e,t),o.insetWest(),Ki(),"west",el(e,{left:1}),cE),CE=e=>{switch(e){case"north":return xE;case"northeast":return yE;case"northwest":return vE;case"south":return wE;case"southeast":return bE;case"southwest":return fE;case"east":return SE;case"west":return kE}},OE=(e,t,o,n,s)=>Zl(n).map(CE).getOr(xE)(e,t,o,n,s),_E=e=>{switch(e){case"north":return wE;case"northeast":return bE;case"northwest":return fE;case"south":return xE;case"southeast":return yE;case"southwest":return vE;case"east":return kE;case"west":return SE}},TE=(e,t,o,n,s)=>Zl(n).map(_E).getOr(xE)(e,t,o,n,s),EE={valignCentre:[],alignCentre:[],alignLeft:[],alignRight:[],right:[],left:[],bottom:[],top:[]},AE=(e,t,o)=>{const n={maxHeightFunction:gc()};return()=>o()?{type:"node",root:bt(ft(e())),node:A.from(e()),bubble:bc(12,12,EE),layouts:{onRtl:()=>[yE],onLtr:()=>[vE]},overrides:n}:{type:"hotspot",hotspot:t(),bubble:bc(-12,12,EE),layouts:{onRtl:()=>[ll,cl,gl],onLtr:()=>[cl,ll,gl]},overrides:n}},ME=(e,t,o,n)=>{const s={maxHeightFunction:gc()};return()=>n()?{type:"node",root:bt(ft(t())),node:A.from(t()),bubble:bc(12,12,EE),layouts:{onRtl:()=>[xE],onLtr:()=>[xE]},overrides:s}:e?{type:"node",root:bt(ft(t())),node:A.from(t()),bubble:bc(0,-Gt(t()),EE),layouts:{onRtl:()=>[ml],onLtr:()=>[ml]},overrides:s}:{type:"hotspot",hotspot:o(),bubble:bc(0,0,EE),layouts:{onRtl:()=>[ml],onLtr:()=>[ml]},overrides:s}},DE=(e,t,o)=>()=>o()?{type:"node",root:bt(ft(e())),node:A.from(e()),layouts:{onRtl:()=>[xE],onLtr:()=>[xE]}}:{type:"hotspot",hotspot:t(),layouts:{onRtl:()=>[gl],onLtr:()=>[gl]}},BE=(e,t)=>()=>({type:"selection",root:t(),getSelection:()=>{const t=e.selection.getRng(),o=e.model.table.getSelectedCells();if(o.length>1){const e=o[0],t=o[o.length-1],n={firstCell:ze(e),lastCell:ze(t)};return A.some(n)}return A.some(jc.range(ze(t.startContainer),t.startOffset,ze(t.endContainer),t.endOffset))}}),IE=e=>t=>({type:"node",root:e(),node:t}),FE=(e,t,o,n)=>{const s=dv(e),r=()=>ze(e.getBody()),a=()=>ze(e.getContentAreaContainer()),i=()=>s||!n();return{inlineDialog:AE(a,t,i),inlineBottomDialog:ME(e.inline,a,o,i),banner:DE(a,t,i),cursor:BE(e,r),node:IE(r)}},RE=e=>(t,o)=>{rS(e)(t,o)},NE=e=>()=>Gw(e),VE=e=>t=>Pw(e,t),zE=e=>t=>jw(e,t),LE=e=>()=>jb(e),HE=e=>ye(e,"items"),PE=e=>ye(e,"format"),UE=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",format:"bold"},{title:"Italic",format:"italic"},{title:"Underline",format:"underline"},{title:"Strikethrough",format:"strikethrough"},{title:"Superscript",format:"superscript"},{title:"Subscript",format:"subscript"},{title:"Code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Align",items:[{title:"Left",format:"alignleft"},{title:"Center",format:"aligncenter"},{title:"Right",format:"alignright"},{title:"Justify",format:"alignjustify"}]}],WE=e=>j(e,((e,t)=>{if(ve(t,"items")){const o=WE(t.items);return{customFormats:e.customFormats.concat(o.customFormats),formats:e.formats.concat([{title:t.title,items:o.formats}])}}if(ve(t,"inline")||(e=>ve(e,"block"))(t)||(e=>ve(e,"selector"))(t)){const o=`custom-${r(t.name)?t.name:t.title.toLowerCase()}`;return{customFormats:e.customFormats.concat([{name:o,format:t}]),formats:e.formats.concat([{title:t.title,format:o,icon:t.icon}])}}return{...e,formats:e.formats.concat(t)}}),{customFormats:[],formats:[]}),jE=e=>kb(e).map((t=>{const o=((e,t)=>{const o=WE(t),n=t=>{H(t,(t=>{e.formatter.has(t.name)||e.formatter.register(t.name,t.format)}))};return e.formatter?n(o.customFormats):e.on("init",(()=>{n(o.customFormats)})),o.formats})(e,t);return Cb(e)?UE.concat(o):o})).getOr(UE),GE=(e,t,o)=>({...e,type:"formatter",isSelected:t(e.format),getStylePreview:o(e.format)}),$E=(e,t,o,n)=>{const s=t=>L(t,(t=>HE(t)?(e=>{const t=s(e.items);return{...e,type:"submenu",getStyleItems:x(t)}})(t):PE(t)?(e=>GE(e,o,n))(t):(e=>{const t=ae(e);return 1===t.length&&R(t,"title")})(t)?{...t,type:"separator"}:(t=>{const s=r(t.name)?t.name:ca(t.title),a=`custom-${s}`,i={...t,type:"formatter",format:a,isSelected:o(a),getStylePreview:n(a)};return e.formatter.register(s,i),i})(t)));return s(t)},qE=ZO.trim,YE=e=>t=>{if((e=>g(e)&&1===e.nodeType)(t)){if(t.contentEditable===e)return!0;if(t.getAttribute("data-mce-contenteditable")===e)return!0}return!1},XE=YE("true"),KE=YE("false"),JE=(e,t,o,n,s)=>({type:e,title:t,url:o,level:n,attach:s}),ZE=e=>e.innerText||e.textContent,QE=e=>(e=>e&&"A"===e.nodeName&&void 0!==(e.id||e.name))(e)&&tA(e),eA=e=>e&&/^(H[1-6])$/.test(e.nodeName),tA=e=>(e=>{let t=e;for(;t=t.parentNode;){const e=t.contentEditable;if(e&&"inherit"!==e)return XE(t)}return!1})(e)&&!KE(e),oA=e=>eA(e)&&tA(e),nA=e=>{var t;const o=(e=>e.id?e.id:ca("h"))(e);return JE("header",null!==(t=ZE(e))&&void 0!==t?t:"","#"+o,(e=>eA(e)?parseInt(e.nodeName.substr(1),10):0)(e),(()=>{e.id=o}))},sA=e=>{const t=e.id||e.name,o=ZE(e);return JE("anchor",o||"#"+t,"#"+t,0,b)},rA=e=>qE(e.title).length>0,aA=e=>{const t=(e=>{const t=L(Zc(ze(e),"h1,h2,h3,h4,h5,h6,a:not([href])"),(e=>e.dom));return t})(e);return U((e=>L(U(e,oA),nA))(t).concat((e=>L(U(e,QE),sA))(t)),rA)},iA="tinymce-url-history",lA=e=>r(e)&&/^https?/.test(e),cA=e=>a(e)&&he(e,(e=>{return!(l(t=e)&&t.length<=5&&X(t,lA));var t})).isNone(),dA=()=>{const e=Ew.getItem(iA);if(null===e)return{};let t;try{t=JSON.parse(e)}catch(e){if(e instanceof SyntaxError)return console.log("Local storage "+iA+" was not valid JSON",e),{};throw e}return cA(t)?t:(console.log("Local storage "+iA+" was not valid format",t),{})},uA=e=>{const t=dA();return be(t,e).getOr([])},mA=(e,t)=>{if(!lA(e))return;const o=dA(),n=be(o,t).getOr([]),s=U(n,(t=>t!==e));o[t]=[e].concat(s).slice(0,5),(e=>{if(!cA(e))throw new Error("Bad format for history:\n"+JSON.stringify(e));Ew.setItem(iA,JSON.stringify(e))})(o)},gA=e=>!!e,pA=e=>ce(ZO.makeMap(e,/[, ]/),gA),hA=e=>A.from(Vb(e)),fA=e=>A.from(e).filter(r).getOrUndefined(),bA=e=>({getHistory:uA,addToHistory:mA,getLinkInformation:()=>(e=>Pb(e)?A.some({targets:aA(e.getBody()),anchorTop:fA(Ub(e)),anchorBottom:fA(Wb(e))}):A.none())(e),getValidationHandler:()=>(e=>A.from(zb(e)))(e),getUrlPicker:t=>((e,t)=>((e,t)=>{const o=(e=>{const t=A.from(Hb(e)).filter(gA).map(pA);return hA(e).fold(T,(e=>t.fold(E,(e=>ae(e).length>0&&e))))})(e);return d(o)?o?hA(e):A.none():o[t]?hA(e):A.none()})(e,t).map((o=>n=>CS((s=>{const i={filetype:t,fieldname:n.fieldname,...A.from(n.meta).getOr({})};o.call(e,((e,t)=>{if(!r(e))throw new Error("Expected value to be string");if(void 0!==t&&!a(t))throw new Error("Expected meta to be a object");s({value:e,meta:t})}),n.value,i)})))))(e,t)}),vA=pm,yA=Ju,xA=x([xs("shell",!1),ns("makeItem"),xs("setupItem",b),Su("listBehaviours",[eh])]),wA=Yu({name:"items",overrides:()=>({behaviours:Tl([eh.config({})])})}),SA=x([wA]),kA=wm({name:x("CustomList")(),configFields:xA(),partFields:SA(),factory:(e,t,o,n)=>{const s=e.shell?{behaviours:[eh.config({})],components:[]}:{behaviours:[],components:t};return{uid:e.uid,dom:e.dom,components:s.components,behaviours:wu(e.listBehaviours,s.behaviours),apis:{setItems:(t,o)=>{var n;(n=t,e.shell?A.some(n):am(n,e,"items")).fold((()=>{throw console.error("Custom List was defined to not be a shell, but no item container was specified in components"),new Error("Custom List was defined to not be a shell, but no item container was specified in components")}),(n=>{const s=eh.contents(n),r=o.length,a=r-s.length,i=a>0?V(a,(()=>e.makeItem())):[],l=s.slice(r);H(l,(e=>eh.remove(n,e))),H(i,(e=>eh.append(n,e)));const c=eh.contents(n);H(c,((n,s)=>{e.setupItem(t,n,o[s],s)}))}))}}}},apis:{setItems:(e,t,o)=>{e.setItems(t,o)}}}),CA=x([ns("dom"),xs("shell",!0),yu("toolbarBehaviours",[eh])]),OA=x([Yu({name:"groups",overrides:()=>({behaviours:Tl([eh.config({})])})})]),_A=wm({name:"Toolbar",configFields:CA(),partFields:OA(),factory:(e,t,o,n)=>{const s=e.shell?{behaviours:[eh.config({})],components:[]}:{behaviours:[],components:t};return{uid:e.uid,dom:e.dom,components:s.components,behaviours:wu(e.toolbarBehaviours,s.behaviours),apis:{setGroups:(t,o)=>{var n;(n=t,e.shell?A.some(n):am(n,e,"groups")).fold((()=>{throw console.error("Toolbar was defined to not be a shell, but no groups container was specified in components"),new Error("Toolbar was defined to not be a shell, but no groups container was specified in components")}),(e=>{eh.set(e,o)}))},refresh:b},domModification:{attributes:{role:"group"}}}},apis:{setGroups:(e,t,o)=>{e.setGroups(t,o)}}}),TA=b,EA=T,AA=x([]);var MA,DA=Object.freeze({__proto__:null,setup:TA,isDocked:EA,getBehaviours:AA});const BA=e=>(xe(Vt(e,"position"),"fixed")?A.none():it(e)).orThunk((()=>{const t=Ne("span");return rt(e).bind((e=>{Lo(e,t);const o=it(t);return Uo(t),o}))})),IA=e=>BA(e).map(Xt).getOrThunk((()=>qt(0,0))),FA=(e,t)=>{const o=e.element;Wa(o,t.transitionClass),Ga(o,t.fadeOutClass),Wa(o,t.fadeInClass),t.onShow(e)},RA=(e,t)=>{const o=e.element;Wa(o,t.transitionClass),Ga(o,t.fadeInClass),Wa(o,t.fadeOutClass),t.onHide(e)},NA=(e,t)=>e.y>=t.y,VA=(e,t)=>e.bottom<=t.bottom,zA=(e,t,o)=>({location:"top",leftX:t,topY:o.bounds.y-e.y}),LA=(e,t,o)=>({location:"bottom",leftX:t,bottomY:e.bottom-o.bounds.bottom}),HA=e=>e.box.x-e.win.x,PA=(e,t,o)=>o.getInitialPos().map((o=>{const n=((e,t)=>{const o=t.optScrollEnv.fold(x(e.bounds.y),(t=>t.scrollElmTop+(e.bounds.y-t.currentScrollTop)));return qt(e.bounds.x,o)})(o,t);return{box:Jo(n.left,n.top,Zt(e),jt(e)),location:o.location}})),UA=(e,t,o,n,s)=>{const r=((e,t)=>{const o=t.optScrollEnv.fold(x(e.y),(t=>e.y+t.currentScrollTop-t.scrollElmTop));return qt(e.x,o)})(t,o),a=Jo(r.left,r.top,t.width,t.height);n.setInitialPos({style:zt(e),position:Rt(e,"position")||"static",bounds:a,location:s.location})},WA=(e,t,o)=>o.getInitialPos().bind((n=>{var s;switch(o.clearInitialPos(),n.position){case"static":return A.some({morph:"static"});case"absolute":const o=BA(e).getOr(wt()),r=Zo(o),a=null!==(s=o.dom.scrollTop)&&void 0!==s?s:0;return A.some({morph:"absolute",positionCss:Pl("absolute",be(n.style,"left").map((e=>t.x-r.x)),be(n.style,"top").map((e=>t.y-r.y+a)),be(n.style,"right").map((e=>r.right-t.right)),be(n.style,"bottom").map((e=>r.bottom-t.bottom)))});default:return A.none()}})),jA=e=>{switch(e.location){case"top":return A.some({morph:"fixed",positionCss:Pl("fixed",A.some(e.leftX),A.some(e.topY),A.none(),A.none())});case"bottom":return A.some({morph:"fixed",positionCss:Pl("fixed",A.some(e.leftX),A.none(),A.none(),A.some(e.bottomY))});default:return A.none()}},GA=(e,t,o)=>{const n=e.element;return xe(Vt(n,"position"),"fixed")?((e,t,o)=>((e,t,o)=>PA(e,t,o).filter((({box:e})=>((e,t,o)=>X(e,(e=>{switch(e){case"bottom":return VA(t,o.bounds);case"top":return NA(t,o.bounds)}})))(o.getModes(),e,t))).bind((({box:t})=>WA(e,t,o))))(e,t,o).orThunk((()=>t.optScrollEnv.bind((n=>PA(e,t,o))).bind((({box:e,location:o})=>{const n=tn(),s=HA({win:n,box:e}),r="top"===o?zA(n,s,t):LA(n,s,t);return jA(r)})))))(n,t,o):((e,t,o)=>{const n=Zo(e),s=tn(),r=((e,t,o)=>{const n=t.win,s=t.box,r=HA(t);return re(e,(e=>{switch(e){case"bottom":return VA(s,o.bounds)?A.none():A.some(LA(n,r,o));case"top":return NA(s,o.bounds)?A.none():A.some(zA(n,r,o));default:return A.none()}})).getOr({location:"no-dock"})})(o.getModes(),{win:s,box:n},t);return"top"===r.location||"bottom"===r.location?(UA(e,n,t,o,r),jA(r)):A.none()})(n,t,o)},$A=(e,t,o)=>{o.setDocked(!1),H(["left","right","top","bottom","position"],(t=>Ht(e.element,t))),t.onUndocked(e)},qA=(e,t,o,n)=>{const s="fixed"===n.position;o.setDocked(s),Ul(e.element,n),(s?t.onDocked:t.onUndocked)(e)},YA=(e,t,o,n,s=!1)=>{t.contextual.each((t=>{t.lazyContext(e).each((r=>{const a=((e,t)=>e.yt.y)(r,n.bounds);a!==o.isVisible()&&(o.setVisible(a),s&&!a?(qa(e.element,[t.fadeOutClass]),t.onHide(e)):(a?FA:RA)(e,t))}))}))},XA=(e,t,o,n,s)=>{YA(e,t,o,n,!0),qA(e,t,o,s.positionCss)},KA=(e,t,o)=>{e.getSystem().isConnected()&&((e,t,o)=>{const n=t.lazyViewport(e);YA(e,t,o,n),GA(e,n,o).each((s=>{((e,t,o,n,s)=>{switch(s.morph){case"static":return $A(e,t,o);case"absolute":return qA(e,t,o,s.positionCss);case"fixed":XA(e,t,o,n,s)}})(e,t,o,n,s)}))})(e,t,o)},JA=(e,t,o)=>{o.isDocked()&&((e,t,o)=>{const n=e.element;o.setDocked(!1);const s=t.lazyViewport(e);((e,t,o)=>{const n=e.element;return PA(n,t,o).bind((({box:e})=>WA(n,e,o)))})(e,s,o).each((n=>{switch(n.morph){case"static":$A(e,t,o);break;case"absolute":qA(e,t,o,n.positionCss)}})),o.setVisible(!0),t.contextual.each((t=>{Ya(n,[t.fadeInClass,t.fadeOutClass,t.transitionClass]),t.onShow(e)})),KA(e,t,o)})(e,t,o)},ZA=e=>(t,o,n)=>{const s=o.lazyViewport(t);((e,t,o,n)=>{const s=Zo(e),r=tn(),a=n(r,HA({win:r,box:s}),t);return"bottom"===a.location||"top"===a.location?(((e,t,o,n,s)=>{n.getInitialPos().fold((()=>UA(e,t,o,n,s)),(()=>b))})(e,s,t,o,a),jA(a)):A.none()})(t.element,s,n,e).each((e=>{XA(t,o,n,s,e)}))},QA=ZA(zA),eM=ZA(LA);var tM=Object.freeze({__proto__:null,refresh:KA,reset:JA,isDocked:(e,t,o)=>o.isDocked(),getModes:(e,t,o)=>o.getModes(),setModes:(e,t,o,n)=>o.setModes(n),forceDockToTop:QA,forceDockToBottom:eM}),oM=Object.freeze({__proto__:null,events:(e,t)=>Hr([Kr(nr(),((o,n)=>{e.contextual.each((e=>{$a(o.element,e.transitionClass)&&(Ya(o.element,[e.transitionClass,e.fadeInClass]),(t.isVisible()?e.onShown:e.onHidden)(o)),n.stop()}))})),Wr(wr(),((o,n)=>{KA(o,e,t)})),Wr(Ar(),((o,n)=>{KA(o,e,t)})),Wr(Sr(),((o,n)=>{JA(o,e,t)}))])}),nM=[ys("contextual",[as("fadeInClass"),as("fadeOutClass"),as("transitionClass"),ls("lazyContext"),Ri("onShow"),Ri("onShown"),Ri("onHide"),Ri("onHidden")]),_s("lazyViewport",(()=>({bounds:tn(),optScrollEnv:A.none()}))),Ts("modes",["top","bottom"],Hn),Ri("onDocked"),Ri("onUndocked")];const sM=Al({fields:nM,name:"docking",active:oM,apis:tM,state:Object.freeze({__proto__:null,init:e=>{const t=As(!1),o=As(!0),n=nc(),s=As(e.modes);return Ta({isDocked:t.get,setDocked:t.set,getInitialPos:n.get,setInitialPos:n.set,clearInitialPos:n.clear,isVisible:o.get,setVisible:o.set,getModes:s.get,setModes:s.set,readState:()=>`docked: ${t.get()}, visible: ${o.get()}, modes: ${s.get().join(",")}`})}})}),rM=x(ca("toolbar-height-change")),aM={fadeInClass:"tox-editor-dock-fadein",fadeOutClass:"tox-editor-dock-fadeout",transitionClass:"tox-editor-dock-transition"},iM="tox-tinymce--toolbar-sticky-on",lM="tox-tinymce--toolbar-sticky-off",cM=(e,t)=>R(sM.getModes(e),t),dM=e=>{const t=e.element;at(t).each((o=>{const n="padding-"+sM.getModes(e)[0];if(sM.isDocked(e)){const e=Zt(o);Bt(t,"width",e+"px"),Bt(o,n,(e=>Gt(e)+(parseInt(Rt(e,"margin-top"),10)||0)+(parseInt(Rt(e,"margin-bottom"),10)||0))(t)+"px")}else Ht(t,"width"),Ht(o,n)}))},uM=(e,t)=>{t?(Ga(e,aM.fadeOutClass),qa(e,[aM.transitionClass,aM.fadeInClass])):(Ga(e,aM.fadeInClass),qa(e,[aM.fadeOutClass,aM.transitionClass]))},mM=(e,t)=>{const o=ze(e.getContainer());t?(Wa(o,iM),Ga(o,lM)):(Wa(o,lM),Ga(o,iM))},gM=(e,t)=>{const o=nc(),n=t.getSink,s=e=>{n().each((t=>e(t.element)))},r=t=>{e.inline||dM(t),mM(e,sM.isDocked(t)),t.getSystem().broadcastOn([eu()],{}),n().each((e=>e.getSystem().broadcastOn([eu()],{})))},a=e.inline?[]:[Il.config({channels:{[rM()]:{onReceive:dM}}})];return[ah.config({}),sM.config({contextual:{lazyContext:t=>{const o=Gt(t.element),n=e.inline?e.getContentAreaContainer():e.getContainer();return A.from(n).map((n=>{const s=Zo(ze(n));return ZS(e,t.element).fold((()=>{const e=s.height-o,n=s.y+(cM(t,"top")?0:o);return Jo(s.x,n,s.width,e)}),(e=>{const n=en(s,QS(e)),r=cM(t,"top")?n.y:n.y+o;return Jo(n.x,r,n.width,n.height-o)}))}))},onShow:()=>{s((e=>uM(e,!0)))},onShown:e=>{s((e=>Ya(e,[aM.transitionClass,aM.fadeInClass]))),o.get().each((t=>{((e,t)=>{const o=tt(t);zl(o).filter((e=>!Qe(t,e))).filter((t=>Qe(t,ze(o.dom.body))||et(e,t))).each((()=>Rl(t)))})(e.element,t),o.clear()}))},onHide:e=>{((e,t)=>Ll(e).orThunk((()=>t().toOptional().bind((e=>Ll(e.element))))))(e.element,n).fold(o.clear,o.set),s((e=>uM(e,!1)))},onHidden:()=>{s((e=>Ya(e,[aM.transitionClass])))},...aM},lazyViewport:t=>ZS(e,t.element).fold((()=>{const o=tn(),n=Fb(e),s=o.y+(cM(t,"top")?n:0),r=o.height-(cM(t,"bottom")?n:0);return{bounds:Jo(o.x,s,o.width,r),optScrollEnv:A.none()}}),(e=>({bounds:QS(e),optScrollEnv:A.some({currentScrollTop:e.element.dom.scrollTop,scrollElmTop:Xt(e.element).top})}))),modes:[t.header.getDockingMode()],onDocked:r,onUndocked:r}),...a]};var pM=Object.freeze({__proto__:null,setup:(e,t,o)=>{e.inline||(t.header.isPositionedAtTop()||e.on("ResizeEditor",(()=>{o().each(sM.reset)})),e.on("ResizeWindow ResizeEditor",(()=>{o().each(dM)})),e.on("SkinLoaded",(()=>{o().each((e=>{sM.isDocked(e)?sM.reset(e):sM.refresh(e)}))})),e.on("FullscreenStateChanged",(()=>{o().each(sM.reset)}))),e.on("AfterScrollIntoView",(e=>{o().each((t=>{sM.refresh(t);const o=t.element;zg(o)&&((e,t)=>{const o=tt(t),n=st(t).dom.innerHeight,s=Wo(o),r=ze(e.elm),a=Qo(r),i=jt(r),l=a.y,c=l+i,d=Xt(t),u=jt(t),m=d.top,g=m+u,p=Math.abs(m-s.top)<2,h=Math.abs(g-(s.top+n))<2;if(p&&lm){const e=l-n+i+u;jo(s.left,e,o)}})(e,o)}))})),e.on("PostRender",(()=>{mM(e,!1)}))},isDocked:e=>e().map(sM.isDocked).getOr(!1),getBehaviours:gM});const hM=Bn([iy,ss("items",Fn([Nn([ly,us("items",Hn)]),Hn]))].concat(Vy)),fM=[hs("text"),hs("tooltip"),hs("icon"),ws("search",!1,Fn([Pn,Bn([hs("placeholder")])],(e=>d(e)?e?A.some({placeholder:A.none()}):A.none():A.some(e)))),ls("fetch"),_s("onSetup",(()=>b))],bM=Bn([iy,...fM]),vM=e=>Yn("menubutton",bM,e),yM=Bn([iy,Sy,wy,xy,Oy,py,vy,Cs("presets","normal",["normal","color","listpreview"]),My(1),fy,by]);var xM=xm({factory:(e,t)=>{const o={focus:Gp.focusIn,setMenus:(e,o)=>{const n=L(o,(e=>{const o={type:"menubutton",text:e.text,fetch:t=>{t(e.getItems())}},n=vM(o).mapError((e=>Jn(e))).getOrDie();return gT(n,"tox-mbtn",t.backstage,A.some("menuitem"))}));eh.set(e,n)}};return{uid:e.uid,dom:e.dom,components:[],behaviours:Tl([eh.config({}),th("menubar-events",[Jr((t=>{e.onSetup(t)})),Wr(Ys(),((e,t)=>{vi(e.element,".tox-mbtn--active").each((o=>{yi(t.event.target,".tox-mbtn").each((t=>{Qe(o,t)||e.getSystem().getByDom(o).each((o=>{e.getSystem().getByDom(t).each((e=>{LS.expand(e),LS.close(o),ah.focus(e)}))}))}))}))})),Wr(Tr(),((e,t)=>{t.event.prevFocus.bind((t=>e.getSystem().getByDom(t).toOptional())).each((o=>{t.event.newFocus.bind((t=>e.getSystem().getByDom(t).toOptional())).each((e=>{LS.isOpen(o)&&(LS.expand(e),LS.close(o))}))}))}))]),Gp.config({mode:"flow",selector:".tox-mbtn",onEscape:t=>(e.onEscape(t),A.some(!0))}),bk.config({})]),apis:o,domModification:{attributes:{role:"menubar"}}}},name:"silver.Menubar",configFields:[ns("dom"),ns("uid"),ns("onEscape"),ns("backstage"),xs("onSetup",b)],apis:{focus:(e,t)=>{e.focus(t)},setMenus:(e,t,o)=>{e.setMenus(t,o)}}});const wM="container",SM=[yu("slotBehaviours",[])],kM=e=>"",CM=(e,t)=>{const o=t=>dm(e),n=(t,o)=>(n,s)=>am(n,e,s).map((e=>t(e,s))).getOr(o),s=(e,t)=>"true"!==_t(e.element,"aria-hidden"),r=n(s,!1),a=n(((e,t)=>{if(s(e)){const o=e.element;Bt(o,"display","none"),Ct(o,"aria-hidden","true"),Rr(e,Er(),{name:t,visible:!1})}})),i=(e=>(t,o)=>{H(o,(o=>e(t,o)))})(a),l=n(((e,t)=>{if(!s(e)){const o=e.element;Ht(o,"display"),At(o,"aria-hidden"),Rr(e,Er(),{name:t,visible:!0})}})),c={getSlotNames:o,getSlot:(t,o)=>am(t,e,o),isShowing:r,hideSlot:a,hideAllSlots:e=>i(e,o()),showSlot:l};return{uid:e.uid,dom:e.dom,components:t,behaviours:xu(e.slotBehaviours),apis:c}},OM=ce({getSlotNames:(e,t)=>e.getSlotNames(t),getSlot:(e,t,o)=>e.getSlot(t,o),isShowing:(e,t,o)=>e.isShowing(t,o),hideSlot:(e,t,o)=>e.hideSlot(t,o),hideAllSlots:(e,t)=>e.hideAllSlots(t),showSlot:(e,t,o)=>e.showSlot(t,o)},(e=>Oa(e))),_M={...OM,sketch:e=>{const t=(()=>{const e=[];return{slot:(t,o)=>(e.push(t),tm(wM,kM(t),o)),record:x(e)}})(),o=e(t),n=t.record(),s=L(n,(e=>$u({name:e,pname:kM(e)})));return fm(wM,SM,s,CM,o)}},TM=Bn([wy,Sy,_s("onShow",b),_s("onHide",b),vy]),EM=e=>({element:()=>e.element.dom}),AM=(e,t)=>{const o=L(ae(t),(e=>{const o=t[e],n=Xn((e=>Yn("sidebar",TM,e))(o));return{name:e,getApi:EM,onSetup:n.onSetup,onShow:n.onShow,onHide:n.onHide}}));return L(o,(t=>{const n=As(b);return e.slot(t.name,{dom:{tag:"div",classes:["tox-sidebar__pane"]},behaviours:px([Ix(t,n),Fx(t,n),Wr(Er(),((e,t)=>{const n=t.event,s=G(o,(e=>e.name===n.name));s.each((t=>{(n.visible?t.onShow:t.onHide)(t.getApi(e))}))}))])})}))},MM=e=>_M.sketch((t=>({dom:{tag:"div",classes:["tox-sidebar__pane-container"]},components:AM(t,e),slotBehaviours:px([Jr((e=>_M.hideAllSlots(e)))])}))),DM=(e,t)=>{Ct(e,"role",t)},BM=e=>Om.getCurrent(e).bind((e=>uT.isGrowing(e)||uT.hasGrown(e)?Om.getCurrent(e).bind((e=>G(_M.getSlotNames(e),(t=>_M.isShowing(e,t))))):A.none())),IM=ca("FixSizeEvent"),FM=ca("AutoSizeEvent");var RM=Object.freeze({__proto__:null,block:(e,t,o,n)=>{Ct(e.element,"aria-busy",!0);const s=t.getRoot(e).getOr(e),r=Tl([Gp.config({mode:"special",onTab:()=>A.some(!0),onShiftTab:()=>A.some(!0)}),ah.config({})]),a=n(s,r),i=s.getSystem().build(a);eh.append(s,di(i)),i.hasConfigured(Gp)&&t.focus&&Gp.focusIn(i),o.isBlocked()||t.onBlock(e),o.blockWith((()=>eh.remove(s,i)))},unblock:(e,t,o)=>{At(e.element,"aria-busy"),o.isBlocked()&&t.onUnblock(e),o.clear()},isBlocked:(e,t,o)=>o.isBlocked()}),NM=[_s("getRoot",A.none),Os("focus",!0),Ri("onBlock"),Ri("onUnblock")];const VM=Al({fields:NM,name:"blocking",apis:RM,state:Object.freeze({__proto__:null,init:()=>{const e=tc((e=>e.destroy()));return Ta({readState:e.isSet,blockWith:t=>{e.set({destroy:t})},clear:e.clear,isBlocked:e.isSet})}})}),zM=e=>Om.getCurrent(e).each((e=>Rl(e.element,!0))),LM=(e,t,o)=>{const n=As(!1),s=nc(),r=o=>{var s;n.get()&&(!(e=>"focusin"===e.type)(s=o)||!(s.composed?oe(s.composedPath()):A.from(s.target)).map(ze).filter($e).exists((e=>$a(e,"mce-pastebin"))))&&(o.preventDefault(),zM(t()),e.editorManager.setActive(e))};e.inline||e.on("PreInit",(()=>{e.dom.bind(e.getWin(),"focusin",r),e.on("BeforeExecCommand",(e=>{"mcefocus"===e.command.toLowerCase()&&!0!==e.value&&r(e)}))}));const a=s=>{s!==n.get()&&(n.set(s),((e,t,o,n)=>{const s=t.element;if(((e,t)=>{const o="tabindex",n=`data-mce-${o}`;A.from(e.iframeElement).map(ze).each((e=>{t?(Tt(e,o).each((t=>Ct(e,n,t))),Ct(e,o,-1)):(At(e,o),Tt(e,n).each((t=>{Ct(e,o,t),At(e,n)})))}))})(e,o),o)VM.block(t,(e=>(t,o)=>({dom:{tag:"div",attributes:{"aria-label":e.translate("Loading..."),tabindex:"0"},classes:["tox-throbber__busy-spinner"]},components:[{dom:Yh('
')}]}))(n)),Ht(s,"display"),At(s,"aria-hidden"),e.hasFocus()&&zM(t);else{const o=Om.getCurrent(t).exists((e=>Vl(e.element)));VM.unblock(t),Bt(s,"display","none"),Ct(s,"aria-hidden","true"),o&&e.focus()}})(e,t(),s,o.providers),((e,t)=>{e.dispatch("AfterProgressState",{state:t})})(e,s))};e.on("ProgressState",(t=>{if(s.on(clearTimeout),h(t.time)){const o=$h.setEditorTimeout(e,(()=>a(t.state)),t.time);s.set(o)}else a(t.state),s.clear()}))},HM=(e,t,o)=>({within:e,extra:t,withinWidth:o}),PM=(e,t,o)=>{const n=j(e,((e,t)=>((e,t)=>{const n=o(e);return A.some({element:e,start:t,finish:t+n,width:n})})(t,e.len).fold(x(e),(t=>({len:t.finish,list:e.list.concat([t])})))),{len:0,list:[]}).list,s=U(n,(e=>e.finish<=t)),r=W(s,((e,t)=>e+t.width),0);return{within:s,extra:n.slice(s.length),withinWidth:r}},UM=e=>L(e,(e=>e.element)),WM=(e,t)=>{const o=L(t,(e=>di(e)));_A.setGroups(e,o)},jM=(e,t,o)=>{const n=t.builtGroups.get();if(0===n.length)return;const s=im(e,t,"primary"),r=yS.getCoupled(e,"overflowGroup");Bt(s.element,"visibility","hidden");const a=n.concat([r]),i=re(a,(e=>Ll(e.element).bind((t=>e.getSystem().getByDom(t).toOptional()))));o([]),WM(s,a);const l=((e,t,o,n)=>{const s=((e,t,o)=>{const n=PM(t,e,o);return 0===n.extra.length?A.some(n):A.none()})(e,t,o).getOrThunk((()=>PM(t,e-o(n),o))),r=s.within,a=s.extra,i=s.withinWidth;return 1===a.length&&a[0].width<=o(n)?((e,t,o)=>{const n=UM(e.concat(t));return HM(n,[],o)})(r,a,i):a.length>=1?((e,t,o,n)=>{const s=UM(e).concat([o]);return HM(s,UM(t),n)})(r,a,n,i):((e,t,o)=>HM(UM(e),[],o))(r,0,i)})(Zt(s.element),t.builtGroups.get(),(e=>Zt(e.element)),r);0===l.extra.length?(eh.remove(s,r),o([])):(WM(s,l.within),o(l.extra)),Ht(s.element,"visibility"),Pt(s.element),i.each(ah.focus)},GM=x([yu("splitToolbarBehaviours",[yS]),ts("builtGroups",(()=>As([])))]),$M=x([Ii(["overflowToggledClass"]),bs("getOverflowBounds"),ns("lazySink"),ts("overflowGroups",(()=>As([]))),Ri("onOpened"),Ri("onClosed")].concat(GM())),qM=x([$u({factory:_A,schema:CA(),name:"primary"}),qu({schema:CA(),name:"overflow"}),qu({name:"overflow-button"}),qu({name:"overflow-group"})]),YM=x(((e,t)=>{((e,t)=>{const o=Jt.max(e,t,["margin-left","border-left-width","padding-left","padding-right","border-right-width","margin-right"]);Bt(e,"max-width",o+"px")})(e,Math.floor(t))})),XM=x([Ii(["toggledClass"]),ns("lazySink"),ls("fetch"),bs("getBounds"),ys("fireDismissalEventInstead",[xs("event",Or())]),Oc(),Ri("onToggled")]),KM=x([qu({name:"button",overrides:e=>({dom:{attributes:{"aria-haspopup":"true"}},buttonBehaviours:Tl([ph.config({toggleClass:e.markers.toggledClass,aria:{mode:"expanded"},toggleOnExecute:!1,onToggled:e.onToggled})])})}),qu({factory:_A,schema:CA(),name:"toolbar",overrides:e=>({toolbarBehaviours:Tl([Gp.config({mode:"cyclic",onEscape:t=>(am(t,e,"button").each(ah.focus),A.none())})])})})]),JM=nc(),ZM=(e,t)=>{const o=yS.getCoupled(e,"toolbarSandbox");Zd.isOpen(o)?Zd.close(o):Zd.open(o,t.toolbar())},QM=(e,t,o,n)=>{const s=o.getBounds.map((e=>e())),r=o.lazySink(e).getOrDie();_d.positionWithinBounds(r,t,{anchor:{type:"hotspot",hotspot:e,layouts:n,overrides:{maxWidthFunction:YM()}}},s)},eD=(e,t,o,n,s)=>{_A.setGroups(t,s),QM(e,t,o,n),ph.on(e)},tD=wm({name:"FloatingToolbarButton",factory:(e,t,o,n)=>({...qh.sketch({...n.button(),action:e=>{ZM(e,n)},buttonBehaviours:ku({dump:n.button().buttonBehaviours},[yS.config({others:{toolbarSandbox:t=>((e,t,o)=>{const n=wi();return{dom:{tag:"div",attributes:{id:n.id}},behaviours:Tl([Gp.config({mode:"special",onEscape:e=>(Zd.close(e),A.some(!0))}),Zd.config({onOpen:(s,r)=>{const a=JM.get().getOr(!1);o.fetch().get((s=>{eD(e,r,o,t.layouts,s),n.link(e.element),a||Gp.focusIn(r)}))},onClose:()=>{ph.off(e),JM.get().getOr(!1)||ah.focus(e),n.unlink(e.element)},isPartOf:(t,o,n)=>Si(o,n)||Si(e,n),getAttachPoint:()=>o.lazySink(e).getOrDie()}),Il.config({channels:{...nu({isExtraPart:T,...o.fireDismissalEventInstead.map((e=>({fireEventInstead:{event:e.event}}))).getOr({})}),...ru({doReposition:()=>{Zd.getState(yS.getCoupled(e,"toolbarSandbox")).each((n=>{QM(e,n,o,t.layouts)}))}})}})])}})(t,o,e)}})])}),apis:{setGroups:(t,n)=>{Zd.getState(yS.getCoupled(t,"toolbarSandbox")).each((s=>{eD(t,s,e,o.layouts,n)}))},reposition:t=>{Zd.getState(yS.getCoupled(t,"toolbarSandbox")).each((n=>{QM(t,n,e,o.layouts)}))},toggle:e=>{ZM(e,n)},toggleWithoutFocusing:e=>{((e,t)=>{JM.set(!0),ZM(e,t),JM.clear()})(e,n)},getToolbar:e=>Zd.getState(yS.getCoupled(e,"toolbarSandbox")),isOpen:e=>Zd.isOpen(yS.getCoupled(e,"toolbarSandbox"))}}),configFields:XM(),partFields:KM(),apis:{setGroups:(e,t,o)=>{e.setGroups(t,o)},reposition:(e,t)=>{e.reposition(t)},toggle:(e,t)=>{e.toggle(t)},toggleWithoutFocusing:(e,t)=>{e.toggleWithoutFocusing(t)},getToolbar:(e,t)=>e.getToolbar(t),isOpen:(e,t)=>e.isOpen(t)}}),oD=x([ns("items"),Ii(["itemSelector"]),yu("tgroupBehaviours",[Gp])]),nD=x([Xu({name:"items",unit:"item"})]),sD=wm({name:"ToolbarGroup",configFields:oD(),partFields:nD(),factory:(e,t,o,n)=>({uid:e.uid,dom:e.dom,components:t,behaviours:wu(e.tgroupBehaviours,[Gp.config({mode:"flow",selector:e.markers.itemSelector})]),domModification:{attributes:{role:"toolbar"}}})}),rD=e=>L(e,(e=>di(e))),aD=(e,t,o)=>{jM(e,o,(n=>{o.overflowGroups.set(n),t.getOpt(e).each((e=>{tD.setGroups(e,rD(n))}))}))},iD=wm({name:"SplitFloatingToolbar",configFields:$M(),partFields:qM(),factory:(e,t,o,n)=>{const s=Xh(tD.sketch({fetch:()=>CS((t=>{t(rD(e.overflowGroups.get()))})),layouts:{onLtr:()=>[cl,ll],onRtl:()=>[ll,cl],onBottomLtr:()=>[ul,dl],onBottomRtl:()=>[dl,ul]},getBounds:o.getOverflowBounds,lazySink:e.lazySink,fireDismissalEventInstead:{},markers:{toggledClass:e.markers.overflowToggledClass},parts:{button:n["overflow-button"](),toolbar:n.overflow()},onToggled:(t,o)=>e[o?"onOpened":"onClosed"](t)}));return{uid:e.uid,dom:e.dom,components:t,behaviours:wu(e.splitToolbarBehaviours,[yS.config({others:{overflowGroup:()=>sD.sketch({...n["overflow-group"](),items:[s.asSpec()]})}})]),apis:{setGroups:(t,o)=>{e.builtGroups.set(L(o,t.getSystem().build)),aD(t,s,e)},refresh:t=>aD(t,s,e),toggle:e=>{s.getOpt(e).each((e=>{tD.toggle(e)}))},toggleWithoutFocusing:e=>{s.getOpt(e).each(tD.toggleWithoutFocusing)},isOpen:e=>s.getOpt(e).map(tD.isOpen).getOr(!1),reposition:e=>{s.getOpt(e).each((e=>{tD.reposition(e)}))},getOverflow:e=>s.getOpt(e).bind(tD.getToolbar)},domModification:{attributes:{role:"group"}}}},apis:{setGroups:(e,t,o)=>{e.setGroups(t,o)},refresh:(e,t)=>{e.refresh(t)},reposition:(e,t)=>{e.reposition(t)},toggle:(e,t)=>{e.toggle(t)},toggleWithoutFocusing:(e,t)=>{e.toggle(t)},isOpen:(e,t)=>e.isOpen(t),getOverflow:(e,t)=>e.getOverflow(t)}}),lD=x([Ii(["closedClass","openClass","shrinkingClass","growingClass","overflowToggledClass"]),Ri("onOpened"),Ri("onClosed")].concat(GM())),cD=x([$u({factory:_A,schema:CA(),name:"primary"}),$u({factory:_A,schema:CA(),name:"overflow",overrides:e=>({toolbarBehaviours:Tl([uT.config({dimension:{property:"height"},closedClass:e.markers.closedClass,openClass:e.markers.openClass,shrinkingClass:e.markers.shrinkingClass,growingClass:e.markers.growingClass,onShrunk:t=>{am(t,e,"overflow-button").each((e=>{ph.off(e),ah.focus(e)})),e.onClosed(t)},onGrown:t=>{Gp.focusIn(t),e.onOpened(t)},onStartGrow:t=>{am(t,e,"overflow-button").each(ph.on)}}),Gp.config({mode:"acyclic",onEscape:t=>(am(t,e,"overflow-button").each(ah.focus),A.some(!0))})])})}),qu({name:"overflow-button",overrides:e=>({buttonBehaviours:Tl([ph.config({toggleClass:e.markers.overflowToggledClass,aria:{mode:"pressed"},toggleOnExecute:!1})])})}),qu({name:"overflow-group"})]),dD=(e,t)=>{am(e,t,"overflow-button").bind((()=>am(e,t,"overflow"))).each((o=>{uD(e,t),uT.toggleGrow(o)}))},uD=(e,t)=>{am(e,t,"overflow").each((o=>{jM(e,t,(e=>{const t=L(e,(e=>di(e)));_A.setGroups(o,t)})),am(e,t,"overflow-button").each((e=>{uT.hasGrown(o)&&ph.on(e)})),uT.refresh(o)}))},mD=wm({name:"SplitSlidingToolbar",configFields:lD(),partFields:cD(),factory:(e,t,o,n)=>{const s="alloy.toolbar.toggle";return{uid:e.uid,dom:e.dom,components:t,behaviours:wu(e.splitToolbarBehaviours,[yS.config({others:{overflowGroup:e=>sD.sketch({...n["overflow-group"](),items:[qh.sketch({...n["overflow-button"](),action:t=>{Fr(e,s)}})]})}}),th("toolbar-toggle-events",[Wr(s,(t=>{dD(t,e)}))])]),apis:{setGroups:(t,o)=>{((t,o)=>{const n=L(o,t.getSystem().build);e.builtGroups.set(n)})(t,o),uD(t,e)},refresh:t=>uD(t,e),toggle:t=>dD(t,e),isOpen:t=>((e,t)=>am(e,t,"overflow").map(uT.hasGrown).getOr(!1))(t,e)},domModification:{attributes:{role:"group"}}}},apis:{setGroups:(e,t,o)=>{e.setGroups(t,o)},refresh:(e,t)=>{e.refresh(t)},toggle:(e,t)=>{e.toggle(t)},isOpen:(e,t)=>e.isOpen(t)}}),gD=e=>{const t=e.title.fold((()=>({})),(e=>({attributes:{title:e}})));return{dom:{tag:"div",classes:["tox-toolbar__group"],...t},components:[sD.parts.items({})],items:e.items,markers:{itemSelector:"*:not(.tox-split-button) > .tox-tbtn:not([disabled]), .tox-split-button:not([disabled]), .tox-toolbar-nav-js:not([disabled]), .tox-number-input:not([disabled])"},tgroupBehaviours:Tl([bk.config({}),ah.config({})])}},pD=e=>sD.sketch(gD(e)),hD=(e,t)=>{const o=Jr((t=>{const o=L(e.initGroups,pD);_A.setGroups(t,o)}));return Tl([Dx(e.providers.isDisabled),Ex(),Gp.config({mode:t,onEscape:e.onEscape,selector:".tox-toolbar__group"}),th("toolbar-events",[o])])},fD=e=>{const t=e.cyclicKeying?"cyclic":"acyclic";return{uid:e.uid,dom:{tag:"div",classes:["tox-toolbar-overlord"]},parts:{"overflow-group":gD({title:A.none(),items:[]}),"overflow-button":LT({name:"more",icon:A.some("more-drawer"),enabled:!0,tooltip:A.some("Reveal or hide additional toolbar items"),primary:!1,buttonType:A.none(),borderless:!1},A.none(),e.providers)},splitToolbarBehaviours:hD(e,t)}},bD=e=>{const t=fD(e),o=iD.parts.primary({dom:{tag:"div",classes:["tox-toolbar__primary"]}});return iD.sketch({...t,lazySink:e.getSink,getOverflowBounds:()=>{const t=e.moreDrawerData.lazyHeader().element,o=Qo(t),n=nt(t),s=Qo(n),r=Math.max(n.dom.scrollHeight,s.height);return Jo(o.x+4,s.y,o.width-8,r)},parts:{...t.parts,overflow:{dom:{tag:"div",classes:["tox-toolbar__overflow"],attributes:e.attributes}}},components:[o],markers:{overflowToggledClass:"tox-tbtn--enabled"},onOpened:t=>e.onToggled(t,!0),onClosed:t=>e.onToggled(t,!1)})},vD=e=>{const t=mD.parts.primary({dom:{tag:"div",classes:["tox-toolbar__primary"]}}),o=mD.parts.overflow({dom:{tag:"div",classes:["tox-toolbar__overflow"]}}),n=fD(e);return mD.sketch({...n,components:[t,o],markers:{openClass:"tox-toolbar__overflow--open",closedClass:"tox-toolbar__overflow--closed",growingClass:"tox-toolbar__overflow--growing",shrinkingClass:"tox-toolbar__overflow--shrinking",overflowToggledClass:"tox-tbtn--enabled"},onOpened:t=>{t.getSystem().broadcastOn([rM()],{type:"opened"}),e.onToggled(t,!0)},onClosed:t=>{t.getSystem().broadcastOn([rM()],{type:"closed"}),e.onToggled(t,!1)}})},yD=e=>{const t=e.cyclicKeying?"cyclic":"acyclic";return _A.sketch({uid:e.uid,dom:{tag:"div",classes:["tox-toolbar"].concat(e.type===lb.scrolling?["tox-toolbar--scrolling"]:[])},components:[_A.parts.groups({})],toolbarBehaviours:hD(e,t)})},xD=[xy,wy,hs("tooltip"),Cs("buttonType","secondary",["primary","secondary"]),Os("borderless",!1),ls("onAction")],wD={button:[...xD,dy,is("type",["button"])],togglebutton:[...xD,Os("active",!1),is("type",["togglebutton"])]},SD=[is("type",["group"]),Ts("buttons",[],Zn("type",wD))],kD=Zn("type",{...wD,group:SD}),CD=Bn([Ts("buttons",[],kD),ls("onShow"),ls("onHide")]),OD=(e,t)=>((e,t)=>{var o,n;const s="togglebutton"===e.type,r=e.icon.map((e=>E_(e,t.icons))).map(Xh),a={...e,name:s?e.text.getOr(e.icon.getOr("")):null!==(o=e.text)&&void 0!==o?o:e.icon.getOr(""),primary:"primary"===e.buttonType,buttonType:A.from(e.buttonType),tooltip:e.tooltip,icon:e.icon,enabled:!0,borderless:e.borderless},i=HT(null!==(n=e.buttonType)&&void 0!==n?n:"secondary"),l=s?e.text.map(t.translate):A.some(t.translate(e.text)),c=l.map(ri),d=a.tooltip.or(l).map((e=>({"aria-label":t.translate(e),title:t.translate(e)}))).getOr({}),u=r.map((e=>e.asSpec())),m=Vx([u,c]),g=e.icon.isSome()&&c.isSome(),p={tag:"button",classes:i.concat(...e.icon.isSome()&&!g?["tox-button--icon"]:[]).concat(...g?["tox-button--icon-and-text"]:[]).concat(...e.borderless?["tox-button--naked"]:[]).concat(..."togglebutton"===e.type&&e.active?["tox-button--enabled"]:[]),attributes:d},h=zT(a,A.some((o=>{const n=e=>{r.map((n=>n.getOpt(o).each((o=>{eh.set(o,[E_(e,t.icons)])}))))};return s?e.onAction({setIcon:n,setActive:e=>{const t=o.element;e?(Wa(t,"tox-button--enabled"),Ct(t,"aria-pressed",!0)):(Ga(t,"tox-button--enabled"),At(t,"aria-pressed"))},isActive:()=>$a(o.element,"tox-button--enabled")}):"button"===e.type?e.onAction({setIcon:n}):void 0})),[],p,m,t);return qh.sketch(h)})(e,t),_D=Bo().deviceType,TD=_D.isPhone(),ED=_D.isTablet();var AD=wm({name:"silver.View",configFields:[ns("viewConfig")],partFields:[Yu({factory:{sketch:e=>{let t=!1;const o=L(e.buttons,(o=>"group"===o.type?(t=!0,((e,t)=>({dom:{tag:"div",classes:["tox-view__toolbar__group"]},components:L(e.buttons,(e=>OD(e,t)))}))(o,e.providers)):OD(o,e.providers)));return{uid:e.uid,dom:{tag:"div",classes:[t?"tox-view__toolbar":"tox-view__header",...TD||ED?["tox-view--mobile","tox-view--scrolling"]:[]]},behaviours:Tl([ah.config({}),Gp.config({mode:"flow",selector:"button, .tox-button",focusInside:vg.OnEnterOrSpaceMode})]),components:t?o:[dk.sketch({dom:{tag:"div",classes:["tox-view__header-start"]},components:[]}),dk.sketch({dom:{tag:"div",classes:["tox-view__header-end"]},components:o})]}}},schema:[ns("buttons"),ns("providers")],name:"header"}),Yu({factory:{sketch:e=>({uid:e.uid,dom:{tag:"div",classes:["tox-view__pane"]}})},schema:[],name:"pane"})],factory:(e,t,o,n)=>{const s={getPane:t=>vA.getPart(t,e,"pane"),getOnShow:t=>e.viewConfig.onShow,getOnHide:t=>e.viewConfig.onHide};return{uid:e.uid,dom:e.dom,components:t,apis:s}},apis:{getPane:(e,t)=>e.getPane(t),getOnShow:(e,t)=>e.getOnShow(t),getOnHide:(e,t)=>e.getOnHide(t)}});const MD=(e,t,o)=>pe(t,((t,n)=>{const s=Xn(Yn("view",CD,t));return e.slot(n,AD.sketch({dom:{tag:"div",classes:["tox-view"]},viewConfig:s,components:[...s.buttons.length>0?[AD.parts.header({buttons:s.buttons,providers:o})]:[],AD.parts.pane({})]}))})),DD=(e,t)=>_M.sketch((o=>({dom:{tag:"div",classes:["tox-view-wrap__slot-container"]},components:MD(o,e,t),slotBehaviours:px([Jr((e=>_M.hideAllSlots(e)))])}))),BD=e=>G(_M.getSlotNames(e),(t=>_M.isShowing(e,t))),ID=(e,t,o)=>{_M.getSlot(e,t).each((e=>{AD.getPane(e).each((t=>{var n;o(e)((n=t.element.dom,{getContainer:x(n)}))}))}))};var FD=xm({factory:(e,t)=>{const o={setViews:(e,o)=>{eh.set(e,[DD(o,t.backstage.shared.providers)])},whichView:e=>Om.getCurrent(e).bind(BD),toggleView:(e,t,o,n)=>Om.getCurrent(e).exists((s=>{const r=BD(s),a=r.exists((e=>n===e)),i=_M.getSlot(s,n).isSome();return i&&(_M.hideAllSlots(s),a?((e=>{const t=e.element;Bt(t,"display","none"),Ct(t,"aria-hidden","true")})(e),t()):(o(),(e=>{const t=e.element;Ht(t,"display"),At(t,"aria-hidden")})(e),_M.showSlot(s,n),((e,t)=>{ID(e,t,AD.getOnShow)})(s,n)),r.each((e=>((e,t)=>ID(e,t,AD.getOnHide))(s,e)))),i}))};return{uid:e.uid,dom:{tag:"div",classes:["tox-view-wrap"],attributes:{"aria-hidden":"true"},styles:{display:"none"}},components:[],behaviours:Tl([eh.config({}),Om.config({find:e=>{const t=eh.contents(e);return oe(t)}})]),apis:o}},name:"silver.ViewWrapper",configFields:[ns("backstage")],apis:{setViews:(e,t,o)=>e.setViews(t,o),toggleView:(e,t,o,n,s)=>e.toggleView(t,o,n,s),whichView:(e,t)=>e.whichView(t)}});const RD=yA.optional({factory:xM,name:"menubar",schema:[ns("backstage")]}),ND=yA.optional({factory:{sketch:e=>kA.sketch({uid:e.uid,dom:e.dom,listBehaviours:Tl([Gp.config({mode:"acyclic",selector:".tox-toolbar"})]),makeItem:()=>yD({type:e.type,uid:ca("multiple-toolbar-item"),cyclicKeying:!1,initGroups:[],providers:e.providers,onEscape:()=>(e.onEscape(),A.some(!0))}),setupItem:(e,t,o,n)=>{_A.setGroups(t,o)},shell:!0})},name:"multiple-toolbar",schema:[ns("dom"),ns("onEscape")]}),VD=yA.optional({factory:{sketch:e=>{const t=(e=>e.type===lb.sliding?vD:e.type===lb.floating?bD:yD)(e);return t({type:e.type,uid:e.uid,onEscape:()=>(e.onEscape(),A.some(!0)),onToggled:(t,o)=>e.onToolbarToggled(o),cyclicKeying:!1,initGroups:[],getSink:e.getSink,providers:e.providers,moreDrawerData:{lazyToolbar:e.lazyToolbar,lazyMoreButton:e.lazyMoreButton,lazyHeader:e.lazyHeader},attributes:e.attributes})}},name:"toolbar",schema:[ns("dom"),ns("onEscape"),ns("getSink")]}),zD=yA.optional({factory:{sketch:e=>{const t=e.editor,o=e.sticky?gM:AA;return{uid:e.uid,dom:e.dom,components:e.components,behaviours:Tl(o(t,e.sharedBackstage))}}},name:"header",schema:[ns("dom")]}),LD=yA.optional({factory:{sketch:e=>({uid:e.uid,dom:e.dom,components:[{dom:{tag:"a",attributes:{href:"https://www.tiny.cloud/tinymce-self-hosted-premium-features/?utm_campaign=self_hosted_upgrade_promo&utm_source=tiny&utm_medium=referral",rel:"noopener",target:"_blank","aria-hidden":"true"},classes:["tox-promotion-link"],innerHtml:"\u26a1\ufe0fUpgrade"}}]})},name:"promotion",schema:[ns("dom")]}),HD=yA.optional({name:"socket",schema:[ns("dom")]}),PD=yA.optional({factory:{sketch:e=>({uid:e.uid,dom:{tag:"div",classes:["tox-sidebar"],attributes:{role:"presentation"}},components:[{dom:{tag:"div",classes:["tox-sidebar__slider"]},components:[],behaviours:Tl([bk.config({}),ah.config({}),uT.config({dimension:{property:"width"},closedClass:"tox-sidebar--sliding-closed",openClass:"tox-sidebar--sliding-open",shrinkingClass:"tox-sidebar--sliding-shrinking",growingClass:"tox-sidebar--sliding-growing",onShrunk:e=>{Om.getCurrent(e).each(_M.hideAllSlots),Fr(e,FM)},onGrown:e=>{Fr(e,FM)},onStartGrow:e=>{Rr(e,IM,{width:Vt(e.element,"width").getOr("")})},onStartShrink:e=>{Rr(e,IM,{width:Zt(e.element)+"px"})}}),eh.config({}),Om.config({find:e=>{const t=eh.contents(e);return oe(t)}})])}],behaviours:Tl([jO(0),th("sidebar-sliding-events",[Wr(IM,((e,t)=>{Bt(e.element,"width",t.event.width)})),Wr(FM,((e,t)=>{Ht(e.element,"width")}))])])})},name:"sidebar",schema:[ns("dom")]}),UD=yA.optional({factory:{sketch:e=>({uid:e.uid,dom:{tag:"div",attributes:{"aria-hidden":"true"},classes:["tox-throbber"],styles:{display:"none"}},behaviours:Tl([eh.config({}),VM.config({focus:!1}),Om.config({find:e=>oe(e.components())})]),components:[]})},name:"throbber",schema:[ns("dom")]}),WD=yA.optional({factory:FD,name:"viewWrapper",schema:[ns("backstage")]}),jD=yA.optional({factory:{sketch:e=>({uid:e.uid,dom:{tag:"div",classes:["tox-editor-container"]},components:e.components})},name:"editorContainer",schema:[]});var GD=wm({name:"OuterContainer",factory:(e,t,o)=>{let n=!1;const s={getSocket:t=>vA.getPart(t,e,"socket"),setSidebar:(t,o,n)=>{vA.getPart(t,e,"sidebar").each((e=>((e,t,o)=>{Om.getCurrent(e).each((n=>{eh.set(n,[MM(t)]);const s=null==o?void 0:o.toLowerCase();r(s)&&ve(t,s)&&Om.getCurrent(n).each((t=>{_M.showSlot(t,s),uT.immediateGrow(n),Ht(n.element,"width"),DM(e.element,"region")}))}))})(e,o,n)))},toggleSidebar:(t,o)=>{vA.getPart(t,e,"sidebar").each((e=>((e,t)=>{Om.getCurrent(e).each((o=>{Om.getCurrent(o).each((n=>{uT.hasGrown(o)?_M.isShowing(n,t)?(uT.shrink(o),DM(e.element,"presentation")):(_M.hideAllSlots(n),_M.showSlot(n,t),DM(e.element,"region")):(_M.hideAllSlots(n),_M.showSlot(n,t),uT.grow(o),DM(e.element,"region"))}))}))})(e,o)))},whichSidebar:t=>vA.getPart(t,e,"sidebar").bind(BM).getOrNull(),getHeader:t=>vA.getPart(t,e,"header"),getToolbar:t=>vA.getPart(t,e,"toolbar"),setToolbar:(t,o)=>{vA.getPart(t,e,"toolbar").each((e=>{const t=L(o,pD);e.getApis().setGroups(e,t)}))},setToolbars:(t,o)=>{vA.getPart(t,e,"multiple-toolbar").each((e=>{const t=L(o,(e=>L(e,pD)));kA.setItems(e,t)}))},refreshToolbar:t=>{vA.getPart(t,e,"toolbar").each((e=>e.getApis().refresh(e)))},toggleToolbarDrawer:t=>{vA.getPart(t,e,"toolbar").each((e=>{ke(e.getApis().toggle,(t=>t(e)))}))},toggleToolbarDrawerWithoutFocusing:t=>{vA.getPart(t,e,"toolbar").each((e=>{ke(e.getApis().toggleWithoutFocusing,(t=>t(e)))}))},isToolbarDrawerToggled:t=>vA.getPart(t,e,"toolbar").bind((e=>A.from(e.getApis().isOpen).map((t=>t(e))))).getOr(!1),getThrobber:t=>vA.getPart(t,e,"throbber"),focusToolbar:t=>{vA.getPart(t,e,"toolbar").orThunk((()=>vA.getPart(t,e,"multiple-toolbar"))).each((e=>{Gp.focusIn(e)}))},setMenubar:(t,o)=>{vA.getPart(t,e,"menubar").each((e=>{xM.setMenus(e,o)}))},focusMenubar:t=>{vA.getPart(t,e,"menubar").each((e=>{xM.focus(e)}))},setViews:(t,o)=>{vA.getPart(t,e,"viewWrapper").each((e=>{FD.setViews(e,o)}))},toggleView:(t,o)=>vA.getPart(t,e,"viewWrapper").exists((e=>FD.toggleView(e,(()=>s.showMainView(t)),(()=>s.hideMainView(t)),o))),whichView:t=>vA.getPart(t,e,"viewWrapper").bind(FD.whichView).getOrNull(),hideMainView:t=>{n=s.isToolbarDrawerToggled(t),n&&s.toggleToolbarDrawer(t),vA.getPart(t,e,"editorContainer").each((e=>{const t=e.element;Bt(t,"display","none"),Ct(t,"aria-hidden","true")}))},showMainView:t=>{n&&s.toggleToolbarDrawer(t),vA.getPart(t,e,"editorContainer").each((e=>{const t=e.element;Ht(t,"display"),At(t,"aria-hidden")}))}};return{uid:e.uid,dom:e.dom,components:t,apis:s,behaviours:e.behaviours}},configFields:[ns("dom"),ns("behaviours")],partFields:[zD,RD,VD,ND,HD,PD,LD,UD,WD,jD],apis:{getSocket:(e,t)=>e.getSocket(t),setSidebar:(e,t,o,n)=>{e.setSidebar(t,o,n)},toggleSidebar:(e,t,o)=>{e.toggleSidebar(t,o)},whichSidebar:(e,t)=>e.whichSidebar(t),getHeader:(e,t)=>e.getHeader(t),getToolbar:(e,t)=>e.getToolbar(t),setToolbar:(e,t,o)=>{e.setToolbar(t,o)},setToolbars:(e,t,o)=>{e.setToolbars(t,o)},refreshToolbar:(e,t)=>e.refreshToolbar(t),toggleToolbarDrawer:(e,t)=>{e.toggleToolbarDrawer(t)},toggleToolbarDrawerWithoutFocusing:(e,t)=>{e.toggleToolbarDrawerWithoutFocusing(t)},isToolbarDrawerToggled:(e,t)=>e.isToolbarDrawerToggled(t),getThrobber:(e,t)=>e.getThrobber(t),setMenubar:(e,t,o)=>{e.setMenubar(t,o)},focusMenubar:(e,t)=>{e.focusMenubar(t)},focusToolbar:(e,t)=>{e.focusToolbar(t)},setViews:(e,t,o)=>{e.setViews(t,o)},toggleView:(e,t,o)=>e.toggleView(t,o),whichView:(e,t)=>e.whichView(t)}});const $D={file:{title:"File",items:"newdocument restoredraft | preview | export print | deleteallconversations"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall | searchreplace"},view:{title:"View",items:"code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments"},insert:{title:"Insert",items:"image link media addcomment pageembed template inserttemplate codesample inserttable accordion | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents footnotes | mergetags | insertdatetime"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat"},tools:{title:"Tools",items:"aidialog aishortcuts | spellchecker spellcheckerlanguage | autocorrect capitalization | a11ycheck code typography wordcount addtemplate"},table:{title:"Table",items:"inserttable | cell row column | advtablesort | tableprops deletetable"},help:{title:"Help",items:"help"}},qD=e=>e.split(" "),YD=(e,t)=>{const o={...$D,...t.menus},n=ae(t.menus).length>0,s=void 0===t.menubar||!0===t.menubar?qD("file edit view insert format tools table help"):qD(!1===t.menubar?"":t.menubar),a=U(s,(e=>{const o=ve($D,e);return n?o||be(t.menus,e).exists((e=>ve(e,"items"))):o})),i=L(a,(n=>{const s=o[n];return((e,t,o)=>{const n=Tb(o).split(/[ ,]/);return{text:e.title,getItems:()=>Y(e.items,(e=>{const o=e.toLowerCase();return 0===o.trim().length||N(n,(e=>e===o))?[]:"separator"===o||"|"===o?[{type:"separator"}]:t.menuItems[o]?[t.menuItems[o]]:[]}))}})({title:s.title,items:qD(s.items)},t,e)}));return U(i,(e=>e.getItems().length>0&&N(e.getItems(),(e=>r(e)||"separator"!==e.type))))},XD=(e,t,o)=>(e.on("remove",(()=>o.unload(t))),o.load(t)),KD=(e,t,o,n)=>(e.on("remove",(()=>n.unloadRawCss(t))),n.loadRawCss(t,o)),JD=async(e,t)=>{const o="ui/"+nv(e).getOr("default")+"/skin.css",n=tinymce.Resource.get(o);return r(n)?Promise.resolve(KD(e,o,n,e.ui.styleSheetLoader)):XD(e,t+"/skin.min.css",e.ui.styleSheetLoader)},ZD=async(e,t)=>{var o;if(o=ze(e.getElement()),vt(o).isSome()){const o="ui/"+nv(e).getOr("default")+"/skin.shadowdom.css",n=tinymce.Resource.get(o);return r(n)?(KD(e,o,n,db.DOM.styleSheetLoader),Promise.resolve()):XD(e,t+"/skin.shadowdom.min.css",db.DOM.styleSheetLoader)}},QD=(e,t)=>(async(e,t)=>{nv(t).fold((()=>{const o=ov(t);o&&t.contentCSS.push(o+(e?"/content.inline":"/content")+".min.css")}),(o=>{const n="ui/"+o+(e?"/content.inline":"/content")+".css",s=tinymce.Resource.get(n);if(r(s))KD(t,n,s,t.ui.styleSheetLoader);else{const o=ov(t);o&&t.contentCSS.push(o+(e?"/content.inline":"/content")+".min.css")}}));const o=ov(t);if(!ev(t)&&r(o))return Promise.all([JD(t,o),ZD(t,o)]).then()})(e,t).then((e=>{const t=()=>{e._skinLoaded=!0,(e=>{e.dispatch("SkinLoaded")})(e)};return()=>{e.initialized?t():e.on("init",t)}})(t),((e,t)=>()=>((e,t)=>{e.dispatch("SkinLoadError",t)})(e,{message:"Skin could not be loaded"}))(t)),eB=k(QD,!1),tB=k(QD,!0),oB=(e,t,o)=>e.translate([t,e.translate(o)]),nB=(e,t)=>{const o=(o,s,r,a)=>{const i=e.shared.providers.translate(o.title);if("separator"===o.type)return A.some({type:"separator",text:i});if("submenu"===o.type){const e=Y(o.getStyleItems(),(e=>n(e,s,a)));return 0===s&&e.length<=0?A.none():A.some({type:"nestedmenuitem",text:i,enabled:e.length>0,getSubmenuItems:()=>Y(o.getStyleItems(),(e=>n(e,s,a)))})}return A.some({type:"togglemenuitem",text:i,icon:o.icon,active:o.isSelected(a),enabled:!r,onAction:t.onAction(o),...o.getStylePreview().fold((()=>({})),(e=>({meta:{style:e}})))})},n=(e,n,s)=>{const r="formatter"===e.type&&t.isInvalid(e);return 0===n?r?[]:o(e,n,!1,s).toArray():o(e,n,r,s).toArray()},s=e=>{const o=t.getCurrentValue(),s=t.shouldHide?0:1;return Y(e,(e=>n(e,s,o)))};return{validateItems:s,getFetch:(e,t)=>(o,n)=>{const r=t(),a=s(r);n(N_(a,xv.CLOSE_ON_EXECUTE,e,{isHorizontalMenu:!1,search:A.none()}))}}},sB=(e,t,o)=>{const n=o.dataset,s="basic"===n.type?()=>L(n.data,(e=>GE(e,o.isSelectedFor,o.getPreviewFor))):n.getData;return{items:nB(t,o),getStyleItems:s}},rB=(e,t,o,n,s)=>{const{items:r,getStyleItems:a}=sB(0,t,o);return B_({text:o.icon.isSome()?A.none():o.text,icon:o.icon,tooltip:A.from(o.tooltip),role:A.none(),fetch:r.getFetch(t,a),onSetup:t=>{const r=o=>t.setTooltip(oB(e,n,o.value));return e.on(s,r),Sw(Ow(e,"NodeChange",(t=>{const n=t.getComponent();o.updateText(n),Lm.set(t.getComponent(),!e.selection.isEditable())}))(t),(()=>e.off(s,r)))},getApi:e=>({getComponent:x(e),setTooltip:o=>{const n=t.shared.providers.translate(o);Ot(e.element,{"aria-label":n,title:n})}}),columns:1,presets:"normal",classes:o.icon.isSome()?[]:["bespoke"],dropdownBehaviours:[]},"tox-tbtn",t.shared)};var aB;!function(e){e[e.SemiColon=0]="SemiColon",e[e.Space=1]="Space"}(aB||(aB={}));const iB=(e,t,o)=>{const n=(s=((e,t)=>t===aB.SemiColon?e.replace(/;$/,"").split(";"):e.split(" "))(e.options.get(t),o),L(s,(e=>{let t=e,o=e;const n=e.split("=");return n.length>1&&(t=n[0],o=n[1]),{title:t,format:o}})));var s;return{type:"basic",data:n}},lB="Alignment {0}",cB="left",dB=[{title:"Left",icon:"align-left",format:"alignleft",command:"JustifyLeft"},{title:"Center",icon:"align-center",format:"aligncenter",command:"JustifyCenter"},{title:"Right",icon:"align-right",format:"alignright",command:"JustifyRight"},{title:"Justify",icon:"align-justify",format:"alignjustify",command:"JustifyFull"}],uB=e=>{const t={type:"basic",data:dB};return{tooltip:oB(e,lB,cB),text:A.none(),icon:A.some("align-left"),isSelectedFor:t=>()=>e.formatter.match(t),getCurrentValue:A.none,getPreviewFor:e=>A.none,onAction:t=>()=>G(dB,(e=>e.format===t.format)).each((t=>e.execCommand(t.command))),updateText:t=>{const o=G(dB,(t=>e.formatter.match(t.format))).fold(x(cB),(e=>e.title.toLowerCase()));Rr(t,D_,{icon:`align-${o}`}),((e,t)=>{e.dispatch("AlignTextUpdate",t)})(e,{value:o})},dataset:t,shouldHide:!1,isInvalid:t=>!e.formatter.canApply(t.format)}},mB=(e,t)=>{const o=t(),n=L(o,(e=>e.format));return A.from(e.formatter.closest(n)).bind((e=>G(o,(t=>t.format===e)))).orThunk((()=>Ce(e.formatter.match("p"),{title:"Paragraph",format:"p"})))},gB="Block {0}",pB="Paragraph",hB=e=>{const t=iB(e,"block_formats",aB.SemiColon);return{tooltip:oB(e,gB,pB),text:A.some(pB),icon:A.none(),isSelectedFor:t=>()=>e.formatter.match(t),getCurrentValue:A.none,getPreviewFor:t=>()=>{const o=e.formatter.get(t);return o?A.some({tag:o.length>0&&(o[0].inline||o[0].block)||"div",styles:e.dom.parseStyle(e.formatter.getCssText(t))}):A.none()},onAction:_w(e),updateText:o=>{const n=mB(e,(()=>t.data)).fold(x(pB),(e=>e.title));Rr(o,M_,{text:n}),((e,t)=>{e.dispatch("BlocksTextUpdate",t)})(e,{value:n})},dataset:t,shouldHide:!1,isInvalid:t=>!e.formatter.canApply(t.format)}},fB="Font {0}",bB="System Font",vB=["-apple-system","Segoe UI","Roboto","Helvetica Neue","sans-serif"],yB=e=>{const t=e.split(/\s*,\s*/);return L(t,(e=>e.replace(/^['"]+|['"]+$/g,"")))},xB=(e,t)=>t.length>0&&X(t,(t=>e.indexOf(t.toLowerCase())>-1)),wB=e=>{const t=()=>{const t=e=>e?yB(e)[0]:"",n=e.queryCommandValue("FontName"),s=o.data,r=n?n.toLowerCase():"",a=Qb(e),i=G(s,(e=>{const o=e.format;return o.toLowerCase()===r||t(o).toLowerCase()===t(r).toLowerCase()})).orThunk((()=>Ce(((e,t)=>{if(0===e.indexOf("-apple-system")||t.length>0){const o=yB(e.toLowerCase());return xB(o,vB)||xB(o,t)}return!1})(r,a),{title:bB,format:r})));return{matchOpt:i,font:n}},o=iB(e,"font_family_formats",aB.SemiColon);return{tooltip:oB(e,fB,bB),text:A.some(bB),icon:A.none(),isSelectedFor:e=>t=>t.exists((t=>t.format===e)),getCurrentValue:()=>{const{matchOpt:e}=t();return e},getPreviewFor:e=>()=>A.some({tag:"div",styles:-1===e.indexOf("dings")?{"font-family":e}:{}}),onAction:t=>()=>{e.undoManager.transact((()=>{e.focus(),e.execCommand("FontName",!1,t.format)}))},updateText:o=>{const{matchOpt:n,font:s}=t(),r=n.fold(x(s),(e=>e.title));Rr(o,M_,{text:r}),((e,t)=>{e.dispatch("FontFamilyTextUpdate",t)})(e,{value:r})},dataset:o,shouldHide:!1,isInvalid:T}},SB={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},kB=(()=>{const e="[0-9]+",t="[eE][+-]?"+e,o=e=>`(?:${e})?`,n=["Infinity",e+"\\."+o(e)+o(t),"\\."+e+o(t),e+o(t)].join("|");return new RegExp(`^([+-]?(?:${n}))(.*)$`)})(),CB=(e,t)=>A.from(kB.exec(e)).bind((e=>{const o=Number(e[1]),n=e[2];return((e,t)=>N(t,(t=>N(SB[t],(t=>e===t)))))(n,t)?A.some({value:o,unit:n}):A.none()})),OB={tab:x(9),escape:x(27),enter:x(13),backspace:x(8),delete:x(46),left:x(37),up:x(38),right:x(39),down:x(40),space:x(32),home:x(36),end:x(35),pageUp:x(33),pageDown:x(34)},_B="Font size {0}",TB="12pt",EB={"8pt":"1","10pt":"2","12pt":"3","14pt":"4","18pt":"5","24pt":"6","36pt":"7"},AB={"xx-small":"7pt","x-small":"8pt",small:"10pt",medium:"12pt",large:"14pt","x-large":"18pt","xx-large":"24pt"},MB=(e,t)=>/[0-9.]+px$/.test(e)?((e,t)=>{const o=Math.pow(10,t);return Math.round(e*o)/o})(72*parseInt(e,10)/96,t||0)+"pt":be(AB,e).getOr(e),DB=e=>be(EB,e).getOr(""),BB=e=>{const t=()=>{let t=A.none();const o=n.data,s=e.queryCommandValue("FontSize");if(s)for(let e=3;t.isNone()&&e>=0;e--){const n=MB(s,e),r=DB(n);t=G(o,(e=>e.format===s||e.format===n||e.format===r))}return{matchOpt:t,size:s}},o=x(A.none),n=iB(e,"font_size_formats",aB.Space);return{tooltip:oB(e,_B,TB),text:A.some(TB),icon:A.none(),isSelectedFor:e=>t=>t.exists((t=>t.format===e)),getPreviewFor:o,getCurrentValue:()=>{const{matchOpt:e}=t();return e},onAction:t=>()=>{e.undoManager.transact((()=>{e.focus(),e.execCommand("FontSize",!1,t.format)}))},updateText:o=>{const{matchOpt:n,size:s}=t(),r=n.fold(x(s),(e=>e.title));Rr(o,M_,{text:r}),((e,t)=>{e.dispatch("FontSizeTextUpdate",t)})(e,{value:r})},dataset:n,shouldHide:!1,isInvalid:T}},IB="Format {0}",FB=(e,t)=>{const o="Paragraph";return{tooltip:oB(e,IB,o),text:A.some(o),icon:A.none(),isSelectedFor:t=>()=>e.formatter.match(t),getCurrentValue:A.none,getPreviewFor:t=>()=>{const o=e.formatter.get(t);return void 0!==o?A.some({tag:o.length>0&&(o[0].inline||o[0].block)||"div",styles:e.dom.parseStyle(e.formatter.getCssText(t))}):A.none()},onAction:_w(e),updateText:t=>{const n=e=>HE(e)?Y(e.items,n):PE(e)?[{title:e.title,format:e.format}]:[],s=Y(jE(e),n),r=mB(e,x(s)).fold(x(o),(e=>e.title));Rr(t,M_,{text:r}),((e,t)=>{e.dispatch("StylesTextUpdate",t)})(e,{value:r})},shouldHide:Ob(e),isInvalid:t=>!e.formatter.canApply(t.format),dataset:t}},RB=x([ns("toggleClass"),ns("fetch"),Vi("onExecute"),xs("getHotspot",A.some),xs("getAnchorOverrides",x({})),Oc(),Vi("onItemExecute"),ms("lazySink"),ns("dom"),Ri("onOpen"),yu("splitDropdownBehaviours",[yS,Gp,ah]),xs("matchWidth",!1),xs("useMinWidth",!1),xs("eventOrder",{}),ms("role")].concat(NS())),NB=$u({factory:qh,schema:[ns("dom")],name:"arrow",defaults:()=>({buttonBehaviours:Tl([ah.revoke()])}),overrides:e=>({dom:{tag:"span",attributes:{role:"presentation"}},action:t=>{t.getSystem().getByUid(e.uid).each(Nr)},buttonBehaviours:Tl([ph.config({toggleOnExecute:!1,toggleClass:e.toggleClass})])})}),VB=$u({factory:qh,schema:[ns("dom")],name:"button",defaults:()=>({buttonBehaviours:Tl([ah.revoke()])}),overrides:e=>({dom:{tag:"span",attributes:{role:"presentation"}},action:t=>{t.getSystem().getByUid(e.uid).each((o=>{e.onExecute(o,t)}))}})}),zB=x([NB,VB,Yu({factory:{sketch:e=>({uid:e.uid,dom:{tag:"span",styles:{display:"none"},attributes:{"aria-hidden":"true"},innerHtml:e.text}})},schema:[ns("text")],name:"aria-descriptor"}),qu({schema:[Bi()],name:"menu",defaults:e=>({onExecute:(t,o)=>{t.getSystem().getByUid(e.uid).each((n=>{e.onItemExecute(n,t,o)}))}})}),TS()]),LB=wm({name:"SplitDropdown",configFields:RB(),partFields:zB(),factory:(e,t,o,n)=>{const s=e=>{Om.getCurrent(e).each((e=>{Xm.highlightFirst(e),Gp.focusIn(e)}))},r=t=>{DS(e,w,t,n,s,Uh.HighlightMenuAndItem).get(b)},a=t=>{const o=im(t,e,"button");return Nr(o),A.some(!0)},i={...Hr([Jr(((t,o)=>{am(t,e,"aria-descriptor").each((e=>{const o=ca("aria");Ct(e.element,"id",o),Ct(t.element,"aria-describedby",o)}))}))]),...fh(A.some(r))},l={repositionMenus:e=>{ph.isOn(e)&&RS(e)}};return{uid:e.uid,dom:e.dom,components:t,apis:l,eventOrder:{...e.eventOrder,[mr()]:["disabling","toggling","alloy.base.behaviour"]},events:i,behaviours:wu(e.splitDropdownBehaviours,[yS.config({others:{sandbox:t=>{const o=im(t,e,"arrow");return FS(e,t,{onOpen:()=>{ph.on(o),ph.on(t)},onClose:()=>{ph.off(o),ph.off(t)}})}}}),Gp.config({mode:"special",onSpace:a,onEnter:a,onDown:e=>(r(e),A.some(!0))}),ah.config({}),ph.config({toggleOnExecute:!1,aria:{mode:"expanded"}})]),domModification:{attributes:{role:e.role.getOr("button"),"aria-haspopup":!0}}}},apis:{repositionMenus:(e,t)=>e.repositionMenus(t)}}),HB=e=>({isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t),setText:t=>Rr(e,M_,{text:t}),setIcon:t=>Rr(e,D_,{icon:t})}),PB=e=>({setActive:t=>{ph.set(e,t)},isActive:()=>ph.isOn(e),isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t),setText:t=>Rr(e,M_,{text:t}),setIcon:t=>Rr(e,D_,{icon:t})}),UB=(e,t)=>e.map((e=>({"aria-label":t.translate(e),title:t.translate(e)}))).getOr({}),WB=ca("focus-button"),jB=(e,t,o,n,s)=>{const r=t.map((e=>Xh(A_(e,"tox-tbtn",s)))),a=e.map((e=>Xh(E_(e,s.icons))));return{dom:{tag:"button",classes:["tox-tbtn"].concat(t.isSome()?["tox-tbtn--select"]:[]),attributes:UB(o,s)},components:Vx([a.map((e=>e.asSpec())),r.map((e=>e.asSpec()))]),eventOrder:{[js()]:["focusing","alloy.base.behaviour",k_],[kr()]:[k_,"toolbar-group-button-events"]},buttonBehaviours:Tl([Dx(s.isDisabled),Ex(),th(k_,[Jr(((e,t)=>O_(e))),Wr(M_,((e,t)=>{r.bind((t=>t.getOpt(e))).each((e=>{eh.set(e,[ri(s.translate(t.event.text))])}))})),Wr(D_,((e,t)=>{a.bind((t=>t.getOpt(e))).each((e=>{eh.set(e,[E_(t.event.icon,s.icons)])}))})),Wr(js(),((e,t)=>{t.event.prevent(),Fr(e,WB)}))])].concat(n.getOr([])))}},GB=(e,t,o)=>{var n;const s=As(b),r=jB(e.icon,e.text,e.tooltip,A.none(),o);return qh.sketch({dom:r.dom,components:r.components,eventOrder:C_,buttonBehaviours:{...Tl([th("toolbar-button-events",[(a={onAction:e.onAction,getApi:t.getApi},ea(((e,t)=>{Bx(a,e)((t=>{Rr(e,S_,{buttonApi:t}),a.onAction(t)}))}))),Ix(t,s),Fx(t,s)]),Dx((()=>!e.enabled||o.isDisabled())),Ex()].concat(t.toolbarButtonBehaviours)),[k_]:null===(n=r.buttonBehaviours)||void 0===n?void 0:n[k_]}});var a},$B=(e,t,o)=>GB(e,{toolbarButtonBehaviours:o.length>0?[th("toolbarButtonWith",o)]:[],getApi:HB,onSetup:e.onSetup},t),qB=(e,t,o)=>GB(e,{toolbarButtonBehaviours:[eh.config({}),ph.config({toggleClass:"tox-tbtn--enabled",aria:{mode:"pressed"},toggleOnExecute:!1})].concat(o.length>0?[th("toolbarToggleButtonWith",o)]:[]),getApi:PB,onSetup:e.onSetup},t),YB=(e,t,o)=>n=>CS((e=>t.fetch(e))).map((s=>A.from(qS(bn(aS(ca("menu-value"),s,(o=>{t.onItemAction(e(n),o)}),t.columns,t.presets,xv.CLOSE_ON_EXECUTE,t.select.getOr(T),o),{movement:lS(t.columns,t.presets),menuBehaviours:px("auto"!==t.columns?[]:[Jr(((e,o)=>{gx(e,4,Bv(t.presets)).each((({numRows:t,numColumns:o})=>{Gp.setGridSize(e,t,o)}))}))])}))))),XB=[{name:"history",items:["undo","redo"]},{name:"ai",items:["aidialog","aishortcuts"]},{name:"styles",items:["styles"]},{name:"formatting",items:["bold","italic"]},{name:"alignment",items:["alignleft","aligncenter","alignright","alignjustify"]},{name:"indentation",items:["outdent","indent"]},{name:"permanent pen",items:["permanentpen"]},{name:"comments",items:["addcomment"]}],KB=(e,t)=>(o,n,s)=>{const r=e(o).mapError((e=>Jn(e))).getOrDie();return t(r,n,s)},JB={button:KB(Ly,((e,t)=>{return o=e,n=t.shared.providers,$B(o,n,[]);var o,n})),togglebutton:KB(Uy,((e,t)=>{return o=e,n=t.shared.providers,qB(o,n,[]);var o,n})),menubutton:KB(vM,((e,t)=>gT(e,"tox-tbtn",t,A.none(),!1))),splitbutton:KB((e=>Yn("SplitButton",yM,e)),((e,t)=>((e,t)=>{const o=e=>({isEnabled:()=>!Lm.isDisabled(e),setEnabled:t=>Lm.set(e,!t),setIconFill:(t,o)=>{vi(e.element,`svg path[class="${t}"], rect[class="${t}"]`).each((e=>{Ct(e,"fill",o)}))},setActive:t=>{Ct(e.element,"aria-pressed",t),vi(e.element,"span").each((o=>{e.getSystem().getByDom(o).each((e=>ph.set(e,t)))}))},isActive:()=>vi(e.element,"span").exists((t=>e.getSystem().getByDom(t).exists(ph.isOn))),setText:t=>vi(e.element,"span").each((o=>e.getSystem().getByDom(o).each((e=>Rr(e,M_,{text:t}))))),setIcon:t=>vi(e.element,"span").each((o=>e.getSystem().getByDom(o).each((e=>Rr(e,D_,{icon:t}))))),setTooltip:o=>{const n=t.providers.translate(o);Ot(e.element,{"aria-label":n,title:n})}}),n=As(b),s={getApi:o,onSetup:e.onSetup};return LB.sketch({dom:{tag:"div",classes:["tox-split-button"],attributes:{"aria-pressed":!1,...UB(e.tooltip,t.providers)}},onExecute:t=>{const n=o(t);n.isEnabled()&&e.onAction(n)},onItemExecute:(e,t,o)=>{},splitDropdownBehaviours:Tl([Mx(t.providers.isDisabled),Ex(),th("split-dropdown-events",[Jr(((e,t)=>O_(e))),Wr(WB,ah.focus),Ix(s,n),Fx(s,n)]),Wk.config({})]),eventOrder:{[kr()]:["alloy.base.behaviour","split-dropdown-events"]},toggleClass:"tox-tbtn--enabled",lazySink:t.getSink,fetch:YB(o,e,t.providers),parts:{menu:zv(0,e.columns,e.presets)},components:[LB.parts.button(jB(e.icon,e.text,A.none(),A.some([ph.config({toggleClass:"tox-tbtn--enabled",toggleOnExecute:!1})]),t.providers)),LB.parts.arrow({dom:{tag:"button",classes:["tox-tbtn","tox-split-button__chevron"],innerHtml:ob("chevron-down",t.providers.icons)},buttonBehaviours:Tl([Mx(t.providers.isDisabled),Ex(),nb()])}),LB.parts["aria-descriptor"]({text:t.providers.translate("To open the popup, press Shift+Enter")})]})})(e,t.shared))),grouptoolbarbutton:KB((e=>Yn("GroupToolbarButton",hM,e)),((e,t,o)=>{const n=o.ui.registry.getAll().buttons,s={[kc]:t.shared.header.isPositionedAtTop()?Sc.TopToBottom:Sc.BottomToTop};if(Eb(o)===lb.floating)return((e,t,o,n)=>{const s=t.shared,r=As(b),a={toolbarButtonBehaviours:[],getApi:HB,onSetup:e.onSetup},i=[th("toolbar-group-button-events",[Ix(a,r),Fx(a,r)])];return tD.sketch({lazySink:s.getSink,fetch:()=>CS((t=>{t(L(o(e.items),pD))})),markers:{toggledClass:"tox-tbtn--enabled"},parts:{button:jB(e.icon,e.text,e.tooltip,A.some(i),s.providers),toolbar:{dom:{tag:"div",classes:["tox-toolbar__overflow"],attributes:n}}}})})(e,t,(e=>QB(o,{buttons:n,toolbar:e,allowToolbarGroups:!1},t,A.none())),s);throw new Error("Toolbar groups are only supported when using floating toolbar mode")}))},ZB={styles:(e,t)=>{const o={type:"advanced",...t.styles};return rB(e,t,FB(e,o),IB,"StylesTextUpdate")},fontsize:(e,t)=>rB(e,t,BB(e),_B,"FontSizeTextUpdate"),fontsizeinput:(e,t)=>((e,t,o)=>{let n=A.none();const s=Ow(e,"NodeChange SwitchMode",(t=>{const s=t.getComponent();n=A.some(s),o.updateInputValue(s),Lm.set(s,!e.selection.isEditable())})),r=e=>({getComponent:x(e)}),a=As(b),i=ca("custom-number-input-events"),l=(e,t,s)=>{const r=n.map((e=>vu.getValue(e))).getOr(""),a=o.getNewValue(r,e),i=r.length-`${a}`.length,l=n.map((e=>e.element.dom.selectionStart-i)),c=n.map((e=>e.element.dom.selectionEnd-i));o.onAction(a,s),n.each((e=>{vu.setValue(e,a),t&&(l.each((t=>e.element.dom.selectionStart=t)),c.each((t=>e.element.dom.selectionEnd=t)))}))},c=(e,t)=>l(((e,t)=>e-t),e,t),d=(e,t)=>l(((e,t)=>e+t),e,t),u=e=>at(e.element).fold(A.none,(e=>(Rl(e),A.some(!0)))),m=e=>Vl(e.element)?(dt(e.element).each((e=>Rl(e))),A.some(!0)):A.none(),g=(o,n,s,a)=>{const i=As(b),l=t.shared.providers.translate(s),c=ca("altExecuting"),d=Ow(e,"NodeChange SwitchMode",(t=>{Lm.set(t.getComponent(),!e.selection.isEditable())})),u=e=>{Lm.isDisabled(e)||o(!0)};return qh.sketch({dom:{tag:"button",attributes:{title:l,"aria-label":l},classes:a.concat(n)},components:[T_(n,t.shared.providers.icons)],buttonBehaviours:Tl([Lm.config({}),th(c,[Ix({onSetup:d,getApi:r},i),Fx({getApi:r},i),Wr(Js(),((e,t)=>{t.event.raw.keyCode!==OB.space()&&t.event.raw.keyCode!==OB.enter()||Lm.isDisabled(e)||o(!1)})),Wr(tr(),u),Wr(Us(),u)])]),eventOrder:{[Js()]:[c,"keying"],[tr()]:[c,"alloy.base.behaviour"],[Us()]:[c,"alloy.base.behaviour"]}})},p=Xh(g((e=>c(!1,e)),"minus","Decrease font size",[])),h=Xh(g((e=>d(!1,e)),"plus","Increase font size",[])),f=Xh({dom:{tag:"div",classes:["tox-input-wrapper"]},components:[Wv.sketch({inputBehaviours:Tl([Lm.config({}),th(i,[Ix({onSetup:s,getApi:r},a),Fx({getApi:r},a)]),th("input-update-display-text",[Wr(M_,((e,t)=>{vu.setValue(e,t.event.text)})),Wr(Ks(),(e=>{o.onAction(vu.getValue(e))})),Wr(er(),(e=>{o.onAction(vu.getValue(e))}))]),Gp.config({mode:"special",onEnter:e=>(l(w,!0,!0),A.some(!0)),onEscape:u,onUp:e=>(d(!0,!1),A.some(!0)),onDown:e=>(c(!0,!1),A.some(!0)),onLeft:(e,t)=>(t.cut(),A.none()),onRight:(e,t)=>(t.cut(),A.none())})])})],behaviours:Tl([ah.config({}),Gp.config({mode:"special",onEnter:m,onSpace:m,onEscape:u}),th("input-wrapper-events",[Wr(Ys(),(e=>{H([p,h],(t=>{const o=ze(t.get(e).element.dom);Vl(o)&&Nl(o)}))}))])])});return{dom:{tag:"div",classes:["tox-number-input"]},components:[p.asSpec(),f.asSpec(),h.asSpec()],behaviours:Tl([ah.config({}),Gp.config({mode:"flow",focusInside:vg.OnEnterOrSpaceMode,cycles:!1,selector:"button, .tox-input-wrapper",onEscape:e=>Vl(e.element)?A.none():(Rl(e.element),A.some(!0))})])}})(e,t,(e=>{const t=()=>e.queryCommandValue("FontSize");return{updateInputValue:e=>Rr(e,M_,{text:t()}),onAction:(t,o)=>e.execCommand("FontSize",!1,t,{skip_focus:!o}),getNewValue:(o,n)=>{CB(o,["unsupportedLength","empty"]);const s=t(),r=CB(o,["unsupportedLength","empty"]).or(CB(s,["unsupportedLength","empty"])),a=r.map((e=>e.value)).getOr(16),i=Lb(e),l=r.map((e=>e.unit)).filter((e=>""!==e)).getOr(i),c=n(a,(e=>{var t;return null!==(t={em:{step:.1},cm:{step:.1},in:{step:.1},pc:{step:.1},ch:{step:.1},rem:{step:.1}}[e])&&void 0!==t?t:{step:1}})(l).step),d=`${(e=>e>=0)(c)?c:a}${l}`;return d!==s&&((e,t)=>{e.dispatch("FontSizeInputTextUpdate",t)})(e,{value:d}),d}}})(e)),fontfamily:(e,t)=>rB(e,t,wB(e),fB,"FontFamilyTextUpdate"),blocks:(e,t)=>rB(e,t,hB(e),gB,"BlocksTextUpdate"),align:(e,t)=>rB(e,t,uB(e),lB,"AlignTextUpdate")},QB=(e,t,o,n)=>{const s=(e=>{const t=e.toolbar,o=e.buttons;return!1===t?[]:void 0===t||!0===t?(e=>{const t=L(XB,(t=>{const o=U(t.items,(t=>ve(e,t)||ve(ZB,t)));return{name:t.name,items:o}}));return U(t,(e=>e.items.length>0))})(o):r(t)?(e=>{const t=e.split("|");return L(t,(e=>({items:e.trim().split(" ")})))})(t):(e=>f(e,(e=>ve(e,"name")&&ve(e,"items"))))(t)?t:(console.error("Toolbar type should be string, string[], boolean or ToolbarGroup[]"),[])})(t),a=L(s,(s=>{const r=Y(s.items,(s=>0===s.trim().length?[]:((e,t,o,n,s,r)=>be(t,o.toLowerCase()).orThunk((()=>r.bind((e=>re(e,(e=>be(t,e+o.toLowerCase()))))))).fold((()=>be(ZB,o.toLowerCase()).map((t=>t(e,s)))),(t=>"grouptoolbarbutton"!==t.type||n?((e,t,o)=>be(JB,e.type).fold((()=>(console.error("skipping button defined by",e),A.none())),(n=>A.some(n(e,t,o)))))(t,s,e):(console.warn(`Ignoring the '${o}' toolbar button. Group toolbar buttons are only supported when using floating toolbar mode and cannot be nested.`),A.none()))))(e,t.buttons,s,t.allowToolbarGroups,o,n).toArray()));return{title:A.from(e.translate(s.name)),items:r}}));return U(a,(e=>e.items.length>0))},eI=(e,t,o,n)=>{const s=t.mainUi.outerContainer,a=o.toolbar,i=o.buttons;if(f(a,r)){const t=a.map((t=>{const s={toolbar:t,buttons:i,allowToolbarGroups:o.allowToolbarGroups};return QB(e,s,n,A.none())}));GD.setToolbars(s,t)}else GD.setToolbar(s,QB(e,o,n,A.none()))},tI=Bo(),oI=tI.os.isiOS()&&tI.os.version.major<=12;var nI=Object.freeze({__proto__:null,render:(e,t,o,n,s)=>{const{mainUi:r,uiMotherships:a}=t,i=As(0),l=r.outerContainer;eB(e);const d=ze(s.targetNode),u=bt(ft(d));Ld(d,r.mothership),((e,t,o)=>{pv(e)&&Ld(o.mainUi.mothership.element,o.popupUi.mothership),zd(t,o.dialogUi.mothership)})(e,u,t),e.on("SkinLoaded",(()=>{GD.setSidebar(l,o.sidebar,Kb(e)),eI(e,t,o,n),i.set(e.getWin().innerWidth),GD.setMenubar(l,YD(e,o)),GD.setViews(l,o.views),((e,t)=>{const{uiMotherships:o}=t,n=e.dom;let s=e.getWin();const r=e.getDoc().documentElement,a=As(qt(s.innerWidth,s.innerHeight)),i=As(qt(r.offsetWidth,r.offsetHeight)),l=()=>{const t=a.get();t.left===s.innerWidth&&t.top===s.innerHeight||(a.set(qt(s.innerWidth,s.innerHeight)),yw(e))},c=()=>{const t=e.getDoc().documentElement,o=i.get();o.left===t.offsetWidth&&o.top===t.offsetHeight||(i.set(qt(t.offsetWidth,t.offsetHeight)),yw(e))},d=t=>{((e,t)=>{e.dispatch("ScrollContent",t)})(e,t)};n.bind(s,"resize",l),n.bind(s,"scroll",d);const u=ac(ze(e.getBody()),"load",c);e.on("hide",(()=>{H(o,(e=>{Bt(e.element,"display","none")}))})),e.on("show",(()=>{H(o,(e=>{Ht(e.element,"display")}))})),e.on("NodeChange",c),e.on("remove",(()=>{u.unbind(),n.unbind(s,"resize",l),n.unbind(s,"scroll",d),s=null}))})(e,t)}));const m=GD.getSocket(l).getOrDie("Could not find expected socket element");if(oI){It(m.element,{overflow:"scroll","-webkit-overflow-scrolling":"touch"});const t=((e,t)=>{let o=null;return{cancel:()=>{c(o)||(clearTimeout(o),o=null)},throttle:(...t)=>{c(o)&&(o=setTimeout((()=>{o=null,e.apply(null,t)}),20))}}})((()=>{e.dispatch("ScrollContent")})),o=rc(m.element,"scroll",t.throttle);e.on("remove",o.unbind)}Tx(e,t),e.addCommand("ToggleSidebar",((t,o)=>{GD.toggleSidebar(l,o),e.dispatch("ToggleSidebar")})),e.addQueryValueHandler("ToggleSidebar",(()=>{var e;return null!==(e=GD.whichSidebar(l))&&void 0!==e?e:""})),e.addCommand("ToggleView",((t,o)=>{if(GD.toggleView(l,o)){const t=l.element;r.mothership.broadcastOn([Qd()],{target:t}),H(a,(e=>{e.broadcastOn([Qd()],{target:t})})),c(GD.whichView(l))&&(e.focus(),e.nodeChanged(),GD.refreshToolbar(l))}})),e.addQueryValueHandler("ToggleView",(()=>{var e;return null!==(e=GD.whichView(l))&&void 0!==e?e:""}));const g=Eb(e);g!==lb.sliding&&g!==lb.floating||e.on("ResizeWindow ResizeEditor ResizeContent",(()=>{const o=e.getWin().innerWidth;o!==i.get()&&(GD.refreshToolbar(t.mainUi.outerContainer),i.set(o))}));const p={setEnabled:e=>{_x(t,!e)},isEnabled:()=>!Lm.isDisabled(l)};return{iframeContainer:m.element.dom,editorContainer:l.element.dom,api:p}}});const sI=e=>/^[0-9\.]+(|px)$/i.test(""+e)?A.some(parseInt(""+e,10)):A.none(),rI=e=>h(e)?e+"px":e,aI=(e,t,o)=>{const n=t.filter((t=>ee>t));return n.or(s).getOr(e)},iI=e=>{const t=vb(e),o=yb(e),n=wb(e);return sI(t).map((e=>aI(e,o,n)))},{ToolbarLocation:lI,ToolbarMode:cI}=fv,dI=(e,t,o,n,s)=>{const{mainUi:r,uiMotherships:a}=o,i=db.DOM,l=dv(e),c=gv(e),d=wb(e).or(iI(e)),u=n.shared.header,m=u.isPositionedAtTop,g=Eb(e),p=g===cI.sliding||g===cI.floating,h=As(!1),f=()=>h.get()&&!e.removed,b=e=>p?e.fold(x(0),(e=>e.components().length>1?jt(e.components()[1].element):0)):0,v=()=>{H(a,(e=>{e.broadcastOn([eu()],{})}))},y=o=>{if(!f())return;l||s.on((e=>{const o=d.getOrThunk((()=>{const e=sI(Rt(wt(),"margin-left")).getOr(0);return Zt(wt())-Xt(t).left+e}));Bt(e.element,"max-width",o+"px")}));const n=l?A.none():(()=>{if(l)return A.none();if(Xt(r.outerContainer.element).left+Qt(r.outerContainer.element)>=window.innerWidth-40||Vt(r.outerContainer.element,"width").isSome()){Bt(r.outerContainer.element,"position","absolute"),Bt(r.outerContainer.element,"left","0px"),Ht(r.outerContainer.element,"width");const e=Qt(r.outerContainer.element);return A.some(e)}return A.none()})();p&&GD.refreshToolbar(r.outerContainer),l||(o=>{s.on((n=>{const s=GD.getToolbar(r.outerContainer),a=b(s),i=Zo(t),{top:l,left:c}=((e,t)=>pv(e)?BA(t):A.none())(e,r.outerContainer.element).fold((()=>({top:m()?Math.max(i.y-jt(n.element)+a,0):i.bottom,left:i.x})),(e=>{var t;const o=Zo(e),s=null!==(t=e.dom.scrollTop)&&void 0!==t?t:0,r=Qe(e,wt()),l=r?Math.max(i.y-jt(n.element)+a,0):i.y-o.y+s-jt(n.element)+a;return{top:m()?l:i.bottom,left:r?i.x:i.x-o.x}})),d={position:"absolute",left:Math.round(c)+"px",top:Math.round(l)+"px"},u=o.map((e=>{const t=Wo(),o=window.innerWidth-(c-t.left);return{width:Math.max(Math.min(e,o),150)+"px"}})).getOr({});It(r.outerContainer.element,{...d,...u})}))})(n),c&&s.on(o),v()},w=()=>!(l||!c||!f())&&s.get().exists((o=>{const n=u.getDockingMode(),a=(o=>{switch(Mb(e)){case lI.auto:const e=GD.getToolbar(r.outerContainer),n=b(e),s=jt(o.element)-n,a=Zo(t);if(a.y>s)return"top";{const e=nt(t),o=Math.max(e.dom.scrollHeight,jt(e));return a.bottom{sM.setModes(e,[i]),u.setDockingMode(i);const t=m()?Sc.TopToBottom:Sc.BottomToTop;Ct(e.element,kc,t)})),!0);var i}));return{isVisible:f,isPositionedAtTop:m,show:()=>{h.set(!0),Bt(r.outerContainer.element,"display","flex"),i.addClass(e.getBody(),"mce-edit-focus"),H(a,(e=>{Ht(e.element,"display")})),w(),pv(e)?y((e=>sM.isDocked(e)?sM.reset(e):sM.refresh(e))):y(sM.refresh)},hide:()=>{h.set(!1),Bt(r.outerContainer.element,"display","none"),i.removeClass(e.getBody(),"mce-edit-focus"),H(a,(e=>{Bt(e.element,"display","none")}))},update:y,updateMode:()=>{w()&&y(sM.reset)},repositionPopups:v}},uI=(e,t)=>{const o=Zo(e);return{pos:t?o.y:o.bottom,bounds:o}};var mI=Object.freeze({__proto__:null,render:(e,t,o,n,s)=>{const{mainUi:r}=t,a=nc(),i=ze(s.targetNode),l=dI(e,i,t,n,a),c=Ib(e);tB(e);const d=()=>{if(a.isSet())return void l.show();a.set(GD.getHeader(r.outerContainer).getOrDie());const s=uv(e);pv(e)?(Ld(i,r.mothership),Ld(i,t.popupUi.mothership)):zd(s,r.mothership),zd(s,t.dialogUi.mothership),eI(e,t,o,n),GD.setMenubar(r.outerContainer,YD(e,o)),l.show(),((e,t,o,n)=>{const s=As(uI(t,o.isPositionedAtTop())),r=n=>{const{pos:r,bounds:a}=uI(t,o.isPositionedAtTop()),{pos:i,bounds:l}=s.get(),c=a.height!==l.height||a.width!==l.width;s.set({pos:r,bounds:a}),c&&yw(e,n),o.isVisible()&&(i!==r?o.update(sM.reset):c&&(o.updateMode(),o.repositionPopups()))};n||(e.on("activate",o.show),e.on("deactivate",o.hide)),e.on("SkinLoaded ResizeWindow",(()=>o.update(sM.reset))),e.on("NodeChange keydown",(e=>{requestAnimationFrame((()=>r(e)))}));let a=0;const i=QO((()=>o.update(sM.refresh)),33);e.on("ScrollWindow",(()=>{const e=Wo().left;e!==a&&(a=e,i.throttle()),o.updateMode()})),pv(e)&&e.on("ElementScroll",(e=>{o.update(sM.refresh)}));const l=oc();l.set(ac(ze(e.getBody()),"load",(e=>r(e.raw)))),e.on("remove",(()=>{l.clear()}))})(e,i,l,c),e.nodeChanged()};e.on("show",d),e.on("hide",l.hide),c||(e.on("focus",d),e.on("blur",l.hide)),e.on("init",(()=>{(e.hasFocus()||c)&&d()})),Tx(e,t);const u={show:d,hide:l.hide,setEnabled:e=>{_x(t,!e)},isEnabled:()=>!Lm.isDisabled(r.outerContainer)};return{editorContainer:r.outerContainer.element.dom,api:u}}});const gI="contexttoolbar-hide",pI=(e,t)=>Wr(S_,((o,n)=>{const s=(e=>({hide:()=>Fr(e,fr()),getValue:()=>vu.getValue(e)}))(e.get(o));t.onAction(s,n.event.buttonApi)})),hI=(e,t)=>{const o=e.label.fold((()=>({})),(e=>({"aria-label":e}))),n=Xh(Wv.sketch({inputClasses:["tox-toolbar-textfield","tox-toolbar-nav-js"],data:e.initValue(),inputAttributes:o,selectOnFocus:!0,inputBehaviours:Tl([Gp.config({mode:"special",onEnter:e=>s.findPrimary(e).map((e=>(Nr(e),!0))),onLeft:(e,t)=>(t.cut(),A.none()),onRight:(e,t)=>(t.cut(),A.none())})])})),s=((e,t,o)=>{const n=L(t,(t=>Xh(((e,t,o)=>(e=>"contextformtogglebutton"===e.type)(t)?((e,t,o)=>{const{primary:n,...s}=t.original,r=Xn(Uy({...s,type:"togglebutton",onAction:b}));return qB(r,o,[pI(e,t)])})(e,t,o):((e,t,o)=>{const{primary:n,...s}=t.original,r=Xn(Ly({...s,type:"button",onAction:b}));return $B(r,o,[pI(e,t)])})(e,t,o))(e,t,o))));return{asSpecs:()=>L(n,(e=>e.asSpec())),findPrimary:e=>re(t,((t,o)=>t.primary?A.from(n[o]).bind((t=>t.getOpt(e))).filter(C(Lm.isDisabled)):A.none()))}})(n,e.commands,t);return[{title:A.none(),items:[n.asSpec()]},{title:A.none(),items:s.asSpecs()}]},fI=(e,t,o)=>t.bottom-e.y>=o&&e.bottom-t.y>=o,bI=e=>{const t=(e=>{const t=e.getBoundingClientRect();if(t.height<=0&&t.width<=0){const o=mt(ze(e.startContainer),e.startOffset).element;return(qe(o)?rt(o):A.some(o)).filter($e).map((e=>e.dom.getBoundingClientRect())).getOr(t)}return t})(e.selection.getRng());if(e.inline){const e=Wo();return Jo(e.left+t.left,e.top+t.top,t.width,t.height)}{const o=Qo(ze(e.getBody()));return Jo(o.x+t.left,o.y+t.top,t.width,t.height)}},vI=(e,t,o,n=0)=>{const s=$o(window),r=Zo(ze(e.getContentAreaContainer())),a=tv(e)||rv(e)||iv(e),{x:i,width:l}=((e,t,o)=>{const n=Math.max(e.x+o,t.x);return{x:n,width:Math.min(e.right-o,t.right)-n}})(r,s,n);if(e.inline&&!a)return Jo(i,s.y,l,s.height);{const a=t.header.isPositionedAtTop(),{y:c,bottom:d}=((e,t,o,n,s,r)=>{const a=ze(e.getContainer()),i=vi(a,".tox-editor-header").getOr(a),l=Zo(i),c=l.y>=t.bottom,d=n&&!c;if(e.inline&&d)return{y:Math.max(l.bottom+r,o.y),bottom:o.bottom};if(e.inline&&!d)return{y:o.y,bottom:Math.min(l.y-r,o.bottom)};const u="line"===s?Zo(a):t;return d?{y:Math.max(l.bottom+r,o.y),bottom:Math.min(u.bottom-r,o.bottom)}:{y:Math.max(u.y+r,o.y),bottom:Math.min(l.y-r,o.bottom)}})(e,r,s,a,o,n);return Jo(i,c,l,d-c)}},yI={valignCentre:[],alignCentre:[],alignLeft:["tox-pop--align-left"],alignRight:["tox-pop--align-right"],right:["tox-pop--right"],left:["tox-pop--left"],bottom:["tox-pop--bottom"],top:["tox-pop--top"],inset:["tox-pop--inset"]},xI={maxHeightFunction:gc(),maxWidthFunction:YM()},wI=e=>"node"===e,SI=(e,t,o,n,s)=>{const r=bI(e),a=n.lastElement().exists((e=>Qe(o,e)));return((e,t)=>{const o=e.selection.getRng(),n=mt(ze(o.startContainer),o.startOffset);return o.startContainer===o.endContainer&&o.startOffset===o.endOffset-1&&Qe(n.element,t)})(e,o)?a?OE:xE:a?((e,o,s)=>{const a=Vt(e,"position");Bt(e,"position",o);const i=fI(r,Zo(t),-20)&&!n.isReposition()?TE:OE;return a.each((t=>Bt(e,"position",t))),i})(t,n.getMode()):("fixed"===n.getMode()?s.y+Wo().top:s.y)+(jt(t)+12)<=r.y?xE:wE},kI=(e,t,o,n)=>{const s=t=>(n,s,r,a,i)=>({...SI(e,a,t,o,i)({...n,y:i.y,height:i.height},s,r,a,i),alwaysFit:!0}),r=e=>wI(n)?[s(e)]:[];return t?{onLtr:e=>[gl,ll,cl,dl,ul,ml].concat(r(e)),onRtl:e=>[gl,cl,ll,ul,dl,ml].concat(r(e))}:{onLtr:e=>[ml,gl,dl,ll,ul,cl].concat(r(e)),onRtl:e=>[ml,gl,ul,cl,dl,ll].concat(r(e))}},CI=(e,t)=>{const o=U(t,(t=>t.predicate(e.dom))),{pass:n,fail:s}=P(o,(e=>"contexttoolbar"===e.type));return{contextToolbars:n,contextForms:s}},OI=(e,t)=>{const o={},n=[],s=[],r={},a={},i=ae(e);return H(i,(i=>{const l=e[i];"contextform"===l.type?((e,i)=>{const l=Xn(Yn("ContextForm",Xy,i));o[e]=l,l.launch.map((o=>{r["form:"+e]={...i.launch,type:"contextformtogglebutton"===o.type?"togglebutton":"button",onAction:()=>{t(l)}}})),"editor"===l.scope?s.push(l):n.push(l),a[e]=l})(i,l):"contexttoolbar"===l.type&&((e,t)=>{var o;(o=t,Yn("ContextToolbar",Ky,o)).each((o=>{"editor"===t.scope?s.push(o):n.push(o),a[e]=o}))})(i,l)})),{forms:o,inNodeScope:n,inEditorScope:s,lookupTable:a,formNavigators:r}},_I=ca("forward-slide"),TI=ca("backward-slide"),EI=ca("change-slide-event"),AI="tox-pop--resizing",MI="tox-pop--transition",DI=(e,t,o,n)=>{const s=n.backstage,r=s.shared,a=Bo().deviceType.isTouch,i=nc(),l=nc(),c=nc(),d=ci((e=>{const t=As([]);return Gh.sketch({dom:{tag:"div",classes:["tox-pop"]},fireDismissalEventInstead:{event:"doNotDismissYet"},onShow:e=>{t.set([]),Gh.getContent(e).each((e=>{Ht(e.element,"visibility")})),Ga(e.element,AI),Ht(e.element,"width")},inlineBehaviours:Tl([th("context-toolbar-events",[Kr(nr(),((e,t)=>{"width"===t.event.raw.propertyName&&(Ga(e.element,AI),Ht(e.element,"width"))})),Wr(EI,((e,t)=>{const o=e.element;Ht(o,"width");const n=Zt(o);Gh.setContent(e,t.event.contents),Wa(o,AI);const s=Zt(o);Bt(o,"width",n+"px"),Gh.getContent(e).each((e=>{t.event.focus.bind((e=>(Rl(e),Ll(o)))).orThunk((()=>(Gp.focusIn(e),zl(ft(o)))))})),setTimeout((()=>{Bt(e.element,"width",s+"px")}),0)})),Wr(_I,((e,o)=>{Gh.getContent(e).each((o=>{t.set(t.get().concat([{bar:o,focus:zl(ft(e.element))}]))})),Rr(e,EI,{contents:o.event.forwardContents,focus:A.none()})})),Wr(TI,((e,o)=>{ne(t.get()).each((o=>{t.set(t.get().slice(0,t.get().length-1)),Rr(e,EI,{contents:di(o.bar),focus:o.focus})}))}))]),Gp.config({mode:"special",onEscape:o=>ne(t.get()).fold((()=>e.onEscape()),(e=>(Fr(o,TI),A.some(!0))))})]),lazySink:()=>rn.value(e.sink)})})({sink:o,onEscape:()=>(e.focus(),A.some(!0))})),u=()=>{const t=c.get().getOr("node"),o=wI(t)?1:0;return vI(e,r,t,o)},m=()=>!(e.removed||a()&&s.isContextMenuOpen()),g=()=>{if(m()){const t=u(),o=xe(c.get(),"node")?((e,t)=>t.filter((e=>xt(e)&&Ge(e))).map(Qo).getOrThunk((()=>bI(e))))(e,i.get()):bI(e);return t.height<=0||!fI(o,t,.01)}return!0},p=()=>{i.clear(),l.clear(),c.clear(),Gh.hide(d)},h=()=>{if(Gh.isOpen(d)){const e=d.element;Ht(e,"display"),g()?Bt(e,"display","none"):(l.set(0),Gh.reposition(d))}},f=t=>({dom:{tag:"div",classes:["tox-pop__dialog"]},components:[t],behaviours:Tl([Gp.config({mode:"acyclic"}),th("pop-dialog-wrap-events",[Jr((t=>{e.shortcuts.add("ctrl+F9","focus statusbar",(()=>Gp.focusIn(t)))})),Zr((t=>{e.shortcuts.remove("ctrl+F9")}))])])}),v=eo((()=>OI(t,(e=>{const t=y([e]);Rr(d,_I,{forwardContents:f(t)})})))),y=t=>{const{buttons:o}=e.ui.registry.getAll(),s={...o,...v().formNavigators},a=Eb(e)===lb.scrolling?lb.scrolling:lb.default,i=q(L(t,(t=>"contexttoolbar"===t.type?((t,o)=>QB(e,{buttons:t,toolbar:o.items,allowToolbarGroups:!1},n.backstage,A.some(["form:"])))(s,t):((e,t)=>hI(e,t))(t,r.providers))));return yD({type:a,uid:ca("context-toolbar"),initGroups:i,onEscape:A.none,cyclicKeying:!0,providers:r.providers})},x=(t,n)=>{if(S.cancel(),!m())return;const s=y(t),p=t[0].position,h=((t,n)=>{const s="node"===t?r.anchors.node(n):r.anchors.cursor(),c=((e,t,o,n)=>"line"===t?{bubble:bc(12,0,yI),layouts:{onLtr:()=>[pl],onRtl:()=>[hl]},overrides:xI}:{bubble:bc(0,12,yI,1/12),layouts:kI(e,o,n,t),overrides:xI})(e,t,a(),{lastElement:i.get,isReposition:()=>xe(l.get(),0),getMode:()=>_d.getMode(o)});return bn(s,c)})(p,n);c.set(p),l.set(1);const b=d.element;Ht(b,"display"),(e=>xe(Se(e,i.get(),Qe),!0))(n)||(Ga(b,MI),_d.reset(o,d)),Gh.showWithinBounds(d,f(s),{anchor:h,transition:{classes:[MI],mode:"placement"}},(()=>A.some(u()))),n.fold(i.clear,i.set),g()&&Bt(b,"display","none")};let w=!1;const S=QO((()=>{!e.hasFocus()||e.removed||w||($a(d.element,MI)?S.throttle():((e,t)=>{const o=ze(t.getBody()),n=e=>Qe(e,o),s=ze(t.selection.getNode());return(e=>!n(e)&&!et(o,e))(s)?A.none():((e,t,o)=>{const n=CI(e,t);if(n.contextForms.length>0)return A.some({elem:e,toolbars:[n.contextForms[0]]});{const t=CI(e,o);if(t.contextForms.length>0)return A.some({elem:e,toolbars:[t.contextForms[0]]});if(n.contextToolbars.length>0||t.contextToolbars.length>0){const o=(e=>{if(e.length<=1)return e;{const t=t=>N(e,(e=>e.position===t)),o=t=>U(e,(e=>e.position===t)),n=t("selection"),s=t("node");if(n||s){if(s&&n){const e=o("node"),t=L(o("selection"),(e=>({...e,position:"node"})));return e.concat(t)}return o(n?"selection":"node")}return o("line")}})(n.contextToolbars.concat(t.contextToolbars));return A.some({elem:e,toolbars:o})}return A.none()}})(s,e.inNodeScope,e.inEditorScope).orThunk((()=>((e,t,o)=>e(t)?A.none():Fs(t,(e=>{if($e(e)){const{contextToolbars:t,contextForms:n}=CI(e,o.inNodeScope),s=n.length>0?n:(e=>{if(e.length<=1)return e;{const t=t=>G(e,(e=>e.position===t));return t("selection").orThunk((()=>t("node"))).orThunk((()=>t("line"))).map((e=>e.position)).fold((()=>[]),(t=>U(e,(e=>e.position===t))))}})(t);return s.length>0?A.some({elem:e,toolbars:s}):A.none()}return A.none()}),e))(n,s,e)))})(v(),e).fold(p,(e=>{x(e.toolbars,A.some(e.elem))})))}),17);e.on("init",(()=>{e.on("remove",p),e.on("ScrollContent ScrollWindow ObjectResized ResizeEditor longpress",h),e.on("click keyup focus SetContent",S.throttle),e.on(gI,p),e.on("contexttoolbar-show",(t=>{const o=v();be(o.lookupTable,t.toolbarKey).each((o=>{x([o],Ce(t.target!==e,t.target)),Gh.getContent(d).each(Gp.focusIn)}))})),e.on("focusout",(t=>{$h.setEditorTimeout(e,(()=>{Ll(o.element).isNone()&&Ll(d.element).isNone()&&p()}),0)})),e.on("SwitchMode",(()=>{e.mode.isReadOnly()&&p()})),e.on("AfterProgressState",(t=>{t.state?p():e.hasFocus()&&S.throttle()})),e.on("dragstart",(()=>{w=!0})),e.on("dragend drop",(()=>{w=!1})),e.on("NodeChange",(e=>{Ll(d.element).fold(S.throttle,b)}))}))},BI=(e,t)=>{const o=()=>{const o=t.getOptions(e),n=t.getCurrent(e).map(t.hash),s=nc();return L(o,(o=>({type:"togglemenuitem",text:t.display(o),onSetup:r=>{const a=e=>{e&&(s.on((e=>e.setActive(!1))),s.set(r)),r.setActive(e)};a(xe(n,t.hash(o)));const i=t.watcher(e,o,a);return()=>{s.clear(),i()}},onAction:()=>t.setCurrent(e,o)})))};e.ui.registry.addMenuButton(t.name,{tooltip:t.text,icon:t.icon,fetch:e=>e(o()),onSetup:t.onToolbarSetup}),e.ui.registry.addNestedMenuItem(t.name,{type:"nestedmenuitem",text:t.text,getSubmenuItems:o,onSetup:t.onMenuSetup})},II=e=>{BI(e,(e=>({name:"lineheight",text:"Line height",icon:"line-height",getOptions:sv,hash:e=>((e,t)=>CB(e,["fixed","relative","empty"]).map((({value:e,unit:t})=>e+t)))(e).getOr(e),display:w,watcher:(e,t,o)=>e.formatter.formatChanged("lineheight",o,!1,{value:t}).unbind,getCurrent:e=>A.from(e.queryCommandValue("LineHeight")),setCurrent:(e,t)=>e.execCommand("LineHeight",!1,t),onToolbarSetup:kw(e),onMenuSetup:kw(e)}))(e)),(e=>A.from(_b(e)).map((t=>({name:"language",text:"Language",icon:"language",getOptions:x(t),hash:e=>u(e.customCode)?e.code:`${e.code}/${e.customCode}`,display:e=>e.title,watcher:(e,t,o)=>{var n;return e.formatter.formatChanged("lang",o,!1,{value:t.code,customValue:null!==(n=t.customCode)&&void 0!==n?n:null}).unbind},getCurrent:e=>{const t=ze(e.selection.getNode());return Rs(t,(e=>A.some(e).filter($e).bind((e=>Tt(e,"lang").map((t=>({code:t,customCode:Tt(e,"data-mce-lang").getOrUndefined(),title:""})))))))},setCurrent:(e,t)=>e.execCommand("Lang",!1,t),onToolbarSetup:t=>{const o=oc();return t.setActive(e.formatter.match("lang",{},void 0,!0)),o.set(e.formatter.formatChanged("lang",t.setActive,!0)),Sw(o.clear,kw(e)(t))},onMenuSetup:kw(e)}))))(e).each((t=>BI(e,t)))},FI=e=>Ow(e,"NodeChange",(t=>{t.setEnabled(e.queryCommandState("outdent")&&e.selection.isEditable())})),RI=(e,t)=>o=>{o.setActive(t.get());const n=e=>{t.set(e.state),o.setActive(e.state)};return e.on("PastePlainTextToggle",n),Sw((()=>e.off("PastePlainTextToggle",n)),kw(e)(o))},NI=(e,t)=>()=>{e.execCommand("mceToggleFormat",!1,t)},VI=e=>{(e=>{(e=>{ZO.each([{name:"bold",text:"Bold",icon:"bold"},{name:"italic",text:"Italic",icon:"italic"},{name:"underline",text:"Underline",icon:"underline"},{name:"strikethrough",text:"Strikethrough",icon:"strike-through"},{name:"subscript",text:"Subscript",icon:"subscript"},{name:"superscript",text:"Superscript",icon:"superscript"}],((t,o)=>{e.ui.registry.addToggleButton(t.name,{tooltip:t.text,icon:t.icon,onSetup:Cw(e,t.name),onAction:NI(e,t.name)})}));for(let t=1;t<=6;t++){const o="h"+t;e.ui.registry.addToggleButton(o,{text:o.toUpperCase(),tooltip:"Heading "+t,onSetup:Cw(e,o),onAction:NI(e,o)})}})(e),(e=>{ZO.each([{name:"copy",text:"Copy",action:"Copy",icon:"copy"},{name:"help",text:"Help",action:"mceHelp",icon:"help"},{name:"selectall",text:"Select all",action:"SelectAll",icon:"select-all"},{name:"newdocument",text:"New document",action:"mceNewDocument",icon:"new-document"},{name:"print",text:"Print",action:"mcePrint",icon:"print"}],(t=>{e.ui.registry.addButton(t.name,{tooltip:t.text,icon:t.icon,onAction:Tw(e,t.action)})})),ZO.each([{name:"cut",text:"Cut",action:"Cut",icon:"cut"},{name:"paste",text:"Paste",action:"Paste",icon:"paste"},{name:"removeformat",text:"Clear formatting",action:"RemoveFormat",icon:"remove-formatting"},{name:"remove",text:"Remove",action:"Delete",icon:"remove"},{name:"hr",text:"Horizontal line",action:"InsertHorizontalRule",icon:"horizontal-rule"}],(t=>{e.ui.registry.addButton(t.name,{tooltip:t.text,icon:t.icon,onSetup:kw(e),onAction:Tw(e,t.action)})}))})(e),(e=>{ZO.each([{name:"blockquote",text:"Blockquote",action:"mceBlockQuote",icon:"quote"}],(t=>{e.ui.registry.addToggleButton(t.name,{tooltip:t.text,icon:t.icon,onAction:Tw(e,t.action),onSetup:Cw(e,t.name)})}))})(e)})(e),(e=>{ZO.each([{name:"newdocument",text:"New document",action:"mceNewDocument",icon:"new-document"},{name:"copy",text:"Copy",action:"Copy",icon:"copy",shortcut:"Meta+C"},{name:"selectall",text:"Select all",action:"SelectAll",icon:"select-all",shortcut:"Meta+A"},{name:"print",text:"Print...",action:"mcePrint",icon:"print",shortcut:"Meta+P"}],(t=>{e.ui.registry.addMenuItem(t.name,{text:t.text,icon:t.icon,shortcut:t.shortcut,onAction:Tw(e,t.action)})})),ZO.each([{name:"bold",text:"Bold",action:"Bold",icon:"bold",shortcut:"Meta+B"},{name:"italic",text:"Italic",action:"Italic",icon:"italic",shortcut:"Meta+I"},{name:"underline",text:"Underline",action:"Underline",icon:"underline",shortcut:"Meta+U"},{name:"strikethrough",text:"Strikethrough",action:"Strikethrough",icon:"strike-through"},{name:"subscript",text:"Subscript",action:"Subscript",icon:"subscript"},{name:"superscript",text:"Superscript",action:"Superscript",icon:"superscript"},{name:"removeformat",text:"Clear formatting",action:"RemoveFormat",icon:"remove-formatting"},{name:"cut",text:"Cut",action:"Cut",icon:"cut",shortcut:"Meta+X"},{name:"paste",text:"Paste",action:"Paste",icon:"paste",shortcut:"Meta+V"},{name:"hr",text:"Horizontal line",action:"InsertHorizontalRule",icon:"horizontal-rule"}],(t=>{e.ui.registry.addMenuItem(t.name,{text:t.text,icon:t.icon,shortcut:t.shortcut,onSetup:kw(e),onAction:Tw(e,t.action)})})),e.ui.registry.addMenuItem("codeformat",{text:"Code",icon:"sourcecode",onSetup:kw(e),onAction:NI(e,"code")})})(e)},zI=(e,t)=>Ow(e,"Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",(o=>{o.setEnabled(!e.mode.isReadOnly()&&e.undoManager[t]())})),LI=e=>Ow(e,"VisualAid",(t=>{t.setActive(e.hasVisual)})),HI=(e,t)=>{(e=>{H([{name:"alignleft",text:"Align left",cmd:"JustifyLeft",icon:"align-left"},{name:"aligncenter",text:"Align center",cmd:"JustifyCenter",icon:"align-center"},{name:"alignright",text:"Align right",cmd:"JustifyRight",icon:"align-right"},{name:"alignjustify",text:"Justify",cmd:"JustifyFull",icon:"align-justify"}],(t=>{e.ui.registry.addToggleButton(t.name,{tooltip:t.text,icon:t.icon,onAction:Tw(e,t.cmd),onSetup:Cw(e,t.name)})})),e.ui.registry.addButton("alignnone",{tooltip:"No alignment",icon:"align-none",onSetup:kw(e),onAction:Tw(e,"JustifyNone")})})(e),VI(e),((e,t)=>{((e,t)=>{const o=sB(0,t,uB(e));e.ui.registry.addNestedMenuItem("align",{text:t.shared.providers.translate("Align"),onSetup:kw(e),getSubmenuItems:()=>o.items.validateItems(o.getStyleItems())})})(e,t),((e,t)=>{const o=sB(0,t,wB(e));e.ui.registry.addNestedMenuItem("fontfamily",{text:t.shared.providers.translate("Fonts"),onSetup:kw(e),getSubmenuItems:()=>o.items.validateItems(o.getStyleItems())})})(e,t),((e,t)=>{const o={type:"advanced",...t.styles},n=sB(0,t,FB(e,o));e.ui.registry.addNestedMenuItem("styles",{text:"Formats",onSetup:kw(e),getSubmenuItems:()=>n.items.validateItems(n.getStyleItems())})})(e,t),((e,t)=>{const o=sB(0,t,hB(e));e.ui.registry.addNestedMenuItem("blocks",{text:"Blocks",onSetup:kw(e),getSubmenuItems:()=>o.items.validateItems(o.getStyleItems())})})(e,t),((e,t)=>{const o=sB(0,t,BB(e));e.ui.registry.addNestedMenuItem("fontsize",{text:"Font sizes",onSetup:kw(e),getSubmenuItems:()=>o.items.validateItems(o.getStyleItems())})})(e,t)})(e,t),(e=>{(e=>{e.ui.registry.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onSetup:zI(e,"hasUndo"),onAction:Tw(e,"undo")}),e.ui.registry.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onSetup:zI(e,"hasRedo"),onAction:Tw(e,"redo")})})(e),(e=>{e.ui.registry.addButton("undo",{tooltip:"Undo",icon:"undo",enabled:!1,onSetup:zI(e,"hasUndo"),onAction:Tw(e,"undo")}),e.ui.registry.addButton("redo",{tooltip:"Redo",icon:"redo",enabled:!1,onSetup:zI(e,"hasRedo"),onAction:Tw(e,"redo")})})(e)})(e),(e=>{(e=>{e.addCommand("mceApplyTextcolor",((t,o)=>{((e,t,o)=>{e.undoManager.transact((()=>{e.focus(),e.formatter.apply(t,{value:o}),e.nodeChanged()}))})(e,t,o)})),e.addCommand("mceRemoveTextcolor",(t=>{((e,t)=>{e.undoManager.transact((()=>{e.focus(),e.formatter.remove(t,{value:null},void 0,!0),e.nodeChanged()}))})(e,t)}))})(e);const t=$w(e),o=qw(e),n=As(t),s=As(o);nS(e,"forecolor","forecolor",n),nS(e,"backcolor","hilitecolor",s),sS(e,"forecolor","forecolor","Text color",n),sS(e,"backcolor","hilitecolor","Background color",s)})(e),(e=>{(e=>{e.ui.registry.addButton("visualaid",{tooltip:"Visual aids",text:"Visual aids",onAction:Tw(e,"mceToggleVisualAid")})})(e),(e=>{e.ui.registry.addToggleMenuItem("visualaid",{text:"Visual aids",onSetup:LI(e),onAction:Tw(e,"mceToggleVisualAid")})})(e)})(e),(e=>{(e=>{e.ui.registry.addButton("outdent",{tooltip:"Decrease indent",icon:"outdent",onSetup:FI(e),onAction:Tw(e,"outdent")}),e.ui.registry.addButton("indent",{tooltip:"Increase indent",icon:"indent",onSetup:kw(e),onAction:Tw(e,"indent")})})(e)})(e),II(e),(e=>{const t=As(Xb(e)),o=()=>e.execCommand("mceTogglePlainTextPaste");e.ui.registry.addToggleButton("pastetext",{active:!1,icon:"paste-text",tooltip:"Paste as text",onAction:o,onSetup:RI(e,t)}),e.ui.registry.addToggleMenuItem("pastetext",{text:"Paste as text",icon:"paste-text",onAction:o,onSetup:RI(e,t)})})(e)},PI=e=>r(e)?e.split(/[ ,]/):e,UI=e=>t=>t.options.get(e),WI=UI("contextmenu_never_use_native"),jI=UI("contextmenu_avoid_overlap"),GI=e=>{const t=e.ui.registry.getAll().contextMenus,o=e.options.get("contextmenu");return e.options.isSet("contextmenu")?o:U(o,(e=>ve(t,e)))},$I=(e,t)=>({type:"makeshift",x:e,y:t}),qI=e=>"longpress"===e.type||0===e.type.indexOf("touch"),YI=(e,t)=>"contextmenu"===t.type||"longpress"===t.type?e.inline?(e=>{if(qI(e)){const t=e.touches[0];return $I(t.pageX,t.pageY)}return $I(e.pageX,e.pageY)})(t):((e,t)=>{const o=db.DOM.getPos(e);return((e,t,o)=>$I(e.x+t,e.y+o))(t,o.x,o.y)})(e.getContentAreaContainer(),(e=>{if(qI(e)){const t=e.touches[0];return $I(t.clientX,t.clientY)}return $I(e.clientX,e.clientY)})(t)):XI(e),XI=e=>({type:"selection",root:ze(e.selection.getNode())}),KI=(e,t,o)=>{switch(o){case"node":return(e=>({type:"node",node:A.some(ze(e.selection.getNode())),root:ze(e.getBody())}))(e);case"point":return YI(e,t);case"selection":return XI(e)}},JI=(e,t,o,n,s,r)=>{const a=o(),i=KI(e,t,r);N_(a,xv.CLOSE_ON_EXECUTE,n,{isHorizontalMenu:!1,search:A.none()}).map((e=>{t.preventDefault(),Gh.showMenuAt(s,{anchor:i},{menu:{markers:Rv("normal")},data:e})}))},ZI={onLtr:()=>[gl,ll,cl,dl,ul,ml,xE,wE,yE,bE,vE,fE],onRtl:()=>[gl,cl,ll,ul,dl,ml,xE,wE,vE,fE,yE,bE]},QI={valignCentre:[],alignCentre:[],alignLeft:["tox-pop--align-left"],alignRight:["tox-pop--align-right"],right:["tox-pop--right"],left:["tox-pop--left"],bottom:["tox-pop--bottom"],top:["tox-pop--top"]},eF=(e,t,o,n,s,r)=>{const a=Bo(),i=a.os.isiOS(),l=a.os.isMacOS(),c=a.os.isAndroid(),d=a.deviceType.isTouch(),u=()=>{const a=o();((e,t,o,n,s,r,a)=>{const i=((e,t,o)=>{const n=KI(e,t,o);return{bubble:bc(0,"point"===o?12:0,QI),layouts:ZI,overrides:{maxWidthFunction:YM(),maxHeightFunction:gc()},...n}})(e,t,r);N_(o,xv.CLOSE_ON_EXECUTE,n,{isHorizontalMenu:!0,search:A.none()}).map((o=>{t.preventDefault();const l=a?Uh.HighlightMenuAndItem:Uh.HighlightNone;Gh.showMenuWithinBounds(s,{anchor:i},{menu:{markers:Rv("normal"),highlightOnOpen:l},data:o,type:"horizontal"},(()=>A.some(vI(e,n.shared,"node"===r?"node":"selection")))),e.dispatch(gI)}))})(e,t,a,n,s,r,!(c||i||l&&d))};if((l||i)&&"node"!==r){const o=()=>{(e=>{const t=e.selection.getRng(),o=()=>{$h.setEditorTimeout(e,(()=>{e.selection.setRng(t)}),10),r()};e.once("touchend",o);const n=e=>{e.preventDefault(),e.stopImmediatePropagation()};e.on("mousedown",n,!0);const s=()=>r();e.once("longpresscancel",s);const r=()=>{e.off("touchend",o),e.off("longpresscancel",s),e.off("mousedown",n)}})(e),u()};((e,t)=>{const o=e.selection;if(o.isCollapsed()||t.touches.length<1)return!1;{const n=t.touches[0],s=o.getRng();return td(e.getWin(),jc.domRange(s)).exists((e=>e.left<=n.clientX&&e.right>=n.clientX&&e.top<=n.clientY&&e.bottom>=n.clientY))}})(e,t)?o():(e.once("selectionchange",o),e.once("touchend",(()=>e.off("selectionchange",o))))}else u()},tF=e=>r(e)?"|"===e:"separator"===e.type,oF={type:"separator"},nF=e=>{const t=e=>({text:e.text,icon:e.icon,enabled:e.enabled,shortcut:e.shortcut});if(r(e))return e;switch(e.type){case"separator":return oF;case"submenu":return{type:"nestedmenuitem",...t(e),getSubmenuItems:()=>{const t=e.getSubmenuItems();return r(t)?t:L(t,nF)}};default:const o=e;return{type:"menuitem",...t(o),onAction:v(o.onAction)}}},sF=(e,t)=>{if(0===t.length)return e;const o=ne(e).filter((e=>!tF(e))).fold((()=>[]),(e=>[oF]));return e.concat(o).concat(t).concat([oF])},rF=(e,t)=>!(e=>"longpress"===e.type||ve(e,"touches"))(t)&&(2!==t.button||t.target===e.getBody()&&""===t.pointerType),aF=(e,t)=>rF(e,t)?e.selection.getStart(!0):t.target,iF=(e,t,o)=>{const n=Bo().deviceType.isTouch,s=ci(Gh.sketch({dom:{tag:"div"},lazySink:t,onEscape:()=>e.focus(),onShow:()=>o.setContextMenuState(!0),onHide:()=>o.setContextMenuState(!1),fireDismissalEventInstead:{},inlineBehaviours:Tl([th("dismissContextMenu",[Wr(Or(),((t,o)=>{Zd.close(t),e.focus()}))])])})),a=()=>Gh.hide(s),i=t=>{if(WI(e)&&t.preventDefault(),((e,t)=>t.ctrlKey&&!WI(e))(e,t)||(e=>0===GI(e).length)(e))return;const a=((e,t)=>{const o=jI(e),n=rF(e,t)?"selection":"point";if(De(o)){const s=aF(e,t);return ek(ze(s),o)?"node":n}return n})(e,t);(n()?eF:JI)(e,t,(()=>{const o=aF(e,t),n=e.ui.registry.getAll(),s=GI(e);return((e,t,o)=>{const n=j(t,((t,n)=>be(e,n.toLowerCase()).map((e=>{const n=e.update(o);if(r(n)&&De(Me(n)))return sF(t,n.split(" "));if(l(n)&&n.length>0){const e=L(n,nF);return sF(t,e)}return t})).getOrThunk((()=>t.concat([n])))),[]);return n.length>0&&tF(n[n.length-1])&&n.pop(),n})(n.contextMenus,s,o)}),o,s,a)};e.on("init",(()=>{const t="ResizeEditor ScrollContent ScrollWindow longpresscancel"+(n()?"":" ResizeWindow");e.on(t,a),e.on("longpress contextmenu",i)}))},lF=Ms([{offset:["x","y"]},{absolute:["x","y"]},{fixed:["x","y"]}]),cF=e=>t=>t.translate(-e.left,-e.top),dF=e=>t=>t.translate(e.left,e.top),uF=e=>(t,o)=>j(e,((e,t)=>t(e)),qt(t,o)),mF=(e,t,o)=>e.fold(uF([dF(o),cF(t)]),uF([cF(t)]),uF([])),gF=(e,t,o)=>e.fold(uF([dF(o)]),uF([]),uF([dF(t)])),pF=(e,t,o)=>e.fold(uF([]),uF([cF(o)]),uF([dF(t),cF(o)])),hF=(e,t,o)=>{const n=e.fold(((e,t)=>({position:A.some("absolute"),left:A.some(e+"px"),top:A.some(t+"px")})),((e,t)=>({position:A.some("absolute"),left:A.some(e-o.left+"px"),top:A.some(t-o.top+"px")})),((e,t)=>({position:A.some("fixed"),left:A.some(e+"px"),top:A.some(t+"px")})));return{right:A.none(),bottom:A.none(),...n}},fF=(e,t,o,n)=>{const s=(e,s)=>(r,a)=>{const i=e(t,o,n);return s(r.getOr(i.left),a.getOr(i.top))};return e.fold(s(pF,bF),s(gF,vF),s(mF,yF))},bF=lF.offset,vF=lF.absolute,yF=lF.fixed,xF=(e,t)=>{const o=_t(e,t);return u(o)?NaN:parseInt(o,10)},wF=(e,t,o,n,s,r)=>{const a=((e,t,o,n)=>((e,t)=>{const o=e.element,n=xF(o,t.leftAttr),s=xF(o,t.topAttr);return isNaN(n)||isNaN(s)?A.none():A.some(qt(n,s))})(e,t).fold((()=>o),(e=>yF(e.left+n.left,e.top+n.top))))(e,t,o,n),i=t.mustSnap?kF(e,t,a,s,r):CF(e,t,a,s,r),l=mF(a,s,r);return((e,t,o)=>{const n=e.element;Ct(n,t.leftAttr,o.left+"px"),Ct(n,t.topAttr,o.top+"px")})(e,t,l),i.fold((()=>({coord:yF(l.left,l.top),extra:A.none()})),(e=>({coord:e.output,extra:e.extra})))},SF=(e,t,o,n)=>re(e,(e=>{const s=e.sensor,r=((e,t,o,n,s,r)=>{const a=gF(e,s,r),i=gF(t,s,r);return Math.abs(a.left-i.left)<=o&&Math.abs(a.top-i.top)<=n})(t,s,e.range.left,e.range.top,o,n);return r?A.some({output:fF(e.output,t,o,n),extra:e.extra}):A.none()})),kF=(e,t,o,n,s)=>{const r=t.getSnapPoints(e);return SF(r,o,n,s).orThunk((()=>{const e=j(r,((e,t)=>{const r=t.sensor,a=((e,t,o,n,s,r)=>{const a=gF(e,s,r),i=gF(t,s,r),l=Math.abs(a.left-i.left),c=Math.abs(a.top-i.top);return qt(l,c)})(o,r,t.range.left,t.range.top,n,s);return e.deltas.fold((()=>({deltas:A.some(a),snap:A.some(t)})),(o=>(a.left+a.top)/2<=(o.left+o.top)/2?{deltas:A.some(a),snap:A.some(t)}:e))}),{deltas:A.none(),snap:A.none()});return e.snap.map((e=>({output:fF(e.output,o,n,s),extra:e.extra})))}))},CF=(e,t,o,n,s)=>{const r=t.getSnapPoints(e);return SF(r,o,n,s)};var OF=Object.freeze({__proto__:null,snapTo:(e,t,o,n)=>{const s=t.getTarget(e.element);if(t.repositionTarget){const t=tt(e.element),o=Wo(t),r=IA(s),a=((e,t,o)=>({coord:fF(e.output,e.output,t,o),extra:e.extra}))(n,o,r),i=hF(a.coord,0,r);Ft(s,i)}}});const _F="data-initial-z-index",TF=(e,t)=>{e.getSystem().addToGui(t),(e=>{rt(e.element).filter($e).each((t=>{Vt(t,"z-index").each((e=>{Ct(t,_F,e)})),Bt(t,"z-index",Rt(e.element,"z-index"))}))})(t)},EF=e=>{(e=>{rt(e.element).filter($e).each((e=>{Tt(e,_F).fold((()=>Ht(e,"z-index")),(t=>Bt(e,"z-index",t))),At(e,_F)}))})(e),e.getSystem().removeFromGui(e)},AF=(e,t,o)=>e.getSystem().build(dk.sketch({dom:{styles:{left:"0px",top:"0px",width:"100%",height:"100%",position:"fixed","z-index":"1000000000000000"},classes:[t]},events:o}));var MF=ys("snaps",[ns("getSnapPoints"),Ri("onSensor"),ns("leftAttr"),ns("topAttr"),xs("lazyViewport",tn),xs("mustSnap",!1)]);const DF=[xs("useFixed",T),ns("blockerClass"),xs("getTarget",w),xs("onDrag",b),xs("repositionTarget",!0),xs("onDrop",b),_s("getBounds",tn),MF],BF=e=>{return(t=Vt(e,"left"),o=Vt(e,"top"),n=Vt(e,"position"),t.isSome()&&o.isSome()&&n.isSome()?A.some(((e,t,o)=>("fixed"===o?yF:bF)(parseInt(e,10),parseInt(t,10)))(t.getOrDie(),o.getOrDie(),n.getOrDie())):A.none()).getOrThunk((()=>{const t=Xt(e);return vF(t.left,t.top)}));var t,o,n},IF=(e,t)=>({bounds:e.getBounds(),height:Gt(t.element),width:Qt(t.element)}),FF=(e,t,o,n,s)=>{const r=o.update(n,s),a=o.getStartData().getOrThunk((()=>IF(t,e)));r.each((o=>{((e,t,o,n)=>{const s=t.getTarget(e.element);if(t.repositionTarget){const r=tt(e.element),a=Wo(r),i=IA(s),l=BF(s),c=((e,t,o,n,s,r,a)=>((e,t,o,n,s)=>{const r=s.bounds,a=gF(t,o,n),i=Qi(a.left,r.x,r.x+r.width-s.width),l=Qi(a.top,r.y,r.y+r.height-s.height),c=vF(i,l);return t.fold((()=>{const e=pF(c,o,n);return bF(e.left,e.top)}),x(c),(()=>{const e=mF(c,o,n);return yF(e.left,e.top)}))})(0,t.fold((()=>{const e=(t=o,a=r.left,i=r.top,t.fold(((e,t)=>bF(e+a,t+i)),((e,t)=>vF(e+a,t+i)),((e,t)=>yF(e+a,t+i))));var t,a,i;const l=mF(e,n,s);return yF(l.left,l.top)}),(t=>{const a=wF(e,t,o,r,n,s);return a.extra.each((o=>{t.onSensor(e,o)})),a.coord})),n,s,a))(e,t.snaps,l,a,i,n,o),d=hF(c,0,i);Ft(s,d)}t.onDrag(e,s,n)})(e,t,a,o)}))},RF=(e,t,o,n)=>{t.each(EF),o.snaps.each((t=>{((e,t)=>{((e,t)=>{const o=e.element;At(o,t.leftAttr),At(o,t.topAttr)})(e,t)})(e,t)}));const s=o.getTarget(e.element);n.reset(),o.onDrop(e,s)},NF=e=>(t,o)=>{const n=e=>{o.setStartData(IF(t,e))};return Hr([Wr(wr(),(e=>{o.getStartData().each((()=>n(e)))})),...e(t,o,n)])};var VF=Object.freeze({__proto__:null,getData:e=>A.from(qt(e.x,e.y)),getDelta:(e,t)=>qt(t.left-e.left,t.top-e.top)});const zF=(e,t,o)=>[Wr(js(),((n,s)=>{if(0!==s.event.raw.button)return;s.stop();const r=()=>RF(n,A.some(l),e,t),a=tk(r,200),i={drop:r,delayDrop:a.schedule,forceDrop:r,move:o=>{a.cancel(),FF(n,e,t,VF,o)}},l=AF(n,e.blockerClass,(e=>Hr([Wr(js(),e.forceDrop),Wr(qs(),e.drop),Wr(Gs(),((t,o)=>{e.move(o.event)})),Wr($s(),e.delayDrop)]))(i));o(n),TF(n,l)}))],LF=[...DF,Li("dragger",{handlers:NF(zF)})];var HF=Object.freeze({__proto__:null,getData:e=>{const t=e.raw.touches;return 1===t.length?(e=>{const t=e[0];return A.some(qt(t.clientX,t.clientY))})(t):A.none()},getDelta:(e,t)=>qt(t.left-e.left,t.top-e.top)});const PF=(e,t,o)=>{const n=nc(),s=o=>{RF(o,n.get(),e,t),n.clear()};return[Wr(Hs(),((r,a)=>{a.stop();const i=()=>s(r),l={drop:i,delayDrop:b,forceDrop:i,move:o=>{FF(r,e,t,HF,o)}},c=AF(r,e.blockerClass,(e=>Hr([Wr(Hs(),e.forceDrop),Wr(Us(),e.drop),Wr(Ws(),e.drop),Wr(Ps(),((t,o)=>{e.move(o.event)}))]))(l));n.set(c),o(r),TF(r,c)})),Wr(Ps(),((o,n)=>{n.stop(),FF(o,e,t,HF,n.event)})),Wr(Us(),((e,t)=>{t.stop(),s(e)})),Wr(Ws(),s)]},UF=LF,WF=[...DF,Li("dragger",{handlers:NF(PF)})],jF=[...DF,Li("dragger",{handlers:NF(((e,t,o)=>[...zF(e,t,o),...PF(e,t,o)]))})];var GF=Object.freeze({__proto__:null,mouse:UF,touch:WF,mouseOrTouch:jF}),$F=Object.freeze({__proto__:null,init:()=>{let e=A.none(),t=A.none();const o=x({});return Ta({readState:o,reset:()=>{e=A.none(),t=A.none()},update:(t,o)=>t.getData(o).bind((o=>((t,o)=>{const n=e.map((e=>t.getDelta(e,o)));return e=A.some(o),n})(t,o))),getStartData:()=>t,setStartData:e=>{t=A.some(e)}})}});const qF=Dl({branchKey:"mode",branches:GF,name:"dragging",active:{events:(e,t)=>e.dragger.handlers(e,t)},extra:{snap:e=>({sensor:e.sensor,range:e.range,output:e.output,extra:A.from(e.extra)})},state:$F,apis:OF}),YF=(e,t,o,n,s,r)=>e.fold((()=>qF.snap({sensor:vF(o-20,n-20),range:qt(s,r),output:vF(A.some(o),A.some(n)),extra:{td:t}})),(e=>{const s=o-20,r=n-20,a=e.element.dom.getBoundingClientRect();return qF.snap({sensor:vF(s,r),range:qt(40,40),output:vF(A.some(o-a.width/2),A.some(n-a.height/2)),extra:{td:t}})})),XF=(e,t,o)=>({getSnapPoints:e,leftAttr:"data-drag-left",topAttr:"data-drag-top",onSensor:(e,n)=>{const s=n.td;((e,t)=>e.exists((e=>Qe(e,t))))(t.get(),s)||(t.set(s),o(s))},mustSnap:!0}),KF=e=>Xh(qh.sketch({dom:{tag:"div",classes:["tox-selector"]},buttonBehaviours:Tl([qF.config({mode:"mouseOrTouch",blockerClass:"blocker",snaps:e}),Wk.config({})]),eventOrder:{mousedown:["dragging","alloy.base.behaviour"],touchstart:["dragging","alloy.base.behaviour"]}})),JF=(e,t)=>{const o=As([]),n=As([]),s=As(!1),r=nc(),a=nc(),i=e=>{const o=Qo(e);return YF(u.getOpt(t),e,o.x,o.y,o.width,o.height)},l=e=>{const o=Qo(e);return YF(m.getOpt(t),e,o.right,o.bottom,o.width,o.height)},c=XF((()=>L(o.get(),(e=>i(e)))),r,(t=>{a.get().each((o=>{e.dispatch("TableSelectorChange",{start:t,finish:o})}))})),d=XF((()=>L(n.get(),(e=>l(e)))),a,(t=>{r.get().each((o=>{e.dispatch("TableSelectorChange",{start:o,finish:t})}))})),u=KF(c),m=KF(d),g=ci(u.asSpec()),p=ci(m.asSpec()),h=(t,o,n,s)=>{const r=n(o);qF.snapTo(t,r),((t,o,n,r)=>{const a=o.dom.getBoundingClientRect();Ht(t.element,"display");const i=st(ze(e.getBody())).dom.innerHeight,l=a[s]<0,c=((e,t)=>e[s]>t)(a,i);(l||c)&&Bt(t.element,"display","none")})(t,o)},f=e=>h(g,e,i,"top"),b=e=>h(p,e,l,"bottom");Bo().deviceType.isTouch()&&(e.on("TableSelectionChange",(e=>{s.get()||(Id(t,g),Id(t,p),s.set(!0)),r.set(e.start),a.set(e.finish),e.otherCells.each((t=>{o.set(t.upOrLeftCells),n.set(t.downOrRightCells),f(e.start),b(e.finish)}))})),e.on("ResizeEditor ResizeWindow ScrollContent",(()=>{r.get().each(f),a.get().each(b)})),e.on("TableSelectionClear",(()=>{s.get()&&(Nd(g),Nd(p),s.set(!1)),r.clear(),a.clear()})))},ZF=(e,t,o)=>{var n;const s=null!==(n=t.delimiter)&&void 0!==n?n:"\u203a";return{dom:{tag:"div",classes:["tox-statusbar__path"],attributes:{role:"navigation"}},behaviours:Tl([Gp.config({mode:"flow",selector:"div[role=button]"}),Lm.config({disabled:o.isDisabled}),Ex(),bk.config({}),eh.config({}),th("elementPathEvents",[Jr(((t,n)=>{e.shortcuts.add("alt+F11","focus statusbar elementpath",(()=>Gp.focusIn(t))),e.on("NodeChange",(n=>{const r=(t=>{const o=[];let n=t.length;for(;n-- >0;){const r=t[n];if(1===r.nodeType&&"BR"!==(s=r).nodeName&&!s.getAttribute("data-mce-bogus")&&"bookmark"!==s.getAttribute("data-mce-type")){const t=ww(e,r);if(t.isDefaultPrevented()||o.push({name:t.name,element:r}),t.isPropagationStopped())break}}var s;return o})(n.parents),a=r.length>0?j(r,((t,n,r)=>{const a=((t,n,s)=>qh.sketch({dom:{tag:"div",classes:["tox-statusbar__path-item"],attributes:{"data-index":s,"aria-level":s+1}},components:[ri(t)],action:t=>{e.focus(),e.selection.select(n),e.nodeChanged()},buttonBehaviours:Tl([Ax(o.isDisabled),Ex()])}))(n.name,n.element,r);return 0===r?t.concat([a]):t.concat([{dom:{tag:"div",classes:["tox-statusbar__path-divider"],attributes:{"aria-hidden":!0}},components:[ri(` ${s} `)]},a])}),[]):[];eh.set(t,a)}))}))])]),components:[]}};var QF;!function(e){e[e.None=0]="None",e[e.Both=1]="Both",e[e.Vertical=2]="Vertical"}(QF||(QF={}));const eR=(e,t,o)=>{const n=ze(e.getContainer()),s=((e,t,o,n,s)=>{const r={height:aI(n+t.top,xb(e),Sb(e))};return o===QF.Both&&(r.width=aI(s+t.left,yb(e),wb(e))),r})(e,t,o,jt(n),Zt(n));le(s,((e,t)=>{h(e)&&Bt(n,t,rI(e))})),(e=>{e.dispatch("ResizeEditor")})(e)},tR=(e,t,o,n)=>{const s=qt(20*o,20*n);return eR(e,s,t),A.some(!0)},oR=(e,t)=>{const o=()=>{const o=[],n=Zb(e),s=$b(e),r=qb(e)||e.hasPlugin("wordcount");return s&&o.push(ZF(e,{},t)),n&&o.push((()=>{const e=Hx("Alt+0");return{dom:{tag:"div",classes:["tox-statusbar__help-text"]},components:[ri(Kf.translate(["Press {0} for help",e]))]}})()),r&&o.push((()=>{const o=[];return e.hasPlugin("wordcount")&&o.push(((e,t)=>{const o=(e,o,n)=>eh.set(e,[ri(t.translate(["{0} "+n,o[n]]))]);return qh.sketch({dom:{tag:"button",classes:["tox-statusbar__wordcount"]},components:[],buttonBehaviours:Tl([Ax(t.isDisabled),Ex(),bk.config({}),eh.config({}),vu.config({store:{mode:"memory",initialValue:{mode:"words",count:{words:0,characters:0}}}}),th("wordcount-events",[ea((e=>{const t=vu.getValue(e),n="words"===t.mode?"characters":"words";vu.setValue(e,{mode:n,count:t.count}),o(e,t.count,n)})),Jr((t=>{e.on("wordCountUpdate",(e=>{const{mode:n}=vu.getValue(t);vu.setValue(t,{mode:n,count:e.wordCount}),o(t,e.wordCount,n)}))}))])]),eventOrder:{[mr()]:["disabling","alloy.base.behaviour","wordcount-events"]}})})(e,t)),qb(e)&&o.push({dom:{tag:"span",classes:["tox-statusbar__branding"]},components:[{dom:{tag:"a",attributes:{href:"https://www.tiny.cloud/powered-by-tiny?utm_campaign=poweredby&utm_source=tiny&utm_medium=referral&utm_content=v6",rel:"noopener",target:"_blank","aria-label":Kf.translate(["Powered by {0}","Tiny"])},innerHtml:'\n \n\n'.trim()},behaviours:Tl([ah.config({})])}]}),{dom:{tag:"div",classes:["tox-statusbar__right-container"]},components:o}})()),o.length>0?[{dom:{tag:"div",classes:["tox-statusbar__text-container",...(()=>{const e="tox-statusbar__text-container--flex-start",t="tox-statusbar__text-container--flex-end";if(n){const o="tox-statusbar__text-container-3-cols";return r||s?r&&!s?[o,t]:[o,e]:[o,"tox-statusbar__text-container--space-around"]}return[r&&!s?t:e]})()]},components:o}]:[]};return{dom:{tag:"div",classes:["tox-statusbar"]},components:(()=>{const n=o(),s=((e,t)=>{const o=(e=>{const t=Yb(e);return!1===t?QF.None:"both"===t?QF.Both:QF.Vertical})(e);if(o===QF.None)return A.none();const n=o===QF.Both?"Press the arrow keys to resize the editor.":"Press the Up and Down arrow keys to resize the editor.";return A.some(rb("resize-handle",{tag:"div",classes:["tox-statusbar__resize-handle"],attributes:{title:t.translate("Resize"),"aria-label":t.translate(n)},behaviours:[qF.config({mode:"mouse",repositionTarget:!1,onDrag:(t,n,s)=>eR(e,s,o),blockerClass:"tox-blocker"}),Gp.config({mode:"special",onLeft:()=>tR(e,o,-1,0),onRight:()=>tR(e,o,1,0),onUp:()=>tR(e,o,0,-1),onDown:()=>tR(e,o,0,1)}),bk.config({}),ah.config({})]},t.icons))})(e,t);return n.concat(s.toArray())})()}},nR=(e,t)=>t.get().getOrDie(`UI for ${e} has not been rendered`),sR=(e,t)=>{const o=e.inline,n=o?mI:nI,s=gv(e)?pM:DA,r=(()=>{const e=nc(),t=nc(),o=nc();return{dialogUi:e,popupUi:t,mainUi:o,getUiMotherships:()=>{const o=e.get().map((e=>e.mothership)),n=t.get().map((e=>e.mothership));return o.fold((()=>n.toArray()),(e=>n.fold((()=>[e]),(t=>Qe(e.element,t.element)?[e]:[e,t]))))},lazyGetInOuterOrDie:(e,t)=>()=>o.get().bind((e=>t(e.outerContainer))).getOrDie(`Could not find ${e} element in OuterContainer`)}})(),a=nc(),i=nc(),l=nc(),c=Bo().deviceType.isTouch()?["tox-platform-touch"]:[],d=lv(e),u=Eb(e),m=Xh({dom:{tag:"div",classes:["tox-anchorbar"]}}),g=Xh({dom:{tag:"div",classes:["tox-bottom-anchorbar"]}}),p=()=>r.mainUi.get().map((e=>e.outerContainer)).bind(GD.getHeader),h=r.lazyGetInOuterOrDie("anchor bar",m.getOpt),f=r.lazyGetInOuterOrDie("bottom anchor bar",g.getOpt),b=r.lazyGetInOuterOrDie("toolbar",GD.getToolbar),v=r.lazyGetInOuterOrDie("throbber",GD.getThrobber),y=((e,t,o,n)=>{const s=As(!1),r=(e=>{const t=As(lv(e)?"bottom":"top");return{isPositionedAtTop:()=>"top"===t.get(),getDockingMode:t.get,setDockingMode:t.set}})(t),a={icons:()=>t.ui.registry.getAll().icons,menuItems:()=>t.ui.registry.getAll().menuItems,translate:Kf.translate,isDisabled:()=>t.mode.isReadOnly()||!t.ui.isEnabled(),getOption:t.options.get},i=bA(t),l=(e=>{const t=t=>()=>e.formatter.match(t),o=t=>()=>{const o=e.formatter.get(t);return void 0!==o?A.some({tag:o.length>0&&(o[0].inline||o[0].block)||"div",styles:e.dom.parseStyle(e.formatter.getCssText(t))}):A.none()},n=As([]),s=As([]),r=As(!1);return e.on("PreInit",(s=>{const r=jE(e),a=$E(e,r,t,o);n.set(a)})),e.on("addStyleModifications",(n=>{const a=$E(e,n.items,t,o);s.set(a),r.set(n.replace)})),{getData:()=>{const e=r.get()?[]:n.get(),t=s.get();return e.concat(t)}}})(t),c=(e=>({colorPicker:RE(e),hasCustomColors:NE(e),getColors:VE(e),getColorCols:zE(e)}))(t),d=(e=>({isDraggableModal:LE(e)}))(t),u={shared:{providers:a,anchors:FE(t,o,n,r.isPositionedAtTop),header:r},urlinput:i,styles:l,colorinput:c,dialog:d,isContextMenuOpen:()=>s.get(),setContextMenuState:e=>s.set(e)},m={...u,shared:{...u.shared,interpreter:e=>lE(e,{},m),getSink:e.popup}},g={...u,shared:{...u.shared,interpreter:e=>lE(e,{},g),getSink:e.dialog}};return{popup:m,dialog:g}})({popup:()=>rn.fromOption(r.popupUi.get().map((e=>e.sink)),"(popup) UI has not been rendered"),dialog:()=>rn.fromOption(r.dialogUi.get().map((e=>e.sink)),"UI has not been rendered")},e,h,f),x=()=>{const t=(()=>{const t={attributes:{[kc]:d?Sc.BottomToTop:Sc.TopToBottom}},o=GD.parts.menubar({dom:{tag:"div",classes:["tox-menubar"]},backstage:y.popup,onEscape:()=>{e.focus()}}),n=GD.parts.toolbar({dom:{tag:"div",classes:["tox-toolbar"]},getSink:y.popup.shared.getSink,providers:y.popup.shared.providers,onEscape:()=>{e.focus()},onToolbarToggled:t=>{((e,t)=>{e.dispatch("ToggleToolbarDrawer",{state:t})})(e,t)},type:u,lazyToolbar:b,lazyHeader:()=>p().getOrDie("Could not find header element"),...t}),s=GD.parts["multiple-toolbar"]({dom:{tag:"div",classes:["tox-toolbar-overlord"]},providers:y.popup.shared.providers,onEscape:()=>{e.focus()},type:u}),r=iv(e),a=rv(e),i=tv(e),l=Jb(e),c=GD.parts.promotion({dom:{tag:"div",classes:["tox-promotion"]}}),g=r||a||i,h=l?[c,o]:[o];return GD.parts.header({dom:{tag:"div",classes:["tox-editor-header"].concat(g?[]:["tox-editor-header--empty"]),...t},components:q([i?h:[],r?[s]:a?[n]:[],dv(e)?[]:[m.asSpec()]]),sticky:gv(e),editor:e,sharedBackstage:y.popup.shared})})(),n={dom:{tag:"div",classes:["tox-sidebar-wrap"]},components:[GD.parts.socket({dom:{tag:"div",classes:["tox-edit-area"]}}),GD.parts.sidebar({dom:{tag:"div",classes:["tox-sidebar"]}})]},s=GD.parts.throbber({dom:{tag:"div",classes:["tox-throbber"]},backstage:y.popup}),r=GD.parts.viewWrapper({backstage:y.popup}),i=Gb(e)&&!o?A.some(oR(e,y.popup.shared.providers)):A.none(),l=q([d?[]:[t],o?[]:[n],d?[t]:[]]),h=GD.parts.editorContainer({components:q([l,o?[]:[g.asSpec(),...i.toArray()]])}),f=mv(e),v={role:"application",...Kf.isRtl()?{dir:"rtl"}:{},...f?{"aria-hidden":"true"}:{}},x=ci(GD.sketch({dom:{tag:"div",classes:["tox","tox-tinymce"].concat(o?["tox-tinymce-inline"]:[]).concat(d?["tox-tinymce--toolbar-bottom"]:[]).concat(c),styles:{visibility:"hidden",...f?{opacity:"0",border:"0"}:{}},attributes:v},components:[h,...o?[]:[r],s],behaviours:Tl([Ex(),Lm.config({disableClass:"tox-tinymce--disabled"}),Gp.config({mode:"cyclic",selector:".tox-menubar, .tox-toolbar, .tox-toolbar__primary, .tox-toolbar__overflow--open, .tox-sidebar__overflow--open, .tox-statusbar__path, .tox-statusbar__wordcount, .tox-statusbar__branding a, .tox-statusbar__resize-handle"})])})),w=uk(x);return a.set(w),{mothership:w,outerContainer:x}},w=t=>{const o=rI((e=>{const t=(e=>{const t=bb(e),o=xb(e),n=Sb(e);return sI(t).map((e=>aI(e,o,n)))})(e);return t.getOr(bb(e))})(e)),n=rI((e=>iI(e).getOr(vb(e)))(e));return e.inline||(Lt("div","width",n)&&Bt(t.element,"width",n),Lt("div","height",o)?Bt(t.element,"height",o):Bt(t.element,"height","400px")),o};return{popups:{backstage:y.popup,getMothership:()=>nR("popups",l)},dialogs:{backstage:y.dialog,getMothership:()=>nR("dialogs",i)},renderUI:()=>{const o=x(),a=(()=>{const t=uv(e),o=Qe(wt(),t)&&"grid"===Rt(t,"display"),n={dom:{tag:"div",classes:["tox","tox-silver-sink","tox-tinymce-aux"].concat(c),attributes:{...Kf.isRtl()?{dir:"rtl"}:{}}},behaviours:Tl([_d.config({useFixed:()=>s.isDocked(p)})])},r={dom:{styles:{width:document.body.clientWidth+"px"}},events:Hr([Wr(Sr(),(e=>{Bt(e.element,"width",document.body.clientWidth+"px")}))])},a=ci(bn(n,o?r:{})),l=uk(a);return i.set(l),{sink:a,mothership:l}})(),d=pv(e)?(()=>{const e={dom:{tag:"div",classes:["tox","tox-silver-sink","tox-silver-popup-sink","tox-tinymce-aux"].concat(c),attributes:{...Kf.isRtl()?{dir:"rtl"}:{}}},behaviours:Tl([_d.config({useFixed:()=>s.isDocked(p),getBounds:()=>t.getPopupSinkBounds()})])},o=ci(e),n=uk(o);return l.set(n),{sink:o,mothership:n}})():(e=>(l.set(e.mothership),e))(a);r.dialogUi.set(a),r.popupUi.set(d),r.mainUi.set(o);return(t=>{const{mainUi:o,popupUi:r,uiMotherships:a}=t;ce(Ab(e),((t,o)=>{e.ui.registry.addGroupToolbarButton(o,t)}));const{buttons:i,menuItems:l,contextToolbars:c,sidebars:d,views:m}=e.ui.registry.getAll(),g=av(e),h={menuItems:l,menus:hv(e),menubar:Rb(e),toolbar:g.getOrThunk((()=>Nb(e))),allowToolbarGroups:u===lb.floating,buttons:i,sidebar:d,views:m};var f;f=o.outerContainer,e.addShortcut("alt+F9","focus menubar",(()=>{GD.focusMenubar(f)})),e.addShortcut("alt+F10","focus toolbar",(()=>{GD.focusToolbar(f)})),e.addCommand("ToggleToolbarDrawer",((e,t)=>{(null==t?void 0:t.skipFocus)?GD.toggleToolbarDrawerWithoutFocusing(f):GD.toggleToolbarDrawer(f)})),e.addQueryStateHandler("ToggleToolbarDrawer",(()=>GD.isToolbarDrawerToggled(f))),((e,t,o)=>{const n=(e,n)=>{H([t,...o],(t=>{t.broadcastEvent(e,n)}))},s=(e,n)=>{H([t,...o],(t=>{t.broadcastOn([e],n)}))},r=e=>s(Qd(),{target:e.target}),a=qo(),i=rc(a,"touchstart",r),l=rc(a,"touchmove",(e=>n(yr(),e))),c=rc(a,"touchend",(e=>n(xr(),e))),d=rc(a,"mousedown",r),u=rc(a,"mouseup",(e=>{0===e.raw.button&&s(tu(),{target:e.target})})),m=e=>s(Qd(),{target:ze(e.target)}),g=e=>{0===e.button&&s(tu(),{target:ze(e.target)})},p=()=>{H(e.editorManager.get(),(t=>{e!==t&&t.dispatch("DismissPopups",{relatedTarget:e})}))},h=e=>n(wr(),ic(e)),f=e=>{s(eu(),{}),n(Sr(),ic(e))},b=ft(ze(e.getElement())),v=ac(b,"scroll",(o=>{requestAnimationFrame((()=>{if(null!=e.getContainer()){const s=ZS(e,t.element).map((e=>[e.element,...e.others])).getOr([]);N(s,(e=>Qe(e,o.target)))&&(e.dispatch("ElementScroll",{target:o.target.dom}),n(Ar(),o))}}))})),y=()=>s(eu(),{}),x=t=>{t.state&&s(Qd(),{target:ze(e.getContainer())})},w=e=>{s(Qd(),{target:ze(e.relatedTarget.getContainer())})};e.on("PostRender",(()=>{e.on("click",m),e.on("tap",m),e.on("mouseup",g),e.on("mousedown",p),e.on("ScrollWindow",h),e.on("ResizeWindow",f),e.on("ResizeEditor",y),e.on("AfterProgressState",x),e.on("DismissPopups",w)})),e.on("remove",(()=>{e.off("click",m),e.off("tap",m),e.off("mouseup",g),e.off("mousedown",p),e.off("ScrollWindow",h),e.off("ResizeWindow",f),e.off("ResizeEditor",y),e.off("AfterProgressState",x),e.off("DismissPopups",w),d.unbind(),i.unbind(),l.unbind(),c.unbind(),u.unbind(),v.unbind()})),e.on("detach",(()=>{H([t,...o],Pd),H([t,...o],(e=>e.destroy()))}))})(e,o.mothership,a),s.setup(e,y.popup.shared,p),HI(e,y.popup),iF(e,y.popup.shared.getSink,y.popup),(e=>{const{sidebars:t}=e.ui.registry.getAll();H(ae(t),(o=>{const n=t[o],s=()=>xe(A.from(e.queryCommandValue("ToggleSidebar")),o);e.ui.registry.addToggleButton(o,{icon:n.icon,tooltip:n.tooltip,onAction:t=>{e.execCommand("ToggleSidebar",!1,o),t.setActive(s())},onSetup:t=>{t.setActive(s());const o=()=>t.setActive(s());return e.on("ToggleSidebar",o),()=>{e.off("ToggleSidebar",o)}}})}))})(e),LM(e,v,y.popup.shared),DI(e,c,r.sink,{backstage:y.popup}),JF(e,r.sink);const b={targetNode:e.getElement(),height:w(o.outerContainer)};return n.render(e,t,h,y.popup,b)})({popupUi:d,dialogUi:a,mainUi:o,uiMotherships:r.getUiMotherships()})}}},rR=x([ns("lazySink"),ms("dragBlockClass"),_s("getBounds",tn),xs("useTabstopAt",E),xs("firstTabstop",0),xs("eventOrder",{}),yu("modalBehaviours",[Gp]),Ni("onExecute"),zi("onEscape")]),aR={sketch:w},iR=x([Yu({name:"draghandle",overrides:(e,t)=>({behaviours:Tl([qF.config({mode:"mouse",getTarget:e=>fi(e,'[role="dialog"]').getOr(e),blockerClass:e.dragBlockClass.getOrDie(new Error("The drag blocker class was not specified for a dialog with a drag handle: \n"+JSON.stringify(t,null,2)).message),getBounds:e.getDragBounds})])})}),$u({schema:[ns("dom")],name:"title"}),$u({factory:aR,schema:[ns("dom")],name:"close"}),$u({factory:aR,schema:[ns("dom")],name:"body"}),Yu({factory:aR,schema:[ns("dom")],name:"footer"}),qu({factory:{sketch:(e,t)=>({...e,dom:t.dom,components:t.components})},schema:[xs("dom",{tag:"div",styles:{position:"fixed",left:"0px",top:"0px",right:"0px",bottom:"0px"}}),xs("components",[])],name:"blocker"})]),lR=wm({name:"ModalDialog",configFields:rR(),partFields:iR(),factory:(e,t,o,n)=>{const s=nc(),r=ca("modal-events"),a={...e.eventOrder,[kr()]:[r].concat(e.eventOrder["alloy.system.attached"]||[])};return{uid:e.uid,dom:e.dom,components:t,apis:{show:t=>{s.set(t);const o=e.lazySink(t).getOrDie(),r=n.blocker(),a=o.getSystem().build({...r,components:r.components.concat([di(t)]),behaviours:Tl([ah.config({}),th("dialog-blocker-events",[Kr(Xs(),(()=>{VM.isBlocked(t)||Gp.focusIn(t)}))])])});Id(o,a),Gp.focusIn(t)},hide:e=>{s.clear(),rt(e.element).each((t=>{e.getSystem().getByDom(t).each((e=>{Nd(e)}))}))},getBody:t=>im(t,e,"body"),getFooter:t=>am(t,e,"footer"),setIdle:e=>{VM.unblock(e)},setBusy:(e,t)=>{VM.block(e,t)}},eventOrder:a,domModification:{attributes:{role:"dialog","aria-modal":"true"}},behaviours:wu(e.modalBehaviours,[eh.config({}),Gp.config({mode:"cyclic",onEnter:e.onExecute,onEscape:e.onEscape,useTabstopAt:e.useTabstopAt,firstTabstop:e.firstTabstop}),VM.config({getRoot:s.get}),th(r,[Jr((t=>{((e,t)=>{const o=Tt(e,"id").fold((()=>{const e=ca("dialog-label");return Ct(t,"id",e),e}),w);Ct(e,"aria-labelledby",o)})(t.element,im(t,e,"title").element)}))])])}},apis:{show:(e,t)=>{e.show(t)},hide:(e,t)=>{e.hide(t)},getBody:(e,t)=>e.getBody(t),getFooter:(e,t)=>e.getFooter(t),setBusy:(e,t,o)=>{e.setBusy(t,o)},setIdle:(e,t)=>{e.setIdle(t)}}}),cR=Bn([iy,ly].concat(nx)),dR=Pn,uR=[Fy("button"),wy,Cs("align","end",["start","end"]),Ay,Ey,fs("buttonType",["primary","secondary"])],mR=[...uR,dy],gR=[is("type",["submit","cancel","custom"]),...mR],pR=[is("type",["menu"]),xy,Sy,wy,us("items",cR),...uR],hR=[...uR,is("type",["togglebutton"]),as("tooltip"),wy,xy,Os("active",!1)],fR=Zn("type",{submit:gR,cancel:gR,custom:gR,menu:pR,togglebutton:hR}),bR=[iy,dy,is("level",["info","warn","error","success"]),my,xs("url","")],vR=Bn(bR),yR=[iy,dy,Ey,Fy("button"),wy,Ty,fs("buttonType",["primary","secondary","toolbar"]),Ay],xR=Bn(yR),wR=[iy,ly],SR=wR.concat([ky]),kR=wR.concat([cy,Ey]),CR=Bn(kR),OR=Pn,_R=SR.concat([My("auto")]),TR=Bn(_R),ER=Nn([gy,dy,my]),AR=SR.concat([ks("storageKey","default")]),MR=Bn(AR),DR=Hn,BR=Bn(SR),IR=Hn,FR=wR.concat([ks("tag","textarea"),as("scriptId"),as("scriptUrl"),ws("settings",void 0,jn)]),RR=wR.concat([ks("tag","textarea"),ls("init")]),NR=$n((e=>Yn("customeditor.old",Dn(RR),e).orThunk((()=>Yn("customeditor.new",Dn(FR),e))))),VR=Hn,zR=Bn(SR),LR=In(_n),HR=e=>[iy,rs("columns"),e],PR=[iy,as("html"),Cs("presets","presentation",["presentation","document"])],UR=Bn(PR),WR=SR.concat([Os("border",!1),Os("sandboxed",!0),Os("streamContent",!1),Os("transparent",!0)]),jR=Bn(WR),GR=Hn,$R=Bn(wR.concat([hs("height")])),qR=Bn([as("url"),ps("zoom"),ps("cachedWidth"),ps("cachedHeight")]),YR=SR.concat([hs("inputMode"),hs("placeholder"),Os("maximized",!1),Ey]),XR=Bn(YR),KR=Hn,JR=e=>[iy,cy,e,Cs("align","start",["start","center","end"])],ZR=[dy,gy],QR=[dy,us("items",Qn(0,(()=>eN)))],eN=Fn([Bn(ZR),Bn(QR)]),tN=SR.concat([us("items",eN),Ey]),oN=Bn(tN),nN=Hn,sN=SR.concat([ds("items",[dy,gy]),Ss("size",1),Ey]),rN=Bn(sN),aN=Hn,iN=SR.concat([Os("constrain",!0),Ey]),lN=Bn(iN),cN=Bn([as("width"),as("height")]),dN=wR.concat([cy,Ss("min",0),Ss("max",0)]),uN=Bn(dN),mN=Ln,gN=[iy,us("header",Hn),us("cells",In(Hn))],pN=Bn(gN),hN=SR.concat([hs("placeholder"),Os("maximized",!1),Ey]),fN=Bn(hN),bN=Hn,vN=[is("type",["directory","leaf"]),uy,as("id"),gs("menu",bM)],yN=Bn(vN),xN=vN.concat([us("children",Qn(0,(()=>Gn("type",{directory:wN,leaf:yN}))))]),wN=Bn(xN),SN=Gn("type",{directory:wN,leaf:yN}),kN=[iy,us("items",SN),bs("onLeafAction"),bs("onToggleExpand"),Ts("defaultExpandedIds",[],Hn),hs("defaultSelectedId")],CN=Bn(kN),ON=SR.concat([Cs("filetype","file",["image","media","file"]),Ey,hs("picker_text")]),_N=Bn(ON),TN=Bn([gy,Dy]),EN=e=>es("items","items",{tag:"required",process:{}},In($n((t=>Yn(`Checking item of ${e}`,AN,t).fold((e=>rn.error(Jn(e))),(e=>rn.value(e))))))),AN=An((()=>{return Gn("type",{alertbanner:vR,bar:Bn((e=EN("bar"),[iy,e])),button:xR,checkbox:CR,colorinput:MR,colorpicker:BR,dropzone:zR,grid:Bn(HR(EN("grid"))),iframe:jR,input:XR,listbox:oN,selectbox:rN,sizeinput:lN,slider:uN,textarea:fN,urlinput:_N,customeditor:NR,htmlpanel:UR,imagepreview:$R,collection:TR,label:Bn(JR(EN("label"))),table:pN,tree:CN,panel:DN});var e})),MN=[iy,xs("classes",[]),us("items",AN)],DN=Bn(MN),BN=[Fy("tab"),uy,us("items",AN)],IN=[iy,ds("tabs",BN)],FN=Bn(IN),RN=mR,NN=fR,VN=Bn([as("title"),ss("body",Gn("type",{panel:DN,tabpanel:FN})),ks("size","normal"),Ts("buttons",[],NN),xs("initialData",{}),_s("onAction",b),_s("onChange",b),_s("onSubmit",b),_s("onClose",b),_s("onCancel",b),_s("onTabChange",b)]),zN=Bn([is("type",["cancel","custom"]),...RN]),LN=Bn([as("title"),as("url"),ps("height"),ps("width"),vs("buttons",zN),_s("onAction",b),_s("onCancel",b),_s("onClose",b),_s("onMessage",b)]),HN=e=>a(e)?[e].concat(Y(fe(e),HN)):l(e)?Y(e,HN):[],PN=e=>r(e.type)&&r(e.name),UN={checkbox:OR,colorinput:DR,colorpicker:IR,dropzone:LR,input:KR,iframe:GR,imagepreview:qR,selectbox:aN,sizeinput:cN,slider:mN,listbox:nN,size:cN,textarea:bN,urlinput:TN,customeditor:VR,collection:ER,togglemenuitem:dR},WN=e=>{const t=(e=>U(HN(e),PN))(e),o=Y(t,(e=>(e=>A.from(UN[e.type]))(e).fold((()=>[]),(t=>[ss(e.name,t)]))));return Bn(o)},jN=e=>{var t;return{internalDialog:Xn(Yn("dialog",VN,e)),dataValidator:WN(e),initialData:null!==(t=e.initialData)&&void 0!==t?t:{}}},GN={open:(e,t)=>{const o=jN(t);return e(o.internalDialog,o.initialData,o.dataValidator)},openUrl:(e,t)=>e(Xn(Yn("dialog",LN,t))),redial:e=>jN(e)};var $N=Object.freeze({__proto__:null,events:(e,t)=>{const o=(o,n)=>{e.updateState.each((e=>{const s=e(o,n);t.set(s)})),e.renderComponents.each((s=>{const r=s(n,t.get());(e.reuseDom?qp:$p)(o,r)}))};return Hr([Wr(ur(),((t,n)=>{const s=n;if(!s.universal){const n=e.channel;R(s.channels,n)&&o(t,s.data)}})),Jr(((t,n)=>{e.initialData.each((e=>{o(t,e)}))}))])}}),qN=Object.freeze({__proto__:null,getState:(e,t,o)=>o}),YN=[ns("channel"),ms("renderComponents"),ms("updateState"),ms("initialData"),Os("reuseDom",!0)];const XN=Al({fields:YN,name:"reflecting",active:$N,apis:qN,state:Object.freeze({__proto__:null,init:()=>{const e=As(A.none());return{readState:()=>e.get().getOr("none"),get:e.get,set:e.set,clear:()=>e.set(A.none())}}})}),KN=e=>{const t=[],o={};return le(e,((e,n)=>{e.fold((()=>{t.push(n)}),(e=>{o[n]=e}))})),t.length>0?rn.error(t):rn.value(o)},JN=(e,t,o)=>{const n=Xh(NO.sketch((n=>({dom:{tag:"div",classes:["tox-form"].concat(e.classes)},components:L(e.items,(e=>aE(n,e,t,o)))}))));return{dom:{tag:"div",classes:["tox-dialog__body"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-content"]},components:[n.asSpec()]}],behaviours:Tl([Gp.config({mode:"acyclic",useTabstopAt:C(a_)}),(s=n,Om.config({find:s.getOpt})),$O(n,{postprocess:e=>KN(e).fold((e=>(console.error(e),{})),w)}),th("dialog-body-panel",[Wr(Xs(),((e,t)=>{e.getSystem().broadcastOn([m_],{newFocus:A.some(t.event.target)})}))])])};var s},ZN=xm({name:"TabButton",configFields:[xs("uid",void 0),ns("value"),es("dom","dom",wn((()=>({attributes:{role:"tab",id:ca("aria"),"aria-selected":"false"}}))),Vn()),ms("action"),xs("domModification",{}),yu("tabButtonBehaviours",[ah,Gp,vu]),ns("view")],factory:(e,t)=>({uid:e.uid,dom:e.dom,components:e.components,events:fh(e.action),behaviours:wu(e.tabButtonBehaviours,[ah.config({}),Gp.config({mode:"execution",useSpace:!0,useEnter:!0}),vu.config({store:{mode:"memory",initialValue:e.value}})]),domModification:e.domModification})}),QN=x([ns("tabs"),ns("dom"),xs("clickToDismiss",!1),yu("tabbarBehaviours",[Xm,Gp]),Ii(["tabClass","selectedClass"])]),eV=Xu({factory:ZN,name:"tabs",unit:"tab",overrides:e=>{const t=(e,t)=>{Xm.dehighlight(e,t),Rr(e,Dr(),{tabbar:e,button:t})},o=(e,t)=>{Xm.highlight(e,t),Rr(e,Mr(),{tabbar:e,button:t})};return{action:n=>{const s=n.getSystem().getByUid(e.uid).getOrDie(),r=Xm.isHighlighted(s,n);(r&&e.clickToDismiss?t:r?b:o)(s,n)},domModification:{classes:[e.markers.tabClass]}}}}),tV=x([eV]),oV=wm({name:"Tabbar",configFields:QN(),partFields:tV(),factory:(e,t,o,n)=>({uid:e.uid,dom:e.dom,components:t,"debug.sketcher":"Tabbar",domModification:{attributes:{role:"tablist"}},behaviours:wu(e.tabbarBehaviours,[Xm.config({highlightClass:e.markers.selectedClass,itemClass:e.markers.tabClass,onHighlight:(e,t)=>{Ct(t.element,"aria-selected","true")},onDehighlight:(e,t)=>{Ct(t.element,"aria-selected","false")}}),Gp.config({mode:"flow",getInitial:e=>Xm.getHighlighted(e).map((e=>e.element)),selector:"."+e.markers.tabClass,executeOnMove:!0})])})}),nV=xm({name:"Tabview",configFields:[yu("tabviewBehaviours",[eh])],factory:(e,t)=>({uid:e.uid,dom:e.dom,behaviours:wu(e.tabviewBehaviours,[eh.config({})]),domModification:{attributes:{role:"tabpanel"}}})}),sV=x([xs("selectFirst",!0),Ri("onChangeTab"),Ri("onDismissTab"),xs("tabs",[]),yu("tabSectionBehaviours",[])]),rV=$u({factory:oV,schema:[ns("dom"),cs("markers",[ns("tabClass"),ns("selectedClass")])],name:"tabbar",defaults:e=>({tabs:e.tabs})}),aV=$u({factory:nV,name:"tabview"}),iV=x([rV,aV]),lV=wm({name:"TabSection",configFields:sV(),partFields:iV(),factory:(e,t,o,n)=>{const s=(t,o)=>{am(t,e,"tabbar").each((e=>{o(e).each(Nr)}))};return{uid:e.uid,dom:e.dom,components:t,behaviours:xu(e.tabSectionBehaviours),events:Hr(q([e.selectFirst?[Jr(((e,t)=>{s(e,Xm.getFirst)}))]:[],[Wr(Mr(),((t,o)=>{(t=>{const o=vu.getValue(t);am(t,e,"tabview").each((n=>{G(e.tabs,(e=>e.value===o)).each((o=>{const s=o.view();Tt(t.element,"id").each((e=>{Ct(n.element,"aria-labelledby",e)})),eh.set(n,s),e.onChangeTab(n,t,s)}))}))})(o.event.button)})),Wr(Dr(),((t,o)=>{const n=o.event.button;e.onDismissTab(t,n)}))]])),apis:{getViewItems:t=>am(t,e,"tabview").map((e=>eh.contents(e))).getOr([]),showTab:(e,t)=>{s(e,(e=>{const o=Xm.getCandidates(e);return G(o,(e=>vu.getValue(e)===t)).filter((t=>!Xm.isHighlighted(e,t)))}))}}}},apis:{getViewItems:(e,t)=>e.getViewItems(t),showTab:(e,t,o)=>{e.showTab(t,o)}}}),cV=(e,t)=>{Bt(e,"height",t+"px"),Bt(e,"flex-basis",t+"px")},dV=(e,t,o)=>{fi(e,'[role="dialog"]').each((e=>{vi(e,'[role="tablist"]').each((n=>{o.get().map((o=>(Bt(t,"height","0"),Bt(t,"flex-basis","0"),Math.min(o,((e,t,o)=>{const n=nt(e).dom,s=fi(e,".tox-dialog-wrap").getOr(e);let r;r="fixed"===Rt(s,"position")?Math.max(n.clientHeight,window.innerHeight):Math.max(n.offsetHeight,n.scrollHeight);const a=jt(t),i=t.dom.offsetLeft>=o.dom.offsetLeft+Zt(o)?Math.max(jt(o),a):a,l=parseInt(Rt(e,"margin-top"),10)||0,c=parseInt(Rt(e,"margin-bottom"),10)||0;return r-(jt(e)+l+c-i)})(e,t,n))))).each((e=>{cV(t,e)}))}))}))},uV=e=>vi(e,'[role="tabpanel"]'),mV="send-data-to-section",gV="send-data-to-view",pV=(e,t,o)=>{const n=As({}),s=e=>{const t=vu.getValue(e),o=KN(t).getOr({}),s=n.get(),r=bn(s,o);n.set(r)},r=e=>{const t=n.get();vu.setValue(e,t)},a=As(null),i=L(e.tabs,(e=>({value:e.name,dom:{tag:"div",classes:["tox-dialog__body-nav-item"]},components:[ri(o.shared.providers.translate(e.title))],view:()=>[NO.sketch((n=>({dom:{tag:"div",classes:["tox-form"]},components:L(e.items,(e=>aE(n,e,t,o))),formBehaviours:Tl([Gp.config({mode:"acyclic",useTabstopAt:C(a_)}),th("TabView.form.events",[Jr(r),Zr(s)]),Il.config({channels:Bs([{key:mV,value:{onReceive:s}},{key:gV,value:{onReceive:r}}])})])})))]}))),l=(e=>{const t=nc(),o=[Jr((o=>{const n=o.element;uV(n).each((s=>{Bt(s,"visibility","hidden"),o.getSystem().getByDom(s).toOptional().each((o=>{const n=((e,t,o)=>L(e,((n,s)=>{eh.set(o,e[s].view());const r=t.dom.getBoundingClientRect();return eh.set(o,[]),r.height})))(e,s,o),r=(e=>oe(ee(e,((e,t)=>e>t?-1:e{oe(e).each((e=>lV.showTab(t,e.value)))})(e,o),requestAnimationFrame((()=>{dV(n,s,t)}))}))})),Wr(Sr(),(e=>{const o=e.element;uV(o).each((e=>{dV(o,e,t)}))})),Wr(Dk,((e,o)=>{const n=e.element;uV(n).each((e=>{const o=zl(ft(e));Bt(e,"visibility","hidden");const s=Vt(e,"height").map((e=>parseInt(e,10)));Ht(e,"height"),Ht(e,"flex-basis");const r=e.dom.getBoundingClientRect().height;s.forall((e=>r>e))?(t.set(r),dV(n,e,t)):s.each((t=>{cV(e,t)})),Ht(e,"visibility"),o.each(Rl)}))}))];return{extraEvents:o,selectFirst:!1}})(i);return lV.sketch({dom:{tag:"div",classes:["tox-dialog__body"]},onChangeTab:(e,t,o)=>{const n=vu.getValue(t);Rr(e,Mk,{name:n,oldName:a.get()}),a.set(n)},tabs:i,components:[lV.parts.tabbar({dom:{tag:"div",classes:["tox-dialog__body-nav"]},components:[oV.parts.tabs({})],markers:{tabClass:"tox-tab",selectedClass:"tox-dialog__body-nav-item--active"},tabbarBehaviours:Tl([bk.config({})])}),lV.parts.tabview({dom:{tag:"div",classes:["tox-dialog__body-content"]}})],selectFirst:l.selectFirst,tabSectionBehaviours:Tl([th("tabpanel",l.extraEvents),Gp.config({mode:"acyclic"}),Om.config({find:e=>oe(lV.getViewItems(e))}),qO(A.none(),(e=>(e.getSystem().broadcastOn([mV],{}),n.get())),((e,t)=>{n.set(t),e.getSystem().broadcastOn([gV],{})}))])})},hV=(e,t,o,n,s)=>({dom:{tag:"div",classes:["tox-dialog__content-js"],attributes:{...o.map((e=>({id:e}))).getOr({}),...s?{"aria-live":"polite"}:{}}},components:[],behaviours:Tl([jO(0),XN.config({channel:`${c_}-${t}`,updateState:(e,t)=>A.some({isTabPanel:()=>"tabpanel"===t.body.type}),renderComponents:e=>{const t=e.body;return"tabpanel"===t.type?[pV(t,e.initialData,n)]:[JN(t,e.initialData,n)]},initialData:e})])}),fV=mb.deviceType.isTouch(),bV=(e,t)=>({dom:{tag:"div",styles:{display:"none"},classes:["tox-dialog__header"]},components:[e,t]}),vV=(e,t)=>lR.parts.close(qh.sketch({dom:{tag:"button",classes:["tox-button","tox-button--icon","tox-button--naked"],attributes:{type:"button","aria-label":t.translate("Close")}},action:e,buttonBehaviours:Tl([bk.config({})])})),yV=()=>lR.parts.title({dom:{tag:"div",classes:["tox-dialog__title"],innerHtml:"",styles:{display:"none"}}}),xV=(e,t)=>lR.parts.body({dom:{tag:"div",classes:["tox-dialog__body"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-content"]},components:[{dom:Yh(`

${Xf(t.translate(e))}

`)}]}]}),wV=e=>lR.parts.footer({dom:{tag:"div",classes:["tox-dialog__footer"]},components:e}),SV=(e,t)=>[dk.sketch({dom:{tag:"div",classes:["tox-dialog__footer-start"]},components:e}),dk.sketch({dom:{tag:"div",classes:["tox-dialog__footer-end"]},components:t})],kV=e=>{const t="tox-dialog",o=t+"-wrap",n=o+"__backdrop",s=t+"__disable-scroll";return lR.sketch({lazySink:e.lazySink,onEscape:t=>(e.onEscape(t),A.some(!0)),useTabstopAt:e=>!a_(e),firstTabstop:e.firstTabstop,dom:{tag:"div",classes:[t].concat(e.extraClasses),styles:{position:"relative",...e.extraStyles}},components:[e.header,e.body,...e.footer.toArray()],parts:{blocker:{dom:Yh(`
`),components:[{dom:{tag:"div",classes:fV?[n,n+"--opaque"]:[n]}}]}},dragBlockClass:o,modalBehaviours:Tl([ah.config({}),th("dialog-events",e.dialogEvents.concat([Kr(Xs(),((e,t)=>{VM.isBlocked(e)||Gp.focusIn(e)})),Wr(Tr(),((e,t)=>{e.getSystem().broadcastOn([m_],{newFocus:t.event.newFocus})}))])),th("scroll-lock",[Jr((()=>{Wa(wt(),s)})),Zr((()=>{Ga(wt(),s)}))]),...e.extraBehaviours]),eventOrder:{[mr()]:["dialog-events"],[kr()]:["scroll-lock","dialog-events","alloy.base.behaviour"],[Cr()]:["alloy.base.behaviour","dialog-events","scroll-lock"],...e.eventOrder}})},CV=e=>qh.sketch({dom:{tag:"button",classes:["tox-button","tox-button--icon","tox-button--naked"],attributes:{type:"button","aria-label":e.translate("Close"),title:e.translate("Close")}},buttonBehaviours:Tl([bk.config({})]),components:[rb("close",{tag:"span",classes:["tox-icon"]},e.icons)],action:e=>{Fr(e,Ok)}}),OV=(e,t,o,n)=>({dom:{tag:"div",classes:["tox-dialog__title"],attributes:{...o.map((e=>({id:e}))).getOr({})}},components:[],behaviours:Tl([XN.config({channel:`${l_}-${t}`,initialData:e,renderComponents:e=>[ri(n.translate(e.title))]})])}),_V=()=>({dom:Yh('
')}),TV=(e,t,o)=>((e,t,o)=>{const n=lR.parts.title(OV(e,t,A.none(),o)),s=lR.parts.draghandle(_V()),r=lR.parts.close(CV(o)),a=[n].concat(e.draggable?[s]:[]).concat([r]);return dk.sketch({dom:Yh('
'),components:a})})({title:o.shared.providers.translate(e),draggable:o.dialog.isDraggableModal()},t,o.shared.providers),EV=(e,t,o,n)=>({dom:{tag:"div",classes:["tox-dialog__busy-spinner"],attributes:{"aria-label":o.translate(e)},styles:{left:"0px",right:"0px",bottom:"0px",top:`${n.getOr(0)}px`,position:"absolute"}},behaviours:t,components:[{dom:Yh('
')}]}),AV=(e,t,o)=>({onClose:()=>o.closeWindow(),onBlock:o=>{const n=vi(e().element,".tox-dialog__header").map((e=>jt(e)));lR.setBusy(e(),((e,s)=>EV(o.message,s,t,n)))},onUnblock:()=>{lR.setIdle(e())}}),MV="tox-dialog--fullscreen",DV="tox-dialog--width-lg",BV="tox-dialog--width-md",IV=e=>{switch(e){case"large":return A.some(DV);case"medium":return A.some(BV);default:return A.none()}},FV=(e,t)=>{const o=ze(t.element.dom);$a(o,MV)||(Ya(o,[DV,BV]),IV(e).each((e=>Wa(o,e))))},RV=(e,t)=>{const o=ze(e.element.dom),n=Xa(o),s=G(n,(e=>e===DV||e===BV)).or(IV(t));((e,t)=>{H(t,(t=>{((e,t)=>{const o=La(e)?e.dom.classList.toggle(t):((e,t)=>R(Ha(e),t)?Ua(e,t):Pa(e,t))(e,t);ja(e)})(e,t)}))})(o,[MV,...s.toArray()])},NV=(e,t,o)=>ci(kV({...e,firstTabstop:1,lazySink:o.shared.getSink,extraBehaviours:[XO({}),...e.extraBehaviours],onEscape:e=>{Fr(e,Ok)},dialogEvents:t,eventOrder:{[ur()]:[XN.name(),Il.name()],[kr()]:["scroll-lock",XN.name(),"messages","dialog-events","alloy.base.behaviour"],[Cr()]:["alloy.base.behaviour","dialog-events","messages",XN.name(),"scroll-lock"]}})),VV=(e,t={})=>L(e,(e=>"menu"===e.type?(e=>{const o=L(e.items,(e=>{const o=be(t,e.name).getOr(As(!1));return{...e,storage:o}}));return{...e,items:o}})(e):e)),zV=e=>j(e,((e,t)=>"menu"===t.type?j(t.items,((e,t)=>(e[t.name]=t.storage,e)),e):e),{}),LV=(e,t)=>[qr(Xs(),r_),e(Ck,((e,o,n,s)=>{zl(ft(s.element)).fold(b,Nl),t.onClose(),o.onClose()})),e(Ok,((e,t,o,n)=>{t.onCancel(e),Fr(n,Ck)})),Wr(Ak,((e,o)=>t.onUnblock())),Wr(Ek,((e,o)=>t.onBlock(o.event)))],HV=(e,t,o)=>{const n=(t,o)=>Wr(t,((t,n)=>{s(t,((s,r)=>{o(e(),s,n.event,t)}))})),s=(e,t)=>{XN.getState(e).get().each((o=>{t(o.internalDialog,e)}))};return[...LV(n,t),n(Tk,((e,t)=>t.onSubmit(e))),n(kk,((e,t,o)=>{t.onChange(e,{name:o.name})})),n(_k,((e,t,n,s)=>{const r=()=>s.getSystem().isConnected()?Gp.focusIn(s):void 0,a=e=>Et(e,"disabled")||Tt(e,"aria-disabled").exists((e=>"true"===e)),i=ft(s.element),l=zl(i);t.onAction(e,{name:n.name,value:n.value}),zl(i).fold(r,(e=>{a(e)||l.exists((t=>et(e,t)&&a(t)))?r():o().toOptional().filter((t=>!et(t.element,e))).each(r)}))})),n(Mk,((e,t,o)=>{t.onTabChange(e,{newTabName:o.name,oldTabName:o.oldName})})),Zr((t=>{const o=e();vu.setValue(t,o.getData())}))]},PV=(e,t)=>{const o=t.map((e=>e.footerButtons)).getOr([]),n=P(o,(e=>"start"===e.align)),s=(e,t)=>dk.sketch({dom:{tag:"div",classes:[`tox-dialog__footer-${e}`]},components:L(t,(e=>e.memento.asSpec()))});return[s("start",n.pass),s("end",n.fail)]},UV=(e,t,o)=>({dom:Yh(''),components:[],behaviours:Tl([XN.config({channel:`${d_}-${t}`,initialData:e,updateState:(e,t)=>{const n=L(t.buttons,(e=>{const t=Xh(((e,t)=>jT(e,e.type,t))(e,o));return{name:e.name,align:e.align,memento:t}}));return A.some({lookupByName:t=>((e,t,o)=>G(t,(e=>e.name===o)).bind((t=>t.memento.getOpt(e))))(e,n,t),footerButtons:n})},renderComponents:PV})])}),WV=(e,t,o)=>lR.parts.footer(UV(e,t,o)),jV=(e,t)=>{if(e.getRoot().getSystem().isConnected()){const o=Om.getCurrent(e.getFormWrapper()).getOr(e.getFormWrapper());return NO.getField(o,t).orThunk((()=>{const o=e.getFooter().bind((e=>XN.getState(e).get()));return o.bind((e=>e.lookupByName(t)))}))}return A.none()},GV=(e,t,o)=>{const n=t=>{const o=e.getRoot();o.getSystem().isConnected()&&t(o)},s={getData:()=>{const t=e.getRoot(),n=t.getSystem().isConnected()?e.getFormWrapper():t;return{...vu.getValue(n),...ce(o,(e=>e.get()))}},setData:t=>{n((n=>{const r=s.getData(),a=bn(r,t),i=((e,t)=>{const o=e.getRoot();return XN.getState(o).get().map((e=>Xn(Yn("data",e.dataValidator,t)))).getOr(t)})(e,a),l=e.getFormWrapper();vu.setValue(l,i),le(o,((e,t)=>{ve(a,t)&&e.set(a[t])}))}))},setEnabled:(t,o)=>{jV(e,t).each(o?Lm.enable:Lm.disable)},focus:t=>{jV(e,t).each(ah.focus)},block:e=>{if(!r(e))throw new Error("The dialogInstanceAPI.block function should be passed a blocking message of type string as an argument");n((t=>{Rr(t,Ek,{message:e})}))},unblock:()=>{n((e=>{Fr(e,Ak)}))},showTab:t=>{n((o=>{const n=e.getBody();XN.getState(n).get().exists((e=>e.isTabPanel()))&&Om.getCurrent(n).each((e=>{lV.showTab(e,t)}))}))},redial:r=>{n((n=>{const a=e.getId(),i=t(r),l=VV(i.internalDialog.buttons,o);n.getSystem().broadcastOn([`${i_}-${a}`],i),n.getSystem().broadcastOn([`${l_}-${a}`],i.internalDialog),n.getSystem().broadcastOn([`${c_}-${a}`],i.internalDialog),n.getSystem().broadcastOn([`${d_}-${a}`],{...i.internalDialog,buttons:l}),s.setData(i.initialData)}))},close:()=>{n((e=>{Fr(e,Ck)}))},toggleFullscreen:e.toggleFullscreen};return s},$V=(e,t,o,n=!1,s)=>{const r=ca("dialog"),a=ca("dialog-label"),i=ca("dialog-content"),l=e.internalDialog,c=As(l.size),d=IV(c.get()).toArray(),u=Xh(((e,t,o,n)=>dk.sketch({dom:Yh('
'),components:[OV(e,t,A.some(o),n),_V(),CV(n)],containerBehaviours:Tl([qF.config({mode:"mouse",blockerClass:"blocker",getTarget:e=>yi(e,'[role="dialog"]').getOrDie(),snaps:{getSnapPoints:()=>[],leftAttr:"data-drag-left",topAttr:"data-drag-top"}})])}))({title:l.title,draggable:!0},r,a,o.shared.providers)),m=Xh(((e,t,o,n,s)=>hV(e,t,A.some(o),n,s))({body:l.body,initialData:l.initialData},r,i,o,n)),g=VV(l.buttons),p=zV(g),h=Ce(0!==g.length,Xh(((e,t,o)=>UV(e,t,o))({buttons:g},r,o))),f=HV((()=>v),{onBlock:e=>{VM.block(b,((t,n)=>{const s=u.getOpt(b).map((e=>jt(e.element)));return EV(e.message,n,o.shared.providers,s)}))},onUnblock:()=>{VM.unblock(b)},onClose:()=>t.closeWindow()},o.shared.getSink),b=ci({dom:{tag:"div",classes:["tox-dialog","tox-dialog-inline",...d],attributes:{role:"dialog","aria-labelledby":a}},eventOrder:{[ur()]:[XN.name(),Il.name()],[mr()]:["execute-on-form"],[kr()]:["reflecting","execute-on-form"]},behaviours:Tl([Gp.config({mode:"cyclic",onEscape:e=>(Fr(e,Ck),A.some(!0)),useTabstopAt:e=>!a_(e)&&("button"!==We(e)||"disabled"!==_t(e,"disabled")),firstTabstop:1}),XN.config({channel:`${i_}-${r}`,updateState:(e,t)=>(c.set(t.internalDialog.size),FV(t.internalDialog.size,e),s(),A.some(t)),initialData:e}),ah.config({}),th("execute-on-form",f.concat([Kr(Xs(),((e,t)=>{Gp.focusIn(e)})),Wr(Tr(),((e,t)=>{e.getSystem().broadcastOn([m_],{newFocus:t.event.newFocus})}))])),VM.config({getRoot:()=>A.some(b)}),eh.config({}),XO({})]),components:[u.asSpec(),m.asSpec(),...h.map((e=>e.asSpec())).toArray()]}),v=GV({getId:x(r),getRoot:x(b),getFooter:()=>h.map((e=>e.get(b))),getBody:()=>m.get(b),getFormWrapper:()=>{const e=m.get(b);return Om.getCurrent(e).getOr(e)},toggleFullscreen:()=>{RV(b,c.get())}},t.redial,p);return{dialog:b,instanceApi:v}};var qV=tinymce.util.Tools.resolve("tinymce.util.URI");const YV=["insertContent","setContent","execCommand","close","block","unblock"],XV=e=>a(e)&&-1!==YV.indexOf(e.mceAction),KV=(e,t,o,n)=>{const s=ca("dialog"),i=TV(e.title,s,n),l=(e=>{const t={dom:{tag:"div",classes:["tox-dialog__content-js"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-iframe"]},components:[n_(A.none(),{dom:{tag:"iframe",attributes:{src:e.url}},behaviours:Tl([bk.config({}),ah.config({})])})]}],behaviours:Tl([Gp.config({mode:"acyclic",useTabstopAt:C(a_)})])};return lR.parts.body(t)})(e),c=e.buttons.bind((e=>0===e.length?A.none():A.some(WV({buttons:e},s,n)))),u=((e,t)=>{const o=(e,t)=>Wr(e,((e,o)=>{n(e,((n,s)=>{t(x,n,o.event,e)}))})),n=(e,t)=>{XN.getState(e).get().each((o=>{t(o,e)}))};return[...LV(o,t),o(_k,((e,t,o)=>{t.onAction(e,{name:o.name})}))]})(0,AV((()=>y),n.shared.providers,t)),m={...e.height.fold((()=>({})),(e=>({height:e+"px","max-height":e+"px"}))),...e.width.fold((()=>({})),(e=>({width:e+"px","max-width":e+"px"})))},p=e.width.isNone()&&e.height.isNone()?["tox-dialog--width-lg"]:[],h=new qV(e.url,{base_uri:new qV(window.location.href)}),f=`${h.protocol}://${h.host}${h.port?":"+h.port:""}`,b=oc(),v=[XN.config({channel:`${i_}-${s}`,updateState:(e,t)=>A.some(t),initialData:e}),th("messages",[Jr((()=>{const t=rc(ze(window),"message",(t=>{if(h.isSameOrigin(new qV(t.raw.origin))){const n=t.raw.data;XV(n)?((e,t,o)=>{switch(o.mceAction){case"insertContent":e.insertContent(o.content);break;case"setContent":e.setContent(o.content);break;case"execCommand":const n=!!d(o.ui)&&o.ui;e.execCommand(o.cmd,n,o.value);break;case"close":t.close();break;case"block":t.block(o.message);break;case"unblock":t.unblock()}})(o,x,n):(e=>!XV(e)&&a(e)&&ve(e,"mceAction"))(n)&&e.onMessage(x,n)}}));b.set(t)})),Zr(b.clear)]),Il.config({channels:{[u_]:{onReceive:(e,t)=>{vi(e.element,"iframe").each((e=>{const o=e.dom.contentWindow;g(o)&&o.postMessage(t,f)}))}}}})],y=NV({id:s,header:i,body:l,footer:c,extraClasses:p,extraBehaviours:v,extraStyles:m},u,n),x=(e=>{const t=t=>{e.getSystem().isConnected()&&t(e)};return{block:e=>{if(!r(e))throw new Error("The urlDialogInstanceAPI.block function should be passed a blocking message of type string as an argument");t((t=>{Rr(t,Ek,{message:e})}))},unblock:()=>{t((e=>{Fr(e,Ak)}))},close:()=>{t((e=>{Fr(e,Ck)}))},sendMessage:e=>{t((t=>{t.getSystem().broadcastOn([u_],e)}))}}})(y);return{dialog:y,instanceApi:x}},JV=(e,t)=>Xn(Yn("data",t,e)),ZV=e=>ek(e,".tox-alert-dialog")||ek(e,".tox-confirm-dialog"),QV=(e,t,o)=>t&&o?[]:[sM.config({contextual:{lazyContext:()=>A.some(Zo(ze(e.getContentAreaContainer()))),fadeInClass:"tox-dialog-dock-fadein",fadeOutClass:"tox-dialog-dock-fadeout",transitionClass:"tox-dialog-dock-transition"},modes:["top"],lazyViewport:t=>ZS(e,t.element).map((e=>({bounds:QS(e),optScrollEnv:A.some({currentScrollTop:e.element.dom.scrollTop,scrollElmTop:Xt(e.element).top})}))).getOrThunk((()=>({bounds:tn(),optScrollEnv:A.none()})))})],ez=e=>{const t=e.editor,o=gv(t),n=(e=>{const t=e.shared;return{open:(o,n)=>{const s=()=>{lR.hide(l),n()},r=Xh(jT({name:"close-alert",text:"OK",primary:!0,buttonType:A.some("primary"),align:"end",enabled:!0,icon:A.none()},"cancel",e)),a=yV(),i=vV(s,t.providers),l=ci(kV({lazySink:()=>t.getSink(),header:bV(a,i),body:xV(o,t.providers),footer:A.some(wV(SV([],[r.asSpec()]))),onEscape:s,extraClasses:["tox-alert-dialog"],extraBehaviours:[],extraStyles:{},dialogEvents:[Wr(Ok,s)],eventOrder:{}}));lR.show(l);const c=r.get(l);ah.focus(c)}}})(e.backstages.dialog),s=(e=>{const t=e.shared;return{open:(o,n)=>{const s=e=>{lR.hide(c),n(e)},r=Xh(jT({name:"yes",text:"Yes",primary:!0,buttonType:A.some("primary"),align:"end",enabled:!0,icon:A.none()},"submit",e)),a=jT({name:"no",text:"No",primary:!1,buttonType:A.some("secondary"),align:"end",enabled:!0,icon:A.none()},"cancel",e),i=yV(),l=vV((()=>s(!1)),t.providers),c=ci(kV({lazySink:()=>t.getSink(),header:bV(i,l),body:xV(o,t.providers),footer:A.some(wV(SV([],[a,r.asSpec()]))),onEscape:()=>s(!1),extraClasses:["tox-confirm-dialog"],extraBehaviours:[],extraStyles:{},dialogEvents:[Wr(Ok,(()=>s(!1))),Wr(Tk,(()=>s(!0)))],eventOrder:{}}));lR.show(c);const d=r.get(c);ah.focus(d)}}})(e.backstages.dialog),r=(t,o)=>GN.open(((t,n,s)=>{const r=n,a=((e,t,o)=>{const n=ca("dialog"),s=e.internalDialog,r=TV(s.title,n,o),a=As(s.size),i=IV(a.get()).toArray(),l=((e,t,o)=>{const n=hV(e,t,A.none(),o,!1);return lR.parts.body(n)})({body:s.body,initialData:s.initialData},n,o),c=VV(s.buttons),d=zV(c),u=Ce(0!==c.length,WV({buttons:c},n,o)),m=HV((()=>f),AV((()=>p),o.shared.providers,t),o.shared.getSink),g={id:n,header:r,body:l,footer:u,extraClasses:i,extraBehaviours:[XN.config({channel:`${i_}-${n}`,updateState:(e,t)=>(a.set(t.internalDialog.size),FV(t.internalDialog.size,e),A.some(t)),initialData:e})],extraStyles:{}},p=NV(g,m,o),h={getId:x(n),getRoot:x(p),getBody:()=>lR.getBody(p),getFooter:()=>lR.getFooter(p),getFormWrapper:()=>{const e=lR.getBody(p);return Om.getCurrent(e).getOr(e)},toggleFullscreen:()=>{RV(p,a.get())}},f=GV(h,t.redial,d);return{dialog:p,instanceApi:f}})({dataValidator:s,initialData:r,internalDialog:t},{redial:GN.redial,closeWindow:()=>{lR.hide(a.dialog),o(a.instanceApi)}},e.backstages.dialog);return lR.show(a.dialog),a.instanceApi.setData(r),a.instanceApi}),t),a=(n,s,r,a)=>GN.open(((n,i,l)=>{const c=JV(i,l),d=nc(),u=e.backstages.popup.shared.header.isPositionedAtTop(),m=()=>d.on((e=>{Gh.reposition(e),o&&u||sM.refresh(e)})),g=$V({dataValidator:l,initialData:c,internalDialog:n},{redial:GN.redial,closeWindow:()=>{d.on(Gh.hide),t.off("ResizeEditor",m),d.clear(),r(g.instanceApi)}},e.backstages.popup,a.ariaAttrs,m),p=ci(Gh.sketch({lazySink:e.backstages.popup.shared.getSink,dom:{tag:"div",classes:[]},fireDismissalEventInstead:a.persistent?{event:"doNotDismissYet"}:{},...u?{}:{fireRepositionEventInstead:{}},inlineBehaviours:Tl([th("window-manager-inline-events",[Wr(Or(),((e,t)=>{Fr(g.dialog,Ok)}))]),...QV(t,o,u)]),isExtraPart:(e,t)=>ZV(t)}));return d.set(p),Gh.showWithinBounds(p,di(g.dialog),{anchor:s},(()=>{const e=t.inline?wt():ze(t.getContainer()),o=Zo(e);return A.some(o)})),o&&u||(sM.refresh(p),t.on("ResizeEditor",m)),g.instanceApi.setData(c),Gp.focusIn(g.dialog),g.instanceApi}),n),i=(o,n,s,r)=>GN.open(((o,a,i)=>{const l=JV(a,i),c=nc(),d=e.backstages.popup.shared.header.isPositionedAtTop(),u=()=>c.on((e=>{Gh.reposition(e),sM.refresh(e)})),m=$V({dataValidator:i,initialData:l,internalDialog:o},{redial:GN.redial,closeWindow:()=>{c.on(Gh.hide),t.off("ResizeEditor ScrollWindow ElementScroll",u),c.clear(),s(m.instanceApi)}},e.backstages.popup,r.ariaAttrs,u),g=ci(Gh.sketch({lazySink:e.backstages.popup.shared.getSink,dom:{tag:"div",classes:[]},fireDismissalEventInstead:r.persistent?{event:"doNotDismissYet"}:{},...d?{}:{fireRepositionEventInstead:{}},inlineBehaviours:Tl([th("window-manager-inline-events",[Wr(Or(),((e,t)=>{Fr(m.dialog,Ok)}))]),sM.config({contextual:{lazyContext:()=>A.some(Zo(ze(t.getContentAreaContainer()))),fadeInClass:"tox-dialog-dock-fadein",fadeOutClass:"tox-dialog-dock-fadeout",transitionClass:"tox-dialog-dock-transition"},modes:["top","bottom"],lazyViewport:e=>ZS(t,e.element).map((e=>({bounds:QS(e),optScrollEnv:A.some({currentScrollTop:e.element.dom.scrollTop,scrollElmTop:Xt(e.element).top})}))).getOrThunk((()=>({bounds:tn(),optScrollEnv:A.none()})))})]),isExtraPart:(e,t)=>ZV(t)}));return c.set(g),Gh.showWithinBounds(g,di(m.dialog),{anchor:n},(()=>e.backstages.popup.shared.getSink().toOptional().bind((e=>{const o=ZS(t,e.element).map((e=>QS(e))).getOr(tn()),n=Zo(ze(t.getContentAreaContainer())),s=en(n,o);return A.some(Jo(s.x,s.y,s.width,s.height-15))})))),sM.refresh(g),t.on("ResizeEditor ScrollWindow ElementScroll ResizeWindow",u),m.instanceApi.setData(l),Gp.focusIn(m.dialog),m.instanceApi}),o);return{open:(t,o,n)=>{if(!u(o)){if("toolbar"===o.inline)return a(t,e.backstages.popup.shared.anchors.inlineDialog(),n,o);if("bottom"===o.inline)return i(t,e.backstages.popup.shared.anchors.inlineBottomDialog(),n,o);if("cursor"===o.inline)return a(t,e.backstages.popup.shared.anchors.cursor(),n,o)}return r(t,n)},openUrl:(o,n)=>((o,n)=>GN.openUrl((o=>{const s=KV(o,{closeWindow:()=>{lR.hide(s.dialog),n(s.instanceApi)}},t,e.backstages.dialog);return lR.show(s.dialog),s.instanceApi}),o))(o,n),alert:(e,t)=>{n.open(e,t)},close:e=>{e.close()},confirm:(e,t)=>{s.open(e,t)}}};on.add("silver",(e=>{(e=>{hb(e),(e=>{const t=e.options.register,o=e=>f(e,r)?{value:zw(e),valid:!0}:{valid:!1,message:"Must be an array of strings."},n=e=>h(e)&&e>0?{value:e,valid:!0}:{valid:!1,message:"Must be a positive number."};t("color_map",{processor:o,default:["#BFEDD2","Light Green","#FBEEB8","Light Yellow","#F8CAC6","Light Red","#ECCAFA","Light Purple","#C2E0F4","Light Blue","#2DC26B","Green","#F1C40F","Yellow","#E03E2D","Red","#B96AD9","Purple","#3598DB","Blue","#169179","Dark Turquoise","#E67E23","Orange","#BA372A","Dark Red","#843FA1","Dark Purple","#236FA1","Dark Blue","#ECF0F1","Light Gray","#CED4D9","Medium Gray","#95A5A6","Gray","#7E8C8D","Dark Gray","#34495E","Navy Blue","#000000","Black","#ffffff","White"]}),t("color_map_background",{processor:o}),t("color_map_foreground",{processor:o}),t("color_cols",{processor:n,default:Uw(e)}),t("color_cols_foreground",{processor:n,default:Ww(e,Nw)}),t("color_cols_background",{processor:n,default:Ww(e,Vw)}),t("custom_colors",{processor:"boolean",default:!0}),t("color_default_foreground",{processor:"string",default:Hw}),t("color_default_background",{processor:"string",default:Hw})})(e),(e=>{const t=e.options.register;t("contextmenu_avoid_overlap",{processor:"string",default:""}),t("contextmenu_never_use_native",{processor:"boolean",default:!1}),t("contextmenu",{processor:e=>!1===e?{value:[],valid:!0}:r(e)||f(e,r)?{value:PI(e),valid:!0}:{valid:!1,message:"Must be false or a string."},default:"link linkchecker image editimage table spellchecker configurepermanentpen"})})(e)})(e);let t=()=>tn();const{dialogs:o,popups:n,renderUI:s}=sR(e,{getPopupSinkBounds:()=>t()});YS(e,n.backstage.shared);const a=ez({editor:e,backstages:{popup:n.backstage,dialog:o.backstage}});return{renderUI:()=>{const o=s();return ZS(e,n.getMothership().element).each((e=>{t=()=>QS(e)})),o},getWindowManagerImpl:x(a),getNotificationManagerImpl:()=>((e,t,o)=>{const n=t.backstage.shared,s=()=>{const t=Zo(ze(e.getContentAreaContainer())),o=tn(),n=Qi(o.x,t.x,t.right),s=Qi(o.y,t.y,t.bottom),r=Math.max(t.right,o.right),a=Math.max(t.bottom,o.bottom);return A.some(Jo(n,s,r-n,a-s))};return{open:(t,r)=>{const a=()=>{r(),Gh.hide(l)},i=ci(ib.sketch({text:t.text,level:R(["success","error","warning","warn","info"],t.type)?t.type:void 0,progress:!0===t.progressBar,icon:t.icon,closeButton:t.closeButton,onAction:a,iconProvider:n.providers.icons,translationProvider:n.providers.translate})),l=ci(Gh.sketch({dom:{tag:"div",classes:["tox-notifications-container"]},lazySink:n.getSink,fireDismissalEventInstead:{},...n.header.isPositionedAtTop()?{}:{fireRepositionEventInstead:{}}}));o.add(l),h(t.timeout)&&t.timeout>0&&$h.setEditorTimeout(e,(()=>{a()}),t.timeout);const c={close:a,reposition:()=>{const t=di(i),o={maxHeightFunction:gc()},r=e.notificationManager.getNotifications();if(r[0]===c){const e={...n.anchors.banner(),overrides:o};Gh.showWithinBounds(l,t,{anchor:e},s)}else F(r,c).each((e=>{const n=r[e-1].getEl(),a={type:"node",root:wt(),node:A.some(ze(n)),overrides:o,layouts:{onRtl:()=>[gl],onLtr:()=>[gl]}};Gh.showWithinBounds(l,t,{anchor:a},s)}))},text:e=>{ib.updateText(i,e)},settings:t,getEl:()=>i.element.dom,progressBar:{value:e=>{ib.updateProgress(i,e)}}};return c},close:e=>{e.close()},getArgs:e=>e.settings}})(e,{backstage:n.backstage},n.getMothership())}}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/tinymce.min.js b/src/main/webapp/javascript/tinymce-6.8.5/tinymce.min.js deleted file mode 100644 index a010e63f..00000000 --- a/src/main/webapp/javascript/tinymce-6.8.5/tinymce.min.js +++ /dev/null @@ -1,384 +0,0 @@ -/** - * TinyMCE version 6.8.5 (TBD) - */ -!function(){"use strict";var e=function(e){if(null===e)return"null";if(void 0===e)return"undefined";var t=typeof e;return"object"===t&&(Array.prototype.isPrototypeOf(e)||e.constructor&&"Array"===e.constructor.name)?"array":"object"===t&&(String.prototype.isPrototypeOf(e)||e.constructor&&"String"===e.constructor.name)?"string":t},t=function(e){return{eq:e}},n=t((function(e,t){return e===t})),o=function(e){return t((function(t,n){if(t.length!==n.length)return!1;for(var o=t.length,r=0;r{var o;return!!n(e,t.prototype)||(null===(o=e.constructor)||void 0===o?void 0:o.name)===t.name},l=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&i(e,String,((e,t)=>t.isPrototypeOf(e)))?"string":t})(t)===e,d=e=>t=>typeof t===e,c=e=>t=>e===t,u=(e,t)=>f(e)&&i(e,t,((e,t)=>a(e)===t)),m=l("string"),f=l("object"),g=e=>u(e,Object),p=l("array"),h=c(null),b=d("boolean"),v=c(void 0),y=e=>null==e,C=e=>!y(e),w=d("function"),x=d("number"),E=(e,t)=>{if(p(e)){for(let n=0,o=e.length;n{},S=(e,t)=>(...n)=>e(t.apply(null,n)),k=(e,t)=>n=>e(t(n)),N=e=>()=>e,R=e=>e,A=(e,t)=>e===t;function T(e,...t){return(...n)=>{const o=t.concat(n);return e.apply(null,o)}}const O=e=>t=>!e(t),B=e=>()=>{throw new Error(e)},P=e=>e(),D=e=>{e()},L=N(!1),M=N(!0);class I{constructor(e,t){this.tag=e,this.value=t}static some(e){return new I(!0,e)}static none(){return I.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?I.some(e(this.value)):I.none()}bind(e){return this.tag?e(this.value):I.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:I.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return C(e)?I.some(e):I.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}I.singletonNone=new I(!1);const F=Array.prototype.slice,U=Array.prototype.indexOf,z=Array.prototype.push,j=(e,t)=>U.call(e,t),H=(e,t)=>j(e,t)>-1,$=(e,t)=>{for(let n=0,o=e.length;n{const n=e.length,o=new Array(n);for(let r=0;r{for(let n=0,o=e.length;n{for(let n=e.length-1;n>=0;n--)t(e[n],n)},K=(e,t)=>{const n=[],o=[];for(let r=0,s=e.length;r{const n=[];for(let o=0,r=e.length;o(W(e,((e,o)=>{n=t(n,e,o)})),n),X=(e,t,n)=>(V(e,((e,o)=>{n=t(n,e,o)})),n),Q=(e,t,n)=>{for(let o=0,r=e.length;oQ(e,t,L),Z=(e,t)=>{for(let n=0,o=e.length;n{const t=[];for(let n=0,o=e.length;nee(q(e,t)),ne=(e,t)=>{for(let n=0,o=e.length;n{const t=F.call(e,0);return t.reverse(),t},re=(e,t)=>Y(e,(e=>!H(t,e))),se=(e,t)=>{const n={};for(let o=0,r=e.length;o{const n=F.call(e,0);return n.sort(t),n},ie=(e,t)=>t>=0&&tie(e,0),de=e=>ie(e,e.length-1),ce=w(Array.from)?Array.from:e=>F.call(e),ue=(e,t)=>{for(let n=0;n{const n=me(e);for(let o=0,r=n.length;ohe(e,((e,n)=>({k:n,v:t(e,n)}))),he=(e,t)=>{const n={};return ge(e,((e,o)=>{const r=t(e,o);n[r.k]=r.v})),n},be=e=>(t,n)=>{e[n]=t},ve=(e,t,n,o)=>{ge(e,((e,r)=>{(t(e,r)?n:o)(e,r)}))},ye=(e,t)=>{const n={};return ve(e,t,be(n),_),n},Ce=(e,t)=>{const n=[];return ge(e,((e,o)=>{n.push(t(e,o))})),n},we=e=>Ce(e,R),xe=(e,t)=>Ee(e,t)?I.from(e[t]):I.none(),Ee=(e,t)=>fe.call(e,t),_e=(e,t)=>Ee(e,t)&&void 0!==e[t]&&null!==e[t],Se=e=>{const t={};return V(e,(e=>{t[e]={}})),me(t)},ke=e=>void 0!==e.length,Ne=Array.isArray,Re=(e,t,n)=>{if(!e)return!1;if(n=n||e,ke(e)){for(let o=0,r=e.length;o{const n=[];return Re(e,((o,r)=>{n.push(t(o,r,e))})),n},Te=(e,t)=>{const n=[];return Re(e,((o,r)=>{t&&!t(o,r,e)||n.push(o)})),n},Oe=(e,t,n,o)=>{let r=v(n)?e[0]:n;for(let n=0;n{for(let o=0,r=e.length;oe[e.length-1],De=e=>{let t,n=!1;return(...o)=>(n||(n=!0,t=e.apply(null,o)),t)},Le=()=>Me(0,0),Me=(e,t)=>({major:e,minor:t}),Ie={nu:Me,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?Le():((e,t)=>{const n=((e,t)=>{for(let n=0;nNumber(t.replace(n,"$"+e));return Me(o(1),o(2))})(e,n)},unknown:Le},Fe=(e,t)=>{const n=String(t).toLowerCase();return J(e,(e=>e.search(n)))},Ue=(e,t,n)=>""===t||e.length>=t.length&&e.substr(n,n+t.length)===t,ze=(e,t)=>He(e,t)?((e,t)=>e.substring(t))(e,t.length):e,je=(e,t,n=0,o)=>{const r=e.indexOf(t,n);return-1!==r&&(!!v(o)||r+t.length<=o)},He=(e,t)=>Ue(e,t,0),$e=(e,t)=>Ue(e,t,e.length-t.length),qe=e=>t=>t.replace(e,""),Ve=qe(/^\s+|\s+$/g),We=qe(/^\s+/g),Ke=qe(/\s+$/g),Ye=e=>e.length>0,Ge=e=>!Ye(e),Xe=(e,t=10)=>{const n=parseInt(e,t);return isNaN(n)?I.none():I.some(n)},Qe=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Je=e=>t=>je(t,e),Ze=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>je(e,"edge/")&&je(e,"chrome")&&je(e,"safari")&&je(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,Qe],search:e=>je(e,"chrome")&&!je(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>je(e,"msie")||je(e,"trident")},{name:"Opera",versionRegexes:[Qe,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Je("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Je("firefox")},{name:"Safari",versionRegexes:[Qe,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(je(e,"safari")||je(e,"mobile/"))&&je(e,"applewebkit")}],et=[{name:"Windows",search:Je("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>je(e,"iphone")||je(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Je("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:Je("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Je("linux"),versionRegexes:[]},{name:"Solaris",search:Je("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Je("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:Je("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],tt={browsers:N(Ze),oses:N(et)},nt="Edge",ot="Chromium",rt="Opera",st="Firefox",at="Safari",it=e=>{const t=e.current,n=e.version,o=e=>()=>t===e;return{current:t,version:n,isEdge:o(nt),isChromium:o(ot),isIE:o("IE"),isOpera:o(rt),isFirefox:o(st),isSafari:o(at)}},lt=()=>it({current:void 0,version:Ie.unknown()}),dt=it,ct=(N(nt),N(ot),N("IE"),N(rt),N(st),N(at),"Windows"),ut="Android",mt="Linux",ft="macOS",gt="Solaris",pt="FreeBSD",ht="ChromeOS",bt=e=>{const t=e.current,n=e.version,o=e=>()=>t===e;return{current:t,version:n,isWindows:o(ct),isiOS:o("iOS"),isAndroid:o(ut),isMacOS:o(ft),isLinux:o(mt),isSolaris:o(gt),isFreeBSD:o(pt),isChromeOS:o(ht)}},vt=()=>bt({current:void 0,version:Ie.unknown()}),yt=bt,Ct=(N(ct),N("iOS"),N(ut),N(mt),N(ft),N(gt),N(pt),N(ht),e=>window.matchMedia(e).matches);let wt=De((()=>((e,t,n)=>{const o=tt.browsers(),r=tt.oses(),s=t.bind((e=>((e,t)=>ue(t.brands,(t=>{const n=t.brand.toLowerCase();return J(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:Ie.nu(parseInt(t.version,10),0)})))})))(o,e))).orThunk((()=>((e,t)=>Fe(e,t).map((e=>{const n=Ie.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e))).fold(lt,dt),a=((e,t)=>Fe(e,t).map((e=>{const n=Ie.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e).fold(vt,yt),i=((e,t,n,o)=>{const r=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!r,a=e.isiOS()||e.isAndroid(),i=a||o("(pointer:coarse)"),l=r||!s&&a&&o("(min-device-width:768px)"),d=s||a&&!l,c=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),u=!d&&!l&&!c;return{isiPad:N(r),isiPhone:N(s),isTablet:N(l),isPhone:N(d),isTouch:N(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:N(c),isDesktop:N(u)}})(a,s,e,n);return{browser:s,os:a,deviceType:i}})(navigator.userAgent,I.from(navigator.userAgentData),Ct)));const xt=()=>wt(),Et=navigator.userAgent,_t=xt(),St=_t.browser,kt=_t.os,Nt=_t.deviceType,Rt=-1!==Et.indexOf("Windows Phone"),At={transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",documentMode:St.isIE()?document.documentMode||7:10,cacheSuffix:null,container:null,canHaveCSP:!St.isIE(),windowsPhone:Rt,browser:{current:St.current,version:St.version,isChromium:St.isChromium,isEdge:St.isEdge,isFirefox:St.isFirefox,isIE:St.isIE,isOpera:St.isOpera,isSafari:St.isSafari},os:{current:kt.current,version:kt.version,isAndroid:kt.isAndroid,isChromeOS:kt.isChromeOS,isFreeBSD:kt.isFreeBSD,isiOS:kt.isiOS,isLinux:kt.isLinux,isMacOS:kt.isMacOS,isSolaris:kt.isSolaris,isWindows:kt.isWindows},deviceType:{isDesktop:Nt.isDesktop,isiPad:Nt.isiPad,isiPhone:Nt.isiPhone,isPhone:Nt.isPhone,isTablet:Nt.isTablet,isTouch:Nt.isTouch,isWebView:Nt.isWebView}},Tt=/^\s*|\s*$/g,Ot=e=>y(e)?"":(""+e).replace(Tt,""),Bt=function(e,t,n,o){o=o||this,e&&(n&&(e=e[n]),Re(e,((e,r)=>!1!==t.call(o,e,r,n)&&(Bt(e,t,n,o),!0))))},Pt={trim:Ot,isArray:Ne,is:(e,t)=>t?!("array"!==t||!Ne(e))||typeof e===t:void 0!==e,toArray:e=>{if(Ne(e))return e;{const t=[];for(let n=0,o=e.length;n{const o=m(e)?e.split(t||","):e||[];let r=o.length;for(;r--;)n[o[r]]={};return n},each:Re,map:Ae,grep:Te,inArray:(e,t)=>{if(e)for(let n=0,o=e.length;n{for(let n=0;n{const n=e.split(".");for(let e=0,o=n.length;ep(e)?e:""===e?[]:Ae(e.split(t||","),Ot),_addCacheSuffix:e=>{const t=At.cacheSuffix;return t&&(e+=(-1===e.indexOf("?")?"?":"&")+t),e}},Dt=(e,t,n=A)=>e.exists((e=>n(e,t))),Lt=(e,t,n=A)=>Mt(e,t,n).getOr(e.isNone()&&t.isNone()),Mt=(e,t,n)=>e.isSome()&&t.isSome()?I.some(n(e.getOrDie(),t.getOrDie())):I.none(),It=(e,t)=>e?I.some(t):I.none(),Ft="undefined"!=typeof window?window:Function("return this;")(),Ut=(e,t)=>((e,t)=>{let n=null!=t?t:Ft;for(let t=0;t{const t=Ut("ownerDocument.defaultView",e);return f(e)&&((e=>((e,t)=>{const n=((e,t)=>Ut(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(zt(e).constructor.name))},Ht=e=>e.dom.nodeName.toLowerCase(),$t=e=>e.dom.nodeType,qt=e=>t=>$t(t)===e,Vt=e=>Wt(e)&&jt(e.dom),Wt=qt(1),Kt=qt(3),Yt=qt(9),Gt=qt(11),Xt=e=>t=>Wt(t)&&Ht(t)===e,Qt=(e,t,n)=>{if(!(m(n)||b(n)||x(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")},Jt=(e,t,n)=>{Qt(e.dom,t,n)},Zt=(e,t)=>{const n=e.dom;ge(t,((e,t)=>{Qt(n,t,e)}))},en=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},tn=(e,t)=>I.from(en(e,t)),nn=(e,t)=>{const n=e.dom;return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},on=(e,t)=>{e.dom.removeAttribute(t)},rn=e=>X(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),sn=(e,t)=>{const n=en(e,t);return void 0===n||""===n?[]:n.split(" ")},an=e=>void 0!==e.dom.classList,ln=e=>sn(e,"class"),dn=(e,t)=>((e,t,n)=>{const o=sn(e,t).concat([n]);return Jt(e,t,o.join(" ")),!0})(e,"class",t),cn=(e,t)=>((e,t,n)=>{const o=Y(sn(e,t),(e=>e!==n));return o.length>0?Jt(e,t,o.join(" ")):on(e,t),!1})(e,"class",t),un=(e,t)=>{an(e)?e.dom.classList.add(t):dn(e,t)},mn=e=>{0===(an(e)?e.dom.classList:ln(e)).length&&on(e,"class")},fn=(e,t)=>{an(e)?e.dom.classList.remove(t):cn(e,t),mn(e)},gn=(e,t)=>an(e)&&e.dom.classList.contains(t),pn=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},hn=(e,t)=>{const n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return pn(n.childNodes[0])},bn=(e,t)=>{const n=(t||document).createElement(e);return pn(n)},vn=(e,t)=>{const n=(t||document).createTextNode(e);return pn(n)},yn=pn,Cn=(e,t,n)=>I.from(e.dom.elementFromPoint(t,n)).map(pn),wn=(e,t)=>{const n=[],o=e=>(n.push(e),t(e));let r=t(e);do{r=r.bind(o)}while(r.isSome());return n},xn=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},En=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,_n=(e,t)=>e.dom===t.dom,Sn=(e,t)=>{const n=e.dom,o=t.dom;return n!==o&&n.contains(o)},kn=e=>yn(e.dom.ownerDocument),Nn=e=>Yt(e)?e:kn(e),Rn=e=>yn(Nn(e).dom.defaultView),An=e=>I.from(e.dom.parentNode).map(yn),Tn=e=>I.from(e.dom.parentElement).map(yn),On=(e,t)=>{const n=w(t)?t:L;let o=e.dom;const r=[];for(;null!==o.parentNode&&void 0!==o.parentNode;){const e=o.parentNode,t=yn(e);if(r.push(t),!0===n(t))break;o=e}return r},Bn=e=>I.from(e.dom.previousSibling).map(yn),Pn=e=>I.from(e.dom.nextSibling).map(yn),Dn=e=>oe(wn(e,Bn)),Ln=e=>wn(e,Pn),Mn=e=>q(e.dom.childNodes,yn),In=(e,t)=>{const n=e.dom.childNodes;return I.from(n[t]).map(yn)},Fn=e=>In(e,0),Un=e=>In(e,e.dom.childNodes.length-1),zn=e=>e.dom.childNodes.length,jn=e=>Gt(e)&&C(e.dom.host),Hn=w(Element.prototype.attachShadow)&&w(Node.prototype.getRootNode),$n=N(Hn),qn=Hn?e=>yn(e.dom.getRootNode()):Nn,Vn=e=>jn(e)?e:(e=>{const t=e.dom.head;if(null==t)throw new Error("Head is not available yet");return yn(t)})(Nn(e)),Wn=e=>yn(e.dom.host),Kn=e=>{if($n()&&C(e.target)){const t=yn(e.target);if(Wt(t)&&Yn(t)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return le(t)}}return I.from(e.target)},Yn=e=>C(e.dom.shadowRoot),Gn=e=>{const t=Kt(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=qn(e);return jn(t)?I.some(t):I.none()})(yn(t)).fold((()=>n.body.contains(t)),k(Gn,Wn))};var Xn=(e,t,n,o,r)=>e(n,o)?I.some(n):w(r)&&r(n)?I.none():t(n,o,r);const Qn=(e,t,n)=>{let o=e.dom;const r=w(n)?n:L;for(;o.parentNode;){o=o.parentNode;const e=yn(o);if(t(e))return I.some(e);if(r(e))break}return I.none()},Jn=(e,t,n)=>Xn(((e,t)=>t(e)),Qn,e,t,n),Zn=(e,t)=>{const n=e=>{for(let o=0;oQn(e,(e=>xn(e,t)),n),to=(e,t)=>((e,t)=>{const n=void 0===t?document:t.dom;return En(n)?I.none():I.from(n.querySelector(e)).map(yn)})(t,e),no=(e,t,n)=>Xn(((e,t)=>xn(e,t)),eo,e,t,n),oo=(e,t=!1)=>{return Gn(e)?e.dom.isContentEditable:(n=e,no(n,"[contenteditable]")).fold(N(t),(e=>"true"===ro(e)));var n},ro=e=>e.dom.contentEditable,so=e=>void 0!==e.style&&w(e.style.getPropertyValue),ao=(e,t,n)=>{if(!m(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);so(e)&&e.style.setProperty(t,n)},io=(e,t,n)=>{const o=e.dom;ao(o,t,n)},lo=(e,t)=>{const n=e.dom;ge(t,((e,t)=>{ao(n,t,e)}))},co=(e,t)=>{const n=e.dom,o=window.getComputedStyle(n).getPropertyValue(t);return""!==o||Gn(e)?o:uo(n,t)},uo=(e,t)=>so(e)?e.style.getPropertyValue(t):"",mo=(e,t)=>{const n=e.dom,o=uo(n,t);return I.from(o).filter((e=>e.length>0))},fo=e=>{const t={},n=e.dom;if(so(n))for(let e=0;e{((e,t)=>{so(e)&&e.style.removeProperty(t)})(e.dom,t),Dt(tn(e,"style").map(Ve),"")&&on(e,"style")},po=(e,t)=>{An(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},ho=(e,t)=>{Pn(e).fold((()=>{An(e).each((e=>{vo(e,t)}))}),(e=>{po(e,t)}))},bo=(e,t)=>{Fn(e).fold((()=>{vo(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))},vo=(e,t)=>{e.dom.appendChild(t.dom)},yo=(e,t)=>{po(e,t),vo(t,e)},Co=(e,t)=>{V(t,(t=>{vo(e,t)}))},wo=e=>{e.dom.textContent="",V(Mn(e),(e=>{xo(e)}))},xo=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Eo=e=>{const t=Mn(e);var n,o;t.length>0&&(n=e,V(o=t,((e,t)=>{const r=0===t?n:o[t-1];ho(r,e)}))),xo(e)},_o=e=>q(e,yn),So=e=>e.dom.innerHTML,ko=(e,t)=>{const n=kn(e).dom,o=yn(n.createDocumentFragment()),r=((e,t)=>{const n=(t||document).createElement("div");return n.innerHTML=e,Mn(yn(n))})(t,n);Co(o,r),wo(e),vo(e,o)},No=(e,t,n,o)=>((e,t,n,o,r)=>{const s=((e,t)=>n=>{e(n)&&t((e=>{const t=yn(Kn(e).getOr(e.target)),n=()=>e.stopPropagation(),o=()=>e.preventDefault(),r=S(o,n);return((e,t,n,o,r,s,a)=>({target:e,x:t,y:n,stop:o,prevent:r,kill:s,raw:a}))(t,e.clientX,e.clientY,n,o,r,e)})(n))})(n,o);return e.dom.addEventListener(t,s,false),{unbind:T(Ro,e,t,s,false)}})(e,t,n,o),Ro=(e,t,n,o)=>{e.dom.removeEventListener(t,n,o)},Ao=(e,t)=>({left:e,top:t,translate:(n,o)=>Ao(e+n,t+o)}),To=Ao,Oo=(e,t)=>void 0!==e?e:void 0!==t?t:0,Bo=e=>{const t=e.dom,n=t.ownerDocument.body;return n===t?To(n.offsetLeft,n.offsetTop):Gn(e)?(e=>{const t=e.getBoundingClientRect();return To(t.left,t.top)})(t):To(0,0)},Po=e=>{const t=void 0!==e?e.dom:document,n=t.body.scrollLeft||t.documentElement.scrollLeft,o=t.body.scrollTop||t.documentElement.scrollTop;return To(n,o)},Do=(e,t,n)=>{const o=(void 0!==n?n.dom:document).defaultView;o&&o.scrollTo(e,t)},Lo=(e,t)=>{xt().browser.isSafari()&&w(e.dom.scrollIntoViewIfNeeded)?e.dom.scrollIntoViewIfNeeded(!1):e.dom.scrollIntoView(t)},Mo=(e,t,n,o)=>({x:e,y:t,width:n,height:o,right:e+n,bottom:t+o}),Io=e=>{const t=void 0===e?window:e,n=t.document,o=Po(yn(n));return(e=>{const t=void 0===e?window:e;return xt().browser.isFirefox()?I.none():I.from(t.visualViewport)})(t).fold((()=>{const e=t.document.documentElement,n=e.clientWidth,r=e.clientHeight;return Mo(o.left,o.top,n,r)}),(e=>Mo(Math.max(e.pageLeft,o.left),Math.max(e.pageTop,o.top),e.width,e.height)))},Fo=(e,t)=>{let n=[];return V(Mn(e),(e=>{t(e)&&(n=n.concat([e])),n=n.concat(Fo(e,t))})),n},Uo=(e,t)=>((e,t)=>{const n=void 0===t?document:t.dom;return En(n)?[]:q(n.querySelectorAll(e),yn)})(t,e),zo=(e,t,n)=>eo(e,t,n).isSome();class jo{constructor(e,t){this.node=e,this.rootNode=t,this.current=this.current.bind(this),this.next=this.next.bind(this),this.prev=this.prev.bind(this),this.prev2=this.prev2.bind(this)}current(){return this.node}next(e){return this.node=this.findSibling(this.node,"firstChild","nextSibling",e),this.node}prev(e){return this.node=this.findSibling(this.node,"lastChild","previousSibling",e),this.node}prev2(e){return this.node=this.findPreviousNode(this.node,e),this.node}findSibling(e,t,n,o){if(e){if(!o&&e[t])return e[t];if(e!==this.rootNode){let t=e[n];if(t)return t;for(let o=e.parentNode;o&&o!==this.rootNode;o=o.parentNode)if(t=o[n],t)return t}}}findPreviousNode(e,t){if(e){const n=e.previousSibling;if(this.rootNode&&n===this.rootNode)return;if(n){if(!t)for(let e=n.lastChild;e;e=e.lastChild)if(!e.lastChild)return e;return n}const o=e.parentNode;if(o&&o!==this.rootNode)return o}}}const Ho=e=>t=>!!t&&t.nodeType===e,$o=e=>!!e&&!Object.getPrototypeOf(e),qo=Ho(1),Vo=e=>qo(e)&&Vt(yn(e)),Wo=e=>{const t=e.toLowerCase();return e=>C(e)&&e.nodeName.toLowerCase()===t},Ko=e=>{const t=e.map((e=>e.toLowerCase()));return e=>{if(e&&e.nodeName){const n=e.nodeName.toLowerCase();return H(t,n)}return!1}},Yo=(e,t)=>{const n=t.toLowerCase().split(" ");return t=>{if(qo(t)){const o=t.ownerDocument.defaultView;if(o)for(let r=0;rt=>qo(t)&&t.hasAttribute(e),Xo=e=>qo(e)&&e.hasAttribute("data-mce-bogus"),Qo=e=>qo(e)&&"TABLE"===e.tagName,Jo=e=>t=>{if(Vo(t)){if(t.contentEditable===e)return!0;if(t.getAttribute("data-mce-contenteditable")===e)return!0}return!1},Zo=Ko(["textarea","input"]),er=Ho(3),tr=Ho(4),nr=Ho(7),or=Ho(8),rr=Ho(9),sr=Ho(11),ar=Wo("br"),ir=Wo("img"),lr=Jo("true"),dr=Jo("false"),cr=Ko(["td","th"]),ur=Ko(["td","th","caption"]),mr=Ko(["video","audio","object","embed"]),fr=Wo("li"),gr=Wo("details"),pr=Wo("summary"),hr="\ufeff",br="\xa0",vr=e=>e===hr,yr=((e,t)=>{const n=t=>e(t)?I.from(t.dom.nodeValue):I.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return n(t).getOr("")},getOption:n,set:(t,n)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=n}}})(Kt),Cr=e=>yr.get(e),wr=e=>yr.getOption(e),xr=e=>{let t;return n=>(t=t||se(e,M),Ee(t,Ht(n)))},Er=e=>Wt(e)&&"br"===Ht(e),_r=xr(["h1","h2","h3","h4","h5","h6","p","div","address","pre","form","blockquote","center","dir","fieldset","header","footer","article","section","hgroup","aside","nav","figure"]),Sr=xr(["ul","ol","dl"]),kr=xr(["li","dd","dt"]),Nr=xr(["thead","tbody","tfoot"]),Rr=xr(["td","th"]),Ar=xr(["pre","script","textarea","style"]),Tr=()=>{const e=bn("br");return Jt(e,"data-mce-bogus","1"),e},Or=e=>{wo(e),vo(e,Tr())},Br=hr,Pr=vr,Dr=e=>e.replace(/\uFEFF/g,""),Lr=qo,Mr=er,Ir=e=>(Mr(e)&&(e=e.parentNode),Lr(e)&&e.hasAttribute("data-mce-caret")),Fr=e=>Mr(e)&&Pr(e.data),Ur=e=>Ir(e)||Fr(e),zr=e=>e.firstChild!==e.lastChild||!ar(e.firstChild),jr=e=>{const t=e.container();return!!er(t)&&(t.data.charAt(e.offset())===Br||e.isAtStart()&&Fr(t.previousSibling))},Hr=e=>{const t=e.container();return!!er(t)&&(t.data.charAt(e.offset()-1)===Br||e.isAtEnd()&&Fr(t.nextSibling))},$r=e=>Mr(e)&&e.data[0]===Br,qr=e=>Mr(e)&&e.data[e.data.length-1]===Br,Vr=e=>e&&e.hasAttribute("data-mce-caret")?((e=>{var t;const n=e.getElementsByTagName("br"),o=n[n.length-1];Xo(o)&&(null===(t=o.parentNode)||void 0===t||t.removeChild(o))})(e),e.removeAttribute("data-mce-caret"),e.removeAttribute("data-mce-bogus"),e.removeAttribute("style"),e.removeAttribute("data-mce-style"),e.removeAttribute("_moz_abspos"),e):null,Wr=e=>Ir(e.startContainer),Kr=lr,Yr=dr,Gr=ar,Xr=er,Qr=Ko(["script","style","textarea"]),Jr=Ko(["img","input","textarea","hr","iframe","video","audio","object","embed"]),Zr=Ko(["table"]),es=Ur,ts=e=>!es(e)&&(Xr(e)?!Qr(e.parentNode):Jr(e)||Gr(e)||Zr(e)||ns(e)),ns=e=>!(e=>qo(e)&&"true"===e.getAttribute("unselectable"))(e)&&Yr(e),os=(e,t)=>ts(e)&&((e,t)=>{for(let n=e.parentNode;n&&n!==t;n=n.parentNode){if(ns(n))return!1;if(Kr(n))return!0}return!0})(e,t),rs=/^[ \t\r\n]*$/,ss=e=>rs.test(e),as=e=>{for(const t of e)if(!vr(t))return!1;return!0},is=e=>"\n"===e||"\r"===e,ls=(e,t=4,n=!0,o=!0)=>{const r=((e,t)=>t<=0?"":new Array(t+1).join(" "))(0,t),s=e.replace(/\t/g,r),a=X(s,((e,t)=>(e=>-1!==" \f\t\v".indexOf(e))(t)||t===br?e.pcIsSpace||""===e.str&&n||e.str.length===s.length-1&&o||((e,t)=>t=0&&is(e[t]))(s,e.str.length+1)?{pcIsSpace:!1,str:e.str+br}:{pcIsSpace:!0,str:e.str+" "}:{pcIsSpace:is(t),str:e.str+t}),{pcIsSpace:!1,str:""});return a.str},ds=(e,t)=>ts(e)&&!((e,t)=>er(e)&&ss(e.data)&&!((e,t)=>{const n=yn(t),o=yn(e);return zo(o,"pre,code",T(_n,n))})(e,t))(e,t)||(e=>qo(e)&&"A"===e.nodeName&&!e.hasAttribute("href")&&(e.hasAttribute("name")||e.hasAttribute("id")))(e)||cs(e),cs=Go("data-mce-bookmark"),us=Go("data-mce-bogus"),ms=("data-mce-bogus","all",e=>qo(e)&&"all"===e.getAttribute("data-mce-bogus"));const fs=e=>Tn(yn(e)).exists((e=>!oo(e))),gs=(e,t=!0)=>((e,t)=>{let n=0;if(ds(e,e))return!1;{let o=e.firstChild;if(!o)return!0;const r=new jo(o,e);do{if(t){if(ms(o)){o=r.next(!0);continue}if(us(o)){o=r.next();continue}}if(lr(o)&&fs(o))return!1;if(ar(o))n++,o=r.next();else{if(ds(o,e))return!1;o=r.next()}}while(o);return n<=1}})(e.dom,t),ps=e=>"svg"===e.toLowerCase(),hs=e=>ps(e.nodeName),bs=e=>"svg"===(null==e?void 0:e.nodeName)?"svg":"html",vs=["svg"],ys="data-mce-block",Cs=e=>q((e=>Y(me(e),(e=>!/[A-Z]/.test(e))))(e),(e=>`${e}:`+q(vs,(t=>`not(${t} ${e})`)).join(":"))).join(","),ws=(e,t)=>C(t.querySelector(e))?(t.setAttribute(ys,"true"),"inline-boundary"===t.getAttribute("data-mce-selected")&&t.removeAttribute("data-mce-selected"),!0):(t.removeAttribute(ys),!1),xs=(e,t)=>{const n=Cs(e.getTransparentElements()),o=Cs(e.getBlockElements());return Y(t.querySelectorAll(n),(e=>ws(o,e)))},Es=(e,t)=>{var n;const o=t?"lastChild":"firstChild";for(let t=e[o];t;t=t[o])if(gs(yn(t)))return void(null===(n=t.parentNode)||void 0===n||n.removeChild(t))},_s=(e,t,n)=>{const o=e.getBlockElements(),r=yn(t),s=e=>Ht(e)in o,a=e=>_n(e,r);V(_o(n),(t=>{Qn(t,s,a).each((n=>{const o=((t,o)=>Y(Mn(t),(t=>s(t)&&!e.isValidChild(Ht(n),Ht(t)))))(t);if(o.length>0){const t=Tn(n);V(o,(e=>{Qn(e,s,a).each((t=>{((e,t)=>{const n=document.createRange(),o=e.parentNode;if(o){n.setStartBefore(e),n.setEndBefore(t);const r=n.extractContents();Es(r,!0),n.setStartAfter(t),n.setEndAfter(e);const s=n.extractContents();Es(s,!1),gs(yn(r))||o.insertBefore(r,e),gs(yn(t))||o.insertBefore(t,e),gs(yn(s))||o.insertBefore(s,e),o.removeChild(e)}})(t.dom,e.dom)}))})),t.each((t=>xs(e,t.dom)))}}))}))},Ss=(e,t)=>{const n=xs(e,t);_s(e,t,n),((e,t,n)=>{V([...n,...Ts(e,t)?[t]:[]],(t=>V(Uo(yn(t),t.nodeName.toLowerCase()),(t=>{Os(e,t.dom)&&Eo(t)}))))})(e,t,n)},ks=(e,t)=>{if(As(e,t)){const n=Cs(e.getBlockElements());ws(n,t)}},Ns=e=>e.hasAttribute(ys),Rs=(e,t)=>Ee(e.getTransparentElements(),t),As=(e,t)=>qo(t)&&Rs(e,t.nodeName),Ts=(e,t)=>As(e,t)&&Ns(t),Os=(e,t)=>As(e,t)&&!Ns(t),Bs=(e,t)=>1===t.type&&Rs(e,t.name)&&m(t.attr(ys)),Ps=xt().browser,Ds=e=>J(e,Wt),Ls=(e,t)=>e.children&&H(e.children,t),Ms=(e,t={})=>{let n=0;const o={},r=yn(e),s=Nn(r),a=e=>{vo(Vn(r),e)},i=e=>{const t=Vn(r);to(t,"#"+e).each(xo)},l=e=>xe(o,e).getOrThunk((()=>({id:"mce-u"+n++,passed:[],failed:[],count:0}))),d=e=>new Promise(((n,r)=>{let i;const d=Pt._addCacheSuffix(e),c=l(d);o[d]=c,c.count++;const u=(e,t)=>{V(e,D),c.status=t,c.passed=[],c.failed=[],i&&(i.onload=null,i.onerror=null,i=null)},m=()=>u(c.passed,2),f=()=>u(c.failed,3);if(n&&c.passed.push(n),r&&c.failed.push(r),1===c.status)return;if(2===c.status)return void m();if(3===c.status)return void f();c.status=1;const g=bn("link",s.dom);Zt(g,{rel:"stylesheet",type:"text/css",id:c.id}),t.contentCssCors&&Jt(g,"crossOrigin","anonymous"),t.referrerPolicy&&Jt(g,"referrerpolicy",t.referrerPolicy),i=g.dom,i.onload=m,i.onerror=f,a(g),Jt(g,"href",d)})),c=e=>{const t=Pt._addCacheSuffix(e);xe(o,t).each((e=>{0==--e.count&&(delete o[t],i(e.id))}))};return{load:d,loadRawCss:(e,t)=>{const n=l(e);o[e]=n,n.count++;const r=bn("style",s.dom);Zt(r,{rel:"stylesheet",type:"text/css",id:n.id}),r.dom.innerHTML=t,a(r)},loadAll:e=>Promise.allSettled(q(e,(e=>d(e).then(N(e))))).then((e=>{const t=K(e,(e=>"fulfilled"===e.status));return t.fail.length>0?Promise.reject(q(t.fail,(e=>e.reason))):q(t.pass,(e=>e.value))})),unload:c,unloadRawCss:e=>{xe(o,e).each((t=>{0==--t.count&&(delete o[e],i(t.id))}))},unloadAll:e=>{V(e,(e=>{c(e)}))},_setReferrerPolicy:e=>{t.referrerPolicy=e},_setContentCssCors:e=>{t.contentCssCors=e}}},Is=(()=>{const e=new WeakMap;return{forElement:(t,n)=>{const o=qn(t).dom;return I.from(e.get(o)).getOrThunk((()=>{const t=Ms(o,n);return e.set(o,t),t}))}}})(),Fs=(e,t,n)=>C(e)&&(ds(e,t)||n.isInline(e.nodeName.toLowerCase())),Us=e=>(e=>"span"===e.nodeName.toLowerCase())(e)&&"bookmark"===e.getAttribute("data-mce-type"),zs=(e,t,n,o)=>{var r;const s=o||t;if(qo(t)&&Us(t))return t;const a=t.childNodes;for(let t=a.length-1;t>=0;t--)zs(e,a[t],n,s);if(qo(t)){const e=t.childNodes;1===e.length&&Us(e[0])&&(null===(r=t.parentNode)||void 0===r||r.insertBefore(e[0],t))}return(e=>sr(e)||rr(e))(t)||ds(t,s)||(e=>!!qo(e)&&e.childNodes.length>0)(t)||((e,t,n)=>er(e)&&e.data.length>0&&((e,t,n)=>{const o=new jo(e,t).prev(!1),r=new jo(e,t).next(!1),s=v(o)||Fs(o,t,n),a=v(r)||Fs(r,t,n);return s&&a})(e,t,n))(t,s,n)||e.remove(t),t},js=Pt.makeMap,Hs=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,$s=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,qs=/[<>&\"\']/g,Vs=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,Ws={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"},Ks={'"':""","'":"'","<":"<",">":">","&":"&","`":"`"},Ys={"<":"<",">":">","&":"&",""":'"',"'":"'"},Gs=(e,t)=>{const n={};if(e){const o=e.split(",");t=t||10;for(let e=0;ee.replace(t?Hs:$s,(e=>Ks[e]||e)),Js=(e,t)=>e.replace(t?Hs:$s,(e=>e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":Ks[e]||"&#"+e.charCodeAt(0)+";")),Zs=(e,t,n)=>{const o=n||Xs;return e.replace(t?Hs:$s,(e=>Ks[e]||o[e]||e))},ea={encodeRaw:Qs,encodeAllRaw:e=>(""+e).replace(qs,(e=>Ks[e]||e)),encodeNumeric:Js,encodeNamed:Zs,getEncodeFunc:(e,t)=>{const n=Gs(t)||Xs,o=js(e.replace(/\+/g,","));return o.named&&o.numeric?(e,t)=>e.replace(t?Hs:$s,(e=>void 0!==Ks[e]?Ks[e]:void 0!==n[e]?n[e]:e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":"&#"+e.charCodeAt(0)+";")):o.named?t?(e,t)=>Zs(e,t,n):Zs:o.numeric?Js:Qs},decode:e=>e.replace(Vs,((e,t)=>t?(t="x"===t.charAt(0).toLowerCase()?parseInt(t.substr(1),16):parseInt(t,10))>65535?(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t))):Ws[t]||String.fromCharCode(t):Ys[e]||Xs[e]||(e=>{const t=bn("div").dom;return t.innerHTML=e,t.textContent||t.innerText||e})(e)))},ta=(e,t)=>(e=Pt.trim(e))?e.split(t||" "):[],na=e=>new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$"),oa={},ra=Pt.makeMap,sa=Pt.each,aa=Pt.extend,ia=Pt.explode,la=(e,t={})=>{const n=ra(e," ",ra(e.toUpperCase()," "));return aa(n,t)},da=e=>la("td th li dt dd figcaption caption details summary",e.getTextBlockElements()),ca=(e,t)=>{if(e){const n={};return m(e)&&(e={"*":e}),sa(e,((e,o)=>{n[o]=n[o.toUpperCase()]="map"===t?ra(e,/[, ]/):ia(e,/[, ]/)})),n}},ua=(e={})=>{var t;const n={},o={};let r=[];const s={},a={},i=(t,n,o)=>{const r=e[t];if(r)return ra(r,/[, ]/,ra(r.toUpperCase(),/[, ]/));{let e=oa[t];return e||(e=la(n,o),oa[t]=e),e}},l=null!==(t=e.schema)&&void 0!==t?t:"html5",d=(e=>{const{globalAttributes:t,phrasingContent:n,flowContent:o}=(e=>{let t,n,o;t="id accesskey class dir lang style tabindex title role",n="address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",o="a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment","html4"!==e&&(t+=" contenteditable contextmenu draggable dropzone hidden spellcheck translate",n+=" article aside details dialog figure main header footer hgroup section nav a ins del canvas map",o+=" audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen svg"),"html5-strict"!==e&&(t+=" xml:lang",o=[o,"acronym applet basefont big font strike tt"].join(" "),n=[n,"center dir isindex noframes"].join(" "));const r=[n,o].join(" ");return{globalAttributes:t,blockContent:n,phrasingContent:o,flowContent:r}})(e),r={},s=(e,t,n)=>{r[e]={attributes:se(t,N({})),attributesOrder:t,children:se(n,N({}))}},a=(e,n="",o="")=>{const r=ta(o),a=ta(e);let i=a.length;const l=ta([t,n].join(" "));for(;i--;)s(a[i],l.slice(),r)},i=(e,t)=>{const n=ta(e),o=ta(t);let s=n.length;for(;s--;){const e=r[n[s]];for(let t=0,n=o.length;t{a(e,"",n)})),V(ta("center dir isindex noframes"),(e=>{a(e,"",o)}))),a("html","manifest","head body"),a("head","","base command link meta noscript script style title"),a("title hr noscript br"),a("base","href target"),a("link","href rel media hreflang type sizes hreflang"),a("meta","name http-equiv content charset"),a("style","media type scoped"),a("script","src async defer type charset"),a("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",o),a("dd div","",o),a("address dt caption","","html4"===e?n:o),a("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",n),a("blockquote","cite",o),a("ol","reversed start type","li"),a("ul","","li"),a("li","value",o),a("dl","","dt dd"),a("a","href target rel media hreflang type","html4"===e?n:o),a("q","cite",n),a("ins del","cite datetime",o),a("img","src sizes srcset alt usemap ismap width height"),a("iframe","src name width height",o),a("embed","src type width height"),a("object","data type typemustmatch name usemap form width height",[o,"param"].join(" ")),a("param","name value"),a("map","name",[o,"area"].join(" ")),a("area","alt coords shape href target rel media hreflang type"),a("table","border","caption colgroup thead tfoot tbody tr"+("html4"===e?" col":"")),a("colgroup","span","col"),a("col","span"),a("tbody thead tfoot","","tr"),a("tr","","td th"),a("td","colspan rowspan headers",o),a("th","colspan rowspan headers scope abbr",o),a("form","accept-charset action autocomplete enctype method name novalidate target",o),a("fieldset","disabled form name",[o,"legend"].join(" ")),a("label","form for",n),a("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),a("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"===e?o:n),a("select","disabled form multiple name required size","option optgroup"),a("optgroup","disabled label","option"),a("option","disabled label selected value"),a("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),a("menu","type label",[o,"li"].join(" ")),a("noscript","",o),"html4"!==e&&(a("wbr"),a("ruby","",[n,"rt rp"].join(" ")),a("figcaption","",o),a("mark rt rp bdi","",n),a("summary","",[n,"h1 h2 h3 h4 h5 h6"].join(" ")),a("canvas","width height",o),a("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",[o,"track source"].join(" ")),a("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",[o,"track source"].join(" ")),a("picture","","img source"),a("source","src srcset type media sizes"),a("track","kind src srclang label default"),a("datalist","",[n,"option"].join(" ")),a("article section nav aside main header footer","",o),a("hgroup","","h1 h2 h3 h4 h5 h6"),a("figure","",[o,"figcaption"].join(" ")),a("time","datetime",n),a("dialog","open",o),a("command","type label icon disabled checked radiogroup command"),a("output","for form name",n),a("progress","value max",n),a("meter","value min max low high optimum",n),a("details","open",[o,"summary"].join(" ")),a("keygen","autofocus challenge disabled form keytype name"),s("svg","id tabindex lang xml:space class style x y width height viewBox preserveAspectRatio zoomAndPan transform".split(" "),[])),"html5-strict"!==e&&(i("script","language xml:space"),i("style","xml:space"),i("object","declare classid code codebase codetype archive standby align border hspace vspace"),i("embed","align name hspace vspace"),i("param","valuetype type"),i("a","charset name rev shape coords"),i("br","clear"),i("applet","codebase archive code object alt name width height align hspace vspace"),i("img","name longdesc align border hspace vspace"),i("iframe","longdesc frameborder marginwidth marginheight scrolling align"),i("font basefont","size color face"),i("input","usemap align"),i("select"),i("textarea"),i("h1 h2 h3 h4 h5 h6 div p legend caption","align"),i("ul","type compact"),i("li","type"),i("ol dl menu dir","compact"),i("pre","width xml:space"),i("hr","align noshade size width"),i("isindex","prompt"),i("table","summary width frame rules cellspacing cellpadding align bgcolor"),i("col","width align char charoff valign"),i("colgroup","width align char charoff valign"),i("thead","align char charoff valign"),i("tr","align char charoff valign bgcolor"),i("th","axis align char charoff valign nowrap bgcolor width height"),i("form","accept"),i("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),i("tfoot","align char charoff valign"),i("tbody","align char charoff valign"),i("area","nohref"),i("body","background bgcolor text link vlink alink")),"html4"!==e&&(i("input button select textarea","autofocus"),i("input textarea","placeholder"),i("a","download"),i("link script img","crossorigin"),i("img","loading"),i("iframe","sandbox seamless allow allowfullscreen loading")),"html4"!==e&&V([r.video,r.audio],(e=>{delete e.children.audio,delete e.children.video})),V(ta("a form meter progress dfn"),(e=>{r[e]&&delete r[e].children[e]})),delete r.caption.children.table,delete r.script,r})(l);!1===e.verify_html&&(e.valid_elements="*[*]");const c=ca(e.valid_styles),u=ca(e.invalid_styles,"map"),m=ca(e.valid_classes,"map"),f=i("whitespace_elements","pre script noscript style textarea video audio iframe object code"),g=i("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),p=i("void_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),h=i("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls allowfullscreen"),b="td th iframe video audio object script code",v=i("non_empty_elements",b+" pre svg",p),y=i("move_caret_before_on_enter_elements",b+" table",p),C="h1 h2 h3 h4 h5 h6",w=i("text_block_elements",C+" p div address pre form blockquote center dir fieldset header footer article section hgroup aside main nav figure"),x=i("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption details summary html body multicol listing",w),E=i("text_inline_elements","span strong b em i font s strike u var cite dfn code mark q sup sub samp"),_=i("transparent_elements","a ins del canvas map"),S=i("wrap_block_elements","pre "+C);sa("script noscript iframe noframes noembed title style textarea xmp plaintext".split(" "),(e=>{a[e]=new RegExp("]*>","gi")}));const k=e=>{const t=I.from(n["@"]),o=/[*?+]/;V(((e,t)=>{const n=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)])?$/;return te(ta(t,","),(t=>{const o=n.exec(t);if(o){const t=o[1],n=o[2],r=o[3],s=o[4],a=o[5],i={attributes:{},attributesOrder:[]};if(e.each((e=>((e,t)=>{ge(e.attributes,((e,n)=>{t.attributes[n]=e})),t.attributesOrder.push(...e.attributesOrder)})(e,i))),"#"===t?i.paddEmpty=!0:"-"===t&&(i.removeEmpty=!0),"!"===s&&(i.removeEmptyAttrs=!0),a&&((e,t)=>{const n=/^([!\-])?(\w+[\\:]:\w+|[^=~<]+)?(?:([=~<])(.*))?$/,o=/[*?+]/,{attributes:r,attributesOrder:s}=t;V(ta(e,"|"),(e=>{const a=n.exec(e);if(a){const e={},n=a[1],i=a[2].replace(/[\\:]:/g,":"),l=a[3],d=a[4];if("!"===n&&(t.attributesRequired=t.attributesRequired||[],t.attributesRequired.push(i),e.required=!0),"-"===n)return delete r[i],void s.splice(Pt.inArray(s,i),1);if(l&&("="===l?(t.attributesDefault=t.attributesDefault||[],t.attributesDefault.push({name:i,value:d}),e.defaultValue=d):"~"===l?(t.attributesForced=t.attributesForced||[],t.attributesForced.push({name:i,value:d}),e.forcedValue=d):"<"===l&&(e.validValues=Pt.makeMap(d,"?"))),o.test(i)){const n=e;t.attributePatterns=t.attributePatterns||[],n.pattern=na(i),t.attributePatterns.push(n)}else r[i]||s.push(i),r[i]=e}}))})(a,i),r&&(i.outputName=n),"@"===n){if(!e.isNone())return[];e=I.some(i)}return[r?{name:n,element:i,aliasName:r}:{name:n,element:i}]}return[]}))})(t,null!=e?e:""),(({name:e,element:t,aliasName:s})=>{if(s&&(n[s]=t),o.test(e)){const n=t;n.pattern=na(e),r.push(n)}else n[e]=t}))},R=e=>{r=[],V(me(n),(e=>{delete n[e]})),k(e)},A=e=>{delete oa.text_block_elements,delete oa.block_elements,V((e=>{const t=/^(~)?(.+)$/;return te(ta(e,","),(e=>{const n=t.exec(e);if(n){const e="~"===n[1];return[{inline:e,cloneName:e?"span":"div",name:n[2]}]}return[]}))})(null!=e?e:""),(({inline:e,name:t,cloneName:r})=>{if(o[t]=o[r],s[t]=r,v[t.toUpperCase()]={},v[t]={},e||(x[t.toUpperCase()]={},x[t]={}),!n[t]){let e=n[r];e=aa({},e),delete e.removeEmptyAttrs,delete e.removeEmpty,n[t]=e}ge(o,((e,n)=>{e[r]&&(o[n]=e=aa({},o[n]),e[t]=e[r])}))}))},T=e=>{V((e=>{const t=/^([+\-]?)([A-Za-z0-9_\-.\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u037d\u037f-\u1fff\u200c-\u200d\u203f-\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]+)\[([^\]]+)]$/;return te(ta(e,","),(e=>{const n=t.exec(e);if(n){const e=n[1],t=e?(e=>"-"===e?"remove":"add")(e):"replace";return[{operation:t,name:n[2],validChildren:ta(n[3],"|")}]}return[]}))})(null!=e?e:""),(({operation:e,name:t,validChildren:n})=>{const r="replace"===e?{"#comment":{}}:o[t];V(n,(t=>{"remove"===e?delete r[t]:r[t]={}})),o[t]=r}))},O=e=>{const t=n[e];if(t)return t;let o=r.length;for(;o--;){const t=r[o];if(t.pattern.test(e))return t}};e.valid_elements?(R(e.valid_elements),sa(d,((e,t)=>{o[t]=e.children}))):(sa(d,((e,t)=>{n[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},o[t]=e.children})),sa(ta("strong/b em/i"),(e=>{const t=ta(e,"/");n[t[1]].outputName=t[0]})),sa(E,((t,o)=>{n[o]&&(e.padd_empty_block_inline_children&&(n[o].paddInEmptyBlock=!0),n[o].removeEmpty=!0)})),sa(ta("ol ul blockquote a table tbody"),(e=>{n[e]&&(n[e].removeEmpty=!0)})),sa(ta("p h1 h2 h3 h4 h5 h6 th td pre div address caption li summary"),(e=>{n[e]&&(n[e].paddEmpty=!0)})),sa(ta("span"),(e=>{n[e].removeEmptyAttrs=!0}))),delete n.svg,A(e.custom_elements),T(e.valid_children),k(e.extended_valid_elements),T("+ol[ul|ol],+ul[ul|ol]"),sa({dd:"dl",dt:"dl",li:"ul ol",td:"tr",th:"tr",tr:"tbody thead tfoot",tbody:"table",thead:"table",tfoot:"table",legend:"fieldset",area:"map",param:"video audio object"},((e,t)=>{n[t]&&(n[t].parentsRequired=ta(e))})),e.invalid_elements&&sa(ia(e.invalid_elements),(e=>{n[e]&&delete n[e]})),O("span")||k("span[!data-mce-type|*]");const B=N(c),P=N(u),D=N(m),L=N(h),M=N(x),F=N(w),U=N(E),z=N(Object.seal(p)),j=N(g),H=N(v),$=N(y),q=N(f),W=N(_),K=N(S),Y=N(Object.seal(a)),G=(e,t)=>{const n=O(e);if(n){if(!t)return!0;{if(n.attributes[t])return!0;const e=n.attributePatterns;if(e){let n=e.length;for(;n--;)if(e[n].pattern.test(t))return!0}}}return!1},X=e=>Ee(M(),e),Q=e=>!He(e,"#")&&G(e)&&!X(e),J=N(s);return{type:l,children:o,elements:n,getValidStyles:B,getValidClasses:D,getBlockElements:M,getInvalidStyles:P,getVoidElements:z,getTextBlockElements:F,getTextInlineElements:U,getBoolAttrs:L,getElementRule:O,getSelfClosingElements:j,getNonEmptyElements:H,getMoveCaretBeforeOnEnterElements:$,getWhitespaceElements:q,getTransparentElements:W,getSpecialElements:Y,isValidChild:(e,t)=>{const n=o[e.toLowerCase()];return!(!n||!n[t.toLowerCase()])},isValid:G,isBlock:X,isInline:Q,isWrapper:e=>Ee(K(),e)||Q(e),getCustomElements:J,addValidElements:k,setValidElements:R,addCustomElements:A,addValidChildren:T}},ma=e=>{const t=e.toString(16);return(1===t.length?"0"+t:t).toUpperCase()},fa=e=>(e=>{return{value:(t=e,ze(t,"#").toUpperCase())};var t})(ma(e.red)+ma(e.green)+ma(e.blue)),ga=/^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)\s*$/i,pa=/^\s*rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?(?:\.\d+)?)\s*\)\s*$/i,ha=(e,t,n,o)=>({red:e,green:t,blue:n,alpha:o}),ba=(e,t,n,o)=>{const r=parseInt(e,10),s=parseInt(t,10),a=parseInt(n,10),i=parseFloat(o);return ha(r,s,a,i)},va=e=>{if("transparent"===e)return I.some(ha(0,0,0,0));const t=ga.exec(e);if(null!==t)return I.some(ba(t[1],t[2],t[3],"1"));const n=pa.exec(e);return null!==n?I.some(ba(n[1],n[2],n[3],n[4])):I.none()},ya=e=>`rgba(${e.red},${e.green},${e.blue},${e.alpha})`,Ca=e=>va(e).map(fa).map((e=>"#"+e.value)).getOr(e),wa=(e={},t)=>{const n=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,r=/\s+$/,s={};let a,i;const l=hr;t&&(a=t.getValidStyles(),i=t.getInvalidStyles());const d="\\\" \\' \\; \\: ; : \ufeff".split(" ");for(let e=0;e{const a={};let i=!1;const d=e.url_converter,u=e.url_converter_scope||c,f=(e,t,n)=>{const o=a[e+"-top"+t];if(!o)return;const r=a[e+"-right"+t];if(!r)return;const s=a[e+"-bottom"+t];if(!s)return;const i=a[e+"-left"+t];if(!i)return;const l=[o,r,s,i];let d=l.length-1;for(;d--&&l[d]===l[d+1];);d>-1&&n||(a[e+t]=-1===d?l[0]:l.join(" "),delete a[e+"-top"+t],delete a[e+"-right"+t],delete a[e+"-bottom"+t],delete a[e+"-left"+t])},g=e=>{const t=a[e];if(!t)return;const n=t.indexOf(",")>-1?[t]:t.split(" ");let o=n.length;for(;o--;)if(n[o]!==n[0])return!1;return a[e]=n[0],!0},p=e=>(i=!0,s[e]),h=(e,t)=>(i&&(e=e.replace(/\uFEFF[0-9]/g,(e=>s[e]))),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e),b=e=>String.fromCharCode(parseInt(e.slice(1),16)),v=e=>e.replace(/\\[0-9a-f]+/gi,b),y=(t,n,o,r,s,a)=>{if(s=s||a)return"'"+(s=h(s)).replace(/\'/g,"\\'")+"'";if(n=h(n||o||r||""),!e.allow_script_urls){const t=n.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(t))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(t))return""}return d&&(n=d.call(u,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"};if(t){let s;for(t=(t=t.replace(/[\u0000-\u001F]/g,"")).replace(/\\[\"\';:\uFEFF]/g,p).replace(/\"[^\"]+\"|\'[^\']+\'/g,(e=>e.replace(/[;:]/g,p)));s=o.exec(t);){o.lastIndex=s.index+s[0].length;let t=s[1].replace(r,"").toLowerCase(),d=s[2].replace(r,"");if(t&&d){if(t=v(t),d=v(d),-1!==t.indexOf(l)||-1!==t.indexOf('"'))continue;if(!e.allow_script_urls&&("behavior"===t||/expression\s*\(|\/\*|\*\//.test(d)))continue;"font-weight"===t&&"700"===d?d="bold":"color"!==t&&"background-color"!==t||(d=d.toLowerCase()),m(e.force_hex_color)&&"off"!==e.force_hex_color&&va(d).each((t=>{"always"!==e.force_hex_color&&1!==t.alpha||(d=Ca(ya(t)))})),d=d.replace(n,y),a[t]=i?h(d,!0):d}}f("border","",!0),f("border","-width"),f("border","-color"),f("border","-style"),f("padding",""),f("margin",""),"border",w="border-style",x="border-color",g(C="border-width")&&g(w)&&g(x)&&(a.border=a[C]+" "+a[w]+" "+a[x],delete a[C],delete a[w],delete a[x]),"medium none"===a.border&&delete a.border,"none"===a["border-image"]&&delete a["border-image"]}var C,w,x;return a},serialize:(e,t)=>{let n="";const o=(t,o)=>{const r=o[t];if(r)for(let t=0,o=r.length;t0?" ":"")+o+": "+s+";")}};return t&&a?(o("*",a),o(t,a)):ge(e,((e,o)=>{e&&((e,t)=>{if(!i||!t)return!0;let n=i["*"];return!(n&&n[e]||(n=i[t],n&&n[e]))})(o,t)&&(n+=(n.length>0?" ":"")+o+": "+e+";")})),n}};return c},xa={keyLocation:!0,layerX:!0,layerY:!0,returnValue:!0,webkitMovementX:!0,webkitMovementY:!0,keyIdentifier:!0,mozPressure:!0},Ea=(e,t)=>{const n=null!=t?t:{};for(const t in e)Ee(xa,t)||(n[t]=e[t]);return C(e.composedPath)&&(n.composedPath=()=>e.composedPath()),C(e.getModifierState)&&(n.getModifierState=t=>e.getModifierState(t)),C(e.getTargetRanges)&&(n.getTargetRanges=()=>e.getTargetRanges()),n},_a=(e,t,n,o)=>{var r;const s=Ea(t,o);return s.type=e,y(s.target)&&(s.target=null!==(r=s.srcElement)&&void 0!==r?r:n),(e=>y(e.preventDefault)||(e=>e instanceof Event||w(e.initEvent))(e))(t)&&(s.preventDefault=()=>{s.defaultPrevented=!0,s.isDefaultPrevented=M,w(t.preventDefault)&&t.preventDefault()},s.stopPropagation=()=>{s.cancelBubble=!0,s.isPropagationStopped=M,w(t.stopPropagation)&&t.stopPropagation()},s.stopImmediatePropagation=()=>{s.isImmediatePropagationStopped=M,s.stopPropagation()},(e=>e.isDefaultPrevented===M||e.isDefaultPrevented===L)(s)||(s.isDefaultPrevented=!0===s.defaultPrevented?M:L,s.isPropagationStopped=!0===s.cancelBubble?M:L,s.isImmediatePropagationStopped=L)),s},Sa=/^(?:mouse|contextmenu)|click/,ka=(e,t,n,o)=>{e.addEventListener(t,n,o||!1)},Na=(e,t,n,o)=>{e.removeEventListener(t,n,o||!1)},Ra=(e,t)=>{const n=_a(e.type,e,document,t);if((e=>C(e)&&Sa.test(e.type))(e)&&v(e.pageX)&&!v(e.clientX)){const t=n.target.ownerDocument||document,o=t.documentElement,r=t.body,s=n;s.pageX=e.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),s.pageY=e.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)}return n},Aa=(e,t,n)=>{const o=e.document,r={type:"ready"};if(n.domLoaded)return void t(r);const s=()=>{Na(e,"DOMContentLoaded",s),Na(e,"load",s),n.domLoaded||(n.domLoaded=!0,t(r)),e=null};"complete"===o.readyState||"interactive"===o.readyState&&o.body?s():ka(e,"DOMContentLoaded",s),n.domLoaded||ka(e,"load",s)};class Ta{constructor(){this.domLoaded=!1,this.events={},this.count=1,this.expando="mce-data-"+(+new Date).toString(32),this.hasFocusIn="onfocusin"in document.documentElement,this.count=1}bind(e,t,n,o){const r=this;let s;const a=window,i=e=>{r.executeHandlers(Ra(e||a.event),l)};if(!e||er(e)||or(e))return n;let l;e[r.expando]?l=e[r.expando]:(l=r.count++,e[r.expando]=l,r.events[l]={}),o=o||e;const d=t.split(" ");let c=d.length;for(;c--;){let t=d[c],u=i,m=!1,f=!1;"DOMContentLoaded"===t&&(t="ready"),r.domLoaded&&"ready"===t&&"complete"===e.readyState?n.call(o,Ra({type:t})):(r.hasFocusIn||"focusin"!==t&&"focusout"!==t||(m=!0,f="focusin"===t?"focus":"blur",u=e=>{const t=Ra(e||a.event);t.type="focus"===t.type?"focusin":"focusout",r.executeHandlers(t,l)}),s=r.events[l][t],s?"ready"===t&&r.domLoaded?n(Ra({type:t})):s.push({func:n,scope:o}):(r.events[l][t]=s=[{func:n,scope:o}],s.fakeName=f,s.capture=m,s.nativeHandler=u,"ready"===t?Aa(e,u,r):ka(e,f||t,u,m)))}return e=s=null,n}unbind(e,t,n){if(!e||er(e)||or(e))return this;const o=e[this.expando];if(o){let r=this.events[o];if(t){const o=t.split(" ");let s=o.length;for(;s--;){const t=o[s],a=r[t];if(a){if(n){let e=a.length;for(;e--;)if(a[e].func===n){const n=a.nativeHandler,o=a.fakeName,s=a.capture,i=a.slice(0,e).concat(a.slice(e+1));i.nativeHandler=n,i.fakeName=o,i.capture=s,r[t]=i}}n&&0!==a.length||(delete r[t],Na(e,a.fakeName||t,a.nativeHandler,a.capture))}}}else ge(r,((t,n)=>{Na(e,t.fakeName||n,t.nativeHandler,t.capture)})),r={};for(const e in r)if(Ee(r,e))return this;delete this.events[o];try{delete e[this.expando]}catch(t){e[this.expando]=null}}return this}fire(e,t,n){return this.dispatch(e,t,n)}dispatch(e,t,n){if(!e||er(e)||or(e))return this;const o=Ra({type:t,target:e},n);do{const t=e[this.expando];t&&this.executeHandlers(o,t),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow}while(e&&!o.isPropagationStopped());return this}clean(e){if(!e||er(e)||or(e))return this;if(e[this.expando]&&this.unbind(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName){this.unbind(e);const t=e.getElementsByTagName("*");let n=t.length;for(;n--;)(e=t[n])[this.expando]&&this.unbind(e)}return this}destroy(){this.events={}}cancel(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}executeHandlers(e,t){const n=this.events[t],o=n&&n[e.type];if(o)for(let t=0,n=o.length;t{y(n)||""===n?on(e,t):Jt(e,t,n)},Ma=e=>e.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase())),Ia=(e,t)=>{let n=0;if(e)for(let o=e.nodeType,r=e.previousSibling;r;r=r.previousSibling){const e=r.nodeType;(!t||!er(r)||e!==o&&r.data.length)&&(n++,o=e)}return n},Fa=(e,t)=>{const n=en(t,"style"),o=e.serialize(e.parse(n),Ht(t));La(t,Pa,o)},Ua=(e,t,n)=>{const o=Ma(t);y(n)||""===n?go(e,o):io(e,o,((e,t)=>x(e)?Ee(Da,t)?e+"":e+"px":e)(n,o))},za=(e,t={})=>{const n={},o=window,r={};let s=0;const a=Is.forElement(yn(e),{contentCssCors:t.contentCssCors,referrerPolicy:t.referrerPolicy}),i=[],l=t.schema?t.schema:ua({}),d=wa({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope,force_hex_color:t.force_hex_color},t.schema),c=t.ownEvents?new Ta:Ta.Event,u=l.getBlockElements(),f=t=>t&&e&&m(t)?e.getElementById(t):t,g=e=>{const t=f(e);return C(t)?yn(t):null},h=(e,t,n="")=>{let o;const r=g(e);if(C(r)&&Wt(r)){const e=G[t];o=e&&e.get?e.get(r.dom,t):en(r,t)}return C(o)?o:n},b=e=>{const t=f(e);return y(t)?[]:t.attributes},v=(e,n,o)=>{O(e,(e=>{if(qo(e)){const r=yn(e),s=""===o?null:o,a=en(r,n),i=G[n];i&&i.set?i.set(r.dom,s,n):La(r,n,s),a!==s&&t.onSetAttrib&&t.onSetAttrib({attrElm:r.dom,attrName:n,attrValue:s})}}))},x=()=>t.root_element||e.body,E=(t,n)=>((e,t,n)=>{let o=0,r=0;const s=e.ownerDocument;if(n=n||e,t){if(n===e&&t.getBoundingClientRect&&"static"===co(yn(e),"position")){const n=t.getBoundingClientRect();return o=n.left+(s.documentElement.scrollLeft||e.scrollLeft)-s.documentElement.clientLeft,r=n.top+(s.documentElement.scrollTop||e.scrollTop)-s.documentElement.clientTop,{x:o,y:r}}let a=t;for(;a&&a!==n&&a.nodeType&&!Ls(a,n);){const e=a;o+=e.offsetLeft||0,r+=e.offsetTop||0,a=e.offsetParent}for(a=t.parentNode;a&&a!==n&&a.nodeType&&!Ls(a,n);)o-=a.scrollLeft||0,r-=a.scrollTop||0,a=a.parentNode;r+=(e=>Ps.isFirefox()&&"table"===Ht(e)?Ds(Mn(e)).filter((e=>"caption"===Ht(e))).bind((e=>Ds(Ln(e)).map((t=>{const n=t.dom.offsetTop,o=e.dom.offsetTop,r=e.dom.offsetHeight;return n<=o?-r:0})))).getOr(0):0)(yn(t))}return{x:o,y:r}})(e.body,f(t),n),S=(e,t,n)=>{const o=f(e);var r;if(!y(o)&&(Vo(o)||qo(r=o)&&"http://www.w3.org/2000/svg"===r.namespaceURI))return n?co(yn(o),Ma(t)):("float"===(t=t.replace(/-(\D)/g,((e,t)=>t.toUpperCase())))&&(t="cssFloat"),o.style?o.style[t]:void 0)},k=e=>{const t=f(e);if(!t)return{w:0,h:0};let n=S(t,"width"),o=S(t,"height");return n&&-1!==n.indexOf("px")||(n="0"),o&&-1!==o.indexOf("px")||(o="0"),{w:parseInt(n,10)||t.offsetWidth||t.clientWidth,h:parseInt(o,10)||t.offsetHeight||t.clientHeight}},R=(e,t)=>{if(!e)return!1;const n=p(e)?e:[e];return $(n,(e=>xn(yn(e),t)))},A=(e,t,n,o)=>{const r=[];let s=f(e);o=void 0===o;const a=n||("BODY"!==x().nodeName?x().parentNode:null);if(m(t))if("*"===t)t=qo;else{const e=t;t=t=>R(t,e)}for(;s&&!(s===a||y(s.nodeType)||rr(s)||sr(s));){if(!t||t(s)){if(!o)return[s];r.push(s)}s=s.parentNode}return o?r:null},T=(e,t,n)=>{let o=t;if(e){m(t)&&(o=e=>R(e,t));for(let t=e[n];t;t=t[n])if(w(o)&&o(t))return t}return null},O=function(e,t,n){const o=null!=n?n:this;if(p(e)){const n=[];return Oa(e,((e,r)=>{const s=f(e);s&&n.push(t.call(o,s,r))})),n}{const n=f(e);return!!n&&t.call(o,n)}},B=(e,t)=>{O(e,(e=>{ge(t,((t,n)=>{v(e,n,t)}))}))},P=(e,t)=>{O(e,(e=>{const n=yn(e);ko(n,t)}))},D=(t,n,o,r,s)=>O(t,(t=>{const a=m(n)?e.createElement(n):n;return C(o)&&B(a,o),r&&(!m(r)&&r.nodeType?a.appendChild(r):m(r)&&P(a,r)),s?a:t.appendChild(a)})),L=(t,n,o)=>D(e.createElement(t),t,n,o,!0),M=ea.encodeAllRaw,I=(e,t)=>O(e,(e=>{const n=yn(e);return t&&V(Mn(n),(e=>{Kt(e)&&0===e.dom.length?xo(e):po(n,e)})),xo(n),n.dom})),F=(e,t,n)=>{O(e,(e=>{if(qo(e)){const o=yn(e),r=t.split(" ");V(r,(e=>{C(n)?(n?un:fn)(o,e):((e,t)=>{const n=an(e)?e.dom.classList.toggle(t):((e,t)=>H(ln(e),t)?cn(e,t):dn(e,t))(e,t);mn(e)})(o,e)}))}}))},U=(e,t,n)=>O(t,(o=>{var r;const s=p(t)?e.cloneNode(!0):e;return n&&Oa(Ba(o.childNodes),(e=>{s.appendChild(e)})),null===(r=o.parentNode)||void 0===r||r.replaceChild(s,o),o})),z=e=>{if(qo(e)){const t="a"===e.nodeName.toLowerCase()&&!h(e,"href")&&h(e,"id");if(h(e,"name")||h(e,"data-mce-bookmark")||t)return!0}return!1},j=()=>e.createRange(),q=(n,r,s,a)=>{if(p(n)){let e=n.length;const t=[];for(;e--;)t[e]=q(n[e],r,s,a);return t}return!t.collect||n!==e&&n!==o||i.push([n,r,s,a]),c.bind(n,r,s,a||Y)},W=(t,n,r)=>{if(p(t)){let e=t.length;const o=[];for(;e--;)o[e]=W(t[e],n,r);return o}if(i.length>0&&(t===e||t===o)){let e=i.length;for(;e--;){const[o,s,a]=i[e];t!==o||n&&n!==s||r&&r!==a||c.unbind(o,s,a)}}return c.unbind(t,n,r)},K=e=>{if(e&&Vo(e)){const t=e.getAttribute("data-mce-contenteditable");return t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null}return null},Y={doc:e,settings:t,win:o,files:r,stdMode:!0,boxModel:!0,styleSheetLoader:a,boundEvents:i,styles:d,schema:l,events:c,isBlock:e=>m(e)?Ee(u,e):qo(e)&&(Ee(u,e.nodeName)||Ts(l,e)),root:null,clone:(e,t)=>e.cloneNode(t),getRoot:x,getViewPort:e=>{const t=Io(e);return{x:t.x,y:t.y,w:t.width,h:t.height}},getRect:e=>{const t=f(e),n=E(t),o=k(t);return{x:n.x,y:n.y,w:o.w,h:o.h}},getSize:k,getParent:(e,t,n)=>{const o=A(e,t,n,!1);return o&&o.length>0?o[0]:null},getParents:A,get:f,getNext:(e,t)=>T(e,t,"nextSibling"),getPrev:(e,t)=>T(e,t,"previousSibling"),select:(n,o)=>{var r,s;const a=null!==(s=null!==(r=f(o))&&void 0!==r?r:t.root_element)&&void 0!==s?s:e;return w(a.querySelectorAll)?ce(a.querySelectorAll(n)):[]},is:R,add:D,create:L,createHTML:(e,t,n="")=>{let o="<"+e;for(const e in t)_e(t,e)&&(o+=" "+e+'="'+M(t[e])+'"');return Ge(n)&&Ee(l.getVoidElements(),e)?o+" />":o+">"+n+""},createFragment:t=>{const n=e.createElement("div"),o=e.createDocumentFragment();let r;for(o.appendChild(n),t&&(n.innerHTML=t);r=n.firstChild;)o.appendChild(r);return o.removeChild(n),o},remove:I,setStyle:(e,n,o)=>{O(e,(e=>{const r=yn(e);Ua(r,n,o),t.update_styles&&Fa(d,r)}))},getStyle:S,setStyles:(e,n)=>{O(e,(e=>{const o=yn(e);ge(n,((e,t)=>{Ua(o,t,e)})),t.update_styles&&Fa(d,o)}))},removeAllAttribs:e=>O(e,(e=>{const t=e.attributes;for(let n=t.length-1;n>=0;n--)e.removeAttributeNode(t.item(n))})),setAttrib:v,setAttribs:B,getAttrib:h,getPos:E,parseStyle:e=>d.parse(e),serializeStyle:(e,t)=>d.serialize(e,t),addStyle:t=>{if(Y!==za.DOM&&e===document){if(n[t])return;n[t]=!0}let o=e.getElementById("mceDefaultStyles");if(!o){o=e.createElement("style"),o.id="mceDefaultStyles",o.type="text/css";const t=e.head;t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o)}o.styleSheet?o.styleSheet.cssText+=t:o.appendChild(e.createTextNode(t))},loadCSS:e=>{e||(e=""),V(e.split(","),(e=>{r[e]=!0,a.load(e).catch(_)}))},addClass:(e,t)=>{F(e,t,!0)},removeClass:(e,t)=>{F(e,t,!1)},hasClass:(e,t)=>{const n=g(e),o=t.split(" ");return C(n)&&ne(o,(e=>gn(n,e)))},toggleClass:F,show:e=>{O(e,(e=>go(yn(e),"display")))},hide:e=>{O(e,(e=>io(yn(e),"display","none")))},isHidden:e=>{const t=g(e);return C(t)&&Dt(mo(t,"display"),"none")},uniqueId:e=>(e||"mce_")+s++,setHTML:P,getOuterHTML:e=>{const t=g(e);return C(t)?qo(t.dom)?t.dom.outerHTML:(e=>{const t=bn("div"),n=yn(e.dom.cloneNode(!0));return vo(t,n),So(t)})(t):""},setOuterHTML:(e,t)=>{O(e,(e=>{qo(e)&&(e.outerHTML=t)}))},decode:ea.decode,encode:M,insertAfter:(e,t)=>{const n=f(t);return O(e,(e=>{const t=null==n?void 0:n.parentNode,o=null==n?void 0:n.nextSibling;return t&&(o?t.insertBefore(e,o):t.appendChild(e)),e}))},replace:U,rename:(e,t)=>{if(e.nodeName!==t.toUpperCase()){const n=L(t);return Oa(b(e),(t=>{v(n,t.nodeName,h(e,t.nodeName))})),U(n,e,!0),n}return e},findCommonAncestor:(e,t)=>{let n=e;for(;n;){let e=t;for(;e&&n!==e;)e=e.parentNode;if(n===e)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},run:O,getAttribs:b,isEmpty:(e,t,n)=>{let o=0;if(z(e))return!1;const r=e.firstChild;if(r){const s=new jo(r,e),a=l?l.getWhitespaceElements():{},i=t||(l?l.getNonEmptyElements():null);let d=r;do{if(qo(d)){const e=d.getAttribute("data-mce-bogus");if(e){d=s.next("all"===e);continue}const t=d.nodeName.toLowerCase();if(i&&i[t]){if("br"===t){o++,d=s.next();continue}return!1}if(z(d))return!1}if(or(d))return!1;if(er(d)&&!ss(d.data)&&(!(null==n?void 0:n.includeZwsp)||!as(d.data)))return!1;if(er(d)&&d.parentNode&&a[d.parentNode.nodeName]&&ss(d.data))return!1;d=s.next()}while(d)}return o<=1},createRng:j,nodeIndex:Ia,split:(e,t,n)=>{let o,r,s=j();if(e&&t&&e.parentNode&&t.parentNode){const a=e.parentNode;return s.setStart(a,Ia(e)),s.setEnd(t.parentNode,Ia(t)),o=s.extractContents(),s=j(),s.setStart(t.parentNode,Ia(t)+1),s.setEnd(a,Ia(e)+1),r=s.extractContents(),a.insertBefore(zs(Y,o,l),e),n?a.insertBefore(n,e):a.insertBefore(t,e),a.insertBefore(zs(Y,r,l),e),I(e),n||t}},bind:q,unbind:W,fire:(e,t,n)=>c.dispatch(e,t,n),dispatch:(e,t,n)=>c.dispatch(e,t,n),getContentEditable:K,getContentEditableParent:e=>{const t=x();let n=null;for(let o=e;o&&o!==t&&(n=K(o),null===n);o=o.parentNode);return n},isEditable:e=>{if(C(e)){const t=qo(e)?e:e.parentElement;return C(t)&&Vo(t)&&oo(yn(t))}return!1},destroy:()=>{if(i.length>0){let e=i.length;for(;e--;){const[t,n,o]=i[e];c.unbind(t,n,o)}}ge(r,((e,t)=>{a.unload(t),delete r[t]}))},isChildOf:(e,t)=>e===t||t.contains(e),dumpRng:e=>"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},G=((e,t,n)=>{const o=t.keep_values,r={set:(e,o,r)=>{const s=yn(e);w(t.url_converter)&&C(o)&&(o=t.url_converter.call(t.url_converter_scope||n(),String(o),r,e)),La(s,"data-mce-"+r,o),La(s,r,o)},get:(e,t)=>{const n=yn(e);return en(n,"data-mce-"+t)||en(n,t)}},s={style:{set:(t,n)=>{const r=yn(t);o&&La(r,Pa,n),on(r,"style"),m(n)&&lo(r,e.parse(n))},get:t=>{const n=yn(t),o=en(n,Pa)||en(n,"style");return e.serialize(e.parse(o),Ht(n))}}};return o&&(s.href=s.src=r),s})(d,t,N(Y));return Y};za.DOM=za(document),za.nodeIndex=Ia;const ja=za.DOM;class Ha{constructor(e={}){this.states={},this.queue=[],this.scriptLoadedCallbacks={},this.queueLoadedCallbacks=[],this.loading=!1,this.settings=e}_setReferrerPolicy(e){this.settings.referrerPolicy=e}loadScript(e){return new Promise(((t,n)=>{const o=ja;let r;const s=()=>{o.remove(a),r&&(r.onerror=r.onload=r=null)},a=o.uniqueId();r=document.createElement("script"),r.id=a,r.type="text/javascript",r.src=Pt._addCacheSuffix(e),this.settings.referrerPolicy&&o.setAttrib(r,"referrerpolicy",this.settings.referrerPolicy),r.onload=()=>{s(),t()},r.onerror=()=>{s(),n("Failed to load script: "+e)},(document.getElementsByTagName("head")[0]||document.body).appendChild(r)}))}isDone(e){return 2===this.states[e]}markDone(e){this.states[e]=2}add(e){const t=this;return t.queue.push(e),void 0===t.states[e]&&(t.states[e]=0),new Promise(((n,o)=>{t.scriptLoadedCallbacks[e]||(t.scriptLoadedCallbacks[e]=[]),t.scriptLoadedCallbacks[e].push({resolve:n,reject:o})}))}load(e){return this.add(e)}remove(e){delete this.states[e],delete this.scriptLoadedCallbacks[e]}loadQueue(){const e=this.queue;return this.queue=[],this.loadScripts(e)}loadScripts(e){const t=this,n=(e,n)=>{xe(t.scriptLoadedCallbacks,n).each((t=>{V(t,(t=>t[e](n)))})),delete t.scriptLoadedCallbacks[n]},o=e=>{const t=Y(e,(e=>"rejected"===e.status));return t.length>0?Promise.reject(te(t,(({reason:e})=>p(e)?e:[e]))):Promise.resolve()},r=e=>Promise.allSettled(q(e,(e=>2===t.states[e]?(n("resolve",e),Promise.resolve()):3===t.states[e]?(n("reject",e),Promise.reject(e)):(t.states[e]=1,t.loadScript(e).then((()=>{t.states[e]=2,n("resolve",e);const s=t.queue;return s.length>0?(t.queue=[],r(s).then(o)):Promise.resolve()}),(()=>(t.states[e]=3,n("reject",e),Promise.reject(e)))))))),s=e=>(t.loading=!0,r(e).then((e=>{t.loading=!1;const n=t.queueLoadedCallbacks.shift();return I.from(n).each(D),o(e)}))),a=Se(e);return t.loading?new Promise(((e,n)=>{t.queueLoadedCallbacks.push((()=>{s(a).then(e,n)}))})):s(a)}}Ha.ScriptLoader=new Ha;const $a=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},qa={},Va=$a("en"),Wa=()=>xe(qa,Va.get()),Ka={getData:()=>pe(qa,(e=>({...e}))),setCode:e=>{e&&Va.set(e)},getCode:()=>Va.get(),add:(e,t)=>{let n=qa[e];n||(qa[e]=n={});const o=q(me(t),(e=>e.toLowerCase()));ge(t,((e,r)=>{const s=r.toLowerCase();s!==r&&((e,t)=>{const n=e.indexOf(t);return-1!==n&&e.indexOf(t,n+1)>n})(o,s)?(Ee(t,s)||(n[s]=e),n[r]=e):n[s]=e}))},translate:e=>{const t=Wa().getOr({}),n=e=>w(e)?Object.prototype.toString.call(e):o(e)?"":""+e,o=e=>""===e||null==e,r=e=>{const o=n(e);return Ee(t,o)?n(t[o]):xe(t,o.toLowerCase()).map(n).getOr(o)},s=e=>e.replace(/{context:\w+}$/,"");if(o(e))return"";if(f(a=e)&&Ee(a,"raw"))return n(e.raw);var a;if((e=>p(e)&&e.length>1)(e)){const t=e.slice(1);return s(r(e[0]).replace(/\{([0-9]+)\}/g,((e,o)=>Ee(t,o)?n(t[o]):e)))}return s(r(e))},isRtl:()=>Wa().bind((e=>xe(e,"_dir"))).exists((e=>"rtl"===e)),hasCode:e=>Ee(qa,e)},Ya=()=>{const e=[],t={},n={},o=[],r=(e,t)=>{const n=Y(o,(n=>n.name===e&&n.state===t));V(n,(e=>e.resolve()))},s=e=>Ee(t,e),a=(e,n)=>{const o=Ka.getCode();!o||n&&-1===(","+(n||"")+",").indexOf(","+o+",")||Ha.ScriptLoader.add(t[e]+"/langs/"+o+".js")},i=(e,t="added")=>"added"===t&&(e=>Ee(n,e))(e)||"loaded"===t&&s(e)?Promise.resolve():new Promise((n=>{o.push({name:e,state:t,resolve:n})}));return{items:e,urls:t,lookup:n,get:e=>{if(n[e])return n[e].instance},requireLangPack:(e,t)=>{!1!==Ya.languageLoad&&(s(e)?a(e,t):i(e,"loaded").then((()=>a(e,t))))},add:(t,o)=>(e.push(o),n[t]={instance:o},r(t,"added"),o),remove:e=>{delete t[e],delete n[e]},createUrl:(e,t)=>m(t)?m(e)?{prefix:"",resource:t,suffix:""}:{prefix:e.prefix,resource:t,suffix:e.suffix}:t,load:(e,o)=>{if(t[e])return Promise.resolve();let s=m(o)?o:o.prefix+o.resource+o.suffix;0!==s.indexOf("/")&&-1===s.indexOf("://")&&(s=Ya.baseURL+"/"+s),t[e]=s.substring(0,s.lastIndexOf("/"));const a=()=>(r(e,"loaded"),Promise.resolve());return n[e]?a():Ha.ScriptLoader.add(s).then(a)},waitFor:i}};Ya.languageLoad=!0,Ya.baseURL="",Ya.PluginManager=Ya(),Ya.ThemeManager=Ya(),Ya.ModelManager=Ya();const Ga=e=>{const t=$a(I.none()),n=()=>t.get().each((e=>clearInterval(e)));return{clear:()=>{n(),t.set(I.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:o=>{n(),t.set(I.some(setInterval(o,e)))}}},Xa=()=>{const e=(e=>{const t=$a(I.none()),n=()=>t.get().each(e);return{clear:()=>{n(),t.set(I.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{n(),t.set(I.some(e))}}})(_);return{...e,on:t=>e.get().each(t)}},Qa=(e,t)=>{let n=null;return{cancel:()=>{h(n)||(clearTimeout(n),n=null)},throttle:(...o)=>{h(n)&&(n=setTimeout((()=>{n=null,e.apply(null,o)}),t))}}},Ja=(e,t)=>{let n=null;const o=()=>{h(n)||(clearTimeout(n),n=null)};return{cancel:o,throttle:(...r)=>{o(),n=setTimeout((()=>{n=null,e.apply(null,r)}),t)}}},Za=N("mce-annotation"),ei=N("data-mce-annotation"),ti=N("data-mce-annotation-uid"),ni=N("data-mce-annotation-active"),oi=N("data-mce-annotation-classes"),ri=N("data-mce-annotation-attrs"),si=e=>t=>_n(t,e),ai=(e,t)=>{const n=e.selection.getRng(),o=yn(n.startContainer),r=yn(e.getBody()),s=t.fold((()=>"."+Za()),(e=>`[${ei()}="${e}"]`)),a=In(o,n.startOffset).getOr(o);return no(a,s,si(r)).bind((t=>tn(t,`${ti()}`).bind((n=>tn(t,`${ei()}`).map((t=>{const o=li(e,n);return{uid:n,name:t,elements:o}}))))))},ii=(e,t)=>nn(e,"data-mce-bogus")||zo(e,'[data-mce-bogus="all"]',si(t)),li=(e,t)=>{const n=yn(e.getBody()),o=Uo(n,`[${ti()}="${t}"]`);return Y(o,(e=>!ii(e,n)))},di=(e,t)=>{const n=yn(e.getBody()),o=Uo(n,`[${ei()}="${t}"]`),r={};return V(o,(e=>{if(!ii(e,n)){const t=en(e,ti()),n=xe(r,t).getOr([]);r[t]=n.concat([e])}})),r};let ci=0;const ui=e=>{const t=(new Date).getTime(),n=Math.floor(1e9*Math.random());return ci++,e+"_"+n+ci+String(t)},mi=(e,t)=>yn(e.dom.cloneNode(t)),fi=e=>mi(e,!1),gi=e=>mi(e,!0),pi=(e,t,n=L)=>{const o=new jo(e,t),r=e=>{let t;do{t=o[e]()}while(t&&!er(t)&&!n(t));return I.from(t).filter(er)};return{current:()=>I.from(o.current()).filter(er),next:()=>r("next"),prev:()=>r("prev"),prev2:()=>r("prev2")}},hi=(e,t)=>{const n=t||(t=>e.isBlock(t)||ar(t)||dr(t)),o=(e,t,n,r)=>{if(er(e)){const n=r(e,t,e.data);if(-1!==n)return I.some({container:e,offset:n})}return n().bind((e=>o(e.container,e.offset,n,r)))};return{backwards:(t,r,s,a)=>{const i=pi(t,null!=a?a:e.getRoot(),n);return o(t,r,(()=>i.prev().map((e=>({container:e,offset:e.length})))),s).getOrNull()},forwards:(t,r,s,a)=>{const i=pi(t,null!=a?a:e.getRoot(),n);return o(t,r,(()=>i.next().map((e=>({container:e,offset:0})))),s).getOrNull()}}},bi=Math.round,vi=e=>e?{left:bi(e.left),top:bi(e.top),bottom:bi(e.bottom),right:bi(e.right),width:bi(e.width),height:bi(e.height)}:{left:0,top:0,bottom:0,right:0,width:0,height:0},yi=(e,t)=>(e=vi(e),t||(e.left=e.left+e.width),e.right=e.left,e.width=0,e),Ci=(e,t,n)=>e>=0&&e<=Math.min(t.height,n.height)/2,wi=(e,t)=>{const n=Math.min(t.height/2,e.height/2);return e.bottom-nt.bottom)&&Ci(t.top-e.bottom,e,t)},xi=(e,t)=>e.top>t.bottom||!(e.bottom{const o=Math.max(Math.min(t,e.left+e.width),e.left),r=Math.max(Math.min(n,e.top+e.height),e.top);return Math.sqrt((t-o)*(t-o)+(n-r)*(n-r))},_i=e=>{const t=e.startContainer,n=e.startOffset;return t===e.endContainer&&t.hasChildNodes()&&e.endOffset===n+1?t.childNodes[n]:null},Si=(e,t)=>{if(qo(e)&&e.hasChildNodes()){const n=e.childNodes,o=((e,t,n)=>Math.min(Math.max(e,0),n))(t,0,n.length-1);return n[o]}return e},ki=new RegExp("[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]"),Ni=e=>m(e)&&e.charCodeAt(0)>=768&&ki.test(e),Ri=qo,Ai=ts,Ti=Yo("display","block table"),Oi=Yo("float","left right"),Bi=((...e)=>t=>{for(let n=0;nt<0&&qo(e)&&e.hasChildNodes()?void 0:Si(e,t),Fi=e=>e?e.createRange():za.DOM.createRng(),Ui=e=>m(e)&&/[\r\n\t ]/.test(e),zi=e=>!!e.setStart&&!!e.setEnd,ji=e=>{const t=e.startContainer,n=e.startOffset;if(Ui(e.toString())&&Pi(t.parentNode)&&er(t)){const e=t.data;if(Ui(e[n-1])||Ui(e[n+1]))return!0}return!1},Hi=e=>0===e.left&&0===e.right&&0===e.top&&0===e.bottom,$i=e=>{var t;let n;const o=e.getClientRects();return n=o.length>0?vi(o[0]):vi(e.getBoundingClientRect()),!zi(e)&&Li(e)&&Hi(n)?(e=>{const t=e.ownerDocument,n=Fi(t),o=t.createTextNode(br),r=e.parentNode;r.insertBefore(o,e),n.setStart(o,0),n.setEnd(o,1);const s=vi(n.getBoundingClientRect());return r.removeChild(o),s})(e):Hi(n)&&zi(e)&&null!==(t=(e=>{const t=e.startContainer,n=e.endContainer,o=e.startOffset,r=e.endOffset;if(t===n&&er(n)&&0===o&&1===r){const t=e.cloneRange();return t.setEndAfter(n),$i(t)}return null})(e))&&void 0!==t?t:n},qi=(e,t)=>{const n=yi(e,t);return n.width=1,n.right=n.left+1,n},Vi=(e,t,n)=>{const o=()=>(n||(n=(e=>{const t=[],n=e=>{var n,o;0!==e.height&&(t.length>0&&(n=e,o=t[t.length-1],n.left===o.left&&n.top===o.top&&n.bottom===o.bottom&&n.right===o.right)||t.push(e))},o=(e,t)=>{const o=Fi(e.ownerDocument);if(t0&&(o.setStart(e,t-1),o.setEnd(e,t),ji(o)||n(qi($i(o),!1))),t{const n=Fi(e.ownerDocument);return n.setStart(e,t),n.setEnd(e,t),n},getClientRects:o,isVisible:()=>o().length>0,isAtStart:()=>(Di(e),0===t),isAtEnd:()=>Di(e)?t>=e.data.length:t>=e.childNodes.length,isEqual:n=>n&&e===n.container()&&t===n.offset(),getNode:n=>Ii(e,n?t-1:t)}};Vi.fromRangeStart=e=>Vi(e.startContainer,e.startOffset),Vi.fromRangeEnd=e=>Vi(e.endContainer,e.endOffset),Vi.after=e=>Vi(e.parentNode,Mi(e)+1),Vi.before=e=>Vi(e.parentNode,Mi(e)),Vi.isAbove=(e,t)=>Mt(le(t.getClientRects()),de(e.getClientRects()),wi).getOr(!1),Vi.isBelow=(e,t)=>Mt(de(t.getClientRects()),le(e.getClientRects()),xi).getOr(!1),Vi.isAtStart=e=>!!e&&e.isAtStart(),Vi.isAtEnd=e=>!!e&&e.isAtEnd(),Vi.isTextPosition=e=>!!e&&er(e.container()),Vi.isElementPosition=e=>!Vi.isTextPosition(e);const Wi=(e,t)=>{er(t)&&0===t.data.length&&e.remove(t)},Ki=(e,t,n)=>{sr(n)?((e,t,n)=>{const o=I.from(n.firstChild),r=I.from(n.lastChild);t.insertNode(n),o.each((t=>Wi(e,t.previousSibling))),r.each((t=>Wi(e,t.nextSibling)))})(e,t,n):((e,t,n)=>{t.insertNode(n),Wi(e,n.previousSibling),Wi(e,n.nextSibling)})(e,t,n)},Yi=er,Gi=Xo,Xi=za.nodeIndex,Qi=e=>{const t=e.parentNode;return Gi(t)?Qi(t):t},Ji=e=>e?Oe(e.childNodes,((e,t)=>(Gi(t)&&"BR"!==t.nodeName?e=e.concat(Ji(t)):e.push(t),e)),[]):[],Zi=e=>t=>e===t,el=e=>(Yi(e)?"text()":e.nodeName.toLowerCase())+"["+(e=>{let t,n;t=Ji(Qi(e)),n=Be(t,Zi(e),e),t=t.slice(0,n+1);const o=Oe(t,((e,n,o)=>(Yi(n)&&Yi(t[o-1])&&e++,e)),0);return t=Te(t,Ko([e.nodeName])),n=Be(t,Zi(e),e),n-o})(e)+"]",tl=(e,t)=>{let n,o=[],r=t.container(),s=t.offset();if(Yi(r))n=((e,t)=>{let n=e;for(;(n=n.previousSibling)&&Yi(n);)t+=n.data.length;return t})(r,s);else{const e=r.childNodes;s>=e.length?(n="after",s=e.length-1):n="before",r=e[s]}o.push(el(r));let a=((e,t,n)=>{const o=[];for(let n=t.parentNode;n&&n!==e;n=n.parentNode)o.push(n);return o})(e,r);return a=Te(a,O(Xo)),o=o.concat(Ae(a,(e=>el(e)))),o.reverse().join("/")+","+n},nl=(e,t)=>{if(!t)return null;const n=t.split(","),o=n[0].split("/"),r=n.length>1?n[1]:"before",s=Oe(o,((e,t)=>{const n=/([\w\-\(\)]+)\[([0-9]+)\]/.exec(t);return n?("text()"===n[1]&&(n[1]="#text"),((e,t,n)=>{let o=Ji(e);return o=Te(o,((e,t)=>!Yi(e)||!Yi(o[t-1]))),o=Te(o,Ko([t])),o[n]})(e,n[1],parseInt(n[2],10))):null}),e);if(!s)return null;if(!Yi(s)&&s.parentNode){let e;return e="after"===r?Xi(s)+1:Xi(s),Vi(s.parentNode,e)}return((e,t)=>{let n=e,o=0;for(;Yi(n);){const r=n.data.length;if(t>=o&&t<=o+r){e=n,t-=o;break}if(!Yi(n.nextSibling)){e=n,t=r;break}o+=r,n=n.nextSibling}return Yi(e)&&t>e.data.length&&(t=e.data.length),Vi(e,t)})(s,parseInt(r,10))},ol=dr,rl=(e,t,n,o,r)=>{const s=r?o.startContainer:o.endContainer;let a=r?o.startOffset:o.endOffset;const i=[],l=e.getRoot();if(er(s))i.push(n?((e,t,n)=>{let o=e(t.data.slice(0,n)).length;for(let n=t.previousSibling;n&&er(n);n=n.previousSibling)o+=e(n.data).length;return o})(t,s,a):a);else{let t=0;const o=s.childNodes;a>=o.length&&o.length&&(t=1,a=Math.max(0,o.length-1)),i.push(e.nodeIndex(o[a],n)+t)}for(let t=s;t&&t!==l;t=t.parentNode)i.push(e.nodeIndex(t,n));return i},sl=(e,t,n)=>{let o=0;return Pt.each(e.select(t),(e=>"all"===e.getAttribute("data-mce-bogus")?void 0:e!==n&&void o++)),o},al=(e,t)=>{let n=t?e.startContainer:e.endContainer,o=t?e.startOffset:e.endOffset;if(qo(n)&&"TR"===n.nodeName){const r=n.childNodes;n=r[Math.min(t?o:o-1,r.length-1)],n&&(o=t?0:n.childNodes.length,t?e.setStart(n,o):e.setEnd(n,o))}},il=e=>(al(e,!0),al(e,!1),e),ll=(e,t)=>{if(qo(e)&&(e=Si(e,t),ol(e)))return e;if(Ur(e)){er(e)&&Ir(e)&&(e=e.parentNode);let t=e.previousSibling;if(ol(t))return t;if(t=e.nextSibling,ol(t))return t}},dl=(e,t,n)=>{const o=n.getNode(),r=n.getRng();if("IMG"===o.nodeName||ol(o)){const e=o.nodeName;return{name:e,index:sl(n.dom,e,o)}}const s=(e=>ll(e.startContainer,e.startOffset)||ll(e.endContainer,e.endOffset))(r);if(s){const e=s.tagName;return{name:e,index:sl(n.dom,e,s)}}return((e,t,n,o)=>{const r=t.dom,s=rl(r,e,n,o,!0),a=t.isForward(),i=Wr(o)?{isFakeCaret:!0}:{};return t.isCollapsed()?{start:s,forward:a,...i}:{start:s,end:rl(r,e,n,o,!1),forward:a,...i}})(e,n,t,r)},cl=(e,t,n)=>{const o={"data-mce-type":"bookmark",id:t,style:"overflow:hidden;line-height:0px"};return n?e.create("span",o,""):e.create("span",o)},ul=(e,t)=>{const n=e.dom;let o=e.getRng();const r=n.uniqueId(),s=e.isCollapsed(),a=e.getNode(),i=a.nodeName,l=e.isForward();if("IMG"===i)return{name:i,index:sl(n,i,a)};const d=il(o.cloneRange());if(!s){d.collapse(!1);const e=cl(n,r+"_end",t);Ki(n,d,e)}o=il(o),o.collapse(!0);const c=cl(n,r+"_start",t);return Ki(n,o,c),e.moveToBookmark({id:r,keep:!0,forward:l}),{id:r,forward:l}},ml=T(dl,R,!0),fl=e=>{const t=t=>t(e),n=N(e),o=()=>r,r={tag:!0,inner:e,fold:(t,n)=>n(e),isValue:M,isError:L,map:t=>pl.value(t(e)),mapError:o,bind:t,exists:t,forall:t,getOr:n,or:o,getOrThunk:n,orThunk:o,getOrDie:n,each:t=>{t(e)},toOptional:()=>I.some(e)};return r},gl=e=>{const t=()=>n,n={tag:!1,inner:e,fold:(t,n)=>t(e),isValue:L,isError:M,map:t,mapError:t=>pl.error(t(e)),bind:t,exists:L,forall:M,getOr:R,or:R,getOrThunk:P,orThunk:P,getOrDie:B(String(e)),each:_,toOptional:I.none};return n},pl={value:fl,error:gl,fromOption:(e,t)=>e.fold((()=>gl(t)),fl)},hl=e=>{if(!p(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],n={};return V(e,((o,r)=>{const s=me(o);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],i=o[a];if(void 0!==n[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!p(i))throw new Error("case arguments must be an array");t.push(a),n[a]=(...n)=>{const o=n.length;if(o!==i.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+i.length+" ("+i+"), got "+o);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,n)},match:e=>{const o=me(e);if(t.length!==o.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+o.join(","));if(!ne(t,(e=>H(o,e))))throw new Error("Not all branches were specified when using match. Specified: "+o.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,n)},log:e=>{console.log(e,{constructors:t,constructor:a,params:n})}}}})),n};hl([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const bl=e=>"inline-command"===e.type||"inline-format"===e.type,vl=e=>"block-command"===e.type||"block-format"===e.type,yl=e=>{const t=t=>pl.error({message:t,pattern:e}),n=(n,o,r)=>{if(void 0!==e.format){let r;if(p(e.format)){if(!ne(e.format,m))return t(n+" pattern has non-string items in the `format` array");r=e.format}else{if(!m(e.format))return t(n+" pattern has non-string `format` parameter");r=[e.format]}return pl.value(o(r))}return void 0!==e.cmd?m(e.cmd)?pl.value(r(e.cmd,e.value)):t(n+" pattern has non-string `cmd` parameter"):t(n+" pattern is missing both `format` and `cmd` parameters")};if(!f(e))return t("Raw pattern is not an object");if(!m(e.start))return t("Raw pattern is missing `start` parameter");if(void 0!==e.end){if(!m(e.end))return t("Inline pattern has non-string `end` parameter");if(0===e.start.length&&0===e.end.length)return t("Inline pattern has empty `start` and `end` parameters");let o=e.start,r=e.end;return 0===r.length&&(r=o,o=""),n("Inline",(e=>({type:"inline-format",start:o,end:r,format:e})),((e,t)=>({type:"inline-command",start:o,end:r,cmd:e,value:t})))}return void 0!==e.replacement?m(e.replacement)?0===e.start.length?t("Replacement pattern has empty `start` parameter"):pl.value({type:"inline-command",start:"",end:e.start,cmd:"mceInsertContent",value:e.replacement}):t("Replacement pattern has non-string `replacement` parameter"):0===e.start.length?t("Block pattern has empty `start` parameter"):n("Block",(t=>({type:"block-format",start:e.start,format:t[0]})),((t,n)=>({type:"block-command",start:e.start,cmd:t,value:n})))},Cl=e=>Y(e,vl),wl=e=>Y(e,bl),xl=e=>{const t=(e=>{const t=[],n=[];return V(e,(e=>{e.fold((e=>{t.push(e)}),(e=>{n.push(e)}))})),{errors:t,values:n}})(q(e,yl));return V(t.errors,(e=>console.error(e.message,e.pattern))),t.values},El=xt().deviceType,_l=El.isTouch(),Sl=za.DOM,kl=e=>u(e,RegExp),Nl=e=>t=>t.options.get(e),Rl=e=>m(e)||f(e),Al=(e,t="")=>n=>{const o=m(n);if(o){if(-1!==n.indexOf("=")){const r=(e=>{const t=e.indexOf("=")>0?e.split(/[;,](?![^=;,]*(?:[;,]|$))/):e.split(",");return X(t,((e,t)=>{const n=t.split("="),o=n[0],r=n.length>1?n[1]:o;return e[Ve(o)]=Ve(r),e}),{})})(n);return{value:xe(r,e.id).getOr(t),valid:o}}return{value:n,valid:o}}return{valid:!1,message:"Must be a string."}},Tl=Nl("iframe_attrs"),Ol=Nl("doctype"),Bl=Nl("document_base_url"),Pl=Nl("body_id"),Dl=Nl("body_class"),Ll=Nl("content_security_policy"),Ml=Nl("br_in_pre"),Il=Nl("forced_root_block"),Fl=Nl("forced_root_block_attrs"),Ul=Nl("newline_behavior"),zl=Nl("br_newline_selector"),jl=Nl("no_newline_selector"),Hl=Nl("keep_styles"),$l=Nl("end_container_on_empty_block"),ql=Nl("automatic_uploads"),Vl=Nl("images_reuse_filename"),Wl=Nl("images_replace_blob_uris"),Kl=Nl("icons"),Yl=Nl("icons_url"),Gl=Nl("images_upload_url"),Xl=Nl("images_upload_base_path"),Ql=Nl("images_upload_credentials"),Jl=Nl("images_upload_handler"),Zl=Nl("content_css_cors"),ed=Nl("referrer_policy"),td=Nl("language"),nd=Nl("language_url"),od=Nl("indent_use_margin"),rd=Nl("indentation"),sd=Nl("content_css"),ad=Nl("content_style"),id=Nl("font_css"),ld=Nl("directionality"),dd=Nl("inline_boundaries_selector"),cd=Nl("object_resizing"),ud=Nl("resize_img_proportional"),md=Nl("placeholder"),fd=Nl("event_root"),gd=Nl("service_message"),pd=Nl("theme"),hd=Nl("theme_url"),bd=Nl("model"),vd=Nl("model_url"),yd=Nl("inline_boundaries"),Cd=Nl("formats"),wd=Nl("preview_styles"),xd=Nl("format_empty_lines"),Ed=Nl("format_noneditable_selector"),_d=Nl("custom_ui_selector"),Sd=Nl("inline"),kd=Nl("hidden_input"),Nd=Nl("submit_patch"),Rd=Nl("add_form_submit_trigger"),Ad=Nl("add_unload_trigger"),Td=Nl("custom_undo_redo_levels"),Od=Nl("disable_nodechange"),Bd=Nl("readonly"),Pd=Nl("editable_root"),Dd=Nl("content_css_cors"),Ld=Nl("plugins"),Md=Nl("external_plugins"),Id=Nl("block_unsupported_drop"),Fd=Nl("visual"),Ud=Nl("visual_table_class"),zd=Nl("visual_anchor_class"),jd=Nl("iframe_aria_text"),Hd=Nl("setup"),$d=Nl("init_instance_callback"),qd=Nl("urlconverter_callback"),Vd=Nl("auto_focus"),Wd=Nl("browser_spellcheck"),Kd=Nl("protect"),Yd=Nl("paste_block_drop"),Gd=Nl("paste_data_images"),Xd=Nl("paste_preprocess"),Qd=Nl("paste_postprocess"),Jd=Nl("newdocument_content"),Zd=Nl("paste_webkit_styles"),ec=Nl("paste_remove_styles_if_webkit"),tc=Nl("paste_merge_formats"),nc=Nl("smart_paste"),oc=Nl("paste_as_text"),rc=Nl("paste_tab_spaces"),sc=Nl("allow_html_data_urls"),ac=Nl("text_patterns"),ic=Nl("text_patterns_lookup"),lc=Nl("noneditable_class"),dc=Nl("editable_class"),cc=Nl("noneditable_regexp"),uc=Nl("preserve_cdata"),mc=Nl("highlight_on_focus"),fc=Nl("xss_sanitization"),gc=Nl("init_content_sync"),pc=e=>Pt.explode(e.options.get("images_file_types")),hc=Nl("table_tab_navigation"),bc=Nl("details_initial_state"),vc=Nl("details_serialized_state"),yc=Nl("force_hex_color"),Cc=Nl("sandbox_iframes"),wc=qo,xc=er,Ec=e=>{const t=e.parentNode;t&&t.removeChild(e)},_c=e=>{const t=Dr(e);return{count:e.length-t.length,text:t}},Sc=e=>{let t;for(;-1!==(t=e.data.lastIndexOf(Br));)e.deleteData(t,1)},kc=(e,t)=>(Rc(e),t),Nc=(e,t)=>Vi.isTextPosition(t)?((e,t)=>xc(e)&&t.container()===e?((e,t)=>{const n=_c(e.data.substr(0,t.offset())),o=_c(e.data.substr(t.offset()));return(n.text+o.text).length>0?(Sc(e),Vi(e,t.offset()-n.count)):t})(e,t):kc(e,t))(e,t):((e,t)=>t.container()===e.parentNode?((e,t)=>{const n=t.container(),o=((e,t)=>{const n=j(e,t);return-1===n?I.none():I.some(n)})(ce(n.childNodes),e).map((e=>e{wc(e)&&Ur(e)&&(zr(e)?e.removeAttribute("data-mce-caret"):Ec(e)),xc(e)&&(Sc(e),0===e.data.length&&Ec(e))},Ac=dr,Tc=mr,Oc=cr,Bc=(e,t,n)=>{const o=yi(t.getBoundingClientRect(),n);let r,s;if("BODY"===e.tagName){const t=e.ownerDocument.documentElement;r=e.scrollLeft||t.scrollLeft,s=e.scrollTop||t.scrollTop}else{const t=e.getBoundingClientRect();r=e.scrollLeft-t.left,s=e.scrollTop-t.top}o.left+=r,o.right+=r,o.top+=s,o.bottom+=s,o.width=1;let a=t.offsetWidth-t.clientWidth;return a>0&&(n&&(a*=-1),o.left+=a,o.right+=a),o},Pc=(e,t,n,o)=>{const r=Xa();let s,a;const i=Il(e),l=e.dom,d=()=>{(e=>{var t,n;const o=Uo(yn(e),"*[contentEditable=false],video,audio,embed,object");for(let e=0;e{l.remove(e.caret),r.clear()})),s&&(clearInterval(s),s=void 0)};return{show:(e,c)=>{let u;if(d(),Oc(c))return null;if(!n(c))return a=((e,t)=>{var n;const o=(null!==(n=e.ownerDocument)&&void 0!==n?n:document).createTextNode(Br),r=e.parentNode;if(t){const t=e.previousSibling;if(Mr(t)){if(Ur(t))return t;if(qr(t))return t.splitText(t.data.length-1)}null==r||r.insertBefore(o,e)}else{const t=e.nextSibling;if(Mr(t)){if(Ur(t))return t;if($r(t))return t.splitText(1),t}e.nextSibling?null==r||r.insertBefore(o,e.nextSibling):null==r||r.appendChild(o)}return o})(c,e),u=c.ownerDocument.createRange(),Lc(a.nextSibling)?(u.setStart(a,0),u.setEnd(a,0)):(u.setStart(a,1),u.setEnd(a,1)),u;{const n=((e,t,n)=>{var o;const r=(null!==(o=t.ownerDocument)&&void 0!==o?o:document).createElement(e);r.setAttribute("data-mce-caret",n?"before":"after"),r.setAttribute("data-mce-bogus","all"),r.appendChild(Tr().dom);const s=t.parentNode;return n?null==s||s.insertBefore(r,t):t.nextSibling?null==s||s.insertBefore(r,t.nextSibling):null==s||s.appendChild(r),r})(i,c,e),d=Bc(t,c,e);l.setStyle(n,"top",d.top),a=n;const m=l.create("div",{class:"mce-visual-caret","data-mce-bogus":"all"});l.setStyles(m,{...d}),l.add(t,m),r.set({caret:m,element:c,before:e}),e&&l.addClass(m,"mce-visual-caret-before"),s=setInterval((()=>{r.on((e=>{o()?l.toggleClass(e.caret,"mce-visual-caret-hidden"):l.addClass(e.caret,"mce-visual-caret-hidden")}))}),500),u=c.ownerDocument.createRange(),u.setStart(n,0),u.setEnd(n,0)}return u},hide:d,getCss:()=>".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}",reposition:()=>{r.on((e=>{const n=Bc(t,e.element,e.before);l.setStyles(e.caret,{...n})}))},destroy:()=>clearInterval(s)}},Dc=()=>At.browser.isFirefox(),Lc=e=>Ac(e)||Tc(e),Mc=e=>(Lc(e)||Qo(e)&&Dc())&&Tn(yn(e)).exists(oo),Ic=lr,Fc=dr,Uc=mr,zc=Yo("display","block table table-cell table-caption list-item"),jc=Ur,Hc=Ir,$c=qo,qc=er,Vc=ts,Wc=e=>e>0,Kc=e=>e<0,Yc=(e,t)=>{let n;for(;n=e(t);)if(!Hc(n))return n;return null},Gc=(e,t,n,o,r)=>{const s=new jo(e,o),a=Fc(e)||Hc(e);let i;if(Kc(t)){if(a&&(i=Yc(s.prev.bind(s),!0),n(i)))return i;for(;i=Yc(s.prev.bind(s),r);)if(n(i))return i}if(Wc(t)){if(a&&(i=Yc(s.next.bind(s),!0),n(i)))return i;for(;i=Yc(s.next.bind(s),r);)if(n(i))return i}return null},Xc=(e,t)=>{for(;e&&e!==t;){if(zc(e))return e;e=e.parentNode}return null},Qc=(e,t,n)=>Xc(e.container(),n)===Xc(t.container(),n),Jc=(e,t)=>{if(!t)return I.none();const n=t.container(),o=t.offset();return $c(n)?I.from(n.childNodes[o+e]):I.none()},Zc=(e,t)=>{var n;const o=(null!==(n=t.ownerDocument)&&void 0!==n?n:document).createRange();return e?(o.setStartBefore(t),o.setEndBefore(t)):(o.setStartAfter(t),o.setEndAfter(t)),o},eu=(e,t,n)=>Xc(t,e)===Xc(n,e),tu=(e,t,n)=>{const o=e?"previousSibling":"nextSibling";let r=n;for(;r&&r!==t;){let e=r[o];if(e&&jc(e)&&(e=e[o]),Fc(e)||Uc(e)){if(eu(t,e,r))return e;break}if(Vc(e))break;r=r.parentNode}return null},nu=T(Zc,!0),ou=T(Zc,!1),ru=(e,t,n)=>{let o;const r=T(tu,!0,t),s=T(tu,!1,t),a=n.startContainer,i=n.startOffset;if(Ir(a)){const e=qc(a)?a.parentNode:a,t=e.getAttribute("data-mce-caret");if("before"===t&&(o=e.nextSibling,Mc(o)))return nu(o);if("after"===t&&(o=e.previousSibling,Mc(o)))return ou(o)}if(!n.collapsed)return n;if(er(a)){if(jc(a)){if(1===e){if(o=s(a),o)return nu(o);if(o=r(a),o)return ou(o)}if(-1===e){if(o=r(a),o)return ou(o);if(o=s(a),o)return nu(o)}return n}if(qr(a)&&i>=a.data.length-1)return 1===e&&(o=s(a),o)?nu(o):n;if($r(a)&&i<=1)return-1===e&&(o=r(a),o)?ou(o):n;if(i===a.data.length)return o=s(a),o?nu(o):n;if(0===i)return o=r(a),o?ou(o):n}return n},su=(e,t)=>Jc(e?0:-1,t).filter(Fc),au=(e,t,n)=>{const o=ru(e,t,n);return-1===e?Vi.fromRangeStart(o):Vi.fromRangeEnd(o)},iu=e=>I.from(e.getNode()).map(yn),lu=(e,t)=>{let n=t;for(;n=e(n);)if(n.isVisible())return n;return n},du=(e,t)=>{const n=Qc(e,t);return!(n||!ar(e.getNode()))||n};var cu;!function(e){e[e.Backwards=-1]="Backwards",e[e.Forwards=1]="Forwards"}(cu||(cu={}));const uu=dr,mu=er,fu=qo,gu=ar,pu=ts,hu=e=>Jr(e)||(e=>!!ns(e)&&!X(ce(e.getElementsByTagName("*")),((e,t)=>e||Kr(t)),!1))(e),bu=os,vu=(e,t)=>e.hasChildNodes()&&t{if(Wc(e)){if(pu(t.previousSibling)&&!mu(t.previousSibling))return Vi.before(t);if(mu(t))return Vi(t,0)}if(Kc(e)){if(pu(t.nextSibling)&&!mu(t.nextSibling))return Vi.after(t);if(mu(t))return Vi(t,t.data.length)}return Kc(e)?gu(t)?Vi.before(t):Vi.after(t):Vi.before(t)},Cu=(e,t,n)=>{let o,r,s,a;if(!fu(n)||!t)return null;if(t.isEqual(Vi.after(n))&&n.lastChild){if(a=Vi.after(n.lastChild),Kc(e)&&pu(n.lastChild)&&fu(n.lastChild))return gu(n.lastChild)?Vi.before(n.lastChild):a}else a=t;const i=a.container();let l=a.offset();if(mu(i)){if(Kc(e)&&l>0)return Vi(i,--l);if(Wc(e)&&l0&&(r=vu(i,l-1),pu(r)))return!hu(r)&&(s=Gc(r,e,bu,r),s)?mu(s)?Vi(s,s.data.length):Vi.after(s):mu(r)?Vi(r,r.data.length):Vi.before(r);if(Wc(e)&&l{const n=t.nextSibling;return n&&pu(n)?mu(n)?Vi(n,0):Vi.before(n):Cu(cu.Forwards,Vi.after(t),e)})(n,r):!hu(r)&&(s=Gc(r,e,bu,r),s)?mu(s)?Vi(s,0):Vi.before(s):mu(r)?Vi(r,0):Vi.after(r);o=r||a.getNode()}if(o&&(Wc(e)&&a.isAtEnd()||Kc(e)&&a.isAtStart())&&(o=Gc(o,e,M,n,!0),bu(o,n)))return yu(e,o);r=o?Gc(o,e,bu,n):o;const d=Pe(Y(((e,t)=>{const n=[];let o=e;for(;o&&o!==t;)n.push(o),o=o.parentNode;return n})(i,n),uu));return!d||r&&d.contains(r)?r?yu(e,r):null:(a=Wc(e)?Vi.after(d):Vi.before(d),a)},wu=e=>({next:t=>Cu(cu.Forwards,t,e),prev:t=>Cu(cu.Backwards,t,e)}),xu=e=>Vi.isTextPosition(e)?0===e.offset():ts(e.getNode()),Eu=e=>{if(Vi.isTextPosition(e)){const t=e.container();return e.offset()===t.data.length}return ts(e.getNode(!0))},_u=(e,t)=>!Vi.isTextPosition(e)&&!Vi.isTextPosition(t)&&e.getNode()===t.getNode(!0),Su=(e,t,n)=>{const o=wu(t);return I.from(e?o.next(n):o.prev(n))},ku=(e,t,n)=>Su(e,t,n).bind((o=>Qc(n,o,t)&&((e,t,n)=>{return e?!_u(t,n)&&(o=t,!(!Vi.isTextPosition(o)&&ar(o.getNode())))&&Eu(t)&&xu(n):!_u(n,t)&&xu(t)&&Eu(n);var o})(e,n,o)?Su(e,t,o):I.some(o))),Nu=(e,t,n,o)=>ku(e,t,n).bind((n=>o(n)?Nu(e,t,n,o):I.some(n))),Ru=(e,t)=>{const n=e?t.firstChild:t.lastChild;return er(n)?I.some(Vi(n,e?0:n.data.length)):n?ts(n)?I.some(e?Vi.before(n):ar(o=n)?Vi.before(o):Vi.after(o)):((e,t,n)=>{const o=e?Vi.before(n):Vi.after(n);return Su(e,t,o)})(e,t,n):I.none();var o},Au=T(Su,!0),Tu=T(Su,!1),Ou=T(Ru,!0),Bu=T(Ru,!1),Pu="_mce_caret",Du=e=>qo(e)&&e.id===Pu,Lu=(e,t)=>{let n=t;for(;n&&n!==e;){if(Du(n))return n;n=n.parentNode}return null},Mu=e=>Ee(e,"name"),Iu=e=>Pt.isArray(e.start),Fu=e=>!(!Mu(e)&&b(e.forward))||e.forward,Uu=(e,t)=>(qo(t)&&e.isBlock(t)&&!t.innerHTML&&(t.innerHTML='
'),t),zu=(e,t)=>Bu(e).fold(L,(e=>(t.setStart(e.container(),e.offset()),t.setEnd(e.container(),e.offset()),!0))),ju=(e,t,n)=>!(!(e=>!e.hasChildNodes())(t)||!Lu(e,t)||(((e,t)=>{var n;const o=(null!==(n=e.ownerDocument)&&void 0!==n?n:document).createTextNode(Br);e.appendChild(o),t.setStart(o,0),t.setEnd(o,0)})(t,n),0)),Hu=(e,t,n,o)=>{const r=n[t?"start":"end"],s=e.getRoot();if(r){let e=s,n=r[0];for(let t=r.length-1;e&&t>=1;t--){const n=e.childNodes;if(ju(s,e,o))return!0;if(r[t]>n.length-1)return!!ju(s,e,o)||zu(e,o);e=n[r[t]]}er(e)&&(n=Math.min(r[0],e.data.length)),qo(e)&&(n=Math.min(r[0],e.childNodes.length)),t?o.setStart(e,n):o.setEnd(e,n)}return!0},$u=e=>er(e)&&e.data.length>0,qu=(e,t,n)=>{const o=e.get(n.id+"_"+t),r=null==o?void 0:o.parentNode,s=n.keep;if(o&&r){let a,i;if("start"===t?s?o.hasChildNodes()?(a=o.firstChild,i=1):$u(o.nextSibling)?(a=o.nextSibling,i=0):$u(o.previousSibling)?(a=o.previousSibling,i=o.previousSibling.data.length):(a=r,i=e.nodeIndex(o)+1):(a=r,i=e.nodeIndex(o)):s?o.hasChildNodes()?(a=o.firstChild,i=1):$u(o.previousSibling)?(a=o.previousSibling,i=o.previousSibling.data.length):(a=r,i=e.nodeIndex(o)):(a=r,i=e.nodeIndex(o)),!s){const r=o.previousSibling,s=o.nextSibling;let l;for(Pt.each(Pt.grep(o.childNodes),(e=>{er(e)&&(e.data=e.data.replace(/\uFEFF/g,""))}));l=e.get(n.id+"_"+t);)e.remove(l,!0);if(er(s)&&er(r)&&!At.browser.isOpera()){const t=r.data.length;r.appendData(s.data),e.remove(s),a=r,i=t}}return I.some(Vi(a,i))}return I.none()},Vu=(e,t,n)=>((e,t,n=!1)=>2===t?dl(Dr,n,e):3===t?(e=>{const t=e.getRng();return{start:tl(e.dom.getRoot(),Vi.fromRangeStart(t)),end:tl(e.dom.getRoot(),Vi.fromRangeEnd(t)),forward:e.isForward()}})(e):t?(e=>({rng:e.getRng(),forward:e.isForward()}))(e):ul(e,!1))(e,t,n),Wu=(e,t)=>{((e,t)=>{const n=e.dom;if(t){if(Iu(t))return((e,t)=>{const n=e.createRng();return Hu(e,!0,t,n)&&Hu(e,!1,t,n)?I.some({range:n,forward:Fu(t)}):I.none()})(n,t);if((e=>m(e.start))(t))return((e,t)=>{const n=I.from(nl(e.getRoot(),t.start)),o=I.from(nl(e.getRoot(),t.end));return Mt(n,o,((n,o)=>{const r=e.createRng();return r.setStart(n.container(),n.offset()),r.setEnd(o.container(),o.offset()),{range:r,forward:Fu(t)}}))})(n,t);if((e=>Ee(e,"id"))(t))return((e,t)=>{const n=qu(e,"start",t),o=qu(e,"end",t);return Mt(n,o.or(n),((n,o)=>{const r=e.createRng();return r.setStart(Uu(e,n.container()),n.offset()),r.setEnd(Uu(e,o.container()),o.offset()),{range:r,forward:Fu(t)}}))})(n,t);if(Mu(t))return((e,t)=>I.from(e.select(t.name)[t.index]).map((t=>{const n=e.createRng();return n.selectNode(t),{range:n,forward:!0}})))(n,t);if((e=>Ee(e,"rng"))(t))return I.some({range:t.rng,forward:Fu(t)})}return I.none()})(e,t).each((({range:t,forward:n})=>{e.setRng(t,n)}))},Ku=e=>qo(e)&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type"),Yu=(Gu=br,e=>Gu===e);var Gu;const Xu=e=>""!==e&&-1!==" \f\n\r\t\v".indexOf(e),Qu=e=>!Xu(e)&&!Yu(e)&&!vr(e),Ju=e=>{const t=[];if(e)for(let n=0;n{const n=Uo(t,"td[data-mce-selected],th[data-mce-selected]");return n.length>0?n:(e=>Y((e=>te(e,(e=>{const t=_i(e);return t?[yn(t)]:[]})))(e),Rr))(e)},em=e=>Zu(Ju(e.selection.getSel()),yn(e.getBody())),tm=(e,t)=>eo(e,"table",t),nm=e=>Fn(e).fold(N([e]),(t=>[e].concat(nm(t)))),om=e=>Un(e).fold(N([e]),(t=>"br"===Ht(t)?Bn(t).map((t=>[e].concat(om(t)))).getOr([]):[e].concat(om(t)))),rm=(e,t)=>Mt((e=>{const t=e.startContainer,n=e.startOffset;return er(t)?0===n?I.some(yn(t)):I.none():I.from(t.childNodes[n]).map(yn)})(t),(e=>{const t=e.endContainer,n=e.endOffset;return er(t)?n===t.data.length?I.some(yn(t)):I.none():I.from(t.childNodes[n-1]).map(yn)})(t),((t,n)=>{const o=J(nm(e),T(_n,t)),r=J(om(e),T(_n,n));return o.isSome()&&r.isSome()})).getOr(!1),sm=(e,t,n,o)=>{const r=n,s=new jo(n,r),a=ye(e.schema.getMoveCaretBeforeOnEnterElements(),((e,t)=>!H(["td","th","table"],t.toLowerCase())));let i=n;do{if(er(i)&&0!==Pt.trim(i.data).length)return void(o?t.setStart(i,0):t.setEnd(i,i.data.length));if(a[i.nodeName])return void(o?t.setStartBefore(i):"BR"===i.nodeName?t.setEndBefore(i):t.setEndAfter(i))}while(i=o?s.next():s.prev());"BODY"===r.nodeName&&(o?t.setStart(r,0):t.setEnd(r,r.childNodes.length))},am=e=>{const t=e.selection.getSel();return C(t)&&t.rangeCount>0},im=(e,t)=>{const n=em(e);n.length>0?V(n,(n=>{const o=n.dom,r=e.dom.createRng();r.setStartBefore(o),r.setEndAfter(o),t(r,!0)})):t(e.selection.getRng(),!1)},lm=(e,t,n)=>{const o=ul(e,t);n(o),e.moveToBookmark(o)},dm=e=>x(null==e?void 0:e.nodeType),cm=e=>qo(e)&&!Ku(e)&&!Du(e)&&!Xo(e),um=(e,t,n)=>{const{selection:o,dom:r}=e,s=o.getNode(),a=dr(s);lm(o,!0,(()=>{t()})),a&&dr(s)&&r.isChildOf(s,e.getBody())?e.selection.select(s):n(o.getStart())&&mm(r,o)},mm=(e,t)=>{var n,o;const r=t.getRng(),{startContainer:s,startOffset:a}=r;if(!((e,t)=>{if(cm(t)&&!/^(TD|TH)$/.test(t.nodeName)){const n=e.getAttrib(t,"data-mce-selected"),o=parseInt(n,10);return!isNaN(o)&&o>0}return!1})(e,t.getNode())&&qo(s)){const i=s.childNodes,l=e.getRoot();let d;if(a{if(e){const o=t?"nextSibling":"previousSibling";for(e=n?e:e[o];e;e=e[o])if(qo(e)||!hm(e))return e}},gm=(e,t)=>!!e.getTextBlockElements()[t.nodeName.toLowerCase()]||Ts(e,t),pm=(e,t,n)=>e.schema.isValidChild(t,n),hm=(e,t=!1)=>{if(C(e)&&er(e)){const n=t?e.data.replace(/ /g,"\xa0"):e.data;return ss(n)}return!1},bm=(e,t)=>{const n=e.dom;return cm(t)&&"false"===n.getContentEditable(t)&&((e,t)=>{const n="[data-mce-cef-wrappable]",o=Ed(e),r=Ge(o)?n:`${n},${o}`;return xn(yn(t),r)})(e,t)&&0===n.select('[contenteditable="true"]',t).length},vm=(e,t)=>w(e)?e(t):(C(t)&&(e=e.replace(/%(\w+)/g,((e,n)=>t[n]||e))),e),ym=(e,t)=>(t=t||"",e=""+((e=e||"").nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()===t.toLowerCase()),Cm=(e,t)=>{if(y(e))return null;{let n=String(e);return"color"!==t&&"backgroundColor"!==t||(n=Ca(n)),"fontWeight"===t&&700===e&&(n="bold"),"fontFamily"===t&&(n=n.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),n}},wm=(e,t,n)=>{const o=e.getStyle(t,n);return Cm(o,n)},xm=(e,t)=>{let n;return e.getParent(t,(t=>!!qo(t)&&(n=e.getStyle(t,"text-decoration"),!!n&&"none"!==n))),n},Em=(e,t,n)=>e.getParents(t,n,e.getRoot()),_m=(e,t,n)=>{const o=e.formatter.get(t);return C(o)&&$(o,n)},Sm=e=>_e(e,"block"),km=e=>_e(e,"selector"),Nm=e=>_e(e,"inline"),Rm=e=>km(e)&&!1!==e.expand&&!Nm(e),Am=e=>(e=>{const t=[];let n=e;for(;n;){if(er(n)&&n.data!==Br||n.childNodes.length>1)return[];qo(n)&&t.push(n),n=n.firstChild}return t})(e).length>0,Tm=e=>Du(e.dom)&&Am(e.dom),Om=Ku,Bm=Em,Pm=hm,Dm=gm,Lm=(e,t)=>{let n=t;for(;n;){if(qo(n)&&e.getContentEditable(n))return"false"===e.getContentEditable(n)?n:t;n=n.parentNode}return t},Mm=(e,t,n,o)=>{const r=t.data;if(e){for(let e=n;e>0;e--)if(o(r.charAt(e-1)))return e}else for(let e=n;eMm(e,t,n,(e=>Yu(e)||Xu(e))),Fm=(e,t,n)=>Mm(e,t,n,Qu),Um=(e,t,n,o,r,s)=>{let a;const i=e.getParent(n,e.isBlock)||t,l=(t,n,o)=>{const s=hi(e),l=r?s.backwards:s.forwards;return I.from(l(t,n,((e,t)=>Om(e.parentNode)?-1:(a=e,o(r,e,t))),i))};return l(n,o,Im).bind((e=>s?l(e.container,e.offset+(r?-1:0),Fm):I.some(e))).orThunk((()=>a?I.some({container:a,offset:r?0:a.length}):I.none()))},zm=(e,t,n,o,r)=>{const s=o[r];er(o)&&Ge(o.data)&&s&&(o=s);const a=Bm(e,o);for(let o=0;o{var r;let s=n;const a=e.getRoot(),i=t[0];if(Sm(i)&&(s=i.wrapper?null:e.getParent(n,i.block,a)),!s){const t=null!==(r=e.getParent(n,"LI,TD,TH,SUMMARY"))&&void 0!==r?r:a;s=e.getParent(er(n)?n.parentNode:n,(t=>t!==a&&Dm(e.schema,t)),t)}if(s&&Sm(i)&&i.wrapper&&(s=Bm(e,s,"ul,ol").reverse()[0]||s),!s)for(s=n;s&&s[o]&&!e.isBlock(s[o])&&(s=s[o],!ym(s,"br")););return s||n},Hm=(e,t,n,o)=>{const r=n.parentNode;return!C(n[o])&&(!(r!==t&&!y(r)&&!e.isBlock(r))||Hm(e,t,r,o))},$m=(e,t,n,o,r)=>{let s=n;const a=r?"previousSibling":"nextSibling",i=e.getRoot();if(er(n)&&!Pm(n)&&(r?o>0:oOm(e.parentNode)||Om(e),Vm=(e,t,n,o=!1)=>{let{startContainer:r,startOffset:s,endContainer:a,endOffset:i}=t;const l=n[0];return qo(r)&&r.hasChildNodes()&&(r=Si(r,s),er(r)&&(s=0)),qo(a)&&a.hasChildNodes()&&(a=Si(a,t.collapsed?i:i-1),er(a)&&(i=a.data.length)),r=Lm(e,r),a=Lm(e,a),qm(r)&&(r=Om(r)?r:r.parentNode,r=t.collapsed?r.previousSibling||r:r.nextSibling||r,er(r)&&(s=t.collapsed?r.length:0)),qm(a)&&(a=Om(a)?a:a.parentNode,a=t.collapsed?a.nextSibling||a:a.previousSibling||a,er(a)&&(i=t.collapsed?0:a.length)),t.collapsed&&(Um(e,e.getRoot(),r,s,!0,o).each((({container:e,offset:t})=>{r=e,s=t})),Um(e,e.getRoot(),a,i,!1,o).each((({container:e,offset:t})=>{a=e,i=t}))),(Nm(l)||l.block_expand)&&(Nm(l)&&er(r)&&0!==s||(r=$m(e,n,r,s,!0)),Nm(l)&&er(a)&&i!==a.data.length||(a=$m(e,n,a,i,!1))),Rm(l)&&(r=zm(e,n,t,r,"previousSibling"),a=zm(e,n,t,a,"nextSibling")),(Sm(l)||km(l))&&(r=jm(e,n,r,"previousSibling"),a=jm(e,n,a,"nextSibling"),Sm(l)&&(e.isBlock(r)||(r=$m(e,n,r,s,!0)),e.isBlock(a)||(a=$m(e,n,a,i,!1)))),qo(r)&&r.parentNode&&(s=e.nodeIndex(r),r=r.parentNode),qo(a)&&a.parentNode&&(i=e.nodeIndex(a)+1,a=a.parentNode),{startContainer:r,startOffset:s,endContainer:a,endOffset:i}},Wm=(e,t,n)=>{var o;const r=t.startOffset,s=Si(t.startContainer,r),a=t.endOffset,i=Si(t.endContainer,a-1),l=e=>{const t=e[0];er(t)&&t===s&&r>=t.data.length&&e.splice(0,1);const n=e[e.length-1];return 0===a&&e.length>0&&n===i&&er(n)&&e.splice(e.length-1,1),e},d=(e,t,n)=>{const o=[];for(;e&&e!==n;e=e[t])o.push(e);return o},c=(t,n)=>e.getParent(t,(e=>e.parentNode===n),n),u=(e,t,o)=>{const r=o?"nextSibling":"previousSibling";for(let s=e,a=s.parentNode;s&&s!==t;s=a){a=s.parentNode;const t=d(s===e?s:s[r],r);t.length&&(o||t.reverse(),n(l(t)))}};if(s===i)return n(l([s]));const m=null!==(o=e.findCommonAncestor(s,i))&&void 0!==o?o:e.getRoot();if(e.isChildOf(s,i))return u(s,m,!0);if(e.isChildOf(i,s))return u(i,m);const f=c(s,m)||s,g=c(i,m)||i;u(s,f,!0);const p=d(f===s?f:f.nextSibling,"nextSibling",g===i?g.nextSibling:g);p.length&&n(l(p)),u(i,g)},Km=['pre[class*=language-][contenteditable="false"]',"figure.image","div[data-ephox-embed-iri]","div.tiny-pageembed","div.mce-toc","div[data-mce-toc]"],Ym=(e,t,n,o,r,s)=>{const{uid:a=t,...i}=n;un(e,Za()),Jt(e,`${ti()}`,a),Jt(e,`${ei()}`,o);const{attributes:l={},classes:d=[]}=r(a,i);if(Zt(e,l),((e,t)=>{V(t,(t=>{un(e,t)}))})(e,d),s){d.length>0&&Jt(e,`${oi()}`,d.join(","));const t=me(l);t.length>0&&Jt(e,`${ri()}`,t.join(","))}},Gm=(e,t,n,o,r)=>{const s=bn("span",e);return Ym(s,t,n,o,r,!1),s},Xm=(e,t,n,o,r,s)=>{const a=[],i=Gm(e.getDoc(),n,s,o,r),l=Xa(),d=()=>{l.clear()},c=e=>{V(e,u)},u=t=>{switch(((e,t,n,o)=>An(t).fold((()=>"skipping"),(r=>"br"===o||(e=>Kt(e)&&Cr(e)===Br)(t)?"valid":(e=>Wt(e)&&gn(e,Za()))(t)?"existing":Du(t.dom)?"caret":$(Km,(e=>xn(t,e)))?"valid-block":pm(e,n,o)&&pm(e,Ht(r),n)?"valid":"invalid-child")))(e,t,"span",Ht(t))){case"invalid-child":{d();const e=Mn(t);c(e),d();break}case"valid-block":d(),Ym(t,n,s,o,r,!0);break;case"valid":{const e=l.get().getOrThunk((()=>{const e=fi(i);return a.push(e),l.set(e),e}));yo(t,e);break}}};return Wm(e.dom,t,(e=>{d(),(e=>{const t=q(e,yn);c(t)})(e)})),a},Qm=e=>{const t=(()=>{const e={};return{register:(t,n)=>{e[t]={name:t,settings:n}},lookup:t=>xe(e,t).map((e=>e.settings)),getNames:()=>me(e)}})();((e,t)=>{const n=ei(),o=e=>I.from(e.attr(n)).bind(t.lookup),r=e=>{var t,n;e.attr(ti(),null),e.attr(ei(),null),e.attr(ni(),null);const o=I.from(e.attr(ri())).map((e=>e.split(","))).getOr([]),r=I.from(e.attr(oi())).map((e=>e.split(","))).getOr([]);V(o,(t=>e.attr(t,null)));const s=null!==(n=null===(t=e.attr("class"))||void 0===t?void 0:t.split(" "))&&void 0!==n?n:[],a=re(s,[Za()].concat(r));e.attr("class",a.length>0?a.join(" "):null),e.attr(oi(),null),e.attr(ri(),null)};e.serializer.addTempAttr(ni()),e.serializer.addAttributeFilter(n,(e=>{for(const t of e)o(t).each((e=>{!1===e.persistent&&("span"===t.name?t.unwrap():r(t))}))}))})(e,t);const n=((e,t)=>{const n=$a({}),o=()=>({listeners:[],previous:Xa()}),r=(e,t)=>{s(e,(e=>(t(e),e)))},s=(e,t)=>{const r=n.get(),s=t(xe(r,e).getOrThunk(o));r[e]=s,n.set(r)},a=(t,n)=>{V(li(e,t),(e=>{n?Jt(e,ni(),"true"):on(e,ni())}))},i=Ja((()=>{const n=ae(t.getNames());V(n,(t=>{s(t,(n=>{const o=n.previous.get();return ai(e,I.some(t)).fold((()=>{o.each((e=>{(e=>{r(e,(t=>{V(t.listeners,(t=>t(!1,e)))}))})(t),n.previous.clear(),a(e,!1)}))}),(({uid:e,name:t,elements:s})=>{Dt(o,e)||(o.each((e=>a(e,!1))),((e,t,n)=>{r(e,(o=>{V(o.listeners,(o=>o(!0,e,{uid:t,nodes:q(n,(e=>e.dom))})))}))})(t,e,s),n.previous.set(e),a(e,!0))})),{previous:n.previous,listeners:n.listeners}}))}))}),30);return e.on("remove",(()=>{i.cancel()})),e.on("NodeChange",(()=>{i.throttle()})),{addListener:(e,t)=>{s(e,(e=>({previous:e.previous,listeners:e.listeners.concat([t])})))}}})(e,t),o=Xt("span"),r=e=>{V(e,(e=>{o(e)?Eo(e):(e=>{fn(e,Za()),on(e,`${ti()}`),on(e,`${ei()}`),on(e,`${ni()}`);const t=tn(e,`${ri()}`).map((e=>e.split(","))).getOr([]),n=tn(e,`${oi()}`).map((e=>e.split(","))).getOr([]);var o;V(t,(t=>on(e,t))),o=e,V(n,(e=>{fn(o,e)})),on(e,`${oi()}`),on(e,`${ri()}`)})(e)}))};return{register:(e,n)=>{t.register(e,n)},annotate:(n,o)=>{t.lookup(n).each((t=>{((e,t,n,o)=>{e.undoManager.transact((()=>{const r=e.selection,s=r.getRng(),a=em(e).length>0,i=ui("mce-annotation");if(s.collapsed&&!a&&((e,t)=>{const n=Vm(e.dom,t,[{inline:"span"}]);t.setStart(n.startContainer,n.startOffset),t.setEnd(n.endContainer,n.endOffset),e.selection.setRng(t)})(e,s),r.getRng().collapsed&&!a){const s=Gm(e.getDoc(),i,o,t,n.decorate);ko(s,br),r.getRng().insertNode(s.dom),r.select(s.dom)}else lm(r,!1,(()=>{im(e,(r=>{Xm(e,r,i,t,n.decorate,o)}))}))}))})(e,n,t,o)}))},annotationChanged:(e,t)=>{n.addListener(e,t)},remove:t=>{ai(e,I.some(t)).each((({elements:t})=>{const n=e.selection.getBookmark();r(t),e.selection.moveToBookmark(n)}))},removeAll:t=>{const n=e.selection.getBookmark();ge(di(e,t),((e,t)=>{r(e)})),e.selection.moveToBookmark(n)},getAll:t=>{const n=di(e,t);return pe(n,(e=>q(e,(e=>e.dom))))}}},Jm=e=>({getBookmark:T(Vu,e),moveToBookmark:T(Wu,e)});Jm.isBookmarkNode=Ku;const Zm=(e,t,n)=>!n.collapsed&&$(n.getClientRects(),(n=>((e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom)(n,e,t))),ef=(e,t,n)=>{e.dispatch(t,n)},tf=(e,t,n,o)=>{e.dispatch("FormatApply",{format:t,node:n,vars:o})},nf=(e,t,n,o)=>{e.dispatch("FormatRemove",{format:t,node:n,vars:o})},of=(e,t)=>e.dispatch("SetContent",t),rf=(e,t)=>e.dispatch("GetContent",t),sf=(e,t)=>e.dispatch("PastePlainTextToggle",{state:t}),af={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,ESC:27,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,modifierPressed:e=>e.shiftKey||e.ctrlKey||e.altKey||af.metaKeyPressed(e),metaKeyPressed:e=>At.os.isMacOS()||At.os.isiOS()?e.metaKey:e.ctrlKey&&!e.altKey},lf="data-mce-selected",df=Math.abs,cf=Math.round,uf={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]},mf=(e,t)=>{const n=t.dom,o=t.getDoc(),r=document,s=t.getBody();let a,i,l,d,c,u,m,f,g,p,h,b,v,y,w;const x=e=>C(e)&&(ir(e)||n.is(e,"figure.image")),E=e=>mr(e)||n.hasClass(e,"mce-preview-object"),_=e=>{const n=e.target;((e,t)=>{if((e=>"longpress"===e.type||0===e.type.indexOf("touch"))(e)){const n=e.touches[0];return x(e.target)&&!Zm(n.clientX,n.clientY,t)}return x(e.target)&&!Zm(e.clientX,e.clientY,t)})(e,t.selection.getRng())&&!e.isDefaultPrevented()&&t.selection.select(n)},S=e=>n.hasClass(e,"mce-preview-object")&&C(e.firstElementChild)?[e,e.firstElementChild]:n.is(e,"figure.image")?[e.querySelector("img")]:[e],k=e=>{const o=cd(t);return!!o&&"false"!==e.getAttribute("data-mce-resize")&&e!==t.getBody()&&(n.hasClass(e,"mce-preview-object")&&C(e.firstElementChild)?xn(yn(e.firstElementChild),o):xn(yn(e),o))},N=(e,o,r)=>{if(C(r)){const s=S(e);V(s,(e=>{e.style[o]||!t.schema.isValid(e.nodeName.toLowerCase(),o)?n.setStyle(e,o,r):n.setAttrib(e,o,""+r)}))}},R=(e,t,n)=>{N(e,"width",t),N(e,"height",n)},A=e=>{let o,r,c,C,_;o=e.screenX-u,r=e.screenY-m,b=o*d[2]+f,v=r*d[3]+g,b=b<5?5:b,v=v<5?5:v,c=(x(a)||E(a))&&!1!==ud(t)?!af.modifierPressed(e):af.modifierPressed(e),c&&(df(o)>df(r)?(v=cf(b*p),b=cf(v/p)):(b=cf(v/p),v=cf(b*p))),R(i,b,v),C=d.startPos.x+o,_=d.startPos.y+r,C=C>0?C:0,_=_>0?_:0,n.setStyles(l,{left:C,top:_,display:"block"}),l.innerHTML=b+" × "+v,d[2]<0&&i.clientWidth<=b&&n.setStyle(i,"left",void 0+(f-b)),d[3]<0&&i.clientHeight<=v&&n.setStyle(i,"top",void 0+(g-v)),o=s.scrollWidth-y,r=s.scrollHeight-w,o+r!==0&&n.setStyles(l,{left:C-o,top:_-r}),h||(((e,t,n,o,r)=>{e.dispatch("ObjectResizeStart",{target:t,width:n,height:o,origin:r})})(t,a,f,g,"corner-"+d.name),h=!0)},T=()=>{const e=h;h=!1,e&&(N(a,"width",b),N(a,"height",v)),n.unbind(o,"mousemove",A),n.unbind(o,"mouseup",T),r!==o&&(n.unbind(r,"mousemove",A),n.unbind(r,"mouseup",T)),n.remove(i),n.remove(l),n.remove(c),O(a),e&&(((e,t,n,o,r)=>{e.dispatch("ObjectResized",{target:t,width:n,height:o,origin:r})})(t,a,b,v,"corner-"+d.name),n.setAttrib(a,"style",n.getAttrib(a,"style"))),t.nodeChanged()},O=e=>{M();const h=n.getPos(e,s),C=h.x,x=h.y,_=e.getBoundingClientRect(),N=_.width||_.right-_.left,O=_.height||_.bottom-_.top;a!==e&&(P(),a=e,b=v=0);const B=t.dispatch("ObjectSelected",{target:e});k(e)&&!B.isDefaultPrevented()?ge(uf,((e,t)=>{let h=n.get("mceResizeHandle"+t);h&&n.remove(h),h=n.add(s,"div",{id:"mceResizeHandle"+t,"data-mce-bogus":"all",class:"mce-resizehandle",unselectable:!0,style:"cursor:"+t+"-resize; margin:0; padding:0"}),n.bind(h,"mousedown",(h=>{h.stopImmediatePropagation(),h.preventDefault(),(h=>{const b=S(a)[0];var v;u=h.screenX,m=h.screenY,f=b.clientWidth,g=b.clientHeight,p=g/f,d=e,d.name=t,d.startPos={x:N*e[0]+C,y:O*e[1]+x},y=s.scrollWidth,w=s.scrollHeight,c=n.add(s,"div",{class:"mce-resize-backdrop","data-mce-bogus":"all"}),n.setStyles(c,{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}),i=E(v=a)?n.create("img",{src:At.transparentSrc}):v.cloneNode(!0),n.addClass(i,"mce-clonedresizable"),n.setAttrib(i,"data-mce-bogus","all"),i.contentEditable="false",n.setStyles(i,{left:C,top:x,margin:0}),R(i,N,O),i.removeAttribute(lf),s.appendChild(i),n.bind(o,"mousemove",A),n.bind(o,"mouseup",T),r!==o&&(n.bind(r,"mousemove",A),n.bind(r,"mouseup",T)),l=n.add(s,"div",{class:"mce-resize-helper","data-mce-bogus":"all"},f+" × "+g)})(h)})),e.elm=h,n.setStyles(h,{left:N*e[0]+C-h.offsetWidth/2,top:O*e[1]+x-h.offsetHeight/2})})):P(!1)},B=Qa(O,0),P=(e=!0)=>{B.cancel(),M(),a&&e&&a.removeAttribute(lf),ge(uf,((e,t)=>{const o=n.get("mceResizeHandle"+t);o&&(n.unbind(o),n.remove(o))}))},D=(e,t)=>n.isChildOf(e,t),L=o=>{if(h||t.removed||t.composing)return;const r="mousedown"===o.type?o.target:e.getNode(),a=no(yn(r),"table,img,figure.image,hr,video,span.mce-preview-object,details").map((e=>e.dom)).filter((e=>n.isEditable(e.parentElement)||"IMG"===e.nodeName&&n.isEditable(e))).getOrUndefined(),i=C(a)?n.getAttrib(a,lf,"1"):"1";if(V(n.select(`img[${lf}],hr[${lf}]`),(e=>{e.removeAttribute(lf)})),C(a)&&D(a,s)&&t.hasFocus()){I();const t=e.getStart(!0);if(D(t,a)&&D(e.getEnd(!0),a))return n.setAttrib(a,lf,i),void B.throttle(a)}P()},M=()=>{ge(uf,(e=>{e.elm&&(n.unbind(e.elm),delete e.elm)}))},I=()=>{try{t.getDoc().execCommand("enableObjectResizing",!1,"false")}catch(e){}};return t.on("init",(()=>{I(),t.on("NodeChange ResizeEditor ResizeWindow ResizeContent drop",L),t.on("keyup compositionend",(e=>{a&&"TABLE"===a.nodeName&&L(e)})),t.on("hide blur",P),t.on("contextmenu longpress",_,!0)})),t.on("remove",M),{isResizable:k,showResizeRect:O,hideResizeRect:P,updateResizeRect:L,destroy:()=>{B.cancel(),a=i=c=null}}},ff=(e,t,n)=>{const o=e.document.createRange();var r;return r=o,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,n)=>{e.setEnd(t.dom,n)}),(t=>{e.setEndAfter(t.dom)}))})(o,n),o},gf=(e,t,n,o,r)=>{const s=e.document.createRange();return s.setStart(t.dom,n),s.setEnd(o.dom,r),s},pf=hl([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),hf=(e,t,n)=>t(yn(n.startContainer),n.startOffset,yn(n.endContainer),n.endOffset);pf.ltr,pf.rtl;const bf=(e,t,n,o)=>({start:e,soffset:t,finish:n,foffset:o}),vf=document.caretPositionFromPoint?(e,t,n)=>{var o,r;return I.from(null===(r=(o=e.dom).caretPositionFromPoint)||void 0===r?void 0:r.call(o,t,n)).bind((t=>{if(null===t.offsetNode)return I.none();const n=e.dom.createRange();return n.setStart(t.offsetNode,t.offset),n.collapse(),I.some(n)}))}:document.caretRangeFromPoint?(e,t,n)=>{var o,r;return I.from(null===(r=(o=e.dom).caretRangeFromPoint)||void 0===r?void 0:r.call(o,t,n))}:I.none,yf=hl([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Cf={before:yf.before,on:yf.on,after:yf.after,cata:(e,t,n,o)=>e.fold(t,n,o),getStart:e=>e.fold(R,R,R)},wf=hl([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),xf={domRange:wf.domRange,relative:wf.relative,exact:wf.exact,exactFromRange:e=>wf.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>yn(e.startContainer),relative:(e,t)=>Cf.getStart(e),exact:(e,t,n,o)=>e}))(e);return Rn(t)},range:bf},Ef=(e,t)=>{const n=Ht(e);return"input"===n?Cf.after(e):H(["br","img"],n)?0===t?Cf.before(e):Cf.after(e):Cf.on(e,t)},_f=(e,t)=>{const n=e.fold(Cf.before,Ef,Cf.after),o=t.fold(Cf.before,Ef,Cf.after);return xf.relative(n,o)},Sf=(e,t,n,o)=>{const r=Ef(e,t),s=Ef(n,o);return xf.relative(r,s)},kf=(e,t)=>{const n=(t||document).createDocumentFragment();return V(e,(e=>{n.appendChild(e.dom)})),yn(n)},Nf=e=>{const t=xf.getWin(e).dom,n=(e,n,o,r)=>gf(t,e,n,o,r),o=(e=>e.match({domRange:e=>{const t=yn(e.startContainer),n=yn(e.endContainer);return Sf(t,e.startOffset,n,e.endOffset)},relative:_f,exact:Sf}))(e);return((e,t)=>{const n=((e,t)=>t.match({domRange:e=>({ltr:N(e),rtl:I.none}),relative:(t,n)=>({ltr:De((()=>ff(e,t,n))),rtl:De((()=>I.some(ff(e,n,t))))}),exact:(t,n,o,r)=>({ltr:De((()=>gf(e,t,n,o,r))),rtl:De((()=>I.some(gf(e,o,r,t,n))))})}))(e,t);return((e,t)=>{const n=t.ltr();return n.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>pf.rtl(yn(e.endContainer),e.endOffset,yn(e.startContainer),e.startOffset))).getOrThunk((()=>hf(0,pf.ltr,n))):hf(0,pf.ltr,n)})(0,n)})(t,o).match({ltr:n,rtl:n})},Rf=(e,t,n)=>((e,t,n)=>((e,t,n)=>{const o=yn(e.document);return vf(o,t,n).map((e=>bf(yn(e.startContainer),e.startOffset,yn(e.endContainer),e.endOffset)))})(e,t,n))(Rn(yn(n)).dom,e,t).map((e=>{const t=n.createRange();return t.setStart(e.start.dom,e.soffset),t.setEnd(e.finish.dom,e.foffset),t})).getOrUndefined(),Af=(e,t)=>C(e)&&C(t)&&e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.endContainer&&e.endOffset===t.endOffset,Tf=(e,t,n)=>null!==((e,t,n)=>{let o=e;for(;o&&o!==t;){if(n(o))return o;o=o.parentNode}return null})(e,t,n),Of=(e,t,n)=>Tf(e,t,(e=>e.nodeName===n)),Bf=(e,t)=>Ur(e)&&!Tf(e,t,Du),Pf=(e,t,n)=>{const o=t.parentNode;if(o){const r=new jo(t,e.getParent(o,e.isBlock)||e.getRoot());let s;for(;s=r[n?"prev":"next"]();)if(ar(s))return!0}return!1},Df=(e,t,n,o,r)=>{const s=e.getRoot(),a=e.schema.getNonEmptyElements(),i=r.parentNode;let l,d;if(!i)return I.none();const c=e.getParent(i,e.isBlock)||s;if(o&&ar(r)&&t&&e.isEmpty(c))return I.some(Vi(i,e.nodeIndex(r)));const u=new jo(r,c);for(;d=u[o?"prev":"next"]();){if("false"===e.getContentEditableParent(d)||Bf(d,s))return I.none();if(er(d)&&d.data.length>0)return Of(d,s,"A")?I.none():I.some(Vi(d,o?d.data.length:0));if(e.isBlock(d)||a[d.nodeName.toLowerCase()])return I.none();l=d}return or(l)?I.none():n&&l?I.some(Vi(l,0)):I.none()},Lf=(e,t,n,o)=>{const r=e.getRoot();let s,a=!1,i=n?o.startContainer:o.endContainer,l=n?o.startOffset:o.endOffset;const d=qo(i)&&l===i.childNodes.length,c=e.schema.getNonEmptyElements();let u=n;if(Ur(i))return I.none();if(qo(i)&&l>i.childNodes.length-1&&(u=!1),rr(i)&&(i=r,l=0),i===r){if(u&&(s=i.childNodes[l>0?l-1:0],s)){if(Ur(s))return I.none();if(c[s.nodeName]||Qo(s))return I.none()}if(i.hasChildNodes()){if(l=Math.min(!u&&l>0?l-1:l,i.childNodes.length-1),i=i.childNodes[l],l=er(i)&&d?i.data.length:0,!t&&i===r.lastChild&&Qo(i))return I.none();if(((e,t)=>{let n=t;for(;n&&n!==e;){if(dr(n))return!0;n=n.parentNode}return!1})(r,i)||Ur(i))return I.none();if(gr(i))return I.none();if(i.hasChildNodes()&&!Qo(i)){s=i;const t=new jo(i,r);do{if(dr(s)||Ur(s)){a=!1;break}if(er(s)&&s.data.length>0){l=u?0:s.data.length,i=s,a=!0;break}if(c[s.nodeName.toLowerCase()]&&!ur(s)){l=e.nodeIndex(s),i=s.parentNode,u||l++,a=!0;break}}while(s=u?t.next():t.prev())}}}return t&&(er(i)&&0===l&&Df(e,d,t,!0,i).each((e=>{i=e.container(),l=e.offset(),a=!0})),qo(i)&&(s=i.childNodes[l],s||(s=i.childNodes[l-1]),!s||!ar(s)||((e,t)=>{var n;return"A"===(null===(n=e.previousSibling)||void 0===n?void 0:n.nodeName)})(s)||Pf(e,s,!1)||Pf(e,s,!0)||Df(e,d,t,!0,s).each((e=>{i=e.container(),l=e.offset(),a=!0})))),u&&!t&&er(i)&&l===i.data.length&&Df(e,d,t,!1,i).each((e=>{i=e.container(),l=e.offset(),a=!0})),a&&i?I.some(Vi(i,l)):I.none()},Mf=(e,t)=>{const n=t.collapsed,o=t.cloneRange(),r=Vi.fromRangeStart(t);return Lf(e,n,!0,o).each((e=>{n&&Vi.isAbove(r,e)||o.setStart(e.container(),e.offset())})),n||Lf(e,n,!1,o).each((e=>{o.setEnd(e.container(),e.offset())})),n&&o.collapse(!0),Af(t,o)?I.none():I.some(o)},If=(e,t)=>e.splitText(t),Ff=e=>{let t=e.startContainer,n=e.startOffset,o=e.endContainer,r=e.endOffset;if(t===o&&er(t)){if(n>0&&nn){r-=n;const e=If(o,r).previousSibling;t=o=e,r=e.data.length,n=0}else r=0}else if(er(t)&&n>0&&n0&&r({walk:(t,n)=>Wm(e,t,n),split:Ff,expand:(t,n={type:"word"})=>{if("word"===n.type){const n=Vm(e,t,[{inline:"span"}]),o=e.createRng();return o.setStart(n.startContainer,n.startOffset),o.setEnd(n.endContainer,n.endOffset),o}return t},normalize:t=>Mf(e,t).fold(L,(e=>(t.setStart(e.startContainer,e.startOffset),t.setEnd(e.endContainer,e.endOffset),!0)))});Uf.compareRanges=Af,Uf.getCaretRangeFromPoint=Rf,Uf.getSelectedNode=_i,Uf.getNode=Si;const zf=((e,t)=>{const n=t=>{const n=(e=>{const t=e.dom;return Gn(e)?t.getBoundingClientRect().height:t.offsetHeight})(t);if(n<=0||null===n){const n=co(t,e);return parseFloat(n)||0}return n},o=(e,t)=>X(t,((t,n)=>{const o=co(e,n),r=void 0===o?0:parseInt(o,10);return isNaN(r)?t:t+r}),0);return{set:(t,n)=>{if(!x(n)&&!n.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+n);const o=t.dom;so(o)&&(o.style[e]=n+"px")},get:n,getOuter:n,aggregate:o,max:(e,t,n)=>{const r=o(e,n);return t>r?t-r:0}}})("height"),jf=()=>yn(document),Hf=(e,t)=>e.view(t).fold(N([]),(t=>{const n=e.owner(t),o=Hf(e,n);return[t].concat(o)}));var $f=Object.freeze({__proto__:null,view:e=>{var t;return(e.dom===document?I.none():I.from(null===(t=e.dom.defaultView)||void 0===t?void 0:t.frameElement)).map(yn)},owner:e=>Nn(e)});const qf=e=>"textarea"===Ht(e),Vf=(e,t)=>{const n=(e=>{const t=e.dom.ownerDocument,n=t.body,o=t.defaultView,r=t.documentElement;if(n===e.dom)return To(n.offsetLeft,n.offsetTop);const s=Oo(null==o?void 0:o.pageYOffset,r.scrollTop),a=Oo(null==o?void 0:o.pageXOffset,r.scrollLeft),i=Oo(r.clientTop,n.clientTop),l=Oo(r.clientLeft,n.clientLeft);return Bo(e).translate(a-l,s-i)})(e),o=(e=>zf.get(e))(e);return{element:e,bottom:n.top+o,height:o,pos:n,cleanup:t}},Wf=(e,t,n,o)=>{Xf(e,((r,s)=>Yf(e,t,n,o)),n)},Kf=(e,t,n,o,r)=>{const s={elm:o.element.dom,alignToTop:r};((e,t)=>e.dispatch("ScrollIntoView",t).isDefaultPrevented())(e,s)||(n(e,t,Po(t).top,o,r),((e,t)=>{e.dispatch("AfterScrollIntoView",t)})(e,s))},Yf=(e,t,n,o)=>{const r=yn(e.getBody()),s=yn(e.getDoc());r.dom.offsetWidth;const a=((e,t)=>{const n=((e,t)=>{const n=Mn(e);if(0===n.length||qf(e))return{element:e,offset:t};if(t\ufeff');return po(n.element,o),Vf(o,(()=>xo(o)))})(yn(n.startContainer),n.startOffset);Kf(e,s,t,a,o),a.cleanup()},Gf=(e,t,n,o)=>{const r=yn(e.getDoc());Kf(e,r,n,(e=>Vf(yn(e),_))(t),o)},Xf=(e,t,n)=>{const o=n.startContainer,r=n.startOffset,s=n.endContainer,a=n.endOffset;t(yn(o),yn(s));const i=e.dom.createRng();i.setStart(o,r),i.setEnd(s,a),e.selection.setRng(n)},Qf=(e,t,n,o,r)=>{const s=t.pos;if(o)Do(s.left,s.top,r);else{const o=s.top-n+t.height;Do(-e.getBody().getBoundingClientRect().left,o,r)}},Jf=(e,t,n,o,r,s)=>{const a=o+n,i=r.pos.top,l=r.bottom,d=l-i>=o;ia?Qf(e,r,o,d?!1!==s:!0===s,t):l>a&&!d&&Qf(e,r,o,!0===s,t)},Zf=(e,t,n,o,r)=>{const s=Rn(t).dom.innerHeight;Jf(e,t,n,s,o,r)},eg=(e,t,n,o,r)=>{const s=Rn(t).dom.innerHeight;Jf(e,t,n,s,o,r);const a=(e=>{const t=jf(),n=Po(t),o=((e,t)=>{const n=t.owner(e);return Hf(t,n)})(e,$f),r=Bo(e),s=G(o,((e,t)=>{const n=Bo(t);return{left:e.left+n.left,top:e.top+n.top}}),{left:0,top:0});return To(s.left+r.left+n.left,s.top+r.top+n.top)})(o.element),i=Io(window);a.topi.bottom&&Lo(o.element,!0===r)},tg=(e,t,n)=>Wf(e,Zf,t,n),ng=(e,t,n)=>Gf(e,t,Zf,n),og=(e,t,n)=>Wf(e,eg,t,n),rg=(e,t,n)=>Gf(e,t,eg,n),sg=(e,t,n)=>{(e.inline?tg:og)(e,t,n)},ag=(e,t=!1)=>e.dom.focus({preventScroll:t}),ig=e=>{const t=qn(e).dom;return e.dom===t.activeElement},lg=(e=jf())=>I.from(e.dom.activeElement).map(yn),dg=(e,t)=>{const n=Kt(t)?Cr(t).length:Mn(t).length+1;return e>n?n:e<0?0:e},cg=e=>xf.range(e.start,dg(e.soffset,e.start),e.finish,dg(e.foffset,e.finish)),ug=(e,t)=>!$o(t.dom)&&(Sn(e,t)||_n(e,t)),mg=e=>t=>ug(e,t.start)&&ug(e,t.finish),fg=e=>xf.range(yn(e.startContainer),e.startOffset,yn(e.endContainer),e.endOffset),gg=e=>{const t=document.createRange();try{return t.setStart(e.start.dom,e.soffset),t.setEnd(e.finish.dom,e.foffset),I.some(t)}catch(e){return I.none()}},pg=e=>{const t=(e=>e.inline||At.browser.isFirefox())(e)?(n=yn(e.getBody()),(e=>{const t=e.getSelection();return(t&&0!==t.rangeCount?I.from(t.getRangeAt(0)):I.none()).map(fg)})(Rn(n).dom).filter(mg(n))):I.none();var n;e.bookmark=t.isSome()?t:e.bookmark},hg=e=>(e.bookmark?e.bookmark:I.none()).bind((t=>{return n=yn(e.getBody()),o=t,I.from(o).filter(mg(n)).map(cg);var n,o})).bind(gg),bg={isEditorUIElement:e=>{const t=e.className.toString();return-1!==t.indexOf("tox-")||-1!==t.indexOf("mce-")}},vg={setEditorTimeout:(e,t,n)=>((e,t)=>(x(t)||(t=0),setTimeout(e,t)))((()=>{e.removed||t()}),n),setEditorInterval:(e,t,n)=>{const o=((e,t)=>(x(t)||(t=0),setInterval(e,t)))((()=>{e.removed?clearInterval(o):t()}),n);return o}};let yg;const Cg=za.DOM,wg=e=>{const t=e.classList;return void 0!==t&&(t.contains("tox-edit-area")||t.contains("tox-edit-area__iframe")||t.contains("mce-content-body"))},xg=(e,t)=>{const n=_d(e),o=Cg.getParent(t,(t=>(e=>qo(e)&&bg.isEditorUIElement(e))(t)||!!n&&e.dom.is(t,n)));return null!==o},Eg=e=>{try{const t=qn(yn(e.getElement()));return lg(t).fold((()=>document.body),(e=>e.dom))}catch(e){return document.body}},_g=(e,t)=>{const n=t.editor;(e=>{const t=Qa((()=>{pg(e)}),0);e.on("init",(()=>{e.inline&&((e,t)=>{const n=()=>{t.throttle()};za.DOM.bind(document,"mouseup",n),e.on("remove",(()=>{za.DOM.unbind(document,"mouseup",n)}))})(e,t),((e,t)=>{((e,t)=>{e.on("mouseup touchend",(e=>{t.throttle()}))})(e,t),e.on("keyup NodeChange AfterSetSelectionRange",(t=>{(e=>"nodechange"===e.type&&e.selectionChange)(t)||pg(e)}))})(e,t)})),e.on("remove",(()=>{t.cancel()}))})(n);const o=(e,t)=>{mc(e)&&!0!==e.inline&&t(yn(e.getContainer()),"tox-edit-focus")};n.on("focusin",(()=>{const t=e.focusedEditor;wg(Eg(n))&&o(n,un),t!==n&&(t&&t.dispatch("blur",{focusedEditor:n}),e.setActive(n),e.focusedEditor=n,n.dispatch("focus",{blurredEditor:t}),n.focus(!0))})),n.on("focusout",(()=>{vg.setEditorTimeout(n,(()=>{const t=e.focusedEditor;wg(Eg(n))&&t===n||o(n,fn),xg(n,Eg(n))||t!==n||(n.dispatch("blur",{focusedEditor:null}),e.focusedEditor=null)}))})),yg||(yg=t=>{const n=e.activeEditor;n&&Kn(t).each((t=>{const o=t;o.ownerDocument===document&&(o===document.body||xg(n,o)||e.focusedEditor!==n||(n.dispatch("blur",{focusedEditor:null}),e.focusedEditor=null))}))},Cg.bind(document,"focusin",yg))},Sg=(e,t)=>{e.focusedEditor===t.editor&&(e.focusedEditor=null),!e.activeEditor&&yg&&(Cg.unbind(document,"focusin",yg),yg=null)},kg=(e,t)=>{((e,t)=>(e=>e.collapsed?I.from(Si(e.startContainer,e.startOffset)).map(yn):I.none())(t).bind((t=>Nr(t)?I.some(t):Sn(e,t)?I.none():I.some(e))))(yn(e.getBody()),t).bind((e=>Ou(e.dom))).fold((()=>{e.selection.normalize()}),(t=>e.selection.setRng(t.toRange())))},Ng=e=>{if(e.setActive)try{e.setActive()}catch(t){e.focus()}else e.focus()},Rg=e=>e.inline?(e=>{const t=e.getBody();return t&&(n=yn(t),ig(n)||(o=n,lg(qn(o)).filter((e=>o.dom.contains(e.dom)))).isSome());var n,o})(e):(e=>C(e.iframeElement)&&ig(yn(e.iframeElement)))(e),Ag=e=>Rg(e)||(e=>{const t=qn(yn(e.getElement()));return lg(t).filter((t=>!wg(t.dom)&&xg(e,t.dom))).isSome()})(e),Tg=e=>e.editorManager.setActive(e),Og=(e,t)=>t.collapsed?e.isEditable(t.startContainer):e.isEditable(t.startContainer)&&e.isEditable(t.endContainer),Bg=(e,t,n,o,r)=>{const s=n?t.startContainer:t.endContainer,a=n?t.startOffset:t.endOffset;return I.from(s).map(yn).map((e=>o&&t.collapsed?e:In(e,r(e,a)).getOr(e))).bind((e=>Wt(e)?I.some(e):An(e).filter(Wt))).map((e=>e.dom)).getOr(e)},Pg=(e,t,n=!1)=>Bg(e,t,!0,n,((e,t)=>Math.min(zn(e),t))),Dg=(e,t,n=!1)=>Bg(e,t,!1,n,((e,t)=>t>0?t-1:t)),Lg=(e,t)=>{const n=e;for(;e&&er(e)&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n},Mg=(e,t)=>q(t,(t=>{const n=e.dispatch("GetSelectionRange",{range:t});return n.range!==t?n.range:t})),Ig=["img","br"],Fg=e=>{const t=wr(e).filter((e=>0!==e.trim().length||e.indexOf(br)>-1)).isSome();return t||H(Ig,Ht(e))||(e=>Vt(e)&&"false"===en(e,"contenteditable"))(e)},Ug="[data-mce-autocompleter]",zg=(e,t)=>{if(jg(yn(e.getBody())).isNone()){const o=hn('',e.getDoc());vo(o,yn(t.extractContents())),t.insertNode(o.dom),An(o).each((e=>e.dom.normalize())),(n=o,((e,t)=>{const n=e=>{const o=Mn(e);for(let e=o.length-1;e>=0;e--){const r=o[e];if(t(r))return I.some(r);const s=n(r);if(s.isSome())return s}return I.none()};return n(e)})(n,Fg)).map((t=>{e.selection.setCursorLocation(t.dom,(e=>"img"===Ht(e)?1:wr(e).fold((()=>Mn(e).length),(e=>e.length)))(t))}))}var n},jg=e=>to(e,Ug),Hg={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11},$g=(e,t,n)=>{const o=n?"lastChild":"firstChild",r=n?"prev":"next";if(e[o])return e[o];if(e!==t){let n=e[r];if(n)return n;for(let o=e.parent;o&&o!==t;o=o.parent)if(n=o[r],n)return n}},qg=e=>{var t;const n=null!==(t=e.value)&&void 0!==t?t:"";if(!ss(n))return!1;const o=e.parent;return!o||"span"===o.name&&!o.attr("style")||!/^[ ]+$/.test(n)},Vg=e=>{const t="a"===e.name&&!e.attr("href")&&e.attr("id");return e.attr("name")||e.attr("id")&&!e.firstChild||e.attr("data-mce-bookmark")||t};class Wg{static create(e,t){const n=new Wg(e,Hg[e]||1);return t&&ge(t,((e,t)=>{n.attr(t,e)})),n}constructor(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}replace(e){const t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t}attr(e,t){const n=this;if(!m(e))return C(e)&&ge(e,((e,t)=>{n.attr(t,e)})),n;const o=n.attributes;if(o){if(void 0!==t){if(null===t){if(e in o.map){delete o.map[e];let t=o.length;for(;t--;)if(o[t].name===e)return o.splice(t,1),n}return n}if(e in o.map){let n=o.length;for(;n--;)if(o[n].name===e){o[n].value=t;break}}else o.push({name:e,value:t});return o.map[e]=t,n}return o.map[e]}}clone(){const e=this,t=new Wg(e.name,e.type),n=e.attributes;if(n){const e=[];e.map={};for(let t=0,o=n.length;tm(e.nodeValue)&&e.nodeValue.includes(Br),Gg=e=>(0===e.length?"":`${q(e,(e=>`[${e}]`)).join(",")},`)+'[data-mce-bogus="all"]',Xg=e=>document.createTreeWalker(e,NodeFilter.SHOW_COMMENT,(e=>Yg(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP)),Qg=e=>document.createTreeWalker(e,NodeFilter.SHOW_TEXT,(e=>{if(Yg(e)){const t=e.parentNode;return t&&Ee(Kg,t.nodeName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}return NodeFilter.FILTER_SKIP})),Jg=e=>null!==Xg(e).nextNode(),Zg=e=>null!==Qg(e).nextNode(),ep=(e,t)=>null!==t.querySelector(Gg(e)),tp=(e,t)=>{V(((e,t)=>t.querySelectorAll(Gg(e)))(e,t),(t=>{const n=yn(t);"all"===en(n,"data-mce-bogus")?xo(n):V(e,(e=>{nn(n,e)&&on(n,e)}))}))},np=e=>{let t=e.nextNode();for(;null!==t;)t.nodeValue=null,t=e.nextNode()},op=S(np,Xg),rp=S(np,Qg),sp=(e,t)=>{const n=[{condition:T(ep,t),action:T(tp,t)},{condition:Jg,action:op},{condition:Zg,action:rp}];let o=e,r=!1;return V(n,(({condition:t,action:n})=>{t(o)&&(r||(o=e.cloneNode(!0),r=!0),n(o))})),o},ap=e=>{const t=Uo(e,"[data-mce-bogus]");V(t,(e=>{"all"===en(e,"data-mce-bogus")?xo(e):Er(e)?(po(e,vn(hr)),xo(e)):Eo(e)}))},ip=e=>{const t=Uo(e,"input");V(t,(e=>{on(e,"name")}))},lp=(e,t,n)=>{let o;return o="raw"===t.format?Pt.trim(Dr(sp(n,e.serializer.getTempAttrs()).innerHTML)):"text"===t.format?((e,t)=>{const n=e.getDoc(),o=qn(yn(e.getBody())),r=bn("div",n);Jt(r,"data-mce-bogus","all"),lo(r,{position:"fixed",left:"-9999999px",top:"0"}),ko(r,t.innerHTML),ap(r),ip(r);const s=(e=>jn(e)?e:yn(Nn(e).dom.body))(o);vo(s,r);const a=Dr(r.dom.innerText);return xo(r),a})(e,n):"tree"===t.format?e.serializer.serialize(n,t):((e,t)=>{const n=Il(e),o=new RegExp(`^(<${n}[^>]*>( | |\\s|\xa0|
|)<\\/${n}>[\r\n]*|
[\r\n]*)$`);return t.replace(o,"")})(e,e.serializer.serialize(n,t)),"text"!==t.format&&!Ar(yn(n))&&m(o)?Pt.trim(o):o},dp=Pt.makeMap,cp=e=>{const t=[],n=(e=e||{}).indent,o=dp(e.indent_before||""),r=dp(e.indent_after||""),s=ea.getEncodeFunc(e.entity_encoding||"raw",e.entities),a="xhtml"!==e.element_format;return{start:(e,i,l)=>{if(n&&o[e]&&t.length>0){const e=t[t.length-1];e.length>0&&"\n"!==e&&t.push("\n")}if(t.push("<",e),i)for(let e=0,n=i.length;e":" />",l&&n&&r[e]&&t.length>0){const e=t[t.length-1];e.length>0&&"\n"!==e&&t.push("\n")}},end:e=>{let o;t.push(""),n&&r[e]&&t.length>0&&(o=t[t.length-1],o.length>0&&"\n"!==o&&t.push("\n"))},text:(e,n)=>{e.length>0&&(t[t.length]=n?e:s(e))},cdata:e=>{t.push("")},comment:e=>{t.push("\x3c!--",e,"--\x3e")},pi:(e,o)=>{o?t.push(""):t.push(""),n&&t.push("\n")},doctype:e=>{t.push("",n?"\n":"")},reset:()=>{t.length=0},getContent:()=>t.join("").replace(/\n$/,"")}},up=(e={},t=ua())=>{const n=cp(e);return e.validate=!("validate"in e)||e.validate,{serialize:o=>{const r=e.validate,s={3:e=>{var t;n.text(null!==(t=e.value)&&void 0!==t?t:"",e.raw)},8:e=>{var t;n.comment(null!==(t=e.value)&&void 0!==t?t:"")},7:e=>{n.pi(e.name,e.value)},10:e=>{var t;n.doctype(null!==(t=e.value)&&void 0!==t?t:"")},4:e=>{var t;n.cdata(null!==(t=e.value)&&void 0!==t?t:"")},11:e=>{let t=e;if(t=t.firstChild)do{a(t)}while(t=t.next)}};n.reset();const a=e=>{var o;const i=s[e.type];if(i)i(e);else{const s=e.name,i=s in t.getVoidElements();let l=e.attributes;if(r&&l&&l.length>1){const n=[];n.map={};const o=t.getElementRule(e.name);if(o){for(let e=0,t=o.attributesOrder.length;e{mp.add(e)}));const fp=["font","text-decoration","text-emphasis"],gp=(e,t)=>me(e.parseStyle(e.getAttrib(t,"style"))),pp=(e,t,n)=>{const o=gp(e,t),r=gp(e,n),s=o=>{var r,s;const a=null!==(r=e.getStyle(t,o))&&void 0!==r?r:"",i=null!==(s=e.getStyle(n,o))&&void 0!==s?s:"";return Ye(a)&&Ye(i)&&a!==i};return $(o,(e=>{const t=t=>$(t,(t=>t===e));if(!t(r)&&t(fp)){const e=Y(r,(e=>$(fp,(t=>He(e,t)))));return $(e,s)}return s(e)}))},hp=(e,t,n)=>I.from(n.container()).filter(er).exists((o=>{const r=e?0:-1;return t(o.data.charAt(n.offset()+r))})),bp=T(hp,!0,Xu),vp=T(hp,!1,Xu),yp=e=>{const t=e.container();return er(t)&&(0===t.data.length||Pr(t.data)&&Jm.isBookmarkNode(t.parentNode))},Cp=(e,t)=>n=>Jc(e?0:-1,n).filter(t).isSome(),wp=e=>ir(e)&&"block"===co(yn(e),"display"),xp=e=>dr(e)&&!(e=>qo(e)&&"all"===e.getAttribute("data-mce-bogus"))(e),Ep=Cp(!0,wp),_p=Cp(!1,wp),Sp=Cp(!0,mr),kp=Cp(!1,mr),Np=Cp(!0,Qo),Rp=Cp(!1,Qo),Ap=Cp(!0,xp),Tp=Cp(!1,xp),Op=(e,t)=>((e,t,n)=>Sn(t,e)?On(e,(e=>n(e)||_n(e,t))).slice(0,-1):[])(e,t,L),Bp=(e,t)=>[e].concat(Op(e,t)),Pp=(e,t,n)=>Nu(e,t,n,yp),Dp=(e,t,n)=>J(Bp(yn(t.container()),e),(e=>t=>e.isBlock(Ht(t)))(n)),Lp=(e,t,n,o)=>Pp(e,t.dom,n).forall((e=>Dp(t,n,o).fold((()=>!Qc(e,n,t.dom)),(o=>!Qc(e,n,t.dom)&&Sn(o,yn(e.container())))))),Mp=(e,t,n,o)=>Dp(t,n,o).fold((()=>Pp(e,t.dom,n).forall((e=>!Qc(e,n,t.dom)))),(t=>Pp(e,t.dom,n).isNone())),Ip=T(Mp,!1),Fp=T(Mp,!0),Up=T(Lp,!1),zp=T(Lp,!0),jp=e=>iu(e).exists(Er),Hp=(e,t,n,o)=>{const r=Y(Bp(yn(n.container()),t),(e=>o.isBlock(Ht(e)))),s=le(r).getOr(t);return Su(e,s.dom,n).filter(jp)},$p=(e,t,n)=>iu(t).exists(Er)||Hp(!0,e,t,n).isSome(),qp=(e,t,n)=>(e=>I.from(e.getNode(!0)).map(yn))(t).exists(Er)||Hp(!1,e,t,n).isSome(),Vp=T(Hp,!1),Wp=T(Hp,!0),Kp=e=>Vi.isTextPosition(e)&&!e.isAtStart()&&!e.isAtEnd(),Yp=(e,t,n)=>{const o=Y(Bp(yn(t.container()),e),(e=>n.isBlock(Ht(e))));return le(o).getOr(e)},Gp=(e,t,n)=>Kp(t)?vp(t):vp(t)||Tu(Yp(e,t,n).dom,t).exists(vp),Xp=(e,t,n)=>Kp(t)?bp(t):bp(t)||Au(Yp(e,t,n).dom,t).exists(bp),Qp=e=>iu(e).bind((e=>Jn(e,Wt))).exists((e=>(e=>H(["pre","pre-wrap"],e))(co(e,"white-space")))),Jp=(e,t)=>n=>{return o=new jo(n,e)[t](),C(o)&&dr(o)&&zc(o);var o},Zp=(e,t,n)=>!Qp(t)&&(((e,t,n)=>((e,t)=>Tu(e.dom,t).isNone())(e,t)||((e,t)=>Au(e.dom,t).isNone())(e,t)||Ip(e,t,n)||Fp(e,t,n)||qp(e,t,n)||$p(e,t,n))(e,t,n)||Gp(e,t,n)||Xp(e,t,n)),eh=(e,t,n)=>!Qp(t)&&(Ip(e,t,n)||Up(e,t,n)||qp(e,t,n)||Gp(e,t,n)||((e,t)=>{const n=Tu(e.dom,t).getOr(t),o=Jp(e.dom,"prev");return t.isAtStart()&&(o(t.container())||o(n.container()))})(e,t)),th=(e,t,n)=>!Qp(t)&&(Fp(e,t,n)||zp(e,t,n)||$p(e,t,n)||Xp(e,t,n)||((e,t)=>{const n=Au(e.dom,t).getOr(t),o=Jp(e.dom,"next");return t.isAtEnd()&&(o(t.container())||o(n.container()))})(e,t)),nh=(e,t,n)=>eh(e,t,n)||th(e,(e=>{const t=e.container(),n=e.offset();return er(t)&&nYu(e.charAt(t)),rh=(e,t)=>Xu(e.charAt(t)),sh=(e,t,n,o)=>{const r=t.data,s=Vi(t,0);return n||!oh(r,0)||nh(e,s,o)?!!(n&&rh(r,0)&&eh(e,s,o))&&(t.data=br+r.slice(1),!0):(t.data=" "+r.slice(1),!0)},ah=(e,t,n,o)=>{const r=t.data,s=Vi(t,r.length-1);return n||!oh(r,r.length-1)||nh(e,s,o)?!!(n&&rh(r,r.length-1)&&th(e,s,o))&&(t.data=r.slice(0,-1)+br,!0):(t.data=r.slice(0,-1)+" ",!0)},ih=(e,t,n)=>{const o=t.container();if(!er(o))return I.none();if((e=>{const t=e.container();return er(t)&&je(t.data,br)})(t)){const r=sh(e,o,!1,n)||(e=>{const t=e.data,n=(e=>{const t=e.split("");return q(t,((e,n)=>Yu(e)&&n>0&&n{if(0===n)return;const r=yn(e),s=Qn(r,(e=>o.isBlock(Ht(e)))).getOr(r),a=e.data.slice(t,t+n),i=t+n>=e.data.length&&th(s,Vi(e,e.data.length),o),l=0===t&&eh(s,Vi(e,0),o);e.replaceData(t,n,ls(a,4,l,i))},dh=(e,t,n)=>{const o=e.data.slice(t),r=o.length-We(o).length;lh(e,t,r,n)},ch=(e,t,n)=>{const o=e.data.slice(0,t),r=o.length-Ke(o).length;lh(e,t-r,r,n)},uh=(e,t,n,o,r=!0)=>{const s=Ke(e.data).length,a=r?e:t,i=r?t:e;return r?a.appendData(i.data):a.insertData(0,i.data),xo(yn(i)),o&&dh(a,s,n),a},mh=(e,t)=>((e,t)=>{const n=e.container(),o=e.offset();return!Vi.isTextPosition(e)&&n===t.parentNode&&o>Vi.before(t).offset()})(t,e)?Vi(t.container(),t.offset()-1):t,fh=e=>{return ts(e.previousSibling)?I.some((t=e.previousSibling,er(t)?Vi(t,t.data.length):Vi.after(t))):e.previousSibling?Bu(e.previousSibling):I.none();var t},gh=e=>{return ts(e.nextSibling)?I.some((t=e.nextSibling,er(t)?Vi(t,0):Vi.before(t))):e.nextSibling?Ou(e.nextSibling):I.none();var t},ph=(e,t,n)=>((e,t,n)=>e?((e,t)=>gh(t).orThunk((()=>fh(t))).orThunk((()=>((e,t)=>Au(e,Vi.after(t)).orThunk((()=>Tu(e,Vi.before(t)))))(e,t))))(t,n):((e,t)=>fh(t).orThunk((()=>gh(t))).orThunk((()=>((e,t)=>I.from(t.previousSibling?t.previousSibling:t.parentNode).bind((t=>Tu(e,Vi.before(t)))).orThunk((()=>Au(e,Vi.after(t)))))(e,t))))(t,n))(e,t,n).map(T(mh,n)),hh=(e,t,n)=>{n.fold((()=>{e.focus()}),(n=>{e.selection.setRng(n.toRange(),t)}))},bh=(e,t)=>t&&Ee(e.schema.getBlockElements(),Ht(t)),vh=(e,t,n,o=!0,r=!1)=>{const s=ph(t,e.getBody(),n.dom),a=Qn(n,T(bh,e),(i=e.getBody(),e=>e.dom===i));var i;const l=((e,t,n,o)=>{const r=Bn(e).filter(Kt),s=Pn(e).filter(Kt);return xo(e),(a=r,i=s,l=t,d=(e,t,r)=>{const s=e.dom,a=t.dom,i=s.data.length;return uh(s,a,n,o),r.container()===a?Vi(s,i):r},a.isSome()&&i.isSome()&&l.isSome()?I.some(d(a.getOrDie(),i.getOrDie(),l.getOrDie())):I.none()).orThunk((()=>(o&&(r.each((e=>ch(e.dom,e.dom.length,n))),s.each((e=>dh(e.dom,0,n)))),t)));var a,i,l,d})(n,s,e.schema,((e,t)=>Ee(e.schema.getTextInlineElements(),Ht(t)))(e,n));e.dom.isEmpty(e.getBody())?(e.setContent(""),e.selection.setCursorLocation()):a.bind((e=>((e,t)=>{if(gs(e)){const n=hn('
');return t?V(Mn(e),(e=>{Tm(e)||xo(e)})):wo(e),vo(e,n),I.some(Vi.before(n.dom))}return I.none()})(e,r))).fold((()=>{o&&hh(e,t,l)}),(n=>{o&&hh(e,t,I.some(n))}))},yh=/[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/,Ch=(e,t)=>xn(yn(t),dd(e))&&!Ts(e.schema,t)&&e.dom.isEditable(t),wh=e=>{var t;return"rtl"===za.DOM.getStyle(e,"direction",!0)||(e=>yh.test(e))(null!==(t=e.textContent)&&void 0!==t?t:"")},xh=(e,t,n)=>{const o=((e,t,n)=>Y(za.DOM.getParents(n.container(),"*",t),e))(e,t,n);return I.from(o[o.length-1])},Eh=(e,t)=>{const n=t.container(),o=t.offset();return e?Fr(n)?er(n.nextSibling)?Vi(n.nextSibling,0):Vi.after(n):jr(t)?Vi(n,o+1):t:Fr(n)?er(n.previousSibling)?Vi(n.previousSibling,n.previousSibling.data.length):Vi.before(n):Hr(t)?Vi(n,o-1):t},_h=T(Eh,!0),Sh=T(Eh,!1),kh=(e,t)=>{const n=e=>e.stopImmediatePropagation();e.on("beforeinput input",n,!0),e.getDoc().execCommand(t),e.off("beforeinput input",n)},Nh=e=>kh(e,"Delete"),Rh=e=>_r(e)||kr(e),Ah=(e,t)=>Sn(e,t)?Jn(t,Rh,(e=>t=>Dt(An(t),e,_n))(e)):I.none(),Th=(e,t=!0)=>{e.dom.isEmpty(e.getBody())&&e.setContent("",{no_selection:!t})},Oh=(e,t,n)=>Mt(Ou(n),Bu(n),((o,r)=>{const s=Eh(!0,o),a=Eh(!1,r),i=Eh(!1,t);return e?Au(n,i).exists((e=>e.isEqual(a)&&t.isEqual(s))):Tu(n,i).exists((e=>e.isEqual(s)&&t.isEqual(a)))})).getOr(!0),Bh=e=>{var t;return(8===$t(t=e)||"#comment"===Ht(t)?Bn(e):Un(e)).bind(Bh).orThunk((()=>I.some(e)))},Ph=(e,t,n,o=!0)=>{var r;t.deleteContents();const s=Bh(n).getOr(n),a=yn(null!==(r=e.dom.getParent(s.dom,e.dom.isBlock))&&void 0!==r?r:n.dom);if(a.dom===e.getBody()?Th(e,o):gs(a)&&(Or(a),o&&e.selection.setCursorLocation(a.dom,0)),!_n(n,a)){const e=Dt(An(a),n)?[]:An(i=a).map(Mn).map((e=>Y(e,(e=>!_n(i,e))))).getOr([]);V(e.concat(Mn(n)),(e=>{_n(e,a)||Sn(e,a)||!gs(e)||xo(e)}))}var i},Dh=(e,t)=>((e,t)=>{const n=e.dom;return n.parentNode?((e,t)=>J(e.dom.childNodes,(e=>t(yn(e)))).map(yn))(yn(n.parentNode),(n=>!_n(e,n)&&t(n))):I.none()})(e,t).isSome(),Lh=(e,t)=>Zn(e,t).isSome(),Mh=e=>Uo(e,"td,th"),Ih=(e,t)=>tm(yn(e),t),Fh=(e,t)=>({start:e,end:t}),Uh=hl([{singleCellTable:["rng","cell"]},{fullTable:["table"]},{partialTable:["cells","outsideDetails"]},{multiTable:["startTableCells","endTableCells","betweenRng"]}]),zh=(e,t)=>no(yn(e),"td,th",t),jh=e=>!_n(e.start,e.end),Hh=(e,t)=>tm(e.start,t).bind((n=>tm(e.end,t).bind((e=>It(_n(n,e),n))))),$h=e=>t=>Hh(t,e).map((e=>((e,t,n)=>({rng:e,table:t,cells:n}))(t,e,Mh(e)))),qh=(e,t,n,o)=>{if(n.collapsed||!e.forall(jh))return I.none();if(t.isSameTable){const t=e.bind($h(o));return I.some({start:t,end:t})}{const e=zh(n.startContainer,o),t=zh(n.endContainer,o),r=e.bind((e=>t=>tm(t,e).bind((e=>de(Mh(e)).map((e=>Fh(t,e))))))(o)).bind($h(o)),s=t.bind((e=>t=>tm(t,e).bind((e=>le(Mh(e)).map((e=>Fh(e,t))))))(o)).bind($h(o));return I.some({start:r,end:s})}},Vh=(e,t)=>Z(e,(e=>_n(e,t))),Wh=e=>Mt(Vh(e.cells,e.rng.start),Vh(e.cells,e.rng.end),((t,n)=>e.cells.slice(t,n+1))),Kh=(e,t)=>{const{startTable:n,endTable:o}=t,r=e.cloneRange();return n.each((e=>r.setStartAfter(e.dom))),o.each((e=>r.setEndBefore(e.dom))),r},Yh=(e,t)=>{const n=(e=>t=>_n(e,t))(e),o=((e,t)=>{const n=zh(e.startContainer,t),o=zh(e.endContainer,t);return Mt(n,o,Fh)})(t,n),r=((e,t)=>{const n=Ih(e.startContainer,t),o=Ih(e.endContainer,t),r=n.isSome(),s=o.isSome(),a=Mt(n,o,_n).getOr(!1);return(e=>Mt(e.startTable,e.endTable,((t,n)=>{const o=Lh(t,(e=>_n(e,n))),r=Lh(n,(e=>_n(e,t)));return o||r?{...e,startTable:o?I.none():e.startTable,endTable:r?I.none():e.endTable,isSameTable:!1,isMultiTable:!1}:e})).getOr(e))({startTable:n,endTable:o,isStartInTable:r,isEndInTable:s,isSameTable:a,isMultiTable:!a&&r&&s})})(t,n);return((e,t,n)=>e.exists((e=>((e,t)=>!jh(e)&&Hh(e,t).exists((e=>{const t=e.dom.rows;return 1===t.length&&1===t[0].cells.length})))(e,n)&&rm(e.start,t))))(o,t,n)?o.map((e=>Uh.singleCellTable(t,e.start))):r.isMultiTable?((e,t,n,o)=>qh(e,t,n,o).bind((({start:e,end:o})=>{const r=e.bind(Wh).getOr([]),s=o.bind(Wh).getOr([]);if(r.length>0&&s.length>0){const e=Kh(n,t);return I.some(Uh.multiTable(r,s,e))}return I.none()})))(o,r,t,n):((e,t,n,o)=>qh(e,t,n,o).bind((({start:e,end:t})=>e.or(t))).bind((e=>{const{isSameTable:o}=t,r=Wh(e).getOr([]);if(o&&e.cells.length===r.length)return I.some(Uh.fullTable(e.table));if(r.length>0){if(o)return I.some(Uh.partialTable(r,I.none()));{const e=Kh(n,t);return I.some(Uh.partialTable(r,I.some({...t,rng:e})))}}return I.none()})))(o,r,t,n)},Gh=e=>V(e,(e=>{on(e,"contenteditable"),Or(e)})),Xh=(e,t,n,o)=>{const r=n.cloneRange();o?(r.setStart(n.startContainer,n.startOffset),r.setEndAfter(t.dom.lastChild)):(r.setStartBefore(t.dom.firstChild),r.setEnd(n.endContainer,n.endOffset)),eb(e,r,t,!1).each((e=>e()))},Qh=e=>{const t=em(e),n=yn(e.selection.getNode());cr(n.dom)&&gs(n)?e.selection.setCursorLocation(n.dom,0):e.selection.collapse(!0),t.length>1&&$(t,(e=>_n(e,n)))&&Jt(n,"data-mce-selected","1")},Jh=(e,t,n)=>I.some((()=>{const o=e.selection.getRng(),r=n.bind((({rng:n,isStartInTable:r})=>{const s=((e,t)=>I.from(e.dom.getParent(t,e.dom.isBlock)).map(yn))(e,r?n.endContainer:n.startContainer);n.deleteContents(),((e,t,n)=>{n.each((n=>{t?xo(n):(Or(n),e.selection.setCursorLocation(n.dom,0))}))})(e,r,s.filter(gs));const a=r?t[0]:t[t.length-1];return Xh(e,a,o,r),gs(a)?I.none():I.some(r?t.slice(1):t.slice(0,-1))})).getOr(t);Gh(r),Qh(e)})),Zh=(e,t,n,o)=>I.some((()=>{const r=e.selection.getRng(),s=t[0],a=n[n.length-1];Xh(e,s,r,!0),Xh(e,a,r,!1);const i=gs(s)?t:t.slice(1),l=gs(a)?n:n.slice(0,-1);Gh(i.concat(l)),o.deleteContents(),Qh(e)})),eb=(e,t,n,o=!0)=>I.some((()=>{Ph(e,t,n,o)})),tb=(e,t)=>I.some((()=>vh(e,!1,t))),nb=(e,t)=>J(Bp(t,e),Rr),ob=(e,t)=>J(Bp(t,e),Xt("caption")),rb=(e,t)=>I.some((()=>{Or(t),e.selection.setCursorLocation(t.dom,0)})),sb=(e,t)=>e?Np(t):Rp(t),ab=(e,t,n)=>{const o=yn(e.getBody());return ob(o,n).fold((()=>((e,t,n,o)=>{const r=Vi.fromRangeStart(e.selection.getRng());return nb(n,o).bind((o=>gs(o)?rb(e,o):((e,t,n,o,r)=>ku(n,e.getBody(),r).bind((e=>nb(t,yn(e.getNode())).bind((e=>_n(e,o)?I.none():I.some(_))))))(e,n,t,o,r)))})(e,t,o,n).orThunk((()=>It(((e,t)=>{const n=Vi.fromRangeStart(e.selection.getRng());return sb(t,n)||Su(t,e.getBody(),n).exists((e=>sb(t,e)))})(e,t),_)))),(n=>((e,t,n,o)=>{const r=Vi.fromRangeStart(e.selection.getRng());return gs(o)?rb(e,o):((e,t,n,o,r)=>ku(n,e.getBody(),r).fold((()=>I.some(_)),(s=>((e,t,n,o)=>Ou(e.dom).bind((r=>Bu(e.dom).map((e=>t?n.isEqual(r)&&o.isEqual(e):n.isEqual(e)&&o.isEqual(r))))).getOr(!0))(o,n,r,s)?((e,t)=>rb(e,t))(e,o):((e,t,n)=>ob(e,yn(n.getNode())).fold((()=>I.some(_)),(e=>It(!_n(e,t),_))))(t,o,s))))(e,n,t,o,r)})(e,t,o,n)))},ib=(e,t)=>{const n=yn(e.selection.getStart(!0)),o=em(e);return e.selection.isCollapsed()&&0===o.length?ab(e,t,n):((e,t,n)=>{const o=yn(e.getBody()),r=e.selection.getRng();return 0!==n.length?Jh(e,n,I.none()):((e,t,n,o)=>ob(t,o).fold((()=>((e,t,n)=>Yh(t,n).bind((t=>t.fold(T(eb,e),T(tb,e),T(Jh,e),T(Zh,e)))))(e,t,n)),(t=>((e,t)=>rb(e,t))(e,t))))(e,o,r,t)})(e,n,o)},lb=(e,t)=>{let n=t;for(;n&&n!==e;){if(lr(n)||dr(n))return n;n=n.parentNode}return null},db=["data-ephox-","data-mce-","data-alloy-","data-snooker-","_"],cb=Pt.each,ub=e=>{const t=e.dom,n=new Set(e.serializer.getTempAttrs()),o=e=>$(db,(t=>He(e,t)))||n.has(e);return{compare:(e,n)=>{if(e.nodeName!==n.nodeName||e.nodeType!==n.nodeType)return!1;const r=e=>{const n={};return cb(t.getAttribs(e),(r=>{const s=r.nodeName.toLowerCase();"style"===s||o(s)||(n[s]=t.getAttrib(e,s))})),n},s=(e,t)=>{for(const n in e)if(Ee(e,n)){const o=t[n];if(v(o))return!1;if(e[n]!==o)return!1;delete t[n]}for(const e in t)if(Ee(t,e))return!1;return!0};if(qo(e)&&qo(n)){if(!s(r(e),r(n)))return!1;if(!s(t.parseStyle(t.getAttrib(e,"style")),t.parseStyle(t.getAttrib(n,"style"))))return!1}return!Ku(e)&&!Ku(n)},isAttributeInternal:o}},mb=e=>["h1","h2","h3","h4","h5","h6"].includes(e.name),fb=(e,t,n,o)=>{const r=n.name;for(let t=0,s=e.length;t{const n=(e,n)=>{ge(e,(e=>{const o=ce(e.nodes);V(e.filter.callbacks,(r=>{for(let t=o.length-1;t>=0;t--){const r=o[t];(n?void 0!==r.attr(e.filter.name):r.name===e.filter.name)&&!y(r.parent)||o.splice(t,1)}o.length>0&&r(o,e.filter.name,t)}))}))};n(e.nodes,!1),n(e.attributes,!0)},pb=(e,t,n,o={})=>{const r=((e,t,n)=>{const o={nodes:{},attributes:{}};return n.firstChild&&((n,r)=>{let s=n;for(;s=s.walk();)fb(e,t,s,o)})(n),o})(e,t,n);gb(r,o)},hb=(e,t,n,o)=>{if((e.pad_empty_with_br||t.insert)&&n(o)){const e=new Wg("br",1);t.insert&&e.attr("data-mce-bogus","1"),o.empty().append(e)}else o.empty().append(new Wg("#text",3)).value=br},bb=(e,t)=>{const n=null==e?void 0:e.firstChild;return C(n)&&n===e.lastChild&&n.name===t},vb=(e,t,n,o)=>o.isEmpty(t,n,(t=>((e,t)=>{const n=e.getElementRule(t.name);return!0===(null==n?void 0:n.paddEmpty)})(e,t))),yb=e=>{let t;for(let n=e;n;n=n.parent){const e=n.attr("contenteditable");if("false"===e)break;"true"===e&&(t=n)}return I.from(t)},Cb=(e,t,n=e.parent)=>{if(t.getSpecialElements()[e.name])e.empty().remove();else{const o=e.children();for(const e of o)n&&!t.isValidChild(n.name,e.name)&&Cb(e,t,n);e.unwrap()}},wb=(e,t,n,o=_)=>{const r=t.getTextBlockElements(),s=t.getNonEmptyElements(),a=t.getWhitespaceElements(),i=Pt.makeMap("tr,td,th,tbody,thead,tfoot,table,summary"),l=new Set,d=e=>e!==n&&!i[e.name];for(let n=0;n1)if(xb(t,i,c))Cb(i,t);else{f.reverse(),u=f[0].clone(),o(u);let e=u;for(let n=0;n0?(m=f[n].clone(),o(m),e.append(m)):m=e;for(let e=f[n].firstChild;e&&e!==f[n+1];){const t=e.next;m.append(e),e=t}e=m}vb(t,s,a,u)?c.insert(i,f[0],!0):(c.insert(u,f[0],!0),c.insert(i,u)),c=f[0],(vb(t,s,a,c)||bb(c,"br"))&&c.empty().remove()}else if(i.parent){if("li"===i.name){let e=i.prev;if(e&&("ul"===e.name||"ol"===e.name)){e.append(i);continue}if(e=i.next,e&&("ul"===e.name||"ol"===e.name)&&e.firstChild){e.insert(i,e.firstChild,!0);continue}const t=new Wg("ul",1);o(t),i.wrap(t);continue}if(t.isValidChild(i.parent.name,"div")&&t.isValidChild("div",i.name)){const e=new Wg("div",1);o(e),i.wrap(e)}else Cb(i,t)}}},xb=(e,t,n=t.parent)=>!(!n||(!e.children[t.name]||e.isValidChild(n.name,t.name))&&("a"!==t.name||!((e,t)=>{let n=e;for(;n;){if("a"===n.name)return!0;n=n.parent}return!1})(n))&&(!(e=>"summary"===e.name)(n)||!mb(t)||(null==n?void 0:n.firstChild)===t&&(null==n?void 0:n.lastChild)===t)),Eb=e=>e.collapsed?e:(e=>{const t=Vi.fromRangeStart(e),n=Vi.fromRangeEnd(e),o=e.commonAncestorContainer;return Su(!1,o,n).map((r=>!Qc(t,n,o)&&Qc(t,r,o)?((e,t,n,o)=>{const r=document.createRange();return r.setStart(e,t),r.setEnd(n,o),r})(t.container(),t.offset(),r.container(),r.offset()):e)).getOr(e)})(e),_b=(e,t)=>{let n=t.firstChild,o=t.lastChild;return n&&"meta"===n.name&&(n=n.next),o&&"mce_marker"===o.attr("id")&&(o=o.prev),((e,t)=>{const n=e.getNonEmptyElements();return C(t)&&(t.isEmpty(n)||((e,t)=>e.getBlockElements()[t.name]&&(e=>C(e.firstChild)&&e.firstChild===e.lastChild)(t)&&(e=>"br"===e.name||e.value===br)(t.firstChild))(e,t))})(e,o)&&(o=null==o?void 0:o.prev),!(!n||n!==o||"ul"!==n.name&&"ol"!==n.name)},Sb=e=>{return e.length>0&&(!(n=e[e.length-1]).firstChild||C(null==(t=n)?void 0:t.firstChild)&&t.firstChild===t.lastChild&&(e=>e.data===br||ar(e))(t.firstChild))?e.slice(0,-1):e;var t,n},kb=(e,t)=>{const n=e.getParent(t,e.isBlock);return n&&"LI"===n.nodeName?n:null},Nb=(e,t)=>{const n=Vi.after(e),o=wu(t).prev(n);return o?o.toRange():null},Rb=(e,t,n,o)=>{const r=((e,t,n)=>{const o=t.serialize(n);return(e=>{var t,n;const o=e.firstChild,r=e.lastChild;return o&&"META"===o.nodeName&&(null===(t=o.parentNode)||void 0===t||t.removeChild(o)),r&&"mce_marker"===r.id&&(null===(n=r.parentNode)||void 0===n||n.removeChild(r)),e})(e.createFragment(o))})(t,e,o),s=kb(t,n.startContainer),a=Sb((i=r.firstChild,Y(null!==(l=null==i?void 0:i.childNodes)&&void 0!==l?l:[],(e=>"LI"===e.nodeName))));var i,l;const d=t.getRoot(),c=e=>{const o=Vi.fromRangeStart(n),r=wu(t.getRoot()),a=1===e?r.prev(o):r.next(o),i=null==a?void 0:a.getNode();return!i||kb(t,i)!==s};return s?c(1)?((e,t,n)=>{const o=e.parentNode;return o&&Pt.each(t,(t=>{o.insertBefore(t,e)})),((e,t)=>{const n=Vi.before(e),o=wu(t).next(n);return o?o.toRange():null})(e,n)})(s,a,d):c(2)?((e,t,n,o)=>(o.insertAfter(t.reverse(),e),Nb(t[0],n)))(s,a,d,t):((e,t,n,o)=>{const r=((e,t)=>{const n=t.cloneRange(),o=t.cloneRange();return n.setStartBefore(e),o.setEndAfter(e),[n.cloneContents(),o.cloneContents()]})(e,o),s=e.parentNode;return s&&(s.insertBefore(r[0],e),Pt.each(t,(t=>{s.insertBefore(t,e)})),s.insertBefore(r[1],e),s.removeChild(e)),Nb(t[t.length-1],n)})(s,a,d,n):null},Ab=["pre"],Tb=cr,Ob=(e,t,n)=>{var o,r;const s=e.selection,a=e.dom,i=e.parser,l=n.merge,d=up({validate:!0},e.schema),c='';n.preserve_zwsp||(t=Dr(t)),-1===t.indexOf("{$caret}")&&(t+="{$caret}"),t=t.replace(/\{\$caret\}/,c);let u=s.getRng();const m=u.startContainer,f=e.getBody();m===f&&s.isCollapsed()&&a.isBlock(f.firstChild)&&((e,t)=>C(t)&&!e.schema.getVoidElements()[t.nodeName])(e,f.firstChild)&&a.isEmpty(f.firstChild)&&(u=a.createRng(),u.setStart(f.firstChild,0),u.setEnd(f.firstChild,0),s.setRng(u)),s.isCollapsed()||(e=>{const t=e.dom,n=Eb(e.selection.getRng());e.selection.setRng(n);const o=t.getParent(n.startContainer,Tb);((e,t,n)=>!!C(n)&&n===e.getParent(t.endContainer,Tb)&&rm(yn(n),t))(t,n,o)?eb(e,n,yn(o)):n.startContainer===n.endContainer&&n.endOffset-n.startOffset==1&&er(n.startContainer.childNodes[n.startOffset])?n.deleteContents():e.getDoc().execCommand("Delete",!1)})(e);const g=s.getNode(),p={context:g.nodeName.toLowerCase(),data:n.data,insert:!0},h=i.parse(t,p);if(!0===n.paste&&_b(e.schema,h)&&((e,t)=>!!kb(e,t))(a,g))return u=Rb(d,a,s.getRng(),h),u&&s.setRng(u),t;!0===n.paste&&((e,t,n,o)=>{var r;const s=t.firstChild,a=t.lastChild,i=s===("bookmark"===a.attr("data-mce-type")?a.prev:a),l=H(Ab,s.name);if(i&&l){const t="false"!==s.attr("contenteditable"),a=(null===(r=e.getParent(n,e.isBlock))||void 0===r?void 0:r.nodeName.toLowerCase())===s.name,i=I.from(lb(o,n)).forall(lr);return t&&a&&i}return!1})(a,h,g,e.getBody())&&(null===(o=h.firstChild)||void 0===o||o.unwrap()),(e=>{let t=e;for(;t=t.walk();)1===t.type&&t.attr("data-mce-fragment","1")})(h);let b=h.lastChild;if(b&&"mce_marker"===b.attr("id")){const t=b;for(b=b.prev;b;b=b.walk(!0))if(3===b.type||!a.isBlock(b.name)){b.parent&&e.schema.isValidChild(b.parent.name,"span")&&b.parent.insert(t,b,"br"===b.name);break}}if(e._selectionOverrides.showBlockCaretContainer(g),p.invalid||((e,t,n)=>{var o;return $(n.children(),mb)&&"SUMMARY"===(null===(o=e.getParent(t,e.isBlock))||void 0===o?void 0:o.nodeName)})(a,g,h)){e.selection.setContent(c);let n,o=s.getNode();const l=e.getBody();for(rr(o)?o=n=l:n=o;n&&n!==l;)o=n,n=n.parentNode;t=o===l?l.innerHTML:a.getOuterHTML(o);const u=i.parse(t),m=(e=>{for(let t=e;t;t=t.walk())if("mce_marker"===t.attr("id"))return I.some(t);return I.none()})(u),f=m.bind(yb).getOr(u);m.each((e=>e.replace(h)));const g=h.children(),p=null!==(r=h.parent)&&void 0!==r?r:u;h.unwrap();const b=Y(g,(t=>xb(e.schema,t,p)));wb(b,e.schema,f),pb(i.getNodeFilters(),i.getAttributeFilters(),u),t=d.serialize(u),o===l?a.setHTML(l,t):a.setOuterHTML(o,t)}else t=d.serialize(h),((e,t,n)=>{var o;if("all"===n.getAttribute("data-mce-bogus"))null===(o=n.parentNode)||void 0===o||o.insertBefore(e.dom.createFragment(t),n);else{const o=n.firstChild,r=n.lastChild;!o||o===r&&"BR"===o.nodeName?e.dom.setHTML(n,t):e.selection.setContent(t,{no_events:!0})}})(e,t,g);var v;return((e,t)=>{const n=e.schema.getTextInlineElements(),o=e.dom;if(t){const t=e.getBody(),r=ub(e);Pt.each(o.select("*[data-mce-fragment]"),(e=>{if(C(n[e.nodeName.toLowerCase()])&&((e,t)=>ne(gp(e,t),(e=>!(e=>mp.has(e))(e))))(o,e))for(let n=e.parentElement;C(n)&&n!==t&&!pp(o,e,n);n=n.parentElement)if(r.compare(n,e)){o.remove(e,!0);break}}))}})(e,l),((e,t)=>{var n,o,r;let s;const a=e.dom,i=e.selection;if(!t)return;i.scrollIntoView(t);const l=lb(e.getBody(),t);if(l&&"false"===a.getContentEditable(l))return a.remove(t),void i.select(l);let d=a.createRng();const c=t.previousSibling;if(er(c)){d.setStart(c,null!==(o=null===(n=c.nodeValue)||void 0===n?void 0:n.length)&&void 0!==o?o:0);const e=t.nextSibling;er(e)&&(c.appendData(e.data),null===(r=e.parentNode)||void 0===r||r.removeChild(e))}else d.setStartBefore(t),d.setEndBefore(t);const u=a.getParent(t,a.isBlock);if(a.remove(t),u&&a.isEmpty(u)){const t=Tb(u);wo(yn(u)),d.setStart(u,0),d.setEnd(u,0),t||(e=>!!e.getAttribute("data-mce-fragment"))(u)||!(s=(t=>{let n=Vi.fromRangeStart(t);return n=wu(e.getBody()).next(n),null==n?void 0:n.toRange()})(d))?a.add(u,a.create("br",t?{}:{"data-mce-bogus":"1"})):(d=s,a.remove(u))}i.setRng(d)})(e,a.get("mce_marker")),v=e.getBody(),Pt.each(v.getElementsByTagName("*"),(e=>{e.removeAttribute("data-mce-fragment")})),((e,t,n)=>{I.from(e.getParent(t,"td,th")).map(yn).each((e=>((e,t)=>{Un(e).each((n=>{Bn(n).each((o=>{t.isBlock(Ht(e))&&Er(n)&&t.isBlock(Ht(o))&&xo(n)}))}))})(e,n)))})(a,s.getStart(),e.schema),((e,t,n)=>{const o=On(yn(n),(e=>_n(e,yn(t))));ie(o,o.length-2).filter(Wt).fold((()=>Ss(e,t)),(t=>Ss(e,t.dom)))})(e.schema,e.getBody(),s.getStart()),t},Bb=e=>e instanceof Wg,Pb=(e,t,n)=>{e.dom.setHTML(e.getBody(),t),!0!==n&&(e=>{Rg(e)&&Ou(e.getBody()).each((t=>{const n=t.getNode(),o=Qo(n)?Ou(n).getOr(t):t;e.selection.setRng(o.toRange())}))})(e)},Db=e=>w(e)?e:L,Lb=(e,t,n)=>{const o=t(e),r=Db(n);return o.orThunk((()=>r(e)?I.none():((e,t,n)=>{let o=e.dom;const r=Db(n);for(;o.parentNode;){o=o.parentNode;const e=yn(o),n=t(e);if(n.isSome())return n;if(r(e))break}return I.none()})(e,t,r)))},Mb=ym,Ib=(e,t,n)=>{const o=e.formatter.get(n);if(o)for(let n=0;n{const s=e.dom.getRoot();if(t===s)return!1;const a=e.dom.getParent(t,(t=>!!Ib(e,t,n)||t.parentNode===s||!!jb(e,t,n,o,!0)));return!!jb(e,a,n,o,r)},Ub=(e,t,n)=>!(!Nm(n)||!Mb(t,n.inline))||!(!Sm(n)||!Mb(t,n.block))||!!km(n)&&qo(t)&&e.is(t,n.selector),zb=(e,t,n,o,r,s)=>{const a=n[o],i="attributes"===o;if(w(n.onmatch))return n.onmatch(t,n,o);if(a)if(ke(a)){for(let n=0;n{const s=e.formatter.get(n),a=e.dom;if(s&&qo(t))for(let n=0;n{if(o)return Fb(e,o,t,n,r);if(o=e.selection.getNode(),Fb(e,o,t,n,r))return!0;const s=e.selection.getStart();return!(s===o||!Fb(e,s,t,n,r))},$b=Br,qb=e=>{if(e){const t=new jo(e,e);for(let e=t.current();e;e=t.next())if(er(e))return e}return null},Vb=e=>{const t=bn("span");return Zt(t,{id:Pu,"data-mce-bogus":"1","data-mce-type":"format-caret"}),e&&vo(t,vn($b)),t},Wb=(e,t,n)=>{const o=e.dom,r=e.selection;if(Am(t))vh(e,!1,yn(t),n,!0);else{const e=r.getRng(),n=o.getParent(t,o.isBlock),s=e.startContainer,a=e.startOffset,i=e.endContainer,l=e.endOffset,d=(e=>{const t=qb(e);return t&&t.data.charAt(0)===$b&&t.deleteData(0,1),t})(t);o.remove(t,!0),s===d&&a>0&&e.setStart(d,a-1),i===d&&l>0&&e.setEnd(d,l-1),n&&o.isEmpty(n)&&Or(yn(n)),r.setRng(e)}},Kb=(e,t,n)=>{const o=e.dom,r=e.selection;if(t)Wb(e,t,n);else if(!(t=Lu(e.getBody(),r.getStart())))for(;t=o.get(Pu);)Wb(e,t,n)},Yb=(e,t)=>(e.appendChild(t),t),Gb=(e,t)=>{var n;const o=G(e,((e,t)=>Yb(e,t.cloneNode(!1))),t),r=null!==(n=o.ownerDocument)&&void 0!==n?n:document;return Yb(o,r.createTextNode($b))},Xb=(e,t,n,o)=>{const a=e.dom,i=e.selection;let l=!1;const d=e.formatter.get(t);if(!d)return;const c=i.getRng(),u=c.startContainer,m=c.startOffset;let f=u;er(u)&&(m!==u.data.length&&(l=!0),f=f.parentNode);const g=[];let h;for(;f;){if(jb(e,f,t,n,o)){h=f;break}f.nextSibling&&(l=!0),g.push(f),f=f.parentNode}if(h)if(l){const r=i.getBookmark();c.collapse(!0);let s=Vm(a,c,d,!0);s=Ff(s),e.formatter.remove(t,n,s,o),i.moveToBookmark(r)}else{const l=Lu(e.getBody(),h),d=C(l)?a.getParents(h.parentNode,M,l):[],c=Vb(!1).dom;((e,t,n)=>{var o,r;const s=e.dom,a=s.getParent(n,T(gm,e.schema));a&&s.isEmpty(a)?null===(o=n.parentNode)||void 0===o||o.replaceChild(t,n):((e=>{const t=Uo(e,"br"),n=Y((e=>{const t=[];let n=e.dom;for(;n;)t.push(yn(n)),n=n.lastChild;return t})(e).slice(-1),Er);t.length===n.length&&V(n,xo)})(yn(n)),s.isEmpty(n)?null===(r=n.parentNode)||void 0===r||r.replaceChild(t,n):s.insertAfter(t,n))})(e,c,null!=l?l:h);const u=((e,t,n,o,a,i)=>{const l=e.formatter,d=e.dom,c=Y(me(l.get()),(e=>e!==o&&!je(e,"removeformat"))),u=((e,t,n)=>X(n,((n,o)=>{const r=((e,t)=>_m(e,t,(e=>{const t=e=>w(e)||e.length>1&&"%"===e.charAt(0);return $(["styles","attributes"],(n=>xe(e,n).exists((e=>{const n=p(e)?e:we(e);return $(n,t)}))))})))(e,o);return e.formatter.matchNode(t,o,{},r)?n.concat([o]):n}),[]))(e,n,c);if(Y(u,(t=>!((e,t,n)=>{const o=["inline","block","selector","attributes","styles","classes"],a=e=>ye(e,((e,t)=>$(o,(e=>e===t))));return _m(e,t,(t=>{const o=a(t);return _m(e,n,(e=>{const t=a(e);return((e,t,n=s)=>r(n).eq(e,t))(o,t)}))}))})(e,t,o))).length>0){const e=n.cloneNode(!1);return d.add(t,e),l.remove(o,a,e,i),d.remove(e),I.some(e)}return I.none()})(e,c,h,t,n,o),m=Gb([...g,...u.toArray(),...d],c);l&&Wb(e,l,C(l)),i.setCursorLocation(m,1),a.isEmpty(h)&&a.remove(h)}},Qb=e=>{const t=Vb(!1),n=Gb(e,t.dom);return{caretContainer:t,caretPosition:Vi(n,0)}},Jb=(e,t)=>{const{caretContainer:n,caretPosition:o}=Qb(t);return po(yn(e),n),xo(yn(e)),o},Zb=(e,t)=>{if(Du(t.dom))return!1;const n=e.schema.getTextInlineElements();return Ee(n,Ht(t))&&!Du(t.dom)&&!Xo(t.dom)},ev={},tv=Ko(["pre"]);((e,t)=>{ev[e]||(ev[e]=[]),ev[e].push((e=>{if(!e.selection.getRng().collapsed){const t=e.selection.getSelectedBlocks(),n=Y(Y(t,tv),(e=>t=>{const n=t.previousSibling;return tv(n)&&H(e,n)})(t));V(n,(e=>{((e,t)=>{const n=yn(t),o=Nn(n).dom;xo(n),Co(yn(e),[bn("br",o),bn("br",o),...Mn(n)])})(e.previousSibling,e)}))}}))})("pre");const nv=["fontWeight","fontStyle","color","fontSize","fontFamily"],ov=(e,t)=>{const n=e.get(t);return p(n)?J(n,(e=>Nm(e)&&"span"===e.inline&&(e=>f(e.styles)&&$(me(e.styles),(e=>H(nv,e))))(e))):I.none()},rv=(e,t)=>Tu(t,Vi.fromRangeStart(e)).isNone(),sv=(e,t)=>!1===Au(t,Vi.fromRangeEnd(e)).exists((e=>!ar(e.getNode())||Au(t,e).isSome())),av=e=>t=>fr(t)&&e.isEditable(t),iv=e=>Y(e.getSelectedBlocks(),av(e.dom)),lv=Pt.each,dv=e=>qo(e)&&!Ku(e)&&!Du(e)&&!Xo(e),cv=(e,t)=>{for(let n=e;n;n=n[t]){if(er(n)&&Ye(n.data))return e;if(qo(n)&&!Ku(n))return n}return e},uv=(e,t,n)=>{const o=ub(e),r=Vo(t)&&e.dom.isEditable(t),s=Vo(n)&&e.dom.isEditable(n);if(r&&s){const r=cv(t,"previousSibling"),s=cv(n,"nextSibling");if(o.compare(r,s)){for(let e=r.nextSibling;e&&e!==s;){const t=e;e=e.nextSibling,r.appendChild(t)}return e.dom.remove(s),Pt.each(Pt.grep(s.childNodes),(e=>{r.appendChild(e)})),r}}return n},mv=(e,t,n,o)=>{var r;if(o&&!1!==t.merge_siblings){const t=null!==(r=uv(e,fm(o),o))&&void 0!==r?r:o;uv(e,t,fm(t,!0))}},fv=(e,t,n)=>{lv(e.childNodes,(e=>{dv(e)&&(t(e)&&n(e),e.hasChildNodes()&&fv(e,t,n))}))},gv=(e,t)=>n=>!(!n||!wm(e,n,t)),pv=(e,t,n)=>o=>{e.setStyle(o,t,n),""===o.getAttribute("style")&&o.removeAttribute("style"),((e,t)=>{"SPAN"===t.nodeName&&0===e.getAttribs(t).length&&e.remove(t,!0)})(e,o)},hv=hl([{keep:[]},{rename:["name"]},{removed:[]}]),bv=/^(src|href|style)$/,vv=Pt.each,yv=ym,Cv=(e,t,n)=>e.isChildOf(t,n)&&t!==n&&!e.isBlock(n),wv=(e,t,n)=>{let o=t[n?"startContainer":"endContainer"],r=t[n?"startOffset":"endOffset"];if(qo(o)){const e=o.childNodes.length-1;!n&&r&&r--,o=o.childNodes[r>e?e:r]}return er(o)&&n&&r>=o.data.length&&(o=new jo(o,e.getBody()).next()||o),er(o)&&!n&&0===r&&(o=new jo(o,e.getBody()).prev()||o),o},xv=(e,t)=>{const n=t?"firstChild":"lastChild",o=e[n];return(e=>/^(TR|TH|TD)$/.test(e.nodeName))(e)&&o?"TR"===e.nodeName&&o[n]||o:e},Ev=(e,t,n,o)=>{var r;const s=e.create(n,o);return null===(r=t.parentNode)||void 0===r||r.insertBefore(s,t),s.appendChild(t),s},_v=(e,t,n,o,r)=>{const s=yn(t),a=yn(e.create(o,r)),i=n?Ln(s):Dn(s);return Co(a,i),n?(po(s,a),bo(a,s)):(ho(s,a),vo(a,s)),a.dom},Sv=(e,t,n)=>{const o=t.parentNode;let r;const s=e.dom,a=Il(e);Sm(n)&&o===s.getRoot()&&(n.list_block&&yv(t,n.list_block)||V(ce(t.childNodes),(t=>{pm(e,a,t.nodeName.toLowerCase())?r?r.appendChild(t):(r=Ev(s,t,a),s.setAttribs(r,Fl(e))):r=null}))),(e=>km(e)&&Nm(e)&&Dt(xe(e,"mixed"),!0))(n)&&!yv(n.inline,t)||s.remove(t,!0)},kv=(e,t,n)=>x(e)?{name:t,value:null}:{name:e,value:vm(t,n)},Nv=(e,t)=>{""===e.getAttrib(t,"style")&&(t.removeAttribute("style"),t.removeAttribute("data-mce-style"))},Rv=(e,t,n,o,r)=>{let s=!1;vv(n.styles,((a,i)=>{const{name:l,value:d}=kv(i,a,o),c=Cm(d,l);(n.remove_similar||h(d)||!qo(r)||yv(wm(e,r,l),c))&&e.setStyle(t,l,""),s=!0})),s&&Nv(e,t)},Av=(e,t,n,o,r)=>{const s=e.dom,a=ub(e),i=e.schema;if(Nm(t)&&Rs(i,t.inline)&&Ts(i,o)&&o.parentElement===e.getBody())return Sv(e,o,t),hv.removed();if(!t.ceFalseOverride&&o&&"false"===s.getContentEditableParent(o))return hv.keep();if(o&&!Ub(s,o,t)&&!((e,t)=>t.links&&"A"===e.nodeName)(o,t))return hv.keep();const l=o,d=t.preserve_attributes;if(Nm(t)&&"all"===t.remove&&p(d)){const e=Y(s.getAttribs(l),(e=>H(d,e.name.toLowerCase())));if(s.removeAllAttribs(l),V(e,(e=>s.setAttrib(l,e.name,e.value))),e.length>0)return hv.rename("span")}if("all"!==t.remove){Rv(s,l,t,n,r),vv(t.attributes,((e,o)=>{const{name:a,value:i}=kv(o,e,n);if(t.remove_similar||h(i)||!qo(r)||yv(s.getAttrib(r,a),i)){if("class"===a){const e=s.getAttrib(l,a);if(e){let t="";if(V(e.split(/\s+/),(e=>{/mce\-\w+/.test(e)&&(t+=(t?" ":"")+e)})),t)return void s.setAttrib(l,a,t)}}if(bv.test(a)&&l.removeAttribute("data-mce-"+a),"style"===a&&Ko(["li"])(l)&&"none"===s.getStyle(l,"list-style-type"))return l.removeAttribute(a),void s.setStyle(l,"list-style-type","none");"class"===a&&l.removeAttribute("className"),l.removeAttribute(a)}})),vv(t.classes,(e=>{e=vm(e,n),qo(r)&&!s.hasClass(r,e)||s.removeClass(l,e)}));const e=s.getAttribs(l);for(let t=0;tAv(e,t,n,o,o).fold(N(o),(t=>(e.dom.createFragment().appendChild(o),e.dom.rename(o,t))),N(null)),Ov=(e,t,n,o,r)=>{(o||e.selection.isEditable())&&((e,t,n,o,r)=>{const s=e.formatter.get(t),a=s[0],i=e.dom,l=e.selection,d=o=>{const i=((e,t,n,o,r)=>{let s;return t.parentNode&&V(Em(e.dom,t.parentNode).reverse(),(t=>{if(!s&&qo(t)&&"_start"!==t.id&&"_end"!==t.id){const a=jb(e,t,n,o,r);a&&!1!==a.split&&(s=t)}})),s})(e,o,t,n,r);return((e,t,n,o,r,s,a,i)=>{var l,d;let c,u;const m=e.dom;if(n){const s=n.parentNode;for(let n=o.parentNode;n&&n!==s;n=n.parentNode){let o=m.clone(n,!1);for(let n=0;n$(s,(o=>Bv(e,o,n,t,t))),u=t=>{const n=ce(t.childNodes),o=c(t)||$(s,(e=>Ub(i,t,e))),r=t.parentNode;if(!o&&C(r)&&Rm(a)&&c(r),a.deep&&n.length)for(let e=0;e{qo(t)&&e.dom.getStyle(t,"text-decoration")===n&&t.parentNode&&xm(i,t.parentNode)===n&&Bv(e,{deep:!1,exact:!0,inline:"span",styles:{textDecoration:n}},void 0,t)}))},m=e=>{const t=i.get(e?"_start":"_end");if(t){let n=t[e?"firstChild":"lastChild"];return(e=>Ku(e)&&qo(e)&&("_start"===e.id||"_end"===e.id))(n)&&(n=n[e?"firstChild":"lastChild"]),er(n)&&0===n.data.length&&(n=e?t.previousSibling||t.nextSibling:t.nextSibling||t.previousSibling),i.remove(t,!0),n}return null},f=t=>{let n,o,r=Vm(i,t,s,t.collapsed);if(a.split){if(r=Ff(r),n=wv(e,r,!0),o=wv(e,r),n!==o){if(n=xv(n,!0),o=xv(o,!1),Cv(i,n,o)){const e=I.from(n.firstChild).getOr(n);return d(_v(i,e,!0,"span",{id:"_start","data-mce-type":"bookmark"})),void m(!0)}if(Cv(i,o,n)){const e=I.from(o.lastChild).getOr(o);return d(_v(i,e,!1,"span",{id:"_end","data-mce-type":"bookmark"})),void m(!1)}n=Ev(i,n,"span",{id:"_start","data-mce-type":"bookmark"}),o=Ev(i,o,"span",{id:"_end","data-mce-type":"bookmark"});const e=i.createRng();e.setStartAfter(n),e.setEndBefore(o),Wm(i,e,(e=>{V(e,(e=>{Ku(e)||Ku(e.parentNode)||d(e)}))})),d(n),d(o),n=m(!0),o=m()}else n=o=d(n);r.startContainer=n.parentNode?n.parentNode:n,r.startOffset=i.nodeIndex(n),r.endContainer=o.parentNode?o.parentNode:o,r.endOffset=i.nodeIndex(o)+1}Wm(i,r,(e=>{V(e,u)}))};if(o){if(dm(o)){const e=i.createRng();e.setStartBefore(o),e.setEndAfter(o),f(e)}else f(o);nf(e,t,o,n)}else l.isCollapsed()&&Nm(a)&&!em(e).length?Xb(e,t,n,r):(um(e,(()=>im(e,f)),(o=>Nm(a)&&Hb(e,t,n,o))),e.nodeChanged()),((e,t,n)=>{"removeformat"===t?V(iv(e.selection),(t=>{V(nv,(n=>e.dom.setStyle(t,n,""))),Nv(e.dom,t)})):ov(e.formatter,t).each((t=>{V(iv(e.selection),(o=>Rv(e.dom,o,t,n,null)))}))})(e,t,n),nf(e,t,o,n)})(e,t,n,o,r)},Bv=(e,t,n,o,r)=>Av(e,t,n,o,r).fold(L,(t=>(e.dom.rename(o,t),!0)),M),Pv=Pt.each,Dv=Pt.each,Lv=(e,t,n,o)=>{if(Dv(n.styles,((n,r)=>{e.setStyle(t,r,vm(n,o))})),n.styles){const n=e.getAttrib(t,"style");n&&e.setAttrib(t,"data-mce-style",n)}},Mv=(e,t,n,o)=>{const r=e.formatter.get(t),s=r[0],a=!o&&e.selection.isCollapsed(),i=e.dom,l=e.selection,d=(e,t=s)=>{w(t.onformat)&&t.onformat(e,t,n,o),Lv(i,e,t,n),Dv(t.attributes,((t,o)=>{i.setAttrib(e,o,vm(t,n))})),Dv(t.classes,(t=>{const o=vm(t,n);i.hasClass(e,o)||i.addClass(e,o)}))},c=(e,t)=>{let n=!1;return Dv(e,(e=>!(!km(e)||("false"!==i.getContentEditable(t)||e.ceFalseOverride)&&(!C(e.collapsed)||e.collapsed===a)&&i.is(t,e.selector)&&!Du(t)&&(d(t,e),n=!0,1)))),n},u=e=>{if(m(e)){const t=i.create(e);return d(t),t}return null},f=(o,a,i)=>{const l=[];let m=!0;const f=s.inline||s.block,g=u(f);Wm(o,a,(a=>{let u;const p=a=>{let h=!1,b=m,v=!1;const y=a.parentNode,w=y.nodeName.toLowerCase(),x=o.getContentEditable(a);C(x)&&(b=m,m="true"===x,h=!0,v=bm(e,a));const E=m&&!h;if(ar(a)&&!((e,t,n,o)=>{if(xd(e)&&Nm(t)&&n.parentNode){const t=da(e.schema),r=Dh(yn(n),(e=>Du(e.dom)));return _e(t,o)&&gs(yn(n.parentNode),!1)&&!r}return!1})(e,s,a,w))return u=null,void(Sm(s)&&o.remove(a));if((o=>(e=>Sm(e)&&!0===e.wrapper)(s)&&jb(e,o,t,n))(a))u=null;else{if(((t,n,o)=>{const r=(e=>Sm(e)&&!0!==e.wrapper)(s)&&gm(e.schema,t)&&pm(e,n,f);return o&&r})(a,w,E)){const e=o.rename(a,f);return d(e),l.push(e),void(u=null)}if(km(s)){let e=c(r,a);if(!e&&C(y)&&Rm(s)&&(e=c(r,y)),!Nm(s)||e)return void(u=null)}C(g)&&((t,n,r,a)=>{const l=t.nodeName.toLowerCase(),d=pm(e,f,l)&&pm(e,n,f),c=!i&&er(t)&&Pr(t.data),u=Du(t),m=!Nm(s)||!o.isBlock(t);return(r||a)&&d&&!c&&!u&&m})(a,w,E,v)?(u||(u=o.clone(g,!1),y.insertBefore(u,a),l.push(u)),v&&h&&(m=b),u.appendChild(a)):(u=null,V(ce(a.childNodes),p),h&&(m=b),u=null)}};V(a,p)})),!0===s.links&&V(l,(e=>{const t=e=>{"A"===e.nodeName&&d(e,s),V(ce(e.childNodes),t)};t(e)})),V(l,(a=>{const i=(e=>{let t=0;return V(e.childNodes,(e=>{(e=>C(e)&&er(e)&&0===e.length)(e)||Ku(e)||t++})),t})(a);!(l.length>1)&&o.isBlock(a)||0!==i?(Nm(s)||Sm(s)&&s.wrapper)&&(s.exact||1!==i||(a=(e=>{const t=J(e.childNodes,cm).filter((e=>"false"!==o.getContentEditable(e)&&Ub(o,e,s)));return t.map((t=>{const n=o.clone(t,!1);return d(n),o.replace(n,e,!0),o.remove(t,!0),n})).getOr(e)})(a)),((e,t,n,o)=>{Pv(t,(t=>{Nm(t)&&Pv(e.dom.select(t.inline,o),(o=>{dv(o)&&Bv(e,t,n,o,t.exact?o:null)})),((e,t,n)=>{if(t.clear_child_styles){const o=t.links?"*:not(a)":"*";lv(e.select(o,n),(n=>{dv(n)&&e.isEditable(n)&&lv(t.styles,((t,o)=>{e.setStyle(n,o,"")}))}))}})(e.dom,t,o)}))})(e,r,n,a),((e,t,n,o,r)=>{const s=r.parentNode;jb(e,s,n,o)&&Bv(e,t,o,r)||t.merge_with_parents&&s&&e.dom.getParent(s,(s=>!!jb(e,s,n,o)&&(Bv(e,t,o,r),!0)))})(e,s,t,n,a),((e,t,n,o)=>{if(t.styles&&t.styles.backgroundColor){const r=gv(e,"fontSize");fv(o,(t=>r(t)&&e.isEditable(t)),pv(e,"backgroundColor",vm(t.styles.backgroundColor,n)))}})(o,s,n,a),((e,t,n,o)=>{const r=t=>{if(Vo(t)&&qo(t.parentNode)&&e.isEditable(t)){const n=xm(e,t.parentNode);e.getStyle(t,"color")&&n?e.setStyle(t,"text-decoration",n):e.getStyle(t,"text-decoration")===n&&e.setStyle(t,"text-decoration",null)}};t.styles&&(t.styles.color||t.styles.textDecoration)&&(Pt.walk(o,r,"childNodes"),r(o))})(o,s,0,a),((e,t,n,o)=>{if(Nm(t)&&("sub"===t.inline||"sup"===t.inline)){const n=gv(e,"fontSize");fv(o,(t=>n(t)&&e.isEditable(t)),pv(e,"fontSize",""));const r=Y(e.select("sup"===t.inline?"sub":"sup",o),e.isEditable);e.remove(r,!0)}})(o,s,0,a),mv(e,s,0,a)):o.remove(a,!0)}))},g=dm(o)?o:l.getNode();if("false"===i.getContentEditable(g)&&!bm(e,g))return c(r,o=g),void tf(e,t,o,n);if(s){if(o)if(dm(o)){if(!c(r,o)){const e=i.createRng();e.setStartBefore(o),e.setEndAfter(o),f(i,Vm(i,e,r),!0)}}else f(i,o,!0);else a&&Nm(s)&&!em(e).length?((e,t,n)=>{let o;const r=e.selection,s=e.formatter.get(t);if(!s)return;const a=r.getRng();let i=a.startOffset;const l=a.startContainer.nodeValue;o=Lu(e.getBody(),r.getStart());const d=/[^\s\u00a0\u00ad\u200b\ufeff]/;if(l&&i>0&&i{im(e,((e,t)=>{const n=t?e:Vm(i,e,r);f(i,n,!1)}))}),M),e.nodeChanged()),ov(e.formatter,t).each((t=>{V((e=>Y((e=>{const t=e.getSelectedBlocks(),n=e.getRng();if(e.isCollapsed())return[];if(1===t.length)return rv(n,t[0])&&sv(n,t[0])?t:[];{const e=le(t).filter((e=>rv(n,e))).toArray(),o=de(t).filter((e=>sv(n,e))).toArray(),r=t.slice(1,-1);return e.concat(r).concat(o)}})(e),av(e.dom)))(e.selection),(e=>Lv(i,e,t,n)))}));((e,t)=>{Ee(ev,e)&&V(ev[e],(e=>{e(t)}))})(t,e)}tf(e,t,o,n)},Iv=(e,t,n,o)=>{(o||e.selection.isEditable())&&Mv(e,t,n,o)},Fv=e=>Ee(e,"vars"),Uv=e=>e.selection.getStart(),zv=(e,t,n,o,r)=>Q(t,(t=>{const s=e.formatter.matchNode(t,n,null!=r?r:{},o);return!v(s)}),(t=>!!Ib(e,t,n)||!o&&C(e.formatter.matchNode(t,n,r,!0)))),jv=(e,t)=>{const n=null!=t?t:Uv(e);return Y(Em(e.dom,n),(e=>qo(e)&&!Xo(e)))},Hv=(e,t,n)=>{const o=jv(e,t);ge(n,((n,r)=>{const s=n=>{const s=zv(e,o,r,n.similar,Fv(n)?n.vars:void 0),a=s.isSome();if(n.state.get()!==a){n.state.set(a);const e=s.getOr(t);Fv(n)?n.callback(a,{node:e,format:r,parents:o}):V(n.callbacks,(t=>t(a,{node:e,format:r,parents:o})))}};V([n.withSimilar,n.withoutSimilar],s),V(n.withVars,s)}))},$v=Pt.explode,qv=()=>{const e={};return{addFilter:(t,n)=>{V($v(t),(t=>{Ee(e,t)||(e[t]={name:t,callbacks:[]}),e[t].callbacks.push(n)}))},getFilters:()=>we(e),removeFilter:(t,n)=>{V($v(t),(t=>{if(Ee(e,t))if(C(n)){const o=e[t],r=Y(o.callbacks,(e=>e!==n));r.length>0?o.callbacks=r:delete e[t]}else delete e[t]}))}}},Vv=(e,t,n)=>{var o;const r=wa();t.convert_fonts_to_spans&&((e,t,n)=>{e.addNodeFilter("font",(e=>{V(e,(e=>{const o=t.parse(e.attr("style")),r=e.attr("color"),s=e.attr("face"),a=e.attr("size");r&&(o.color=r),s&&(o["font-family"]=s),a&&Xe(a).each((e=>{o["font-size"]=n[e-1]})),e.name="span",e.attr("style",t.serialize(o)),((e,t)=>{V(["color","face","size"],(t=>{e.attr(t,null)}))})(e)}))}))})(e,r,Pt.explode(null!==(o=t.font_size_legacy_values)&&void 0!==o?o:"")),((e,t,n)=>{e.addNodeFilter("strike",(e=>{const o="html4"!==t.type;V(e,(e=>{if(o)e.name="s";else{const t=n.parse(e.attr("style"));t["text-decoration"]="line-through",e.name="span",e.attr("style",n.serialize(t))}}))}))})(e,n,r)},Wv=(e,t,n)=>{t.addNodeFilter("br",((t,o,r)=>{const s=Pt.extend({},n.getBlockElements()),a=n.getNonEmptyElements(),i=n.getWhitespaceElements();s.body=1;const l=e=>e.name in s||Bs(n,e);for(let o=0,d=t.length;o{const[t,...n]=e.split(","),o=n.join(","),r=/data:([^/]+\/[^;]+)(;.+)?/.exec(t);if(r){const e=";base64"===r[2],t=e?(e=>{const t=/([a-z0-9+\/=\s]+)/i.exec(e);return t?t[1]:""})(o):decodeURIComponent(o);return I.some({type:r[1],data:t,base64Encoded:e})}return I.none()},Yv=(e,t,n=!0)=>{let o=t;if(n)try{o=atob(t)}catch(e){return I.none()}const r=new Uint8Array(o.length);for(let e=0;enew Promise(((t,n)=>{const o=new FileReader;o.onloadend=()=>{t(o.result)},o.onerror=()=>{var e;n(null===(e=o.error)||void 0===e?void 0:e.message)},o.readAsDataURL(e)}));let Xv=0;const Qv=(e,t,n)=>Kv(e).bind((({data:e,type:o,base64Encoded:r})=>{if(t&&!r)return I.none();{const t=r?e:btoa(e);return n(t,o)}})),Jv=(e,t,n)=>{const o=e.create("blobid"+Xv++,t,n);return e.add(o),o},Zv=(e,t,n=!1)=>Qv(t,n,((t,n)=>I.from(e.getByData(t,n)).orThunk((()=>Yv(n,t).map((n=>Jv(e,n,t))))))),ey=(e,t)=>He(e,`${t}/`),ty=(e,t)=>{const n=e.schema;t.remove_trailing_brs&&Wv(t,e,n),e.addAttributeFilter("href",(e=>{let n=e.length;const o=e=>{const t=e?Pt.trim(e):"";return/\b(noopener)\b/g.test(t)?t:(e=>e.split(" ").filter((e=>e.length>0)).concat(["noopener"]).sort().join(" "))(t)};if(!t.allow_unsafe_link_target)for(;n--;){const t=e[n];"a"===t.name&&"_blank"===t.attr("target")&&t.attr("rel",o(t.attr("rel")))}})),t.allow_html_in_named_anchor||e.addAttributeFilter("id,name",(e=>{let t,n,o,r,s=e.length;for(;s--;)if(r=e[s],"a"===r.name&&r.firstChild&&!r.attr("href"))for(o=r.parent,t=r.lastChild;t&&o;)n=t.prev,o.insert(t,r),t=n})),t.fix_list_elements&&e.addNodeFilter("ul,ol",(e=>{let t,n,o=e.length;for(;o--;)if(t=e[o],n=t.parent,n&&("ul"===n.name||"ol"===n.name))if(t.prev&&"li"===t.prev.name)t.prev.append(t);else{const e=new Wg("li",1);e.attr("style","list-style-type: none"),t.wrap(e)}}));const o=n.getValidClasses();t.validate&&o&&e.addAttributeFilter("class",(e=>{var t;let n=e.length;for(;n--;){const r=e[n],s=null!==(t=r.attr("class"))&&void 0!==t?t:"",a=Pt.explode(s," ");let i="";for(let e=0;e{const{blob_cache:n}=t;if(n){const t=e=>{const t=e.attr("src");(e=>e.attr("src")===At.transparentSrc||C(e.attr("data-mce-placeholder")))(e)||(e=>C(e.attr("data-mce-bogus")))(e)||y(t)||Zv(n,t,!0).each((t=>{e.attr("src",t.blobUri())}))};e.addAttributeFilter("src",(e=>V(e,t)))}})(e,t),t.convert_unsafe_embeds&&e.addNodeFilter("object,embed",(e=>V(e,(e=>{e.replace(((e,t,n,o,r)=>{let s;s=v(e)?"iframe":ey(e,"image")?"img":ey(e,"video")?"video":ey(e,"audio")?"audio":"iframe";const a=new Wg(s,1);return a.attr("audio"===s?{src:t}:{src:t,width:n,height:o}),"audio"!==s&&"video"!==s||a.attr("controls",""),"iframe"===s&&r&&a.attr("sandbox",""),a})(e.attr("type"),"object"===e.name?e.attr("data"):e.attr("src"),e.attr("width"),e.attr("height"),t.sandbox_iframes))})))),t.sandbox_iframes&&e.addNodeFilter("iframe",(e=>V(e,(e=>e.attr("sandbox","")))))},{entries:ny,setPrototypeOf:oy,isFrozen:ry,getPrototypeOf:sy,getOwnPropertyDescriptor:ay}=Object;let{freeze:iy,seal:ly,create:dy}=Object,{apply:cy,construct:uy}="undefined"!=typeof Reflect&&Reflect;// eslint-disable-line import/no-mutable-exports -iy||(iy=function(e){return e}),ly||(ly=function(e){return e}),cy||(cy=function(e,t,n){return e.apply(t,n)}),uy||(uy=function(e,t){return new e(...t)});const my=Sy(Array.prototype.forEach),fy=Sy(Array.prototype.pop),gy=Sy(Array.prototype.push),py=Sy(String.prototype.toLowerCase),hy=Sy(String.prototype.toString),by=Sy(String.prototype.match),vy=Sy(String.prototype.replace),yy=Sy(String.prototype.indexOf),Cy=Sy(String.prototype.trim),wy=Sy(Object.prototype.hasOwnProperty),xy=Sy(RegExp.prototype.test),Ey=(_y=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:py;oy&& -// Make 'in' and truthy checks like Boolean(set.constructor) -// independent of any properties defined on Object.prototype. -// Prevent prototype setters from intercepting set as a this value. -oy(e,null);let o=t.length;for(;o--;){let r=t[o];if("string"==typeof r){const e=n(r);e!==r&&( -// Config presets (e.g. tags.js, attrs.js) are immutable. -ry(t)||(t[o]=e),r=e)}e[r]=!0}return e} -/** - * Clean up an array to harden against CSPP - * - * @param {Array} array - The array to be cleaned. - * @returns {Array} The cleaned version of the array - */function Ny(e){for(let t=0;t/gm),$y=ly(/\${[\w\W]*}/gm),qy=ly(/^data-[\-\w.\u00B7-\uFFFF]/),Vy=ly(/^aria-[\-\w]+$/),Wy=ly(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ky=ly(/^(?:\w+script|data):/i),Yy=ly(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Gy=ly(/^html$/i),Xy=ly(/^[a-z][.\w]*(-[.\w]+)+$/i); -// SVG -var Qy=Object.freeze({__proto__:null,MUSTACHE_EXPR:jy,ERB_EXPR:Hy,TMPLIT_EXPR:$y,DATA_ATTR:qy,ARIA_ATTR:Vy,IS_ALLOWED_URI:Wy,IS_SCRIPT_OR_DATA:Ky,ATTR_WHITESPACE:Yy,DOCTYPE_NAME:Gy,CUSTOM_ELEMENT:Xy}); -// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType -const Jy=function(){return"undefined"==typeof window?null:window};var Zy=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Jy();const n=t=>e(t) -/** - * Version label, exposed for easier checks - * if DOMPurify is up to date or not - */;if(n.version="3.1.7", -/** - * Array of elements that DOMPurify removed during sanitation. - * Empty if nothing was removed. - */ -n.removed=[],!t||!t.document||9!==t.document.nodeType) -// Not running in a browser, provide a factory function -// so that you can pass your own Window -return n.isSupported=!1,n;let{document:o}=t;const r=o,s=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:i,Node:l,Element:d,NodeFilter:c,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:m,DOMParser:f,trustedTypes:g}=t,p=d.prototype,h=Ay(p,"cloneNode"),b=Ay(p,"remove"),v=Ay(p,"nextSibling"),y=Ay(p,"childNodes"),C=Ay(p,"parentNode"); -// As per issue #47, the web-components registry is inherited by a -// new document created via createHTMLDocument. As per the spec -// (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries) -// a new empty registry is used when creating a template contents owner -// document, so we use that as our parent document to ensure nothing -// is inherited. -if("function"==typeof i){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let w,x="";const{implementation:E,createNodeIterator:_,createDocumentFragment:S,getElementsByTagName:k}=o,{importNode:N}=r;let R={}; -/** - * Expose whether this browser supports running the full DOMPurify. - */n.isSupported="function"==typeof ny&&"function"==typeof C&&E&&void 0!==E.createHTMLDocument;const{MUSTACHE_EXPR:A,ERB_EXPR:T,TMPLIT_EXPR:O,DATA_ATTR:B,ARIA_ATTR:P,IS_SCRIPT_OR_DATA:D,ATTR_WHITESPACE:L,CUSTOM_ELEMENT:M}=Qy;let{IS_ALLOWED_URI:I}=Qy,F=null; -/** - * We consider the elements and attributes below to be safe. Ideally - * don't add any new ones but feel free to remove unwanted ones. - */ -/* allowed element names */const U=ky({},[...Ty,...Oy,...By,...Dy,...My]); -/* Allowed attribute names */let z=null;const j=ky({},[...Iy,...Fy,...Uy,...zy]); -/* - * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements. - * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements) - * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list) - * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`. - */let H=Object.seal(dy(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),$=null,q=null,V=!0,W=!0,K=!1,Y=!0,G=!1,X=!0,Q=!1,J=!1,Z=!1,ee=!1,te=!1,ne=!1,oe=!0,re=!1,se=!0,ae=!1,ie={},le=null; -/* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */const de=ky({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]); -/* Tags that are safe for data: URIs */let ce=null;const ue=ky({},["audio","video","img","source","image","track"]); -/* Attributes safe for values like "javascript:" */let me=null;const fe=ky({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ge="http://www.w3.org/1998/Math/MathML",pe="http://www.w3.org/2000/svg",he="http://www.w3.org/1999/xhtml"; -/* Document namespace */ -let be=he,ve=!1,ye=null;const Ce=ky({},[ge,pe,he],hy); -/* Parsing of strict XHTML documents */let we=null;const xe=["application/xhtml+xml","text/html"];let Ee=null,_e=null; -/* Keep a reference to config to pass to hooks */ -/* Ideally, do not touch anything below this line */ -/* ______________________________________________ */ -const Se=o.createElement("form"),ke=function(e){return e instanceof RegExp||e instanceof Function},Ne=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!_e||_e!==e){if( -/* Shield configuration object from tampering */ -e&&"object"==typeof e||(e={}) -/* Shield configuration object from prototype pollution */,e=Ry(e),we= -// eslint-disable-next-line unicorn/prefer-includes --1===xe.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE, -// HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is. -Ee="application/xhtml+xml"===we?hy:py, -/* Set configuration parameters */ -F=wy(e,"ALLOWED_TAGS")?ky({},e.ALLOWED_TAGS,Ee):U,z=wy(e,"ALLOWED_ATTR")?ky({},e.ALLOWED_ATTR,Ee):j,ye=wy(e,"ALLOWED_NAMESPACES")?ky({},e.ALLOWED_NAMESPACES,hy):Ce,me=wy(e,"ADD_URI_SAFE_ATTR")?ky(Ry(fe), -// eslint-disable-line indent -e.ADD_URI_SAFE_ATTR, -// eslint-disable-line indent -Ee):fe,ce=wy(e,"ADD_DATA_URI_TAGS")?ky(Ry(ue), -// eslint-disable-line indent -e.ADD_DATA_URI_TAGS, -// eslint-disable-line indent -Ee):ue,le=wy(e,"FORBID_CONTENTS")?ky({},e.FORBID_CONTENTS,Ee):de,$=wy(e,"FORBID_TAGS")?ky({},e.FORBID_TAGS,Ee):{},q=wy(e,"FORBID_ATTR")?ky({},e.FORBID_ATTR,Ee):{},ie=!!wy(e,"USE_PROFILES")&&e.USE_PROFILES,V=!1!==e.ALLOW_ARIA_ATTR,// Default true -W=!1!==e.ALLOW_DATA_ATTR,// Default true -K=e.ALLOW_UNKNOWN_PROTOCOLS||!1,// Default false -Y=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,// Default true -G=e.SAFE_FOR_TEMPLATES||!1,// Default false -X=!1!==e.SAFE_FOR_XML,// Default true -Q=e.WHOLE_DOCUMENT||!1,// Default false -ee=e.RETURN_DOM||!1,// Default false -te=e.RETURN_DOM_FRAGMENT||!1,// Default false -ne=e.RETURN_TRUSTED_TYPE||!1,// Default false -Z=e.FORCE_BODY||!1,// Default false -oe=!1!==e.SANITIZE_DOM,// Default true -re=e.SANITIZE_NAMED_PROPS||!1,// Default false -se=!1!==e.KEEP_CONTENT,// Default true -ae=e.IN_PLACE||!1,// Default false -I=e.ALLOWED_URI_REGEXP||Wy,be=e.NAMESPACE||he,H=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ke(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ke(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(H.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),G&&(W=!1),te&&(ee=!0) -/* Parse profile info */,ie&&(F=ky({},My),z=[],!0===ie.html&&(ky(F,Ty),ky(z,Iy)),!0===ie.svg&&(ky(F,Oy),ky(z,Fy),ky(z,zy)),!0===ie.svgFilters&&(ky(F,By),ky(z,Fy),ky(z,zy)),!0===ie.mathMl&&(ky(F,Dy),ky(z,Uy),ky(z,zy))) -/* Merge configuration parameters */,e.ADD_TAGS&&(F===U&&(F=Ry(F)),ky(F,e.ADD_TAGS,Ee)),e.ADD_ATTR&&(z===j&&(z=Ry(z)),ky(z,e.ADD_ATTR,Ee)),e.ADD_URI_SAFE_ATTR&&ky(me,e.ADD_URI_SAFE_ATTR,Ee),e.FORBID_CONTENTS&&(le===de&&(le=Ry(le)),ky(le,e.FORBID_CONTENTS,Ee)) -/* Add #text in case KEEP_CONTENT is set to true */,se&&(F["#text"]=!0) -/* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */,Q&&ky(F,["html","head","body"]) -/* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */,F.table&&(ky(F,["tbody"]),delete $.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw Ey('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw Ey('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'); -// Overwrite existing TrustedTypes policy. -w=e.TRUSTED_TYPES_POLICY, -// Sign local variables required by `sanitize`. -x=w.createHTML("")}else -// Uninitialized policy, attempt to initialize the internal dompurify policy. -void 0===w&&(w=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null; -// Allow the callers to control the unique policy name -// by adding a data-tt-policy-suffix to the script element with the DOMPurify. -// Policy creation with duplicate names throws in Trusted Types. -let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){ -// Policy creation failed (most likely another DOMPurify script has -// already run). Skip creating the policy, as this will only cause errors -// if TT are enforced. -return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(g,s)), -// If creating the internal policy succeeded sign internal variables. -null!==w&&"string"==typeof x&&(x=w.createHTML("")); -// Prevent further manipulation of configuration. -// Not available in IE8, Safari 5, etc. -iy&&iy(e),_e=e}},Re=ky({},["mi","mo","mn","ms","mtext"]),Ae=ky({},["annotation-xml"]),Te=ky({},["title","style","font","a","script"]),Oe=ky({},[...Oy,...By,...Py]),Be=ky({},[...Dy,...Ly]),Pe=function(e){gy(n.removed,{element:e});try{ -// eslint-disable-next-line unicorn/prefer-dom-node-remove -C(e).removeChild(e)}catch(t){b(e)}},De=function(e,t){try{gy(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){gy(n.removed,{attribute:null,from:t})} -// We void attribute values for unremovable "is"" attributes -if(t.removeAttribute(e),"is"===e&&!z[e])if(ee||te)try{Pe(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Le=function(e){ -/* Create a HTML document */ -let t=null,n=null;if(Z)e=""+e;else{ -/* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */ -const t=by(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===we&&be===he&&( -// Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict) -e=''+e+"");const r=w?w.createHTML(e):e; -/* - * Use the DOMParser API by default, fallback later if needs be - * DOMParser not work for svg when has multiple root element. - */if(be===he)try{t=(new f).parseFromString(r,we)}catch(e){} -/* Use createHTMLDocument in case DOMParser is not available */if(!t||!t.documentElement){t=E.createDocument(be,"template",null);try{t.documentElement.innerHTML=ve?x:r}catch(e){ -// Syntax error if dirtyPayload is invalid xml -}}const s=t.body||t.documentElement; -/* Work on whole document or just its body */ -return e&&n&&s.insertBefore(o.createTextNode(n),s.childNodes[0]||null),be===he?k.call(t,Q?"html":"body")[0]:Q?t.documentElement:s},Me=function(e){return _.call(e.ownerDocument||e,e, -// eslint-disable-next-line no-bitwise -c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ie=function(e){return e instanceof m&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof u)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Fe=function(e){return"function"==typeof l&&e instanceof l},Ue=function(e,t,o){R[e]&&my(R[e],(e=>{e.call(n,t,o,_e)}))},ze=function(e){let t=null; -/* Execute a hook if present */ -/* Check if element is clobbered or can clobber */ -if(Ue("beforeSanitizeElements",e,null),Ie(e))return Pe(e),!0; -/* Now let's check the element's type and name */const o=Ee(e.nodeName); -/* Execute a hook if present */ -/* Detect mXSS attempts abusing namespace confusion */ -if(Ue("uponSanitizeElement",e,{tagName:o,allowedTags:F}),e.hasChildNodes()&&!Fe(e.firstElementChild)&&xy(/<[/\w]/g,e.innerHTML)&&xy(/<[/\w]/g,e.textContent))return Pe(e),!0; -/* Remove any occurrence of processing instructions */if(7===e.nodeType)return Pe(e),!0; -/* Remove any kind of possibly harmful comments */if(X&&8===e.nodeType&&xy(/<[/\w]/g,e.data))return Pe(e),!0; -/* Remove element if anything forbids its presence */if(!F[o]||$[o]){ -/* Check if we have a custom element to handle */ -if(!$[o]&&He(o)){if(H.tagNameCheck instanceof RegExp&&xy(H.tagNameCheck,o))return!1;if(H.tagNameCheck instanceof Function&&H.tagNameCheck(o))return!1} -/* Keep content except for bad-listed elements */if(se&&!le[o]){const t=C(e)||e.parentNode,n=y(e)||e.childNodes;if(n&&t)for(let o=n.length-1;o>=0;--o){const r=h(n[o],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,v(e))}}return Pe(e),!0} -/* Check whether element has a valid namespace */return e instanceof d&&!function(e){let t=C(e); -// In JSDOM, if we're inside shadow DOM, then parentNode -// can be null. We just simulate parent in this case. -t&&t.tagName||(t={namespaceURI:be,tagName:"template"});const n=py(e.tagName),o=py(t.tagName);return!!ye[e.namespaceURI]&&(e.namespaceURI===pe? -// The only way to switch from HTML namespace to SVG -// is via . If it happens via any other tag, then -// it should be killed. -t.namespaceURI===he?"svg"===n: -// The only way to switch from MathML to SVG is via` -// svg if parent is either or MathML -// text integration points. -t.namespaceURI===ge?"svg"===n&&("annotation-xml"===o||Re[o]):Boolean(Oe[n]):e.namespaceURI===ge? -// The only way to switch from HTML namespace to MathML -// is via . If it happens via any other tag, then -// it should be killed. -t.namespaceURI===he?"math"===n: -// The only way to switch from SVG to MathML is via -// and HTML integration points -t.namespaceURI===pe?"math"===n&&Ae[o]:Boolean(Be[n]):e.namespaceURI===he? -// The only way to switch from SVG to HTML is via -// HTML integration points, and from MathML to HTML -// is via MathML text integration points -!(t.namespaceURI===pe&&!Ae[o])&&!(t.namespaceURI===ge&&!Re[o])&&!Be[n]&&(Te[n]||!Oe[n]):!("application/xhtml+xml"!==we||!ye[e.namespaceURI]))}(e)?(Pe(e),!0): -/* Make sure that older browsers don't get fallback-tag mXSS */ -"noscript"!==o&&"noembed"!==o&&"noframes"!==o||!xy(/<\/no(script|embed|frames)/i,e.innerHTML)?( -/* Sanitize element content to be template-safe */ -G&&3===e.nodeType&&( -/* Get the element's text content */ -t=e.textContent,my([A,T,O],(e=>{t=vy(t,e," ")})),e.textContent!==t&&(gy(n.removed,{element:e.cloneNode()}),e.textContent=t)) -/* Execute a hook if present */,Ue("afterSanitizeElements",e,null),!1):(Pe(e),!0)},je=function(e,t,n){ -/* Make sure attribute cannot clobber */ -if(oe&&("id"===t||"name"===t)&&(n in o||n in Se))return!1; -/* Allow valid data-* attributes: At least one character after "-" - (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes) - XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804) - We don't need to check the value; it's always URI safe. */if(W&&!q[t]&&xy(B,t));else if(V&&xy(P,t));else if(!z[t]||q[t]){if( -// First condition does a very basic check if a) it's basically a valid custom element tagname AND -// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck -// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck -!(He(e)&&(H.tagNameCheck instanceof RegExp&&xy(H.tagNameCheck,e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(e))&&(H.attributeNameCheck instanceof RegExp&&xy(H.attributeNameCheck,t)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(t))|| -// Alternative, second condition checks if it's an `is`-attribute, AND -// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck -"is"===t&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&xy(H.tagNameCheck,n)||H.tagNameCheck instanceof Function&&H.tagNameCheck(n))))return!1; -/* Check value is safe. First, is attr inert? If so, is safe */}else if(me[t]);else if(xy(I,vy(n,L,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==yy(n,"data:")||!ce[e])if(K&&!xy(D,vy(n,L,"")));else if(n)return!1;return!0},He=function(e){return"annotation-xml"!==e&&by(e,M)},$e=function(e){ -/* Execute a hook if present */ -Ue("beforeSanitizeAttributes",e,null);const{attributes:t}=e; -/* Check if we have attributes; if not we might have a text node */if(!t)return;const o={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:z};let r=t.length; -/* Go backwards over all attributes; safely remove bad ones */for(;r--;){const s=t[r],{name:a,namespaceURI:i,value:l}=s,d=Ee(a);let c="value"===a?l:Cy(l);const u=c; -/* Execute a hook if present */ -/* Did the hooks approve of the attribute? */ -if(o.attrName=d,o.attrValue=c,o.keepAttr=!0,o.forceKeepAttr=void 0,// Allows developers to see this is a property they can set -Ue("uponSanitizeAttribute",e,o),c=o.attrValue,o.forceKeepAttr)continue; -/* Did the hooks approve of the attribute? */if(!o.keepAttr){De(a,e);continue} -/* Work around a security issue in jQuery 3.0 */if(!Y&&xy(/\/>/i,c)){De(a,e);continue} -/* Sanitize attribute content to be template-safe */G&&my([A,T,O],(e=>{c=vy(c,e," ")})) -/* Is `value` valid for this attribute? */;const m=Ee(e.nodeName);if(je(m,d,c)) -/* Work around a security issue with comments inside attributes */ -if( -/* Full DOM Clobbering protection via namespace isolation, - * Prefix id and name attributes with `user-content-` - */ -!re||"id"!==d&&"name"!==d||( -// Remove the attribute with this value -De(a,e), -// Prefix the value and later re-create the attribute with the sanitized value -c="user-content-"+c),X&&xy(/((--!?|])>)|<\/(style|title)/i,c))De(a,e);else{ -/* Handle attributes that require Trusted Types */ -if(w&&"object"==typeof g&&"function"==typeof g.getAttributeType)if(i);else switch(g.getAttributeType(m,d)){case"TrustedHTML":c=w.createHTML(c);break;case"TrustedScriptURL":c=w.createScriptURL(c)} -/* Handle invalid data-* attribute set by try-catching it */if(c!==u)try{i?e.setAttributeNS(i,a,c): -/* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */ -e.setAttribute(a,c),Ie(e)?Pe(e):fy(n.removed)}catch(e){}}else De(a,e)} -/* Execute a hook if present */Ue("afterSanitizeAttributes",e,null)},qe=function e(t){let n=null;const o=Me(t); -/* Execute a hook if present */for(Ue("beforeSanitizeShadowDOM",t,null);n=o.nextNode();) -/* Execute a hook if present */ -Ue("uponSanitizeShadowNode",n,null), -/* Sanitize tags and elements */ -ze(n)||( -/* Deep shadow DOM detected */ -n.content instanceof a&&e(n.content) -/* Check attributes, sanitize if necessary */,$e(n)); -/* Execute a hook if present */Ue("afterSanitizeShadowDOM",t,null)}; -/** - * Sanitize - * Public method providing core sanitation functionality - * - * @param {String|Node} dirty string or DOM node - * @param {Object} cfg object - */ -// eslint-disable-next-line complexity -return n.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=null,s=null,i=null,d=null; -/* Stringify, in case dirty is an object */ -if( -/* Make sure we have a string to sanitize. - DO NOT return early, as this will return the wrong type if - the user has requested a DOM object rather than a string */ -ve=!e,ve&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Fe(e)){if("function"!=typeof e.toString)throw Ey("toString is not a function");if("string"!=typeof(e=e.toString()))throw Ey("dirty is not a string, aborting")} -/* Return dirty HTML if DOMPurify cannot run */if(!n.isSupported)return e; -/* Assign config vars */if(J||Ne(t) -/* Clean up removed elements */,n.removed=[], -/* Check if dirty is correctly typed for IN_PLACE */ -"string"==typeof e&&(ae=!1),ae){ -/* Do some early pre-sanitization to avoid unsafe root nodes */ -if(e.nodeName){const t=Ee(e.nodeName);if(!F[t]||$[t])throw Ey("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof l) -/* If dirty is a DOM element, append to an empty document to avoid - elements being stripped by the parser */ -o=Le("\x3c!----\x3e"),s=o.ownerDocument.importNode(e,!0),1===s.nodeType&&"BODY"===s.nodeName||"HTML"===s.nodeName? -/* Node is already a body, use as is */ -o=s: -// eslint-disable-next-line unicorn/prefer-dom-node-append -o.appendChild(s);else{ -/* Exit directly if we have nothing to do */ -if(!ee&&!G&&!Q&& -// eslint-disable-next-line unicorn/prefer-includes --1===e.indexOf("<"))return w&&ne?w.createHTML(e):e; -/* Initialize the document to work on */ -/* Check we have a DOM node from the data */ -if(o=Le(e),!o)return ee?null:ne?x:""} -/* Remove first element node (ours) if FORCE_BODY is set */o&&Z&&Pe(o.firstChild) -/* Get node iterator */;const c=Me(ae?e:o); -/* Now start iterating over the created document */for(;i=c.nextNode();) -/* Sanitize tags and elements */ -ze(i)||( -/* Shadow DOM detected, sanitize it */ -i.content instanceof a&&qe(i.content) -/* Check attributes, sanitize if necessary */,$e(i)); -/* If we sanitized `dirty` in-place, return it. */if(ae)return e; -/* Return sanitized string or DOM */if(ee){if(te)for(d=S.call(o.ownerDocument);o.firstChild;) -// eslint-disable-next-line unicorn/prefer-dom-node-append -d.appendChild(o.firstChild);else d=o;return(z.shadowroot||z.shadowrootmode)&&( -/* - AdoptNode() is not used because internal state is not reset - (e.g. the past names map of a HTMLFormElement), this is safe - in theory but we would rather not risk another attack vector. - The state that is cloned by importNode() is explicitly defined - by the specs. - */ -d=N.call(r,d,!0)),d}let u=Q?o.outerHTML:o.innerHTML; -/* Serialize doctype if allowed */return Q&&F["!doctype"]&&o.ownerDocument&&o.ownerDocument.doctype&&o.ownerDocument.doctype.name&&xy(Gy,o.ownerDocument.doctype.name)&&(u="\n"+u) -/* Sanitize final string template-safe */,G&&my([A,T,O],(e=>{u=vy(u,e," ")})),w&&ne?w.createHTML(u):u}, -/** - * Public method to set the configuration once - * setConfig - * - * @param {Object} cfg configuration object - */ -n.setConfig=function(){Ne(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),J=!0}, -/** - * Public method to remove the configuration - * clearConfig - * - */ -n.clearConfig=function(){_e=null,J=!1}, -/** - * Public method to check if an attribute value is valid. - * Uses last set config, if any. Otherwise, uses config defaults. - * isValidAttribute - * - * @param {String} tag Tag name of containing element. - * @param {String} attr Attribute name. - * @param {String} value Attribute value. - * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false. - */ -n.isValidAttribute=function(e,t,n){ -/* Initialize shared config vars if necessary. */ -_e||Ne({});const o=Ee(e),r=Ee(t);return je(o,r,n)}, -/** - * AddHook - * Public method to add DOMPurify hooks - * - * @param {String} entryPoint entry point for the hook to add - * @param {Function} hookFunction function to execute - */ -n.addHook=function(e,t){"function"==typeof t&&(R[e]=R[e]||[],gy(R[e],t))}, -/** - * RemoveHook - * Public method to remove a DOMPurify hook at a given entryPoint - * (pops it from the stack of hooks if more are present) - * - * @param {String} entryPoint entry point for the hook to remove - * @return {Function} removed(popped) hook - */ -n.removeHook=function(e){if(R[e])return fy(R[e])}, -/** - * RemoveHooks - * Public method to remove all DOMPurify hooks at a given entryPoint - * - * @param {String} entryPoint entry point for the hooks to remove - */ -n.removeHooks=function(e){R[e]&&(R[e]=[])}, -/** - * RemoveAllHooks - * Public method to remove all DOMPurify hooks - */ -n.removeAllHooks=function(){R={}},n}();const eC=Pt.each,tC=Pt.trim,nC=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],oC={ftp:21,http:80,https:443,mailto:25},rC=["img","video"],sC=(e,t,n)=>{const o=(e=>{try{return decodeURIComponent(e)}catch(t){return unescape(e)}})(t).replace(/\s/g,"");return!e.allow_script_urls&&(!!/((java|vb)script|mhtml):/i.test(o)||!e.allow_html_data_urls&&(/^data:image\//i.test(o)?((e,t)=>C(e)?!e:!C(t)||!H(rC,t))(e.allow_svg_data_urls,n)&&/^data:image\/svg\+xml/i.test(o):/^data:/i.test(o)))};class aC{static parseDataUri(e){let t;const n=decodeURIComponent(e).split(","),o=/data:([^;]+)/.exec(n[0]);return o&&(t=o[1]),{type:t,data:n[1]}}static isDomSafe(e,t,n={}){if(n.allow_script_urls)return!0;{const o=ea.decode(e).replace(/[\s\u0000-\u001F]+/g,"");return!sC(n,o,t)}}static getDocumentBaseUrl(e){var t;let n;return n=0!==e.protocol.indexOf("http")&&"file:"!==e.protocol?null!==(t=e.href)&&void 0!==t?t:"":e.protocol+"//"+e.host+e.pathname,/^[^:]+:\/\/\/?[^\/]+\//.test(n)&&(n=n.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(n)||(n+="/")),n}constructor(e,t={}){this.path="",this.directory="",e=tC(e),this.settings=t;const n=t.base_uri,o=this;if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(o.source=e);const r=0===e.indexOf("//");if(0!==e.indexOf("/")||r||(e=(n&&n.protocol||"http")+"://mce_host"+e),!/^[\w\-]*:?\/\//.test(e)){const t=n?n.path:new aC(document.location.href).directory;if(""===(null==n?void 0:n.protocol))e="//mce_host"+o.toAbsPath(t,e);else{const r=/([^#?]*)([#?]?.*)/.exec(e);r&&(e=(n&&n.protocol||"http")+"://mce_host"+o.toAbsPath(t,r[1])+r[2])}}e=e.replace(/@@/g,"(mce_at)");const s=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?(\[[a-zA-Z0-9:.%]+\]|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);s&&eC(nC,((e,t)=>{let n=s[t];n&&(n=n.replace(/\(mce_at\)/g,"@@")),o[e]=n})),n&&(o.protocol||(o.protocol=n.protocol),o.userInfo||(o.userInfo=n.userInfo),o.port||"mce_host"!==o.host||(o.port=n.port),o.host&&"mce_host"!==o.host||(o.host=n.host),o.source=""),r&&(o.protocol="")}setPath(e){const t=/^(.*?)\/?(\w+)?$/.exec(e);t&&(this.path=t[0],this.directory=t[1],this.file=t[2]),this.source="",this.getURI()}toRelative(e){if("./"===e)return e;const t=new aC(e,{base_uri:this});if("mce_host"!==t.host&&this.host!==t.host&&t.host||this.port!==t.port||this.protocol!==t.protocol&&""!==t.protocol)return t.getURI();const n=this.getURI(),o=t.getURI();if(n===o||"/"===n.charAt(n.length-1)&&n.substr(0,n.length-1)===o)return n;let r=this.toRelPath(this.path,t.path);return t.query&&(r+="?"+t.query),t.anchor&&(r+="#"+t.anchor),r}toAbsolute(e,t){const n=new aC(e,{base_uri:this});return n.getURI(t&&this.isSameOrigin(n))}isSameOrigin(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;const t=this.protocol?oC[this.protocol]:null;if(t&&(this.port||t)==(e.port||t))return!0}return!1}toRelPath(e,t){let n,o,r=0,s="";const a=e.substring(0,e.lastIndexOf("/")).split("/"),i=t.split("/");if(a.length>=i.length)for(n=0,o=a.length;n=i.length||a[n]!==i[n]){r=n+1;break}if(a.length=a.length||a[n]!==i[n]){r=n+1;break}if(1===r)return t;for(n=0,o=a.length-(r-1);n{e&&a.push(e)}));const i=[];for(let e=s.length-1;e>=0;e--)0!==s[e].length&&"."!==s[e]&&(".."!==s[e]?n>0?n--:i.push(s[e]):n++);const l=a.length-n;let d;return d=l<=0?oe(i).join("/"):a.slice(0,l).join("/")+"/"+oe(i).join("/"),0!==d.indexOf("/")&&(d="/"+d),o&&d.lastIndexOf("/")!==d.length-1&&(d+=o),d}getURI(e=!1){let t;return this.source&&!e||(t="",e||(this.protocol?t+=this.protocol+"://":t+="//",this.userInfo&&(t+=this.userInfo+"@"),this.host&&(t+=this.host),this.port&&(t+=":"+this.port)),this.path&&(t+=this.path),this.query&&(t+="?"+this.query),this.anchor&&(t+="#"+this.anchor),this.source=t),this.source}}const iC=Pt.makeMap("src,href,data,background,action,formaction,poster,xlink:href"),lC="data-mce-type";let dC=0;const cC=(e,t,n,o,r)=>{var s,a,i,l;const d=t.validate,c=n.getSpecialElements();8===e.nodeType&&!t.allow_conditional_comments&&/^\[if/i.test(null!==(s=e.nodeValue)&&void 0!==s?s:"")&&(e.nodeValue=" "+e.nodeValue);const u=null!==(a=null==r?void 0:r.tagName)&&void 0!==a?a:e.nodeName.toLowerCase();if("html"!==o&&n.isValid(o))return void(C(r)&&(r.allowedTags[u]=!0));if(1!==e.nodeType||"body"===u)return;const f=yn(e),g=nn(f,lC),p=en(f,"data-mce-bogus");if(!g&&m(p))return void("all"===p?xo(f):Eo(f));const h=n.getElementRule(u);if(!d||h){if(C(r)&&(r.allowedTags[u]=!0),d&&h&&!g){if(V(null!==(i=h.attributesForced)&&void 0!==i?i:[],(e=>{Jt(f,e.name,"{$uid}"===e.value?"mce_"+dC++:e.value)})),V(null!==(l=h.attributesDefault)&&void 0!==l?l:[],(e=>{nn(f,e.name)||Jt(f,e.name,"{$uid}"===e.value?"mce_"+dC++:e.value)})),h.attributesRequired&&!$(h.attributesRequired,(e=>nn(f,e))))return void Eo(f);if(h.removeEmptyAttrs&&(e=>{const t=e.dom.attributes;return null==t||0===t.length})(f))return void Eo(f);h.outputName&&h.outputName!==u&&((e,t)=>{const n=((e,t)=>{const n=bn(t),o=rn(e);return Zt(n,o),n})(e,t);ho(e,n);const o=Mn(e);Co(n,o),xo(e)})(f,h.outputName)}}else Ee(c,u)?xo(f):Eo(f)},uC=(e,t,n,o,r,s)=>"html"!==n&&!ps(o)||!(r in iC&&sC(e,s,o))&&(!e.validate||t.isValid(o,r)||He(r,"data-")||He(r,"aria-")),mC=(e,t)=>e.hasAttribute(lC)&&("id"===t||"class"===t||"style"===t),fC=(e,t)=>e in t.getBoolAttrs(),gC=(e,t,n,o)=>{const{attributes:r}=e;for(let s=r.length-1;s>=0;s--){const a=r[s],i=a.name,l=a.value;uC(t,n,o,e.tagName.toLowerCase(),i,l)||mC(e,i)?fC(i,n)&&e.setAttribute(i,i):e.removeAttribute(i)}},pC=(e,t,n)=>{const o=Zy();return o.addHook("uponSanitizeElement",((o,r)=>{cC(o,e,t,n.track(o),r)})),o.addHook("uponSanitizeAttribute",((o,r)=>{((e,t,n,o,r)=>{const s=e.tagName.toLowerCase(),{attrName:a,attrValue:i}=r;r.keepAttr=uC(t,n,o,s,a,i),r.keepAttr?(r.allowedAttributes[a]=!0,fC(a,n)&&(r.attrValue=a),t.allow_svg_data_urls&&He(i,"data:image/svg+xml")&&(r.forceKeepAttr=!0)):mC(e,a)&&(r.forceKeepAttr=!0)})(o,e,t,n.current(),r)})),o},hC=e=>{const t=["type","href","role","arcrole","title","show","actuate","label","from","to"].map((e=>`xlink:${e}`)),n={IN_PLACE:!0,USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},ALLOWED_ATTR:t};return Zy().sanitize(e,n),e.innerHTML},bC=Pt.makeMap,vC=Pt.extend,yC=(e,t,n,o)=>{const r=e.name,s=r in n&&"title"!==r&&"textarea"!==r&&"noscript"!==r,a=t.childNodes;for(let t=0,r=a.length;t{const n=qv(),o=qv(),r={validate:!0,root_name:"body",sanitize:!0,...e},s=new DOMParser,a=((e,t)=>{const n=(()=>{let e=[];const t=()=>e[e.length-1];return{track:n=>{hs(n)&&e.push(n);let o=t();return o&&!o.contains(n)&&(e.pop(),o=t()),bs(o)},current:()=>bs(t()),reset:()=>{e=[]}}})();if(e.sanitize){const o=pC(e,t,n),r=(t,r)=>{o.sanitize(t,((e,t)=>{const n={IN_PLACE:!0,ALLOW_UNKNOWN_PROTOCOLS:!0,ALLOWED_TAGS:["#comment","#cdata-section","body"],ALLOWED_ATTR:[],SAFE_FOR_XML:!1};return n.PARSER_MEDIA_TYPE=t,e.allow_script_urls?n.ALLOWED_URI_REGEXP=/.*/:e.allow_html_data_urls&&(n.ALLOWED_URI_REGEXP=/^(?!(\w+script|mhtml):)/i),n})(e,r)),o.removed=[],n.reset()};return{sanitizeHtmlElement:r,sanitizeNamespaceElement:hC}}return{sanitizeHtmlElement:(o,r)=>{const s=document.createNodeIterator(o,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_TEXT);let a;for(;a=s.nextNode();){const o=n.track(a);cC(a,e,t,o),qo(a)&&gC(a,e,t,o)}n.reset()},sanitizeNamespaceElement:_}})(r,t),i=n.addFilter,l=n.getFilters,d=n.removeFilter,c=o.addFilter,u=o.getFilters,f=o.removeFilter,g=(e,n)=>{const o=m(n.attr(lC)),r=1===n.type&&!Ee(e,n.name)&&!Bs(t,n)&&!ps(n.name);return 3===n.type||r&&!o},p={schema:t,addAttributeFilter:c,getAttributeFilters:u,removeAttributeFilter:f,addNodeFilter:i,getNodeFilters:l,removeNodeFilter:d,parse:(e,n={})=>{var o;const i=r.validate,d=null!==(o=n.context)&&void 0!==o?o:r.root_name,c=((e,n,o="html")=>{const r="xhtml"===o?"application/xhtml+xml":"text/html",i=Ee(t.getSpecialElements(),n.toLowerCase()),l=i?`<${n}>${e}`:e,d="xhtml"===o?`${l}`:`${l}`,c=s.parseFromString(d,r).body;return a.sanitizeHtmlElement(c,r),i?c.firstChild:c})(e,d,n.format);Ss(t,c);const m=new Wg(d,11);yC(m,c,t.getSpecialElements(),a.sanitizeNamespaceElement),c.innerHTML="";const[f,p]=((e,t,n,o)=>{const r=n.validate,s=t.getNonEmptyElements(),a=t.getWhitespaceElements(),i=vC(bC("script,style,head,html,body,title,meta,param"),t.getBlockElements()),l=da(t),d=/[ \t\r\n]+/g,c=/^[ \t\r\n]+/,u=/[ \t\r\n]+$/,m=e=>{let t=e.parent;for(;C(t);){if(t.name in a)return!0;t=t.parent}return!1},f=n=>n.name in i||Bs(t,n)||ps(n.name)&&n.parent===e,g=(t,n)=>{const r=n?t.prev:t.next;return!C(r)&&!y(t.parent)&&f(t.parent)&&(t.parent!==e||!0===o.isRootContent)};return[e=>{var t;if(3===e.type&&!m(e)){let n=null!==(t=e.value)&&void 0!==t?t:"";n=n.replace(d," "),(((e,t)=>C(e)&&(t(e)||"br"===e.name))(e.prev,f)||g(e,!0))&&(n=n.replace(c,"")),0===n.length?e.remove():e.value=n}},e=>{var i;if(1===e.type){const i=t.getElementRule(e.name);if(r&&i){const r=vb(t,s,a,e);i.paddInEmptyBlock&&r&&(e=>{let n=e;for(;C(n);){if(n.name in l)return vb(t,s,a,n);n=n.parent}return!1})(e)?hb(n,o,f,e):i.removeEmpty&&r?f(e)?e.remove():e.unwrap():i.paddEmpty&&(r||(e=>{var t;return bb(e,"#text")&&(null===(t=null==e?void 0:e.firstChild)||void 0===t?void 0:t.value)===br})(e))&&hb(n,o,f,e)}}else if(3===e.type&&!m(e)){let t=null!==(i=e.value)&&void 0!==i?i:"";(e.next&&f(e.next)||g(e,!1))&&(t=t.replace(u,"")),0===t.length?e.remove():e.value=t}}]})(m,t,r,n),h=[],b=i?e=>((e,n)=>{xb(t,e)&&n.push(e)})(e,h):_,v={nodes:{},attributes:{}},w=e=>fb(l(),u(),e,v);if(((e,t,n)=>{const o=[];for(let n=e,r=n;n;r=n,n=n.walk()){const s=n;V(t,(e=>e(s))),y(s.parent)&&s!==e?n=r:o.push(s)}for(let e=o.length-1;e>=0;e--){const t=o[e];V(n,(e=>e(t)))}})(m,[f,w],[p,b]),h.reverse(),i&&h.length>0)if(n.context){const{pass:e,fail:o}=K(h,(e=>e.parent===m));wb(o,t,m,w),n.invalid=e.length>0}else wb(h,t,m,w);const x=((e,t)=>{var n;const o=null!==(n=t.forced_root_block)&&void 0!==n?n:e.forced_root_block;return!1===o?"":!0===o?"p":o})(r,n);return x&&("body"===m.name||n.isRootContent)&&((e,n)=>{const o=vC(bC("script,style,head,html,body,title,meta,param"),t.getBlockElements()),s=/^[ \t\r\n]+/,a=/[ \t\r\n]+$/;let i=e.firstChild,l=null;const d=e=>{var t,n;e&&(i=e.firstChild,i&&3===i.type&&(i.value=null===(t=i.value)||void 0===t?void 0:t.replace(s,"")),i=e.lastChild,i&&3===i.type&&(i.value=null===(n=i.value)||void 0===n?void 0:n.replace(a,"")))};if(t.isValidChild(e.name,n.toLowerCase())){for(;i;){const t=i.next;g(o,i)?(l||(l=new Wg(n,1),l.attr(r.forced_root_block_attrs),e.insert(l,i)),l.append(i)):(d(l),l=null),i=t}d(l)}})(m,x),n.invalid||gb(v,n),m}};return ty(p,r),((e,t,n)=>{t.inline_styles&&Vv(e,t,n)})(p,r,t),p},wC=(e,t,n)=>{const o=(e=>Bb(e)?up({validate:!1}).serialize(e):e)(e),r=t(o);if(r.isDefaultPrevented())return r;if(Bb(e)){if(r.content!==o){const t=CC({validate:!1,forced_root_block:!1,...n}).parse(r.content,{context:e.name});return{...r,content:t}}return{...r,content:e}}return r},xC=(e,t)=>{if(t.no_events)return pl.value(t);{const n=((e,t)=>e.dispatch("BeforeGetContent",t))(e,t);return n.isDefaultPrevented()?pl.error(rf(e,{content:"",...n}).content):pl.value(n)}},EC=(e,t,n)=>{if(n.no_events)return t;{const o=wC(t,(t=>rf(e,{...n,content:t})),{sanitize:fc(e),sandbox_iframes:Cc(e)});return o.content}},_C=(e,t)=>{if(t.no_events)return pl.value(t);{const n=wC(t.content,(n=>((e,t)=>e.dispatch("BeforeSetContent",t))(e,{...t,content:n})),{sanitize:fc(e),sandbox_iframes:Cc(e)});return n.isDefaultPrevented()?(of(e,n),pl.error(void 0)):pl.value(n)}},SC=(e,t,n)=>{n.no_events||of(e,{...n,content:t})},kC=(e,t,n)=>({element:e,width:t,rows:n}),NC=(e,t)=>({element:e,cells:t}),RC=(e,t)=>({x:e,y:t}),AC=(e,t)=>tn(e,t).bind(Xe).getOr(1),TC=(e,t,n)=>{const o=e.rows;return!!(o[n]?o[n].cells:[])[t]},OC=e=>X(e,((e,t)=>t.cells.length>e?t.cells.length:e),0),BC=(e,t)=>{const n=e.rows;for(let e=0;e{const s=[],a=e.rows;for(let e=n;e<=r;e++){const n=a[e].cells,r=t((e,t)=>{const n=fi(e.element),o=bn("tbody");return Co(o,t),vo(n,o),n})(e,(e=>q(e.rows,(e=>{const t=q(e.cells,(e=>{const t=gi(e);return on(t,"colspan"),on(t,"rowspan"),t})),n=fi(e.element);return Co(n,t),n})))(e)),LC=(e,t,n)=>{const o=yn(t.commonAncestorContainer),r=Bp(o,e),s=Y(r,(e=>n.isWrapper(Ht(e)))),a=((e,t)=>J(e,(e=>"li"===Ht(e)&&rm(e,t))).fold(N([]),(t=>(e=>J(e,(e=>"ul"===Ht(e)||"ol"===Ht(e))))(e).map((e=>{const t=bn(Ht(e)),n=ye(fo(e),((e,t)=>He(t,"list-style")));return lo(t,n),[bn("li"),t]})).getOr([]))))(r,t),i=s.concat(a.length?a:(e=>kr(e)?An(e).filter(Sr).fold(N([]),(t=>[e,t])):Sr(e)?[e]:[])(o));return q(i,fi)},MC=()=>kf([]),IC=(e,t)=>((e,t)=>eo(t,"table",T(_n,e)))(e,t[0]).bind((e=>{const n=t[0],o=t[t.length-1],r=(e=>{const t=kC(fi(e),0,[]);return V(Uo(e,"tr"),((e,n)=>{V(Uo(e,"td,th"),((o,r)=>{((e,t,n,o,r)=>{const s=AC(r,"rowspan"),a=AC(r,"colspan"),i=e.rows;for(let e=n;e{for(;TC(e,t,n);)t++;return t})(t,r,n),n,e,o)}))})),kC(t.element,OC(t.rows),t.rows)})(e);return((e,t,n)=>BC(e,t).bind((t=>BC(e,n).map((n=>((e,t,n)=>{const o=t.x,r=t.y,s=n.x,a=n.y,i=rkf([DC(e)])))})).getOrThunk(MC),FC=(e,t,n)=>{const o=Zu(t,e);return o.length>0?IC(e,o):((e,t,n)=>t.length>0&&t[0].collapsed?MC():((e,t,n)=>((e,t)=>{const n=X(t,((e,t)=>(vo(t,e),t)),e);return t.length>0?kf([n]):n})(yn(t.cloneContents()),LC(e,t,n)))(e,t[0],n))(e,t,n)},UC=(e,t)=>t>=0&&tDr(e.innerText),jC=e=>qo(e)?e.outerHTML:er(e)?ea.encodeRaw(e.data,!1):or(e)?"\x3c!--"+e.data+"--\x3e":"",HC=(e,t)=>(((e,t)=>{let n=0;V(e,(e=>{0===e[0]?n++:1===e[0]?(((e,t,n)=>{const o=(e=>{let t;const n=document.createElement("div"),o=document.createDocumentFragment();for(e&&(n.innerHTML=e);t=n.firstChild;)o.appendChild(t);return o})(t);if(e.hasChildNodes()&&n{if(e.hasChildNodes()&&t{const n=e.length+t.length+2,o=new Array(n),r=new Array(n),s=(n,o,r,a,l)=>{const d=i(n,o,r,a);if(null===d||d.start===o&&d.diag===o-a||d.end===n&&d.diag===n-r){let s=n,i=r;for(;sa-r?(l.push([2,e[s]]),++s):(l.push([1,t[i]]),++i)}else{s(n,d.start,r,d.start-d.diag,l);for(let t=d.start;t{let a=n;for(;a-o({start:e,end:t,diag:n}))(n,a,o)},i=(n,s,i,l)=>{const d=s-n,c=l-i;if(0===d||0===c)return null;const u=d-c,m=c+d,f=(m%2==0?m:m+1)/2;let g,p,h,b,v;for(o[1+f]=n,r[1+f]=s+1,g=0;g<=f;++g){for(p=-g;p<=g;p+=2){for(h=p+f,p===-g||p!==g&&o[h-1]=n&&v>=i&&e[b]===t[v];)r[h]=b--,v--;if(u%2==0&&-g<=p&&p<=g&&r[h]<=o[h+u])return a(r[h],p+n-i,s,l)}}return null},l=[];return s(0,e.length,0,t.length,l),l})(q(ce(t.childNodes),jC),e),t),t),$C=De((()=>document.implementation.createHTMLDocument("undo"))),qC=e=>{const t=e.serializer.getTempAttrs(),n=sp(e.getBody(),t);return(e=>null!==e.querySelector("iframe"))(n)?{type:"fragmented",fragments:Y(q(ce(n.childNodes),S(Dr,jC)),(e=>e.length>0)),content:"",bookmark:null,beforeBookmark:null}:{type:"complete",fragments:null,content:Dr(n.innerHTML),bookmark:null,beforeBookmark:null}},VC=(e,t,n)=>{const o=n?t.beforeBookmark:t.bookmark;"fragmented"===t.type?HC(t.fragments,e.getBody()):e.setContent(t.content,{format:"raw",no_selection:!C(o)||!Iu(o)||!o.isFakeCaret}),o&&(e.selection.moveToBookmark(o),e.selection.scrollIntoView())},WC=e=>"fragmented"===e.type?e.fragments.join(""):e.content,KC=e=>{const t=bn("body",$C());return ko(t,WC(e)),V(Uo(t,"*[data-mce-bogus]"),Eo),So(t)},YC=(e,t)=>!(!e||!t)&&(!!((e,t)=>WC(e)===WC(t))(e,t)||((e,t)=>KC(e)===KC(t))(e,t)),GC=e=>0===e.get(),XC=(e,t,n)=>{GC(n)&&(e.typing=t)},QC=(e,t)=>{e.typing&&(XC(e,!1,t),e.add())},JC=e=>({init:{bindEvents:_},undoManager:{beforeChange:(t,n)=>((e,t,n)=>{GC(t)&&n.set(ml(e.selection))})(e,t,n),add:(t,n,o,r,s,a)=>((e,t,n,o,r,s,a)=>{const i=qC(e),l=Pt.extend(s||{},i);if(!GC(o)||e.removed)return null;const d=t.data[n.get()];if(e.dispatch("BeforeAddUndo",{level:l,lastLevel:d,originalEvent:a}).isDefaultPrevented())return null;if(d&&YC(d,l))return null;t.data[n.get()]&&r.get().each((e=>{t.data[n.get()].beforeBookmark=e}));const c=Td(e);if(c&&t.data.length>c){for(let e=0;e0?(e.setDirty(!0),e.dispatch("AddUndo",u),e.dispatch("change",u)):e.dispatch("AddUndo",u),l})(e,t,n,o,r,s,a),undo:(t,n,o)=>((e,t,n,o)=>{let r;return t.typing&&(t.add(),t.typing=!1,XC(t,!1,n)),o.get()>0&&(o.set(o.get()-1),r=t.data[o.get()],VC(e,r,!0),e.setDirty(!0),e.dispatch("Undo",{level:r})),r})(e,t,n,o),redo:(t,n)=>((e,t,n)=>{let o;return t.get()((e,t,n)=>{t.data=[],n.set(0),t.typing=!1,e.dispatch("ClearUndos")})(e,t,n),reset:e=>(e=>{e.clear(),e.add()})(e),hasUndo:(t,n)=>((e,t,n)=>n.get()>0||t.typing&&t.data[0]&&!YC(qC(e),t.data[0]))(e,t,n),hasRedo:(e,t)=>((e,t)=>t.get()((e,t,n)=>(QC(e,t),e.beforeChange(),e.ignore(n),e.add()))(e,t,n),ignore:(e,t)=>((e,t)=>{try{e.set(e.get()+1),t()}finally{e.set(e.get()-1)}})(e,t),extra:(t,n,o,r)=>((e,t,n,o,r)=>{if(t.transact(o)){const o=t.data[n.get()].bookmark,s=t.data[n.get()-1];VC(e,s,!0),t.transact(r)&&(t.data[n.get()-1].beforeBookmark=o)}})(e,t,n,o,r)},formatter:{match:(t,n,o,r)=>Hb(e,t,n,o,r),matchAll:(t,n)=>((e,t,n)=>{const o=[],r={},s=e.selection.getStart();return e.dom.getParent(s,(s=>{for(let a=0;ajb(e,t,n,o,r),canApply:t=>((e,t)=>{const n=e.formatter.get(t),o=e.dom;if(n&&e.selection.isEditable()){const t=e.selection.getStart(),r=Em(o,t);for(let e=n.length-1;e>=0;e--){const t=n[e];if(!km(t))return!0;for(let e=r.length-1;e>=0;e--)if(o.is(r[e],t.selector))return!0}}return!1})(e,t),closest:t=>((e,t)=>{const n=t=>_n(t,yn(e.getBody()));return I.from(e.selection.getStart(!0)).bind((o=>Lb(yn(o),(n=>ue(t,(t=>((t,n)=>jb(e,t.dom,n)?I.some(n):I.none())(n,t)))),n))).getOrNull()})(e,t),apply:(t,n,o)=>Iv(e,t,n,o),remove:(t,n,o,r)=>Ov(e,t,n,o,r),toggle:(t,n,o)=>((e,t,n,o)=>{const r=e.formatter.get(t);r&&(!Hb(e,t,n,o)||"toggle"in r[0]&&!r[0].toggle?Iv(e,t,n,o):Ov(e,t,n,o))})(e,t,n,o),formatChanged:(t,n,o,r,s)=>((e,t,n,o,r,s)=>(((e,t,n,o,r,s)=>{const a=t.get();V(n.split(","),(t=>{const n=xe(a,t).getOrThunk((()=>{const e={withSimilar:{state:$a(!1),similar:!0,callbacks:[]},withoutSimilar:{state:$a(!1),similar:!1,callbacks:[]},withVars:[]};return a[t]=e,e})),i=()=>{const n=jv(e);return zv(e,n,t,r,s).isSome()};if(v(s)){const e=r?n.withSimilar:n.withoutSimilar;e.callbacks.push(o),1===e.callbacks.length&&e.state.set(i())}else n.withVars.push({state:$a(i()),similar:r,vars:s,callback:o})})),t.set(a)})(e,t,n,o,r,s),{unbind:()=>((e,t,n)=>{const o=e.get();V(t.split(","),(e=>xe(o,e).each((t=>{o[e]={withSimilar:{...t.withSimilar,callbacks:Y(t.withSimilar.callbacks,(e=>e!==n))},withoutSimilar:{...t.withoutSimilar,callbacks:Y(t.withoutSimilar.callbacks,(e=>e!==n))},withVars:Y(t.withVars,(e=>e.callback!==n))}})))),e.set(o)})(t,n,o)}))(e,t,n,o,r,s)},editor:{getContent:t=>((e,t)=>I.from(e.getBody()).fold(N("tree"===t.format?new Wg("body",11):""),(n=>lp(e,t,n))))(e,t),setContent:(t,n)=>((e,t,n)=>I.from(e.getBody()).map((o=>Bb(t)?((e,t,n,o)=>{pb(e.parser.getNodeFilters(),e.parser.getAttributeFilters(),n);const r=up({validate:!1},e.schema).serialize(n),s=Dr(Ar(yn(t))?r:Pt.trim(r));return Pb(e,s,o.no_selection),{content:n,html:s}})(e,o,t,n):((e,t,n,o)=>{if(0===(n=Dr(n)).length||/^\s+$/.test(n)){const r='
';"TABLE"===t.nodeName?n=""+r+"":/^(UL|OL)$/.test(t.nodeName)&&(n="
  • "+r+"
  • ");const s=Il(e);return e.schema.isValidChild(t.nodeName.toLowerCase(),s.toLowerCase())?(n=r,n=e.dom.createHTML(s,Fl(e),n)):n||(n=r),Pb(e,n,o.no_selection),{content:n,html:n}}{"raw"!==o.format&&(n=up({validate:!1},e.schema).serialize(e.parser.parse(n,{isRootContent:!0,insert:!0})));const r=Ar(yn(t))?n:Pt.trim(n);return Pb(e,r,o.no_selection),{content:r,html:r}}})(e,o,t,n))).getOr({content:t,html:Bb(n.content)?"":n.content}))(e,t,n),insertContent:(t,n)=>Ob(e,t,n),addVisual:t=>((e,t)=>{const n=e.dom,o=C(t)?t:e.getBody();V(n.select("table,a",o),(t=>{switch(t.nodeName){case"TABLE":const o=Ud(e),r=n.getAttrib(t,"border");r&&"0"!==r||!e.hasVisual?n.removeClass(t,o):n.addClass(t,o);break;case"A":if(!n.getAttrib(t,"href")){const o=n.getAttrib(t,"name")||t.id,r=zd(e);o&&e.hasVisual?n.addClass(t,r):n.removeClass(t,r)}}})),e.dispatch("VisualAid",{element:t,hasVisual:e.hasVisual})})(e,t)},selection:{getContent:(t,n)=>((e,t,n={})=>{const o=((e,t)=>({...e,format:t,get:!0,selection:!0,getInner:!0}))(n,t);return xC(e,o).fold(R,(t=>{const n=((e,t)=>{if("text"===t.format)return(e=>I.from(e.selection.getRng()).map((t=>{var n;const o=I.from(e.dom.getParent(t.commonAncestorContainer,e.dom.isBlock)),r=e.getBody(),s=(e=>e.map((e=>e.nodeName)).getOr("div").toLowerCase())(o),a=yn(t.cloneContents());ap(a),ip(a);const i=e.dom.add(r,s,{"data-mce-bogus":"all",style:"overflow: hidden; opacity: 0;"},a.dom),l=zC(i),d=Dr(null!==(n=i.textContent)&&void 0!==n?n:"");if(e.dom.remove(i),UC(d,0)||UC(d,d.length-1)){const e=o.getOr(r),t=zC(e),n=t.indexOf(l);return-1===n?l:(UC(t,n-1)?" ":"")+l+(UC(t,n+l.length)?" ":"")}return l})).getOr(""))(e);{const n=((e,t)=>{const n=e.selection.getRng(),o=e.dom.create("body"),r=e.selection.getSel(),s=Mg(e,Ju(r)),a=t.contextual?FC(yn(e.getBody()),s,e.schema).dom:n.cloneContents();return a&&o.appendChild(a),e.selection.serializer.serialize(o,t)})(e,t);return"tree"===t.format?n:e.selection.isCollapsed()?"":n}})(e,t);return EC(e,n,t)}))})(e,t,n)},autocompleter:{addDecoration:t=>zg(e,t),removeDecoration:()=>((e,t)=>jg(t).each((t=>{const n=e.selection.getBookmark();Eo(t),e.selection.moveToBookmark(n)})))(e,yn(e.getBody()))},raw:{getModel:()=>I.none()}}),ZC=e=>Ee(e.plugins,"rtc"),ew=e=>e.rtcInstance?e.rtcInstance:JC(e),tw=e=>{const t=e.rtcInstance;if(t)return t;throw new Error("Failed to get RTC instance not yet initialized.")},nw=e=>tw(e).init.bindEvents(),ow=e=>0===e.dom.length?(xo(e),I.none()):I.some(e),rw=(e,t,n,o,r)=>{e.bind((e=>((o?ch:dh)(e.dom,o?e.dom.length:0,r),t.filter(Kt).map((t=>((e,t,n,o,r)=>{const s=e.dom,a=t.dom,i=o?s.length:a.length;o?(uh(s,a,r,!1,!o),n.setStart(a,i)):(uh(a,s,r,!1,!o),n.setEnd(a,i))})(e,t,n,o,r)))))).orThunk((()=>{const e=((e,t)=>e.filter((e=>Jm.isBookmarkNode(e.dom))).bind(t?Pn:Bn))(t,o).or(t).filter(Kt);return e.map((e=>((e,t,n)=>{An(e).each((o=>{const r=e.dom;t&&eh(o,Vi(r,0),n)?dh(r,0,n):!t&&th(o,Vi(r,r.length),n)&&ch(r,r.length,n)}))})(e,o,r)))}))},sw=(e,t,n)=>{if(Ee(e,t)){const o=Y(e[t],(e=>e!==n));0===o.length?delete e[t]:e[t]=o}};const aw=e=>!(!e||!e.ownerDocument)&&Sn(yn(e.ownerDocument),yn(e)),iw=(e,t,n,o)=>{let r,s;const{selectorChangedWithUnbind:a}=((e,t)=>{let n,o;const r=(t,n)=>J(n,(n=>e.is(n,t))),s=t=>e.getParents(t,void 0,e.getRoot());return{selectorChangedWithUnbind:(e,a)=>(n||(n={},o={},t.on("NodeChange",(e=>{const t=e.element,a=s(t),i={};ge(n,((e,t)=>{r(t,a).each((n=>{o[t]||(V(e,(e=>{e(!0,{node:n,selector:t,parents:a})})),o[t]=e),i[t]=e}))})),ge(o,((e,n)=>{i[n]||(delete o[n],V(e,(e=>{e(!1,{node:t,selector:n,parents:a})})))}))}))),n[e]||(n[e]=[]),n[e].push(a),r(e,s(t.selection.getStart())).each((()=>{o[e]=n[e]})),{unbind:()=>{sw(n,e,a),sw(o,e,a)}})}})(e,o),i=(e,t)=>((e,t,n={})=>{const o=((e,t)=>({format:"html",...e,set:!0,selection:!0,content:t}))(n,t);_C(e,o).each((t=>{const n=((e,t)=>{if("raw"!==t.format){const n=e.selection.getRng(),o=e.dom.getParent(n.commonAncestorContainer,e.dom.isBlock),r=o?{context:o.nodeName.toLowerCase()}:{},s=e.parser.parse(t.content,{forced_root_block:!1,...r,...t});return up({validate:!1},e.schema).serialize(s)}return t.content})(e,t),o=e.selection.getRng();((e,t,n)=>{const o=I.from(t.firstChild).map(yn),r=I.from(t.lastChild).map(yn);e.deleteContents(),e.insertNode(t);const s=o.bind(Bn).filter(Kt).bind(ow),a=r.bind(Pn).filter(Kt).bind(ow);rw(s,o,e,!0,n),rw(a,r,e,!1,n),e.collapse(!1)})(o,o.createContextualFragment(n),e.schema),e.selection.setRng(o),sg(e,o),SC(e,n,t)}))})(o,e,t),l=e=>{const t=c();t.collapse(!!e),u(t)},d=()=>t.getSelection?t.getSelection():t.document.selection,c=()=>{let n;const a=(e,t,n)=>{try{return t.compareBoundaryPoints(e,n)}catch(e){return-1}},i=t.document;if(C(o.bookmark)&&!Rg(o)){const e=hg(o);if(e.isSome())return e.map((e=>Mg(o,[e])[0])).getOr(i.createRange())}try{const e=d();e&&!$o(e.anchorNode)&&(n=e.rangeCount>0?e.getRangeAt(0):i.createRange(),n=Mg(o,[n])[0])}catch(e){}if(n||(n=i.createRange()),rr(n.startContainer)&&n.collapsed){const t=e.getRoot();n.setStart(t,0),n.setEnd(t,0)}return r&&s&&(0===a(n.START_TO_START,n,r)&&0===a(n.END_TO_END,n,r)?n=s:(r=null,s=null)),n},u=(e,t)=>{if(!(e=>!!e&&aw(e.startContainer)&&aw(e.endContainer))(e))return;const n=d();if(e=o.dispatch("SetSelectionRange",{range:e,forward:t}).range,n){s=e;try{n.removeAllRanges(),n.addRange(e)}catch(e){}!1===t&&n.extend&&(n.collapse(e.endContainer,e.endOffset),n.extend(e.startContainer,e.startOffset)),r=n.rangeCount>0?n.getRangeAt(0):null}if(!e.collapsed&&e.startContainer===e.endContainer&&(null==n?void 0:n.setBaseAndExtent)&&e.endOffset-e.startOffset<2&&e.startContainer.hasChildNodes()){const t=e.startContainer.childNodes[e.startOffset];t&&"IMG"===t.nodeName&&(n.setBaseAndExtent(e.startContainer,e.startOffset,e.endContainer,e.endOffset),n.anchorNode===e.startContainer&&n.focusNode===e.endContainer||n.setBaseAndExtent(t,0,t,1))}o.dispatch("AfterSetSelectionRange",{range:e,forward:t})},m=()=>{const t=d(),n=null==t?void 0:t.anchorNode,o=null==t?void 0:t.focusNode;if(!t||!n||!o||$o(n)||$o(o))return!0;const r=e.createRng(),s=e.createRng();try{r.setStart(n,t.anchorOffset),r.collapse(!0),s.setStart(o,t.focusOffset),s.collapse(!0)}catch(e){return!0}return r.compareBoundaryPoints(r.START_TO_START,s)<=0},f={dom:e,win:t,serializer:n,editor:o,expand:(t={type:"word"})=>u(Uf(e).expand(c(),t)),collapse:l,setCursorLocation:(t,n)=>{const r=e.createRng();C(t)&&C(n)?(r.setStart(t,n),r.setEnd(t,n),u(r),l(!1)):(sm(e,r,o.getBody(),!0),u(r))},getContent:e=>((e,t={})=>((e,t,n)=>tw(e).selection.getContent(t,n))(e,t.format?t.format:"html",t))(o,e),setContent:i,getBookmark:(e,t)=>g.getBookmark(e,t),moveToBookmark:e=>g.moveToBookmark(e),select:(t,n)=>(((e,t,n)=>I.from(t).bind((t=>I.from(t.parentNode).map((o=>{const r=e.nodeIndex(t),s=e.createRng();return s.setStart(o,r),s.setEnd(o,r+1),n&&(sm(e,s,t,!0),sm(e,s,t,!1)),s})))))(e,t,n).each(u),t),isCollapsed:()=>{const e=c(),t=d();return!(!e||e.item)&&(e.compareEndPoints?0===e.compareEndPoints("StartToEnd",e):!t||e.collapsed)},isEditable:()=>{const t=c(),n=o.getBody().querySelectorAll('[data-mce-selected="1"]');return n.length>0?ne(n,(t=>e.isEditable(t.parentElement))):Og(e,t)},isForward:m,setNode:t=>(i(e.getOuterHTML(t)),t),getNode:()=>((e,t)=>{if(!t)return e;let n=t.startContainer,o=t.endContainer;const r=t.startOffset,s=t.endOffset;let a=t.commonAncestorContainer;t.collapsed||(n===o&&s-r<2&&n.hasChildNodes()&&(a=n.childNodes[r]),er(n)&&er(o)&&(n=n.length===r?Lg(n.nextSibling,!0):n.parentNode,o=0===s?Lg(o.previousSibling,!1):o.parentNode,n&&n===o&&(a=n)));const i=er(a)?a.parentNode:a;return Vo(i)?i:e})(o.getBody(),c()),getSel:d,setRng:u,getRng:c,getStart:e=>Pg(o.getBody(),c(),e),getEnd:e=>Dg(o.getBody(),c(),e),getSelectedBlocks:(t,n)=>((e,t,n,o)=>{const r=[],s=e.getRoot(),a=e.getParent(n||Pg(s,t,t.collapsed),e.isBlock),i=e.getParent(o||Dg(s,t,t.collapsed),e.isBlock);if(a&&a!==s&&r.push(a),a&&i&&a!==i){let t;const n=new jo(a,s);for(;(t=n.next())&&t!==i;)e.isBlock(t)&&r.push(t)}return i&&a!==i&&i!==s&&r.push(i),r})(e,c(),t,n),normalize:()=>{const t=c(),n=d();if(!(Ju(n).length>1)&&am(o)){const n=Mf(e,t);return n.each((e=>{u(e,m())})),n.getOr(t)}return t},selectorChanged:(e,t)=>(a(e,t),f),selectorChangedWithUnbind:a,getScrollContainer:()=>{let t,n=e.getRoot();for(;n&&"BODY"!==n.nodeName;){if(n.scrollHeight>n.clientHeight){t=n;break}n=n.parentNode}return t},scrollIntoView:(e,t)=>{C(e)?((e,t,n)=>{(e.inline?ng:rg)(e,t,n)})(o,e,t):sg(o,c(),t)},placeCaretAt:(e,t)=>u(Rf(e,t,o.getDoc())),getBoundingClientRect:()=>{const e=c();return e.collapsed?Vi.fromRangeStart(e).getClientRects()[0]:e.getBoundingClientRect()},destroy:()=>{t=r=s=null,p.destroy()}},g=Jm(f),p=mf(f,o);return f.bookmarkManager=g,f.controlSelection=p,f},lw=(e,t,n)=>{-1===Pt.inArray(t,n)&&(e.addAttributeFilter(n,((e,t)=>{let n=e.length;for(;n--;)e[n].attr(t,null)})),t.push(n))},dw=(e,t)=>{const n=["data-mce-selected"],o={entity_encoding:"named",remove_trailing_brs:!0,pad_empty_with_br:!1,...e},r=t&&t.dom?t.dom:za.DOM,s=t&&t.schema?t.schema:ua(o),a=CC(o,s);return((e,t,n)=>{e.addAttributeFilter("data-mce-tabindex",((e,t)=>{let n=e.length;for(;n--;){const o=e[n];o.attr("tabindex",o.attr("data-mce-tabindex")),o.attr(t,null)}})),e.addAttributeFilter("src,href,style",((e,o)=>{const r="data-mce-"+o,s=t.url_converter,a=t.url_converter_scope;let i=e.length;for(;i--;){const t=e[i];let l=t.attr(r);void 0!==l?(t.attr(o,l.length>0?l:null),t.attr(r,null)):(l=t.attr(o),"style"===o?l=n.serializeStyle(n.parseStyle(l),t.name):s&&(l=s.call(a,l,o,t.name)),t.attr(o,l.length>0?l:null))}})),e.addAttributeFilter("class",(e=>{let t=e.length;for(;t--;){const n=e[t];let o=n.attr("class");o&&(o=o.replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),n.attr("class",o.length>0?o:null))}})),e.addAttributeFilter("data-mce-type",((e,t,n)=>{let o=e.length;for(;o--;){const t=e[o];if("bookmark"===t.attr("data-mce-type")&&!n.cleanup){const e=I.from(t.firstChild).exists((e=>{var t;return!Pr(null!==(t=e.value)&&void 0!==t?t:"")}));e?t.unwrap():t.remove()}}})),e.addNodeFilter("script,style",((e,n)=>{var o;const r=e=>e.replace(/()/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"");let s=e.length;for(;s--;){const a=e[s],i=a.firstChild,l=null!==(o=null==i?void 0:i.value)&&void 0!==o?o:"";if("script"===n){const e=a.attr("type");e&&a.attr("type","mce-no/type"===e?null:e.replace(/^mce\-/,"")),"xhtml"===t.element_format&&i&&l.length>0&&(i.value="// ")}else"xhtml"===t.element_format&&i&&l.length>0&&(i.value="\x3c!--\n"+r(l)+"\n--\x3e")}})),e.addNodeFilter("#comment",(e=>{let o=e.length;for(;o--;){const r=e[o],s=r.value;t.preserve_cdata&&0===(null==s?void 0:s.indexOf("[CDATA["))?(r.name="#cdata",r.type=4,r.value=n.decode(s.replace(/^\[CDATA\[|\]\]$/g,""))):0===(null==s?void 0:s.indexOf("mce:protected "))&&(r.name="#text",r.type=3,r.raw=!0,r.value=unescape(s).substr(14))}})),e.addNodeFilter("xml:namespace,input",((e,t)=>{let n=e.length;for(;n--;){const o=e[n];7===o.type?o.remove():1===o.type&&("input"!==t||o.attr("type")||o.attr("type","text"))}})),e.addAttributeFilter("data-mce-type",(t=>{V(t,(t=>{"format-caret"===t.attr("data-mce-type")&&(t.isEmpty(e.schema.getNonEmptyElements())?t.remove():t.unwrap())}))})),e.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-block,data-mce-type,data-mce-resize,data-mce-placeholder",((e,t)=>{let n=e.length;for(;n--;)e[n].attr(t,null)})),t.remove_trailing_brs&&Wv(t,e,e.schema)})(a,o,r),{schema:s,addNodeFilter:a.addNodeFilter,addAttributeFilter:a.addAttributeFilter,serialize:(e,n={})=>{const i={format:"html",...n},l=((e,t,n)=>((e,t)=>C(e)&&e.hasEventListeners("PreProcess")&&!t.no_events)(e,n)?((e,t,n)=>{let o;const r=e.dom;let s=t.cloneNode(!0);const a=document.implementation;if(a.createHTMLDocument){const e=a.createHTMLDocument("");Pt.each("BODY"===s.nodeName?s.childNodes:[s],(t=>{e.body.appendChild(e.importNode(t,!0))})),s="BODY"!==s.nodeName?e.body.firstChild:e.body,o=r.doc,r.doc=e}return((e,t)=>{e.dispatch("PreProcess",t)})(e,{...n,node:s}),o&&(r.doc=o),s})(e,t,n):t)(t,e,i),d=((e,t,n)=>{const o=Dr(n.getInner?t.innerHTML:e.getOuterHTML(t));return n.selection||Ar(yn(t))?o:Pt.trim(o)})(r,l,i),c=((e,t,n)=>{const o=n.selection?{forced_root_block:!1,...n}:n,r=e.parse(t,o);return(e=>{const t=e=>"br"===(null==e?void 0:e.name),n=e.lastChild;if(t(n)){const e=n.prev;t(e)&&(n.remove(),e.remove())}})(r),r})(a,d,i);return"tree"===i.format?c:((e,t,n,o,r)=>{const s=((e,t,n)=>up(e,t).serialize(n))(t,n,o);return((e,t,n)=>{if(!t.no_events&&e){const o=((e,t)=>e.dispatch("PostProcess",t))(e,{...t,content:n});return o.content}return n})(e,r,s)})(t,o,s,c,i)},addRules:s.addValidElements,setRules:s.setValidElements,addTempAttr:T(lw,a,n),getTempAttrs:N(n),getNodeFilters:a.getNodeFilters,getAttributeFilters:a.getAttributeFilters,removeNodeFilter:a.removeNodeFilter,removeAttributeFilter:a.removeAttributeFilter}},cw=(e,t)=>{const n=dw(e,t);return{schema:n.schema,addNodeFilter:n.addNodeFilter,addAttributeFilter:n.addAttributeFilter,serialize:n.serialize,addRules:n.addRules,setRules:n.setRules,addTempAttr:n.addTempAttr,getTempAttrs:n.getTempAttrs,getNodeFilters:n.getNodeFilters,getAttributeFilters:n.getAttributeFilters,removeNodeFilter:n.removeNodeFilter,removeAttributeFilter:n.removeAttributeFilter}},uw=(e,t,n={})=>{const o=((e,t)=>({format:"html",...e,set:!0,content:t}))(n,t);return _C(e,o).map((t=>{const n=((e,t,n)=>ew(e).editor.setContent(t,n))(e,t.content,t);return SC(e,n.html,t),n.content})).getOr(t)},mw="autoresize_on_init,content_editable_state,padd_empty_with_br,block_elements,boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,tab_focus,tabfocus_elements,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,paste_enable_default_filters,paste_filter_drop,paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists".split(","),fw="template_cdate_classes,template_mdate_classes,template_selected_content_classes,template_preview_replace_values,template_replace_values,templates,template_cdate_format,template_mdate_format".split(","),gw="bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,textcolor".split(","),pw=[{name:"template",replacedWith:"Advanced Template"},{name:"rtc"}],hw=(e,t)=>{const n=Y(t,(t=>Ee(e,t)));return ae(n)},bw=e=>{const t=hw(e,mw),n=e.forced_root_block;return!1!==n&&""!==n||t.push("forced_root_block (false only)"),ae(t)},vw=e=>hw(e,fw),yw=(e,t)=>{const n=Pt.makeMap(e.plugins," "),o=Y(t,(e=>Ee(n,e)));return ae(o)},Cw=e=>yw(e,gw),ww=e=>yw(e,pw.map((e=>e.name))),xw=e=>J(pw,(t=>t.name===e)).fold((()=>e),(t=>t.replacedWith?`${e}, replaced by ${t.replacedWith}`:e)),Ew=za.DOM,_w=e=>I.from(e).each((e=>e.destroy())),Sw=(()=>{const e={};return{add:(t,n)=>{e[t]=n},get:t=>e[t]?e[t]:{icons:{}},has:t=>Ee(e,t)}})(),kw=Ya.ModelManager,Nw=(e,t)=>t.dom[e],Rw=(e,t)=>parseInt(co(t,e),10),Aw=T(Nw,"clientWidth"),Tw=T(Nw,"clientHeight"),Ow=T(Rw,"margin-top"),Bw=T(Rw,"margin-left"),Pw=e=>{const t=[],n=()=>{const t=e.theme;return t&&t.getNotificationManagerImpl?t.getNotificationManagerImpl():(()=>{const e=()=>{throw new Error("Theme did not provide a NotificationManager implementation.")};return{open:e,close:e,getArgs:e}})()},o=()=>I.from(t[0]),r=()=>{V(t,(e=>{e.reposition()}))},s=e=>{Z(t,(t=>t===e)).each((e=>{t.splice(e,1)}))},a=(a,i=!0)=>e.removed||!(e=>{return(t=e.inline?e.getBody():e.getContentAreaContainer(),I.from(t).map(yn)).map(Gn).getOr(!1);var t})(e)?{}:(i&&e.dispatch("BeforeOpenNotification",{notification:a}),J(t,(e=>{return t=n().getArgs(e),o=a,!(t.type!==o.type||t.text!==o.text||t.progressBar||t.timeout||o.progressBar||o.timeout);var t,o})).getOrThunk((()=>{e.editorManager.setActive(e);const i=n().open(a,(()=>{s(i),r(),Ag(e)&&o().fold((()=>e.focus()),(e=>ag(yn(e.getEl()))))}));return(e=>{t.push(e)})(i),r(),e.dispatch("OpenNotification",{notification:{...i}}),i}))),i=N(t);return(e=>{e.on("SkinLoaded",(()=>{const t=gd(e);t&&a({text:t,type:"warning",timeout:0},!1),r()})),e.on("show ResizeEditor ResizeWindow NodeChange",(()=>{requestAnimationFrame(r)})),e.on("remove",(()=>{V(t.slice(),(e=>{n().close(e)}))}))})(e),{open:a,close:()=>{o().each((e=>{n().close(e),s(e),r()}))},getNotifications:i}},Dw=Ya.PluginManager,Lw=Ya.ThemeManager,Mw=e=>{let t=[];const n=()=>{const t=e.theme;return t&&t.getWindowManagerImpl?t.getWindowManagerImpl():(()=>{const e=()=>{throw new Error("Theme did not provide a WindowManager implementation.")};return{open:e,openUrl:e,alert:e,confirm:e,close:e}})()},o=(e,t)=>(...n)=>t?t.apply(e,n):void 0,r=n=>{(t=>{e.dispatch("CloseWindow",{dialog:t})})(n),t=Y(t,(e=>e!==n)),0===t.length&&e.focus()},s=n=>{e.editorManager.setActive(e),pg(e),e.ui.show();const o=n();return(n=>{t.push(n),(t=>{e.dispatch("OpenWindow",{dialog:t})})(n)})(o),o};return e.on("remove",(()=>{V(t,(e=>{n().close(e)}))})),{open:(e,t)=>s((()=>n().open(e,t,r))),openUrl:e=>s((()=>n().openUrl(e,r))),alert:(e,t,r)=>{const s=n();s.alert(e,o(r||s,t))},confirm:(e,t,r)=>{const s=n();s.confirm(e,o(r||s,t))},close:()=>{I.from(t[t.length-1]).each((e=>{n().close(e),r(e)}))}}},Iw=(e,t)=>{e.notificationManager.open({type:"error",text:t})},Fw=(e,t)=>{e._skinLoaded?Iw(e,t):e.on("SkinLoaded",(()=>{Iw(e,t)}))},Uw=(e,t,n)=>{ef(e,t,{message:n}),console.error(n)},zw=(e,t,n)=>n?`Failed to load ${e}: ${n} from url ${t}`:`Failed to load ${e} url: ${t}`,jw=(e,...t)=>{const n=window.console;n&&(n.error?n.error(e,...t):n.log(e,...t))},Hw=e=>"content/"+e+"/content.css",$w=(e,t)=>{const n=e.editorManager.baseURL+"/skins/content",o=`content${e.editorManager.suffix}.css`;return q(t,(t=>(e=>tinymce.Resource.has(Hw(e)))(t)?t:(e=>/^[a-z0-9\-]+$/i.test(e))(t)&&!e.inline?`${n}/${t}/${o}`:e.documentBaseURI.toAbsolute(t)))},qw=(e,t)=>{const n={};return{findAll:(o,r=M)=>{const s=Y((e=>e?ce(e.getElementsByTagName("img")):[])(o),(t=>{const n=t.src;return!t.hasAttribute("data-mce-bogus")&&!t.hasAttribute("data-mce-placeholder")&&!(!n||n===At.transparentSrc)&&(He(n,"blob:")?!e.isUploaded(n)&&r(t):!!He(n,"data:")&&r(t))})),a=q(s,(e=>{const o=e.src;if(Ee(n,o))return n[o].then((t=>m(t)?t:{image:e,blobInfo:t.blobInfo}));{const r=((e,t)=>{const n=()=>Promise.reject("Invalid data URI");if(He(t,"blob:")){const s=e.getByUri(t);return C(s)?Promise.resolve(s):(o=t,He(o,"blob:")?(e=>fetch(e).then((e=>e.ok?e.blob():Promise.reject())).catch((()=>Promise.reject({message:`Cannot convert ${e} to Blob. Resource might not exist or is inaccessible.`,uriType:"blob"}))))(o):He(o,"data:")?(r=o,new Promise(((e,t)=>{Kv(r).bind((({type:e,data:t,base64Encoded:n})=>Yv(e,t,n))).fold((()=>t("Invalid data URI")),e)}))):Promise.reject("Unknown URI format")).then((t=>Gv(t).then((o=>Qv(o,!1,(n=>I.some(Jv(e,t,n)))).getOrThunk(n)))))}var o,r;return He(t,"data:")?Zv(e,t).fold(n,(e=>Promise.resolve(e))):Promise.reject("Unknown image data format")})(t,o).then((t=>(delete n[o],{image:e,blobInfo:t}))).catch((e=>(delete n[o],e)));return n[o]=r,r}}));return Promise.all(a)}}},Vw=()=>{let e={};const t=(e,t)=>({status:e,resultUri:t}),n=t=>t in e;return{hasBlobUri:n,getResultUri:t=>{const n=e[t];return n?n.resultUri:null},isPending:t=>!!n(t)&&1===e[t].status,isUploaded:t=>!!n(t)&&2===e[t].status,markPending:n=>{e[n]=t(1,null)},markUploaded:(n,o)=>{e[n]=t(2,o)},removeFailed:t=>{delete e[t]},destroy:()=>{e={}}}};let Ww=0;const Kw=(e,t)=>{const n={},o=(e,n)=>new Promise(((o,r)=>{const s=new XMLHttpRequest;s.open("POST",t.url),s.withCredentials=t.credentials,s.upload.onprogress=e=>{n(e.loaded/e.total*100)},s.onerror=()=>{r("Image upload failed due to a XHR Transport error. Code: "+s.status)},s.onload=()=>{if(s.status<200||s.status>=300)return void r("HTTP Error: "+s.status);const e=JSON.parse(s.responseText);var n,a;e&&m(e.location)?o((n=t.basePath,a=e.location,n?n.replace(/\/$/,"")+"/"+a.replace(/^\//,""):a)):r("Invalid JSON: "+s.responseText)};const a=new FormData;a.append("file",e.blob(),e.filename()),s.send(a)})),r=w(t.handler)?t.handler:o,s=(e,t)=>({url:t,blobInfo:e,status:!0}),a=(e,t)=>({url:"",blobInfo:e,status:!1,error:t}),i=(e,t)=>{Pt.each(n[e],(e=>{e(t)})),delete n[e]};return{upload:(l,d)=>t.url||r!==o?((t,o)=>(t=Pt.grep(t,(t=>!e.isUploaded(t.blobUri()))),Promise.all(Pt.map(t,(t=>e.isPending(t.blobUri())?(e=>{const t=e.blobUri();return new Promise((e=>{n[t]=n[t]||[],n[t].push(e)}))})(t):((t,n,o)=>(e.markPending(t.blobUri()),new Promise((r=>{let l,d;try{const c=()=>{l&&(l.close(),d=_)},u=n=>{c(),e.markUploaded(t.blobUri(),n),i(t.blobUri(),s(t,n)),r(s(t,n))},f=n=>{c(),e.removeFailed(t.blobUri()),i(t.blobUri(),a(t,n)),r(a(t,n))};d=e=>{e<0||e>100||I.from(l).orThunk((()=>I.from(o).map(P))).each((t=>{l=t,t.progressBar.value(e)}))},n(t,d).then(u,(e=>{f(m(e)?{message:e}:e)}))}catch(e){r(a(t,e))}}))))(t,r,o))))))(l,d):new Promise((e=>{e([])}))}},Yw=e=>()=>e.notificationManager.open({text:e.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0}),Gw=(e,t)=>Kw(t,{url:Gl(e),basePath:Xl(e),credentials:Ql(e),handler:Jl(e)}),Xw=e=>{const t=(()=>{let e=[];const t=e=>{if(!e.blob||!e.base64)throw new Error("blob and base64 representations of the image are required for BlobInfo to be created");const t=e.id||"blobid"+Ww+++(()=>{const e=()=>Math.round(4294967295*Math.random()).toString(36);return"s"+(new Date).getTime().toString(36)+e()+e()+e()})(),n=e.name||t,o=e.blob;var r;return{id:N(t),name:N(n),filename:N(e.filename||n+"."+(r=o.type,{"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png","image/apng":"apng","image/avif":"avif","image/svg+xml":"svg","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff"}[r.toLowerCase()]||"dat")),blob:N(o),base64:N(e.base64),blobUri:N(e.blobUri||URL.createObjectURL(o)),uri:N(e.uri)}},n=t=>J(e,t).getOrUndefined(),o=e=>n((t=>t.id()===e));return{create:(e,n,o,r,s)=>{if(m(e))return t({id:e,name:r,filename:s,blob:n,base64:o});if(f(e))return t(e);throw new Error("Unknown input type")},add:t=>{o(t.id())||e.push(t)},get:o,getByUri:e=>n((t=>t.blobUri()===e)),getByData:(e,t)=>n((n=>n.base64()===e&&n.blob().type===t)),findFirst:n,removeByUri:t=>{e=Y(e,(e=>e.blobUri()!==t||(URL.revokeObjectURL(e.blobUri()),!1)))},destroy:()=>{V(e,(e=>{URL.revokeObjectURL(e.blobUri())})),e=[]}}})();let n,o;const r=Vw(),s=[],a=t=>n=>e.selection?t(n):[],i=(e,t,n)=>{let o=0;do{o=e.indexOf(t,o),-1!==o&&(e=e.substring(0,o)+n+e.substr(o+t.length),o+=n.length-t.length+1)}while(-1!==o);return e},l=(e,t,n)=>{const o=`src="${n}"${n===At.transparentSrc?' data-mce-placeholder="1"':""}`;return e=i(e,`src="${t}"`,o),i(e,'data-mce-src="'+t+'"','data-mce-src="'+n+'"')},d=(t,n)=>{V(e.undoManager.data,(e=>{"fragmented"===e.type?e.fragments=q(e.fragments,(e=>l(e,t,n))):e.content=l(e.content,t,n)}))},c=()=>(n||(n=Gw(e,r)),p().then(a((o=>{const r=q(o,(e=>e.blobInfo));return n.upload(r,Yw(e)).then(a((n=>{const r=[];let s=!1;const a=q(n,((n,a)=>{const{blobInfo:i,image:l}=o[a];let c=!1;return n.status&&Wl(e)?(n.url&&!je(l.src,n.url)&&(s=!0),t.removeByUri(l.src),ZC(e)||((t,n)=>{const o=e.convertURL(n,"src");var r;d(t.src,n),Zt(yn(t),{src:Vl(e)?(r=n,r+(-1===r.indexOf("?")?"?":"&")+(new Date).getTime()):n,"data-mce-src":o})})(l,n.url)):n.error&&(n.error.remove&&(d(l.src,At.transparentSrc),r.push(l),c=!0),((e,t)=>{Fw(e,Ka.translate(["Failed to upload image: {0}",t]))})(e,n.error.message)),{element:l,status:n.status,uploadUri:n.url,blobInfo:i,removed:c}}));return r.length>0&&!ZC(e)?e.undoManager.transact((()=>{V(_o(r),(n=>{const o=An(n);xo(n),o.each((e=>t=>{((e,t)=>e.dom.isEmpty(t.dom)&&C(e.schema.getTextBlockElements()[Ht(t)]))(e,t)&&vo(t,hn('
    '))})(e)),t.removeByUri(n.dom.src)}))})):s&&e.undoManager.dispatchChange(),a})))})))),u=()=>ql(e)?c():Promise.resolve([]),g=e=>ne(s,(t=>t(e))),p=()=>(o||(o=qw(r,t)),o.findAll(e.getBody(),g).then(a((t=>{const n=Y(t,(t=>m(t)?(Fw(e,t),!1):"blob"!==t.uriType));return ZC(e)||V(n,(e=>{d(e.image.src,e.blobInfo.blobUri()),e.image.src=e.blobInfo.blobUri(),e.image.removeAttribute("data-mce-src")})),n})))),h=n=>n.replace(/src="(blob:[^"]+)"/g,((n,o)=>{const s=r.getResultUri(o);if(s)return'src="'+s+'"';let a=t.getByUri(o);return a||(a=X(e.editorManager.get(),((e,t)=>e||t.editorUpload&&t.editorUpload.blobCache.getByUri(o)),void 0)),a?'src="data:'+a.blob().type+";base64,"+a.base64()+'"':n}));return e.on("SetContent",(()=>{ql(e)?u():p()})),e.on("RawSaveContent",(e=>{e.content=h(e.content)})),e.on("GetContent",(e=>{e.source_view||"raw"===e.format||"tree"===e.format||(e.content=h(e.content))})),e.on("PostRender",(()=>{e.parser.addNodeFilter("img",(e=>{V(e,(e=>{const n=e.attr("src");if(!n||t.getByUri(n))return;const o=r.getResultUri(n);o&&e.attr("src",o)}))}))})),{blobCache:t,addFilter:e=>{s.push(e)},uploadImages:c,uploadImagesAuto:u,scanForImages:p,destroy:()=>{t.destroy(),r.destroy(),o=n=null}}},Qw={remove_similar:!0,inherit:!1},Jw={selector:"td,th",...Qw},Zw={tablecellbackgroundcolor:{styles:{backgroundColor:"%value"},...Jw},tablecellverticalalign:{styles:{"vertical-align":"%value"},...Jw},tablecellbordercolor:{styles:{borderColor:"%value"},...Jw},tablecellclass:{classes:["%value"],...Jw},tableclass:{selector:"table",classes:["%value"],...Qw},tablecellborderstyle:{styles:{borderStyle:"%value"},...Jw},tablecellborderwidth:{styles:{borderWidth:"%value"},...Jw}},ex=N(Zw),tx=Pt.each,nx=za.DOM,ox=e=>C(e)&&f(e),rx=(e,t)=>{const n=t&&t.schema||ua({}),o=e=>{const t=m(e)?{name:e,classes:[],attrs:{}}:e,n=nx.create(t.name);return((e,t)=>{t.classes.length>0&&nx.addClass(e,t.classes.join(" ")),nx.setAttribs(e,t.attrs)})(n,t),n},r=(e,t,s)=>{let a;const i=t[0],l=ox(i)?i.name:void 0,d=((e,t)=>{const o=n.getElementRule(e.nodeName.toLowerCase()),r=null==o?void 0:o.parentsRequired;return!(!r||!r.length)&&(t&&H(r,t)?t:r[0])})(e,l);if(d)l===d?(a=i,t=t.slice(1)):a=d;else if(i)a=i,t=t.slice(1);else if(!s)return e;const c=a?o(a):nx.create("div");c.appendChild(e),s&&Pt.each(s,(t=>{const n=o(t);c.insertBefore(n,e)}));const u=ox(a)?a.siblings:void 0;return r(c,t,u)},s=nx.create("div");if(e.length>0){const t=e[0],n=o(t),a=ox(t)?t.siblings:void 0;s.appendChild(r(n,e.slice(1),a))}return s},sx=e=>{let t="div";const n={name:t,classes:[],attrs:{},selector:e=Pt.trim(e)};return"*"!==e&&(t=e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g,((e,t,o,r,s)=>{switch(t){case"#":n.attrs.id=o;break;case".":n.classes.push(o);break;case":":-1!==Pt.inArray("checked disabled enabled read-only required".split(" "),o)&&(n.attrs[o]=o)}if("["===r){const e=s.match(/([\w\-]+)(?:\=\"([^\"]+))?/);e&&(n.attrs[e[1]]=e[2])}return""}))),n.name=t||"div",n},ax=(e,t)=>{let n="",o=wd(e);if(""===o)return"";const r=e=>m(e)?e.replace(/%(\w+)/g,""):"",s=(t,n)=>nx.getStyle(null!=n?n:e.getBody(),t,!0);if(m(t)){const n=e.formatter.get(t);if(!n)return"";t=n[0]}if("preview"in t){const e=t.preview;if(!1===e)return"";o=e||o}let a,i=t.block||t.inline||"span";const l=(d=t.selector,m(d)?(d=(d=d.split(/\s*,\s*/)[0]).replace(/\s*(~\+|~|\+|>)\s*/g,"$1"),Pt.map(d.split(/(?:>|\s+(?![^\[\]]+\]))/),(e=>{const t=Pt.map(e.split(/(?:~\+|~|\+)/),sx),n=t.pop();return t.length&&(n.siblings=t),n})).reverse()):[]);var d;l.length>0?(l[0].name||(l[0].name=i),i=t.selector,a=rx(l,e)):a=rx([i],e);const c=nx.select(i,a)[0]||a.firstChild;tx(t.styles,((e,t)=>{const n=r(e);n&&nx.setStyle(c,t,n)})),tx(t.attributes,((e,t)=>{const n=r(e);n&&nx.setAttrib(c,t,n)})),tx(t.classes,(e=>{const t=r(e);nx.hasClass(c,t)||nx.addClass(c,t)})),e.dispatch("PreviewFormats"),nx.setStyles(a,{position:"absolute",left:-65535}),e.getBody().appendChild(a);const u=s("fontSize"),f=/px$/.test(u)?parseInt(u,10):0;return tx(o.split(" "),(e=>{let t=s(e,c);if(!("background-color"===e&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(t)&&(t=s(e),"#ffffff"===Ca(t).toLowerCase())||"color"===e&&"#000000"===Ca(t).toLowerCase())){if("font-size"===e&&/em|%$/.test(t)){if(0===f)return;t=parseFloat(t)/(/%$/.test(t)?100:1)*f+"px"}"border"===e&&t&&(n+="padding:0 2px;"),n+=e+":"+t+";"}})),e.dispatch("AfterPreviewFormats"),nx.remove(a),n},ix=e=>{const t=(e=>{const t={},n=(e,o)=>{e&&(m(e)?(p(o)||(o=[o]),V(o,(e=>{v(e.deep)&&(e.deep=!km(e)),v(e.split)&&(e.split=!km(e)||Nm(e)),v(e.remove)&&km(e)&&!Nm(e)&&(e.remove="none"),km(e)&&Nm(e)&&(e.mixed=!0,e.block_expand=!0),m(e.classes)&&(e.classes=e.classes.split(/\s+/))})),t[e]=o):ge(e,((e,t)=>{n(t,e)})))};return n((e=>{const t=e.dom,n=e.schema.type,o={valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure.image",collapsed:!1,classes:"align-left",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"left"},inherit:!1,preview:!1},{selector:"img,audio,video",collapsed:!1,styles:{float:"left"},preview:"font-family font-size"},{selector:"table",collapsed:!1,styles:{marginLeft:"0px",marginRight:"auto"},onformat:e=>{t.setStyle(e,"float",null)},preview:"font-family font-size"},{selector:".mce-preview-object,[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{float:"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"center"},inherit:!1,preview:"font-family font-size"},{selector:"figure.image",collapsed:!1,classes:"align-center",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"img,audio,video",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"},preview:"font-family font-size"},{selector:".mce-preview-object",ceFalseOverride:!0,styles:{display:"table",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{marginLeft:"auto",marginRight:"auto"},preview:!1}],alignright:[{selector:"figure.image",collapsed:!1,classes:"align-right",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"right"},inherit:!1,preview:"font-family font-size"},{selector:"img,audio,video",collapsed:!1,styles:{float:"right"},preview:"font-family font-size"},{selector:"table",collapsed:!1,styles:{marginRight:"0px",marginLeft:"auto"},onformat:e=>{t.setStyle(e,"float",null)},preview:"font-family font-size"},{selector:".mce-preview-object,[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{float:"right"},preview:!1}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"justify"},inherit:!1,preview:"font-family font-size"}],bold:[{inline:"strong",remove:"all",preserve_attributes:["class","style"]},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all",preserve_attributes:["class","style"]}],italic:[{inline:"em",remove:"all",preserve_attributes:["class","style"]},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all",preserve_attributes:["class","style"]}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all",preserve_attributes:["class","style"]}],strikethrough:(()=>{const e={inline:"span",styles:{textDecoration:"line-through"},exact:!0},t={inline:"strike",remove:"all",preserve_attributes:["class","style"]},o={inline:"s",remove:"all",preserve_attributes:["class","style"]};return"html4"!==n?[o,e,t]:[e,o,t]})(),forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},fontname:{inline:"span",toggle:!1,styles:{fontFamily:"%value"},clear_child_styles:!0},fontsize:{inline:"span",toggle:!1,styles:{fontSize:"%value"},clear_child_styles:!0},lineheight:{selector:"h1,h2,h3,h4,h5,h6,p,li,td,th,div",styles:{lineHeight:"%value"}},fontsize_class:{inline:"span",attributes:{class:"%value"}},blockquote:{block:"blockquote",wrapper:!0,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:(e,t,n)=>qo(e)&&e.hasAttribute("href"),onformat:(e,n,o)=>{Pt.each(o,((n,o)=>{t.setAttrib(e,o,n)}))}},lang:{inline:"span",clear_child_styles:!0,remove_similar:!0,attributes:{lang:"%value","data-mce-lang":e=>{var t;return null!==(t=null==e?void 0:e.customValue)&&void 0!==t?t:null}}},removeformat:[{selector:"b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]};return Pt.each("p h1 h2 h3 h4 h5 h6 div address pre dt dd samp".split(/\s/),(e=>{o[e]={block:e,remove:"all"}})),o})(e)),n(ex()),n(Cd(e)),{get:e=>C(e)?t[e]:t,has:e=>Ee(t,e),register:n,unregister:e=>(e&&t[e]&&delete t[e],t)}})(e),n=$a({});return(e=>{e.addShortcut("meta+b","","Bold"),e.addShortcut("meta+i","","Italic"),e.addShortcut("meta+u","","Underline");for(let t=1;t<=6;t++)e.addShortcut("access+"+t,"",["FormatBlock",!1,"h"+t]);e.addShortcut("access+7","",["FormatBlock",!1,"p"]),e.addShortcut("access+8","",["FormatBlock",!1,"div"]),e.addShortcut("access+9","",["FormatBlock",!1,"address"])})(e),(e=>{e.on("mouseup keydown",(t=>{var n;((e,t,n)=>{const o=e.selection,r=e.getBody();Kb(e,null,n),8!==t&&46!==t||!o.isCollapsed()||o.getStart().innerHTML!==$b||Kb(e,Lu(r,o.getStart()),!0),37!==t&&39!==t||Kb(e,Lu(r,o.getStart()),!0)})(e,t.keyCode,(n=e.selection.getRng().endContainer,er(n)&&$e(n.data,br)))}))})(e),ZC(e)||((e,t)=>{e.set({}),t.on("NodeChange",(n=>{Hv(t,n.element,e.get())})),t.on("FormatApply FormatRemove",(n=>{const o=I.from(n.node).map((e=>dm(e)?e:e.startContainer)).bind((e=>qo(e)?I.some(e):I.from(e.parentElement))).getOrThunk((()=>Uv(t)));Hv(t,o,e.get())}))})(n,e),{get:t.get,has:t.has,register:t.register,unregister:t.unregister,apply:(t,n,o)=>{((e,t,n,o)=>{tw(e).formatter.apply(t,n,o)})(e,t,n,o)},remove:(t,n,o,r)=>{((e,t,n,o,r)=>{tw(e).formatter.remove(t,n,o,r)})(e,t,n,o,r)},toggle:(t,n,o)=>{((e,t,n,o)=>{tw(e).formatter.toggle(t,n,o)})(e,t,n,o)},match:(t,n,o,r)=>((e,t,n,o,r)=>tw(e).formatter.match(t,n,o,r))(e,t,n,o,r),closest:t=>((e,t)=>tw(e).formatter.closest(t))(e,t),matchAll:(t,n)=>((e,t,n)=>tw(e).formatter.matchAll(t,n))(e,t,n),matchNode:(t,n,o,r)=>((e,t,n,o,r)=>tw(e).formatter.matchNode(t,n,o,r))(e,t,n,o,r),canApply:t=>((e,t)=>tw(e).formatter.canApply(t))(e,t),formatChanged:(t,o,r,s)=>((e,t,n,o,r,s)=>tw(e).formatter.formatChanged(t,n,o,r,s))(e,n,t,o,r,s),getCssText:T(ax,e)}},lx=e=>{switch(e.toLowerCase()){case"undo":case"redo":case"mcefocus":return!0;default:return!1}},dx=e=>{const t=Xa(),n=$a(0),o=$a(0),r={data:[],typing:!1,beforeChange:()=>{((e,t,n)=>{tw(e).undoManager.beforeChange(t,n)})(e,n,t)},add:(s,a)=>((e,t,n,o,r,s,a)=>tw(e).undoManager.add(t,n,o,r,s,a))(e,r,o,n,t,s,a),dispatchChange:()=>{e.setDirty(!0);const t=qC(e);t.bookmark=ml(e.selection),e.dispatch("change",{level:t,lastLevel:ie(r.data,o.get()).getOrUndefined()})},undo:()=>((e,t,n,o)=>tw(e).undoManager.undo(t,n,o))(e,r,n,o),redo:()=>((e,t,n)=>tw(e).undoManager.redo(t,n))(e,o,r.data),clear:()=>{((e,t,n)=>{tw(e).undoManager.clear(t,n)})(e,r,o)},reset:()=>{((e,t)=>{tw(e).undoManager.reset(t)})(e,r)},hasUndo:()=>((e,t,n)=>tw(e).undoManager.hasUndo(t,n))(e,r,o),hasRedo:()=>((e,t,n)=>tw(e).undoManager.hasRedo(t,n))(e,r,o),transact:t=>((e,t,n,o)=>tw(e).undoManager.transact(t,n,o))(e,r,n,t),ignore:t=>{((e,t,n)=>{tw(e).undoManager.ignore(t,n)})(e,n,t)},extra:(t,n)=>{((e,t,n,o,r)=>{tw(e).undoManager.extra(t,n,o,r)})(e,r,o,t,n)}};return ZC(e)||((e,t,n)=>{const o=$a(!1),r=e=>{XC(t,!1,n),t.add({},e)};e.on("init",(()=>{t.add()})),e.on("BeforeExecCommand",(e=>{const o=e.command;lx(o)||(QC(t,n),t.beforeChange())})),e.on("ExecCommand",(e=>{const t=e.command;lx(t)||r(e)})),e.on("ObjectResizeStart cut",(()=>{t.beforeChange()})),e.on("SaveContent ObjectResized blur",r),e.on("dragend",r),e.on("keyup",(n=>{const s=n.keyCode;if(n.isDefaultPrevented())return;const a=At.os.isMacOS()&&"Meta"===n.key;(s>=33&&s<=36||s>=37&&s<=40||45===s||n.ctrlKey||a)&&(r(),e.nodeChanged()),46!==s&&8!==s||e.nodeChanged(),o.get()&&t.typing&&!YC(qC(e),t.data[0])&&(e.isDirty()||e.setDirty(!0),e.dispatch("TypingUndo"),o.set(!1),e.nodeChanged())})),e.on("keydown",(e=>{const s=e.keyCode;if(e.isDefaultPrevented())return;if(s>=33&&s<=36||s>=37&&s<=40||45===s)return void(t.typing&&r(e));const a=e.ctrlKey&&!e.altKey||e.metaKey;if((s<16||s>20)&&224!==s&&91!==s&&!t.typing&&!a)return t.beforeChange(),XC(t,!0,n),t.add({},e),void o.set(!0);(At.os.isMacOS()?e.metaKey:e.ctrlKey&&!e.altKey)&&t.beforeChange()})),e.on("mousedown",(e=>{t.typing&&r(e)})),e.on("input",(e=>{var t;e.inputType&&("insertReplacementText"===e.inputType||"insertText"===(t=e).inputType&&null===t.data||(e=>"insertFromPaste"===e.inputType||"insertFromDrop"===e.inputType)(e))&&r(e)})),e.on("AddUndo Undo Redo ClearUndos",(t=>{t.isDefaultPrevented()||e.nodeChanged()}))})(e,r,n),(e=>{e.addShortcut("meta+z","","Undo"),e.addShortcut("meta+y,meta+shift+z","","Redo")})(e),r},cx=[9,27,af.HOME,af.END,19,20,44,144,145,33,34,45,16,17,18,91,92,93,af.DOWN,af.UP,af.LEFT,af.RIGHT].concat(At.browser.isFirefox()?[224]:[]),ux="data-mce-placeholder",mx=e=>"keydown"===e.type||"keyup"===e.type,fx=e=>{const t=e.keyCode;return t===af.BACKSPACE||t===af.DELETE},gx=(e,t)=>({from:e,to:t}),px=(e,t)=>{const n=yn(e),o=yn(t.container());return Ah(n,o).map((e=>((e,t)=>({block:e,position:t}))(e,t)))},hx=(e,t)=>Jn(t,(e=>Rr(e)||lr(e.dom)),(t=>_n(t,e))).filter(Wt).getOr(e),bx=(e,t)=>{const n=((e,t)=>{const n=Mn(e);return Z(n,(e=>t.isBlock(Ht(e)))).fold(N(n),(e=>n.slice(0,e)))})(e,t);return V(n,xo),n},vx=(e,t)=>{const n=Bp(t,e);return J(n.reverse(),(e=>gs(e))).each(xo)},yx=(e,t,n,o,r)=>{if(gs(n))return Or(n),Ou(n.dom);0===Y(Dn(r),(e=>!gs(e))).length&&gs(t)&&po(r,bn("br"));const s=Tu(n.dom,Vi.before(r.dom));return V(bx(t,o),(e=>{po(r,e)})),vx(e,t),s},Cx=(e,t,n,o)=>{if(gs(n)){if(gs(t)){const e=e=>{const t=(e,n)=>Fn(e).fold((()=>n),(e=>((e,t)=>e.isInline(Ht(t)))(o,e)?t(e,n.concat(fi(e))):n));return t(e,[])},r=G(e(n),((e,t)=>(yo(e,t),t)),Tr());wo(t),vo(t,r)}return xo(n),Ou(t.dom)}const r=Bu(n.dom);return V(bx(t,o),(e=>{vo(n,e)})),vx(e,t),r},wx=(e,t)=>{Ru(e,t.dom).bind((e=>I.from(e.getNode()))).map(yn).filter(Er).each(xo)},xx=(e,t,n,o)=>(wx(!0,t),wx(!1,n),((e,t)=>Sn(t,e)?((e,t)=>{const n=Bp(t,e);return I.from(n[n.length-1])})(t,e):I.none())(t,n).fold(T(Cx,e,t,n,o),T(yx,e,t,n,o))),Ex=(e,t,n,o,r)=>t?xx(e,o,n,r):xx(e,n,o,r),_x=(e,t)=>{const n=yn(e.getBody()),o=((e,t,n)=>n.collapsed?((e,t,n)=>{const o=px(e,Vi.fromRangeStart(n)),r=o.bind((n=>Su(t,e,n.position).bind((n=>px(e,n).map((n=>((e,t,n)=>ar(n.position.getNode())&&!gs(n.block)?Ru(!1,n.block.dom).bind((o=>o.isEqual(n.position)?Su(t,e,o).bind((t=>px(e,t))):I.some(n))).getOr(n):n)(e,t,n)))))));return Mt(o,r,gx).filter((t=>(e=>!_n(e.from.block,e.to.block))(t)&&((e,t)=>{const n=yn(e);return _n(hx(n,t.from.block),hx(n,t.to.block))})(e,t)&&(e=>!1===dr(e.from.block.dom)&&!1===dr(e.to.block.dom))(t)&&(e=>{const t=e=>_r(e)||Ns(e.dom);return t(e.from.block)&&t(e.to.block)})(t)))})(e,t,n):I.none())(n.dom,t,e.selection.getRng()).map((o=>()=>{Ex(n,t,o.from.block,o.to.block,e.schema).each((t=>{e.selection.setRng(t.toRange())}))}));return o},Sx=(e,t)=>{const n=yn(t),o=T(_n,e);return Qn(n,Rr,o).isSome()},kx=e=>{const t=yn(e.getBody());return((e,t)=>{const n=Tu(e.dom,Vi.fromRangeStart(t)).isNone(),o=Au(e.dom,Vi.fromRangeEnd(t)).isNone();return!((e,t)=>Sx(e,t.startContainer)||Sx(e,t.endContainer))(e,t)&&n&&o})(t,e.selection.getRng())?(e=>I.some((()=>{e.setContent(""),e.selection.setCursorLocation()})))(e):((e,t,n)=>{const o=t.getRng();return Mt(Ah(e,yn(o.startContainer)),Ah(e,yn(o.endContainer)),((r,s)=>_n(r,s)?I.none():I.some((()=>{o.deleteContents(),Ex(e,!0,r,s,n).each((e=>{t.setRng(e.toRange())}))})))).getOr(I.none())})(t,e.selection,e.schema)},Nx=(e,t)=>e.selection.isCollapsed()?I.none():kx(e),Rx=(e,t,n,o,r)=>I.from(t._selectionOverrides.showCaret(e,n,o,r)),Ax=(e,t)=>e.dispatch("BeforeObjectSelected",{target:t}).isDefaultPrevented()?I.none():I.some((e=>{const t=e.ownerDocument.createRange();return t.selectNode(e),t})(t)),Tx=(e,t,n)=>t.collapsed?((e,t,n)=>{const o=ru(1,e.getBody(),t),r=Vi.fromRangeStart(o),s=r.getNode();if(Lc(s))return Rx(1,e,s,!r.isAtEnd(),!1);const a=r.getNode(!0);if(Lc(a))return Rx(1,e,a,!1,!1);const i=lb(e.dom.getRoot(),r.getNode());return Lc(i)?Rx(1,e,i,!1,n):I.none()})(e,t,n).getOr(t):t,Ox=e=>Ap(e)||Sp(e),Bx=e=>Tp(e)||kp(e),Px=(e,t,n,o,r,s)=>{Rx(o,e,s.getNode(!r),r,!0).each((n=>{if(t.collapsed){const e=t.cloneRange();r?e.setEnd(n.startContainer,n.startOffset):e.setStart(n.endContainer,n.endOffset),e.deleteContents()}else t.deleteContents();e.selection.setRng(n)})),((e,t)=>{er(t)&&0===t.data.length&&e.remove(t)})(e.dom,n)},Dx=(e,t)=>((e,t)=>{const n=e.selection.getRng();if(!er(n.commonAncestorContainer))return I.none();const o=t?cu.Forwards:cu.Backwards,r=wu(e.getBody()),s=T(lu,t?r.next:r.prev),a=t?Ox:Bx,i=au(o,e.getBody(),n),l=s(i),d=l?Eh(t,l):l;if(!d||!du(i,d))return I.none();if(a(d))return I.some((()=>Px(e,n,i.getNode(),o,t,d)));const c=s(d);return c&&a(c)&&du(d,c)?I.some((()=>Px(e,n,i.getNode(),o,t,c))):I.none()})(e,t),Lx=(e,t)=>{const n=e.getBody();return t?Ou(n).filter(Ap):Bu(n).filter(Tp)},Mx=e=>{const t=e.selection.getRng();return!t.collapsed&&(Lx(e,!0).exists((e=>e.isEqual(Vi.fromRangeStart(t))))||Lx(e,!1).exists((e=>e.isEqual(Vi.fromRangeEnd(t)))))},Ix=hl([{remove:["element"]},{moveToElement:["element"]},{moveToPosition:["position"]}]),Fx=(e,t,n,o)=>Su(t,e,n).bind((r=>{return s=r.getNode(),C(s)&&(Rr(yn(s))||kr(yn(s)))||((e,t,n,o,r)=>{const s=t=>r.isInline(t.nodeName.toLowerCase())&&!Qc(n,o,e);return su(!t,n).fold((()=>su(t,o).fold(L,s)),s)})(e,t,n,r,o)?I.none():t&&dr(r.getNode())||!t&&dr(r.getNode(!0))?((e,t,n,o)=>{const r=o.getNode(!t);return Ah(yn(e),yn(n.getNode())).map((e=>gs(e)?Ix.remove(e.dom):Ix.moveToElement(r))).orThunk((()=>I.some(Ix.moveToElement(r))))})(e,t,n,r):t&&Tp(n)||!t&&Ap(n)?I.some(Ix.moveToPosition(r)):I.none();var s})),Ux=(e,t)=>I.from(lb(e.getBody(),t)),zx=(e,t)=>{const n=e.selection.getNode();return Ux(e,n).filter(dr).fold((()=>((e,t,n,o)=>{const r=ru(t?1:-1,e,n),s=Vi.fromRangeStart(r),a=yn(e);return!t&&Tp(s)?I.some(Ix.remove(s.getNode(!0))):t&&Ap(s)?I.some(Ix.remove(s.getNode())):!t&&Ap(s)&&qp(a,s,o)?Vp(a,s,o).map((e=>Ix.remove(e.getNode()))):t&&Tp(s)&&$p(a,s,o)?Wp(a,s,o).map((e=>Ix.remove(e.getNode()))):((e,t,n,o)=>((e,t)=>{const n=t.getNode(!e),o=e?"after":"before";return qo(n)&&n.getAttribute("data-mce-caret")===o})(t,n)?((e,t)=>y(t)?I.none():e&&dr(t.nextSibling)?I.some(Ix.moveToElement(t.nextSibling)):!e&&dr(t.previousSibling)?I.some(Ix.moveToElement(t.previousSibling)):I.none())(t,n.getNode(!t)).orThunk((()=>Fx(e,t,n,o))):Fx(e,t,n,o).bind((t=>((e,t,n)=>n.fold((e=>I.some(Ix.remove(e))),(e=>I.some(Ix.moveToElement(e))),(n=>Qc(t,n,e)?I.none():I.some(Ix.moveToPosition(n)))))(e,n,t))))(e,t,s,o)})(e.getBody(),t,e.selection.getRng(),e.schema).map((n=>()=>n.fold(((e,t)=>n=>(e._selectionOverrides.hideFakeCaret(),vh(e,t,yn(n)),!0))(e,t),((e,t)=>n=>{const o=t?Vi.before(n):Vi.after(n);return e.selection.setRng(o.toRange()),!0})(e,t),(e=>t=>(e.selection.setRng(t.toRange()),!0))(e))))),(()=>I.some(_)))},jx=e=>{const t=e.dom,n=e.selection,o=lb(e.getBody(),n.getNode());if(lr(o)&&t.isBlock(o)&&t.isEmpty(o)){const e=t.create("br",{"data-mce-bogus":"1"});t.setHTML(o,""),o.appendChild(e),n.setRng(Vi.before(e).toRange())}return!0},Hx=(e,t)=>e.selection.isCollapsed()?zx(e,t):((e,t)=>{const n=e.selection.getNode();return dr(n)&&!cr(n)?Ux(e,n.parentNode).filter(dr).fold((()=>I.some((()=>{var n;n=yn(e.getBody()),V(Uo(n,".mce-offscreen-selection"),xo),vh(e,t,yn(e.selection.getNode())),Th(e)}))),(()=>I.some(_))):Mx(e)?I.some((()=>{Ph(e,e.selection.getRng(),yn(e.getBody()))})):I.none()})(e,t),$x=(e,t)=>e.selection.isCollapsed()?((e,t)=>{const n=Vi.fromRangeStart(e.selection.getRng());return Su(t,e.getBody(),n).filter((e=>t?Ep(e):_p(e))).bind((e=>Jc(t?0:-1,e))).map((t=>()=>e.selection.select(t)))})(e,t):I.none(),qx=er,Vx=e=>qx(e)&&e.data[0]===Br,Wx=e=>qx(e)&&e.data[e.data.length-1]===Br,Kx=e=>{var t;return(null!==(t=e.ownerDocument)&&void 0!==t?t:document).createTextNode(Br)},Yx=(e,t)=>e?(e=>{var t;if(qx(e.previousSibling))return Wx(e.previousSibling)||e.previousSibling.appendData(Br),e.previousSibling;if(qx(e))return Vx(e)||e.insertData(0,Br),e;{const n=Kx(e);return null===(t=e.parentNode)||void 0===t||t.insertBefore(n,e),n}})(t):(e=>{var t,n;if(qx(e.nextSibling))return Vx(e.nextSibling)||e.nextSibling.insertData(0,Br),e.nextSibling;if(qx(e))return Wx(e)||e.appendData(Br),e;{const o=Kx(e);return e.nextSibling?null===(t=e.parentNode)||void 0===t||t.insertBefore(o,e.nextSibling):null===(n=e.parentNode)||void 0===n||n.appendChild(o),o}})(t),Gx=T(Yx,!0),Xx=T(Yx,!1),Qx=(e,t)=>er(e.container())?Yx(t,e.container()):Yx(t,e.getNode()),Jx=(e,t)=>{const n=t.get();return n&&e.container()===n&&Fr(n)},Zx=(e,t)=>t.fold((t=>{Rc(e.get());const n=Gx(t);return e.set(n),I.some(Vi(n,n.length-1))}),(t=>Ou(t).map((t=>{if(Jx(t,e)){const t=e.get();return Vi(t,1)}{Rc(e.get());const n=Qx(t,!0);return e.set(n),Vi(n,1)}}))),(t=>Bu(t).map((t=>{if(Jx(t,e)){const t=e.get();return Vi(t,t.length-1)}{Rc(e.get());const n=Qx(t,!1);return e.set(n),Vi(n,n.length-1)}}))),(t=>{Rc(e.get());const n=Xx(t);return e.set(n),I.some(Vi(n,1))})),eE=(e,t)=>{for(let n=0;nXc(t,e)||e,oE=(e,t,n)=>{const o=_h(n),r=nE(t,o.container());return xh(e,r,o).fold((()=>Au(r,o).bind(T(xh,e,r)).map((e=>tE.before(e)))),I.none)},rE=(e,t)=>null===Lu(e,t),sE=(e,t,n)=>xh(e,t,n).filter(T(rE,t)),aE=(e,t,n)=>{const o=Sh(n);return sE(e,t,o).bind((e=>Tu(e,o).isNone()?I.some(tE.start(e)):I.none()))},iE=(e,t,n)=>{const o=_h(n);return sE(e,t,o).bind((e=>Au(e,o).isNone()?I.some(tE.end(e)):I.none()))},lE=(e,t,n)=>{const o=Sh(n),r=nE(t,o.container());return xh(e,r,o).fold((()=>Tu(r,o).bind(T(xh,e,r)).map((e=>tE.after(e)))),I.none)},dE=e=>!wh(uE(e)),cE=(e,t,n)=>eE([oE,aE,iE,lE],[e,t,n]).filter(dE),uE=e=>e.fold(R,R,R,R),mE=e=>e.fold(N("before"),N("start"),N("end"),N("after")),fE=e=>e.fold(tE.before,tE.before,tE.after,tE.after),gE=e=>e.fold(tE.start,tE.start,tE.end,tE.end),pE=(e,t,n,o,r,s)=>Mt(xh(t,n,o),xh(t,n,r),((t,o)=>t!==o&&((e,t,n)=>{const o=Xc(t,e),r=Xc(n,e);return C(o)&&o===r})(n,t,o)?tE.after(e?t:o):s)).getOr(s),hE=(e,t)=>e.fold(M,(e=>{return o=t,!(mE(n=e)===mE(o)&&uE(n)===uE(o));var n,o})),bE=(e,t)=>e?t.fold(S(I.some,tE.start),I.none,S(I.some,tE.after),I.none):t.fold(I.none,S(I.some,tE.before),I.none,S(I.some,tE.end)),vE=(e,t,n)=>{const o=e?1:-1;return t.setRng(Vi(n.container(),n.offset()+o).toRange()),t.getSel().modify("move",e?"forward":"backward","word"),!0};var yE;!function(e){e[e.Br=0]="Br",e[e.Block=1]="Block",e[e.Wrap=2]="Wrap",e[e.Eol=3]="Eol"}(yE||(yE={}));const CE=(e,t)=>e===cu.Backwards?oe(t):t,wE=(e,t,n)=>e===cu.Forwards?t.next(n):t.prev(n),xE=(e,t,n,o)=>ar(o.getNode(t===cu.Forwards))?yE.Br:!1===Qc(n,o)?yE.Block:yE.Wrap,EE=(e,t,n,o)=>{const r=wu(n);let s=o;const a=[];for(;s;){const n=wE(t,r,s);if(!n)break;if(ar(n.getNode(!1)))return t===cu.Forwards?{positions:CE(t,a).concat([n]),breakType:yE.Br,breakAt:I.some(n)}:{positions:CE(t,a),breakType:yE.Br,breakAt:I.some(n)};if(n.isVisible()){if(e(s,n)){const e=xE(0,t,s,n);return{positions:CE(t,a),breakType:e,breakAt:I.some(n)}}a.push(n),s=n}else s=n}return{positions:CE(t,a),breakType:yE.Eol,breakAt:I.none()}},_E=(e,t,n,o)=>t(n,o).breakAt.map((o=>{const r=t(n,o).positions;return e===cu.Backwards?r.concat(o):[o].concat(r)})).getOr([]),SE=(e,t)=>X(e,((e,n)=>e.fold((()=>I.some(n)),(o=>Mt(le(o.getClientRects()),le(n.getClientRects()),((e,r)=>{const s=Math.abs(t-e.left);return Math.abs(t-r.left)<=s?n:o})).or(e)))),I.none()),kE=(e,t)=>le(t.getClientRects()).bind((t=>SE(e,t.left))),NE=T(EE,Vi.isAbove,-1),RE=T(EE,Vi.isBelow,1),AE=T(_E,-1,NE),TE=T(_E,1,RE),OE=(e,t)=>NE(e,t).breakAt.isNone(),BE=(e,t)=>RE(e,t).breakAt.isNone(),PE=(e,t)=>kE(AE(e,t),t),DE=(e,t)=>kE(TE(e,t),t),LE=dr,ME=(e,t)=>Math.abs(e.left-t),IE=(e,t)=>Math.abs(e.right-t),FE=(e,t)=>Oe(e,((e,n)=>{const o=Math.min(ME(e,t),IE(e,t)),r=Math.min(ME(n,t),IE(n,t));return r===o&&_e(n,"node")&&LE(n.node)||r{const t=t=>q(t,(t=>{const n=vi(t);return n.node=e,n}));if(qo(e))return t(e.getClientRects());if(er(e)){const n=e.ownerDocument.createRange();return n.setStart(e,0),n.setEnd(e,e.data.length),t(n.getClientRects())}return[]},zE=e=>te(e,UE);var jE;!function(e){e[e.Up=-1]="Up",e[e.Down=1]="Down"}(jE||(jE={}));const HE=(e,t,n,o,r,s)=>{let a=0;const i=[],l=o=>{let s=zE([o]);-1===e&&(s=s.reverse());for(let e=0;e0&&t(o,Pe(i))&&a++,o.line=a,r(o))return!0;i.push(o)}}return!1},d=Pe(s.getClientRects());if(!d)return i;const c=s.getNode();return c&&(l(c),((e,t,n,o)=>{let r=o;for(;r=Gc(r,e,os,t);)if(n(r))return})(e,o,l,c)),i},$E=T(HE,jE.Up,wi,xi),qE=T(HE,jE.Down,xi,wi),VE=e=>Pe(e.getClientRects()),WE=e=>t=>((e,t)=>t.line>e)(e,t),KE=e=>t=>((e,t)=>t.line===e)(e,t),YE=(e,t)=>{e.selection.setRng(t),sg(e,e.selection.getRng())},GE=(e,t,n)=>I.some(Tx(e,t,n)),XE=(e,t,n,o,r,s)=>{const a=t===cu.Forwards,i=wu(e.getBody()),l=T(lu,a?i.next:i.prev),d=a?o:r;if(!n.collapsed){const o=_i(n);if(s(o))return Rx(t,e,o,t===cu.Backwards,!1);if(Mx(e)){const e=n.cloneRange();return e.collapse(t===cu.Backwards),I.from(e)}}const c=au(t,e.getBody(),n);if(d(c))return Ax(e,c.getNode(!a));let u=l(c);const m=Wr(n);if(!u)return m?I.some(n):I.none();if(u=Eh(a,u),d(u))return Rx(t,e,u.getNode(!a),a,!1);const f=l(u);return f&&d(f)&&du(u,f)?Rx(t,e,f.getNode(!a),a,!1):m?GE(e,u.toRange(),!1):I.none()},QE=(e,t,n,o,r,s)=>{const a=au(t,e.getBody(),n),i=Pe(a.getClientRects()),l=t===jE.Down,d=e.getBody();if(!i)return I.none();if(Mx(e)){const e=l?Vi.fromRangeEnd(n):Vi.fromRangeStart(n);return(l?DE:PE)(d,e).orThunk((()=>I.from(e))).map((e=>e.toRange()))}const c=(l?qE:$E)(d,WE(1),a),u=Y(c,KE(1)),m=i.left,f=FE(u,m);if(f&&s(f.node)){const n=Math.abs(m-f.left),o=Math.abs(m-f.right);return Rx(t,e,f.node,n{const r=wu(t);let s,a,i,l;const d=[];let c=0;1===e?(s=r.next,a=xi,i=wi,l=Vi.after(o)):(s=r.prev,a=wi,i=xi,l=Vi.before(o));const u=VE(l);do{if(!l.isVisible())continue;const e=VE(l);if(i(e,u))continue;d.length>0&&a(e,Pe(d))&&c++;const t=vi(e);if(t.position=l,t.line=c,n(t))return d;d.push(t)}while(l=s(l));return d})(t,d,WE(1),g);let o=FE(Y(n,KE(1)),m);if(o)return GE(e,o.position.toRange(),!1);if(o=Pe(Y(n,KE(0))),o)return GE(e,o.position.toRange(),!1)}return 0===u.length?JE(e,l).filter(l?r:o).map((t=>Tx(e,t.toRange(),!1))):I.none()},JE=(e,t)=>{const n=e.selection.getRng(),o=t?Vi.fromRangeEnd(n):Vi.fromRangeStart(n),r=(s=o.container(),a=e.getBody(),Qn(yn(s),(e=>Ic(e.dom)),(e=>e.dom===a)).map((e=>e.dom)).getOr(a));var s,a;if(t){const e=RE(r,o);return de(e.positions)}{const e=NE(r,o);return le(e.positions)}},ZE=(e,t,n)=>JE(e,t).filter(n).exists((t=>(e.selection.setRng(t.toRange()),!0))),e_=(e,t)=>{const n=e.dom.createRng();n.setStart(t.container(),t.offset()),n.setEnd(t.container(),t.offset()),e.selection.setRng(n)},t_=(e,t)=>{e?t.setAttribute("data-mce-selected","inline-boundary"):t.removeAttribute("data-mce-selected")},n_=(e,t,n)=>Zx(t,n).map((t=>(e_(e,t),n))),o_=(e,t,n)=>{const o=e.getBody(),r=((e,t,n)=>{const o=Vi.fromRangeStart(e);if(e.collapsed)return o;{const r=Vi.fromRangeEnd(e);return n?Tu(t,r).getOr(r):Au(t,o).getOr(o)}})(e.selection.getRng(),o,n);return((e,t,n,o)=>{const r=Eh(e,o),s=cE(t,n,r);return cE(t,n,r).bind(T(bE,e)).orThunk((()=>((e,t,n,o,r)=>{const s=Eh(e,r);return Su(e,n,s).map(T(Eh,e)).fold((()=>o.map(fE)),(r=>cE(t,n,r).map(T(pE,e,t,n,s,r)).filter(T(hE,o)))).filter(dE)})(e,t,n,s,o)))})(n,T(Ch,e),o,r).bind((n=>n_(e,t,n)))},r_=(e,t,n)=>!!yd(e)&&o_(e,t,n).isSome(),s_=(e,t,n)=>!!yd(t)&&((e,t)=>{const n=t.selection.getRng(),o=e?Vi.fromRangeEnd(n):Vi.fromRangeStart(n);return!!(e=>w(e.selection.getSel().modify))(t)&&(e&&jr(o)?vE(!0,t.selection,o):!(e||!Hr(o))&&vE(!1,t.selection,o))})(e,t),a_=e=>{const t=$a(null),n=T(Ch,e);return e.on("NodeChange",(o=>{yd(e)&&(((e,t,n)=>{const o=q(Uo(yn(t.getRoot()),'*[data-mce-selected="inline-boundary"]'),(e=>e.dom)),r=Y(o,e),s=Y(n,e);V(re(r,s),T(t_,!1)),V(re(s,r),T(t_,!0))})(n,e.dom,o.parents),((e,t)=>{const n=t.get();if(e.selection.isCollapsed()&&!e.composing&&n){const o=Vi.fromRangeStart(e.selection.getRng());Vi.isTextPosition(o)&&!(e=>jr(e)||Hr(e))(o)&&(e_(e,Nc(n,o)),t.set(null))}})(e,t),((e,t,n,o)=>{if(t.selection.isCollapsed()){const r=Y(o,e);V(r,(o=>{const r=Vi.fromRangeStart(t.selection.getRng());cE(e,t.getBody(),r).bind((e=>n_(t,n,e)))}))}})(n,e,t,o.parents))})),t},i_=T(s_,!0),l_=T(s_,!1),d_=(e,t,n)=>{if(yd(e)){const o=JE(e,t).getOrThunk((()=>{const n=e.selection.getRng();return t?Vi.fromRangeEnd(n):Vi.fromRangeStart(n)}));return cE(T(Ch,e),e.getBody(),o).exists((t=>{const o=fE(t);return Zx(n,o).exists((t=>(e_(e,t),!0)))}))}return!1},c_=(e,t)=>n=>Zx(t,n).map((t=>()=>e_(e,t))),u_=(e,t,n,o)=>{const r=e.getBody(),s=T(Ch,e);e.undoManager.ignore((()=>{e.selection.setRng(((e,t)=>{const n=document.createRange();return n.setStart(e.container(),e.offset()),n.setEnd(t.container(),t.offset()),n})(n,o)),Nh(e),cE(s,r,Vi.fromRangeStart(e.selection.getRng())).map(gE).bind(c_(e,t)).each(D)})),e.nodeChanged()},m_=(e,t,n)=>{if(e.selection.isCollapsed()&&yd(e)){const o=Vi.fromRangeStart(e.selection.getRng());return((e,t,n,o)=>{const r=((e,t)=>Xc(t,e)||e)(e.getBody(),o.container()),s=T(Ch,e),a=cE(s,r,o);return a.bind((e=>n?e.fold(N(I.some(gE(e))),I.none,N(I.some(fE(e))),I.none):e.fold(I.none,N(I.some(fE(e))),I.none,N(I.some(gE(e)))))).map(c_(e,t)).getOrThunk((()=>{const i=ku(n,r,o),l=i.bind((e=>cE(s,r,e)));return Mt(a,l,(()=>xh(s,r,o).bind((t=>(e=>Mt(Ou(e),Bu(e),((t,n)=>{const o=Eh(!0,t),r=Eh(!1,n);return Au(e,o).forall((e=>e.isEqual(r)))})).getOr(!0))(t)?I.some((()=>{vh(e,n,yn(t))})):I.none())))).getOrThunk((()=>l.bind((()=>i.map((r=>()=>{n?u_(e,t,o,r):u_(e,t,r,o)}))))))}))})(e,t,n,o)}return I.none()},f_=(e,t)=>{const n=yn(e.getBody()),o=yn(e.selection.getStart()),r=Bp(o,n);return Z(r,t).fold(N(r),(e=>r.slice(0,e)))},g_=e=>1===zn(e),p_=(e,t)=>{const n=T(Zb,e);return te(t,(e=>n(e)?[e.dom]:[]))},h_=e=>{const t=(e=>f_(e,(t=>e.schema.isBlock(Ht(t)))))(e);return p_(e,t)},b_=(e,t)=>{const n=Y((e=>f_(e,(t=>e.schema.isBlock(Ht(t))||(e=>zn(e)>1)(t))))(e),g_);return de(n).bind((o=>{const r=Vi.fromRangeStart(e.selection.getRng());return Oh(t,r,o.dom)&&!Tm(o)?I.some((()=>((e,t,n,o)=>{const r=p_(t,o);if(0===r.length)vh(t,e,n);else{const e=Jb(n.dom,r);t.selection.setRng(e.toRange())}})(t,e,o,n))):I.none()}))},v_=(e,t)=>{const n=e.selection.getStart(),o=((e,t)=>{const n=t.parentElement;return ar(t)&&!h(n)&&e.dom.isEmpty(n)})(e,n)||Tm(yn(n))?Jb(n,t):((e,t)=>{const{caretContainer:n,caretPosition:o}=Qb(t);return e.insertNode(n.dom),o})(e.selection.getRng(),t);e.selection.setRng(o.toRange())},y_=e=>er(e.startContainer),C_=e=>{const t=e.selection.getRng();return(e=>0===e.startOffset&&y_(e))(t)&&((e,t)=>{const n=t.startContainer.parentElement;return!h(n)&&Zb(e,yn(n))})(e,t)&&(e=>(e=>(e=>{const t=e.startContainer.parentNode,n=e.endContainer.parentNode;return!h(t)&&!h(n)&&t.isEqualNode(n)})(e)&&(e=>{const t=e.endContainer;return e.endOffset===(er(t)?t.length:t.childNodes.length)})(e))(e)||(e=>!e.endContainer.isEqualNode(e.commonAncestorContainer))(e))(t)},w_=(e,t)=>e.selection.isCollapsed()?b_(e,t):(e=>{if(C_(e)){const t=h_(e);return I.some((()=>{Nh(e),((e,t)=>{const n=re(t,h_(e));n.length>0&&v_(e,n)})(e,t)}))}return I.none()})(e),x_=(e,t)=>Qn(e,(e=>Du(e.dom)),(e=>t.isBlock(Ht(e)))).isSome(),E_=e=>((e=>{const t=e.selection.getRng();return t.collapsed&&(y_(t)||e.dom.isEmpty(t.startContainer))&&!(e=>x_(yn(e.selection.getStart()),e.schema))(e)})(e)&&v_(e,[]),!0),__=(e,t,n)=>C(n)?I.some((()=>{e._selectionOverrides.hideFakeCaret(),vh(e,t,yn(n))})):I.none(),S_=(e,t)=>e.selection.isCollapsed()?((e,t)=>{const n=t?Sp:kp,o=t?cu.Forwards:cu.Backwards,r=au(o,e.getBody(),e.selection.getRng());return n(r)?__(e,t,r.getNode(!t)):I.from(Eh(t,r)).filter((e=>n(e)&&du(r,e))).bind((n=>__(e,t,n.getNode(!t))))})(e,t):((e,t)=>{const n=e.selection.getNode();return mr(n)?__(e,t,n):I.none()})(e,t),k_=e=>Xe(null!=e?e:"").getOr(0),N_=(e,t)=>(e||"table"===Ht(t)?"margin":"padding")+("rtl"===co(t,"direction")?"-right":"-left"),R_=e=>{const t=T_(e);return!e.mode.isReadOnly()&&(t.length>1||((e,t)=>ne(t,(t=>{const n=N_(od(e),t),o=mo(t,n).map(k_).getOr(0);return"false"!==e.dom.getContentEditable(t.dom)&&o>0})))(e,t))},A_=e=>Sr(e)||kr(e),T_=e=>Y(_o(e.selection.getSelectedBlocks()),(e=>!A_(e)&&!(e=>An(e).exists(A_))(e)&&Jn(e,(e=>lr(e.dom)||dr(e.dom))).exists((e=>lr(e.dom))))),O_=(e,t)=>{var n,o;const{dom:r}=e,s=rd(e),a=null!==(o=null===(n=/[a-z%]+$/i.exec(s))||void 0===n?void 0:n[0])&&void 0!==o?o:"px",i=k_(s),l=od(e);V(T_(e),(e=>{((e,t,n,o,r,s)=>{const a=N_(n,yn(s)),i=k_(e.getStyle(s,a));if("outdent"===t){const t=Math.max(0,i-o);e.setStyle(s,a,t?t+r:"")}else{const t=i+o+r;e.setStyle(s,a,t)}})(r,t,l,i,a,e.dom)}))},B_=e=>O_(e,"outdent"),P_=e=>{if(e.selection.isCollapsed()&&R_(e)){const t=e.dom,n=e.selection.getRng(),o=Vi.fromRangeStart(n),r=t.getParent(n.startContainer,t.isBlock);if(null!==r&&Ip(yn(r),o,e.schema))return I.some((()=>B_(e)))}return I.none()},D_=(e,t,n)=>ue([P_,Hx,Dx,(e,n)=>m_(e,t,n),_x,ib,$x,S_,Nx,w_],(t=>t(e,n))).filter((t=>e.selection.isEditable())),L_=(e,t)=>{e.addCommand("delete",(()=>{((e,t)=>{D_(e,t,!1).fold((()=>{e.selection.isEditable()&&(Nh(e),Th(e))}),D)})(e,t)})),e.addCommand("forwardDelete",(()=>{((e,t)=>{D_(e,t,!0).fold((()=>{e.selection.isEditable()&&(e=>{kh(e,"ForwardDelete")})(e)}),D)})(e,t)}))},M_=e=>void 0===e.touches||1!==e.touches.length?I.none():I.some(e.touches[0]),I_=(e,t)=>Ee(e,t.nodeName),F_=(e,t)=>!!er(t)||!!qo(t)&&!(I_(e.getBlockElements(),t)||Ku(t)||Ts(e,t)||hs(t)),U_=(e,t)=>{if(er(t)){if(0===t.data.length)return!0;if(/^\s+$/.test(t.data))return!t.nextSibling||I_(e,t.nextSibling)||hs(t.nextSibling)}return!1},z_=e=>e.dom.create(Il(e),Fl(e)),j_=e=>{const t=e.dom,n=e.selection,o=e.schema,r=o.getBlockElements(),s=n.getStart(),a=e.getBody();let i,l,d=!1;const c=Il(e);if(!s||!qo(s))return;const u=a.nodeName.toLowerCase();if(!o.isValidChild(u,c.toLowerCase())||((e,t,n)=>$(Op(yn(n),yn(t)),(t=>I_(e,t.dom))))(r,a,s))return;const m=n.getRng(),{startContainer:f,startOffset:g,endContainer:p,endOffset:h}=m,b=Rg(e);let v=a.firstChild;for(;v;)if(qo(v)&&ks(o,v),F_(o,v)){if(U_(r,v)){l=v,v=v.nextSibling,t.remove(l);continue}i||(i=z_(e),a.insertBefore(i,v),d=!0),l=v,v=v.nextSibling,i.appendChild(l)}else i=null,v=v.nextSibling;d&&b&&(m.setStart(f,g),m.setEnd(p,h),n.setRng(m),e.nodeChanged())},H_=(e,t,n)=>{const o=yn(z_(e)),r=Tr();vo(o,r),n(t,o);const s=document.createRange();return s.setStartBefore(r.dom),s.setEndBefore(r.dom),s},$_=e=>t=>-1!==(" "+t.attr("class")+" ").indexOf(e),q_=(e,t,n)=>function(o){const r=arguments,s=r[r.length-2],a=s>0?t.charAt(s-1):"";if('"'===a)return o;if(">"===a){const e=t.lastIndexOf("<",s);if(-1!==e&&-1!==t.substring(e,s).indexOf('contenteditable="false"'))return o}return''+e.dom.encode("string"==typeof r[1]?r[1]:r[0])+""},V_=(e,t)=>ne(e,(e=>{const n=t.match(e);return null!==n&&n[0].length===t.length})),W_=(e,t)=>{t.hasAttribute("data-mce-caret")&&(Vr(t),e.selection.setRng(e.selection.getRng()),e.selection.scrollIntoView(t))},K_=(e,t)=>{const n=(e=>to(yn(e.getBody()),"*[data-mce-caret]").map((e=>e.dom)).getOrNull())(e);if(n)return"compositionstart"===t.type?(t.preventDefault(),t.stopPropagation(),void W_(e,n)):void(zr(n)&&(W_(e,n),e.undoManager.add()))},Y_=dr,G_=(e,t,n)=>{const o=wu(e.getBody()),r=T(lu,1===t?o.next:o.prev);if(n.collapsed){const o=e.dom.getParent(n.startContainer,"PRE");if(!o)return;if(!r(Vi.fromRangeStart(n))){const n=yn((e=>{const t=e.dom.create(Il(e));return t.innerHTML='
    ',t})(e));1===t?ho(yn(o),n):po(yn(o),n),e.selection.select(n.dom,!0),e.selection.collapse()}}},X_=(e,t)=>((e,t)=>{const n=t?cu.Forwards:cu.Backwards,o=e.selection.getRng();return((e,t,n)=>XE(t,e,n,Ap,Tp,Y_))(n,e,o).orThunk((()=>(G_(e,n,o),I.none())))})(e,((e,t)=>{const n=t?e.getEnd(!0):e.getStart(!0);return wh(n)?!t:t})(e.selection,t)).exists((t=>(YE(e,t),!0))),Q_=(e,t)=>((e,t)=>{const n=t?1:-1,o=e.selection.getRng();return((e,t,n)=>QE(t,e,n,(e=>Ap(e)||Np(e)),(e=>Tp(e)||Rp(e)),Y_))(n,e,o).orThunk((()=>(G_(e,n,o),I.none())))})(e,t).exists((t=>(YE(e,t),!0))),J_=(e,t)=>ZE(e,t,t?Tp:Ap),Z_=(e,t)=>Lx(e,!t).map((n=>{const o=n.toRange(),r=e.selection.getRng();return t?o.setStart(r.startContainer,r.startOffset):o.setEnd(r.endContainer,r.endOffset),o})).exists((t=>(YE(e,t),!0))),eS=e=>H(["figcaption"],Ht(e)),tS=(e,t)=>!!e.selection.isCollapsed()&&((e,t)=>{const n=yn(e.getBody()),o=Vi.fromRangeStart(e.selection.getRng());return((e,t,n)=>{const o=T(_n,t);return Jn(yn(e.container()),(e=>n.isBlock(Ht(e))),o).filter(eS)})(o,n,e.schema).exists((()=>{if(((e,t,n)=>t?BE(e.dom,n):OE(e.dom,n))(n,t,o)){const o=H_(e,n,t?vo:bo);return e.selection.setRng(o),!0}return!1}))})(e,t),nS=(e,t)=>((e,t)=>t?I.from(e.dom.getParent(e.selection.getNode(),"details")).map((t=>((e,t)=>{const n=e.selection.getRng(),o=Vi.fromRangeStart(n);return!(e.getBody().lastChild!==t||!BE(t,o)||(e.execCommand("InsertNewBlockAfter"),0))})(e,t))).getOr(!1):I.from(e.dom.getParent(e.selection.getNode(),"summary")).bind((t=>I.from(e.dom.getParent(t,"details")).map((n=>((e,t,n)=>{const o=e.selection.getRng(),r=Vi.fromRangeStart(o);return!(e.getBody().firstChild!==t||!OE(n,r)||(e.execCommand("InsertNewBlockBefore"),0))})(e,n,t))))).getOr(!1))(e,t),oS={shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1,keyCode:0},rS=(e,t)=>t.keyCode===e.keyCode&&t.shiftKey===e.shiftKey&&t.altKey===e.altKey&&t.ctrlKey===e.ctrlKey&&t.metaKey===e.metaKey,sS=(e,...t)=>()=>e.apply(null,t),aS=(e,t)=>J(((e,t)=>te((e=>q(e,(e=>({...oS,...e}))))(e),(e=>rS(e,t)?[e]:[])))(e,t),(e=>e.action())),iS=(e,t)=>ue(((e,t)=>te((e=>q(e,(e=>({...oS,...e}))))(e),(e=>rS(e,t)?[e]:[])))(e,t),(e=>e.action())),lS=(e,t)=>{const n=t?cu.Forwards:cu.Backwards,o=e.selection.getRng();return XE(e,n,o,Sp,kp,mr).exists((t=>(YE(e,t),!0)))},dS=(e,t)=>{const n=t?1:-1,o=e.selection.getRng();return QE(e,n,o,Sp,kp,mr).exists((t=>(YE(e,t),!0)))},cS=(e,t)=>ZE(e,t,t?kp:Sp),uS=hl([{none:["current"]},{first:["current"]},{middle:["current","target"]},{last:["current"]}]),mS={...uS,none:e=>uS.none(e)},fS=(e,t,n)=>te(Mn(e),(e=>xn(e,t)?n(e)?[e]:[]:fS(e,t,n))),gS=(e,t)=>no(e,"table",t),pS=(e,t,n,o,r=M)=>{const s=1===o;if(!s&&n<=0)return mS.first(e[0]);if(s&&n>=e.length-1)return mS.last(e[e.length-1]);{const s=n+o,a=e[s];return r(a)?mS.middle(t,a):pS(e,t,s,o,r)}},hS=(e,t)=>gS(e,t).bind((t=>{const n=fS(t,"th,td",M);return Z(n,(t=>_n(e,t))).map((e=>({index:e,all:n})))})),bS=(e,t,n,o,r)=>{const s=Uo(yn(n),"td,th,caption").map((e=>e.dom)),a=Y(((e,t)=>te(t,(t=>{const n=((e,t)=>({left:e.left-t,top:e.top-t,right:e.right+-2,bottom:e.bottom+-2,width:e.width+t,height:e.height+t}))(vi(t.getBoundingClientRect()),-1);return[{x:n.left,y:e(n),cell:t},{x:n.right,y:e(n),cell:t}]})))(e,s),(e=>t(e,r)));return((e,t,n)=>X(e,((e,o)=>e.fold((()=>I.some(o)),(e=>{const r=Math.sqrt(Math.abs(e.x-t)+Math.abs(e.y-n)),s=Math.sqrt(Math.abs(o.x-t)+Math.abs(o.y-n));return I.some(se.cell))},vS=T(bS,(e=>e.bottom),((e,t)=>e.ye.top),((e,t)=>e.y>t)),CS=(e,t,n)=>{const o=e(t,n);return(e=>e.breakType===yE.Wrap&&0===e.positions.length)(o)||!ar(n.getNode())&&(e=>e.breakType===yE.Br&&1===e.positions.length)(o)?!((e,t,n)=>n.breakAt.exists((n=>e(t,n).breakAt.isSome())))(e,t,o):o.breakAt.isNone()},wS=T(CS,NE),xS=T(CS,RE),ES=(e,t,n,o)=>{const r=e.selection.getRng(),s=t?1:-1;return!(!Dc()||!((e,t,n)=>{const o=Vi.fromRangeStart(t);return Ru(!e,n).exists((e=>e.isEqual(o)))})(t,r,n)||(Rx(s,e,n,!t,!1).each((t=>{YE(e,t)})),0))},_S=(e,t,n)=>{const o=((e,t)=>{const n=t.getNode(e);return Qo(n)?I.some(n):I.none()})(!!t,n),r=!1===t;o.fold((()=>YE(e,n.toRange())),(o=>Ru(r,e.getBody()).filter((e=>e.isEqual(n))).fold((()=>YE(e,n.toRange())),(n=>((e,t,n)=>{t.undoManager.transact((()=>{const o=e?ho:po,r=H_(t,yn(n),o);YE(t,r)}))})(t,e,o)))))},SS=(e,t,n,o)=>{const r=e.selection.getRng(),s=Vi.fromRangeStart(r),a=e.getBody();if(!t&&wS(o,s)){const o=((e,t,n)=>((e,t)=>le(t.getClientRects()).bind((t=>vS(e,t.left,t.top))).bind((e=>{return kE(Bu(n=e).map((e=>NE(n,e).positions.concat(e))).getOr([]),t);var n})))(t,n).orThunk((()=>le(n.getClientRects()).bind((n=>SE(AE(e,Vi.before(t)),n.left))))).getOr(Vi.before(t)))(a,n,s);return _S(e,t,o),!0}if(t&&xS(o,s)){const o=((e,t,n)=>((e,t)=>de(t.getClientRects()).bind((t=>yS(e,t.left,t.top))).bind((e=>{return kE(Ou(n=e).map((e=>[e].concat(RE(n,e).positions))).getOr([]),t);var n})))(t,n).orThunk((()=>le(n.getClientRects()).bind((n=>SE(TE(e,Vi.after(t)),n.left))))).getOr(Vi.after(t)))(a,n,s);return _S(e,t,o),!0}return!1},kS=(e,t,n)=>I.from(e.dom.getParent(e.selection.getNode(),"td,th")).bind((o=>I.from(e.dom.getParent(o,"table")).map((r=>n(e,t,r,o))))).getOr(!1),NS=(e,t)=>kS(e,t,ES),RS=(e,t)=>kS(e,t,SS),AS=(e,t,n)=>n.fold(I.none,I.none,((e,t)=>{return(n=t,Zn(n,Fg)).map((e=>(e=>{const t=xf.exact(e,0,e,0);return Nf(t)})(e)));var n}),(n=>(e.execCommand("mceTableInsertRowAfter"),TS(e,t,n)))),TS=(e,t,n)=>{return AS(e,t,(r=oo,hS(o=n,void 0).fold((()=>mS.none(o)),(e=>pS(e.all,o,e.index,1,r)))));var o,r},OS=(e,t,n)=>{return AS(e,t,(r=oo,hS(o=n,void 0).fold((()=>mS.none()),(e=>pS(e.all,o,e.index,-1,r)))));var o,r},BS=(e,t)=>{const n=["table","li","dl"],o=yn(e.getBody()),r=e=>{const t=Ht(e);return _n(e,o)||H(n,t)},s=e.selection.getRng();return((e,t)=>((e,t,n=L)=>n(t)?I.none():H(e,Ht(t))?I.some(t):eo(t,e.join(","),(e=>xn(e,"table")||n(e))))(["td","th"],e,t))(yn(t?s.endContainer:s.startContainer),r).map((n=>(gS(n,r).each((t=>{e.model.table.clearSelectedCells(t.dom)})),e.selection.collapse(!t),(t?TS:OS)(e,r,n).each((t=>{e.selection.setRng(t)})),!0))).getOr(!1)},PS=(e,t)=>({container:e,offset:t}),DS=za.DOM,LS=e=>t=>e===t?-1:0,MS=(e,t,n)=>{if(er(e)&&t>=0)return I.some(PS(e,t));{const o=hi(DS);return I.from(o.backwards(e,t,LS(e),n)).map((e=>PS(e.container,e.container.data.length)))}},IS=(e,t,n)=>{if(!er(e))return I.none();const o=e.data;if(t>=0&&t<=o.length)return I.some(PS(e,t));{const o=hi(DS);return I.from(o.backwards(e,t,LS(e),n)).bind((e=>{const o=e.container.data;return IS(e.container,t+o.length,n)}))}},FS=(e,t,n)=>{if(!er(e))return I.none();const o=e.data;if(t<=o.length)return I.some(PS(e,t));{const r=hi(DS);return I.from(r.forwards(e,t,LS(e),n)).bind((e=>FS(e.container,t-o.length,n)))}},US=(e,t,n,o,r)=>{const s=hi(e,(e=>t=>e.isBlock(t)||H(["BR","IMG","HR","INPUT"],t.nodeName)||"false"===e.getContentEditable(t))(e));return I.from(s.backwards(t,n,o,r))},zS=e=>Dr(e.toString().replace(/\u00A0/g," ")),jS=e=>""!==e&&-1!==" \xa0\f\n\r\t\v".indexOf(e),HS=(e,t)=>e.substring(t.length),$S=(e,t,n,o=0)=>{return(r=yn(t.startContainer),no(r,Ug)).fold((()=>((e,t,n,o=0)=>{if(!(r=t).collapsed||!er(r.startContainer))return I.none();var r;const s={text:"",offset:0},a=e.getParent(t.startContainer,e.isBlock)||e.getRoot();return US(e,t.startContainer,t.startOffset,((e,t,o)=>(s.text=o+s.text,s.offset+=t,((e,t,n)=>{let o;const r=n.charAt(0);for(o=t-1;o>=0;o--){const s=e.charAt(o);if(jS(s))return I.none();if(r===s&&je(e,n,o,t))break}return I.some(o)})(s.text,s.offset,n).getOr(t))),a).bind((e=>{const r=t.cloneRange();if(r.setStart(e.container,e.offset),r.setEnd(t.endContainer,t.endOffset),r.collapsed)return I.none();const s=zS(r);return 0!==s.lastIndexOf(n)||HS(s,n).length{const o=e.createRng();o.selectNode(t.dom);const r=zS(o);return I.some({range:o,text:HS(r,n),trigger:n})}));var r},qS=e=>{if((e=>3===e.nodeType)(e))return PS(e,e.data.length);{const t=e.childNodes;return t.length>0?qS(t[t.length-1]):PS(e,t.length)}},VS=(e,t)=>{const n=e.childNodes;return n.length>0&&t0&&(e=>1===e.nodeType)(e)&&n.length===t?qS(n[n.length-1]):PS(e,t)},WS=(e,t,n,o={})=>{var r;const s=t(),a=null!==(r=e.selection.getRng().startContainer.nodeValue)&&void 0!==r?r:"",i=Y(s.lookupByTrigger(n.trigger),(t=>n.text.length>=t.minChars&&t.matches.getOrThunk((()=>(e=>t=>{const n=VS(t.startContainer,t.startOffset);return!((e,t)=>{var n;const o=null!==(n=e.getParent(t.container,e.isBlock))&&void 0!==n?n:e.getRoot();return US(e,t.container,t.offset,((e,t)=>0===t?-1:t),o).filter((e=>{const t=e.container.data.charAt(e.offset-1);return!jS(t)})).isSome()})(e,n)})(e.dom)))(n.range,a,n.text)));if(0===i.length)return I.none();const l=Promise.all(q(i,(e=>e.fetch(n.text,e.maxResults,o).then((t=>({matchText:n.text,items:t,columns:e.columns,onAction:e.onAction,highlightOn:e.highlightOn}))))));return I.some({lookupData:l,context:n})};var KS;!function(e){e[e.Error=0]="Error",e[e.Value=1]="Value"}(KS||(KS={}));const YS=(e,t,n)=>e.stype===KS.Error?t(e.serror):n(e.svalue),GS=e=>({stype:KS.Value,svalue:e}),XS=e=>({stype:KS.Error,serror:e}),QS=YS,JS=e=>f(e)&&me(e).length>100?" removed due to size":JSON.stringify(e,null,2),ZS=(e,t)=>XS([{path:e,getErrorInfo:t}]),ek=(e,t)=>({extract:(n,o)=>xe(o,e).fold((()=>((e,t)=>ZS(e,(()=>'Choice schema did not contain choice key: "'+t+'"')))(n,e)),(e=>((e,t,n,o)=>xe(n,o).fold((()=>((e,t,n)=>ZS(e,(()=>'The chosen schema: "'+n+'" did not exist in branches: '+JS(t))))(e,n,o)),(n=>n.extract(e.concat(["branch: "+o]),t))))(n,o,t,e))),toString:()=>"chooseOn("+e+"). Possible values: "+me(t)}),tk=e=>(...t)=>{if(0===t.length)throw new Error("Can't merge zero objects");const n={};for(let o=0;og(e)&&g(t)?nk(e,t):t)),ok=(tk(((e,t)=>t)),e=>({tag:"defaultedThunk",process:N(e)})),rk=e=>{const t=(e=>{const t=[],n=[];return V(e,(e=>{YS(e,(e=>n.push(e)),(e=>t.push(e)))})),{values:t,errors:n}})(e);return t.errors.length>0?(n=t.errors,S(XS,ee)(n)):GS(t.values);var n},sk=(e,t,n)=>{switch(e.tag){case"field":return t(e.key,e.newKey,e.presence,e.prop);case"custom":return n(e.newKey,e.instantiator)}},ak=e=>({extract:(t,n)=>{return o=e(n),r=e=>((e,t)=>ZS(e,N(t)))(t,e),o.stype===KS.Error?r(o.serror):o;var o,r},toString:N("val")}),ik=ak(GS),lk=(e,t,n,o)=>o(xe(e,t).getOrThunk((()=>n(e)))),dk=(e,t,n,o,r)=>{const s=e=>r.extract(t.concat([o]),e),a=e=>e.fold((()=>GS(I.none())),(e=>{const n=r.extract(t.concat([o]),e);return s=n,a=I.some,s.stype===KS.Value?{stype:KS.Value,svalue:a(s.svalue)}:s;var s,a}));switch(e.tag){case"required":return((e,t,n,o)=>xe(t,n).fold((()=>((e,t,n)=>ZS(e,(()=>'Could not find valid *required* value for "'+t+'" in '+JS(n))))(e,n,t)),o))(t,n,o,s);case"defaultedThunk":return lk(n,o,e.process,s);case"option":return((e,t,n)=>n(xe(e,t)))(n,o,a);case"defaultedOptionThunk":return((e,t,n,o)=>o(xe(e,t).map((t=>!0===t?n(e):t))))(n,o,e.process,a);case"mergeWithThunk":return lk(n,o,N({}),(t=>{const o=nk(e.process(n),t);return s(o)}))}},ck=e=>({extract:(t,n)=>((e,t,n)=>{const o={},r=[];for(const s of n)sk(s,((n,s,a,i)=>{const l=dk(a,e,t,n,i);QS(l,(e=>{r.push(...e)}),(e=>{o[s]=e}))}),((e,n)=>{o[e]=n(t)}));return r.length>0?XS(r):GS(o)})(t,n,e),toString:()=>{const t=q(e,(e=>sk(e,((e,t,n,o)=>e+" -> "+o.toString()),((e,t)=>"state("+e+")"))));return"obj{\n"+t.join("\n")+"}"}}),uk=e=>({extract:(t,n)=>{const o=q(n,((n,o)=>e.extract(t.concat(["["+o+"]"]),n)));return rk(o)},toString:()=>"array("+e.toString()+")"}),mk=(e,t,n)=>{return o=((e,t,n)=>((e,t)=>e.stype===KS.Error?{stype:KS.Error,serror:t(e.serror)}:e)(t.extract([e],n),(e=>({input:n,errors:e}))))(e,t,n),YS(o,pl.error,pl.value);var o},fk=(e,t)=>ek(e,pe(t,ck)),gk=N(ik),pk=(e,t)=>ak((n=>{const o=typeof n;return e(n)?GS(n):XS(`Expected type: ${t} but got: ${o}`)})),hk=pk(x,"number"),bk=pk(m,"string"),vk=pk(b,"boolean"),yk=pk(w,"function"),Ck=(e,t,n,o)=>({tag:"field",key:e,newKey:t,presence:n,prop:o}),wk=(e,t)=>({tag:"custom",newKey:e,instantiator:t}),xk=(e,t)=>Ck(e,e,{tag:"required",process:{}},t),Ek=e=>xk(e,bk),_k=e=>xk(e,yk),Sk=(e,t)=>Ck(e,e,{tag:"option",process:{}},t),kk=e=>Sk(e,bk),Nk=(e,t,n)=>Ck(e,e,ok(t),n),Rk=(e,t)=>Nk(e,t,hk),Ak=(e,t,n)=>Nk(e,t,(e=>{return t=t=>H(e,t)?pl.value(t):pl.error(`Unsupported value: "${t}", choose one of "${e.join(", ")}".`),ak((e=>t(e).fold(XS,GS)));var t})(n)),Tk=(e,t)=>Nk(e,t,vk),Ok=(e,t)=>Nk(e,t,yk),Bk=Ek("type"),Pk=_k("fetch"),Dk=_k("onAction"),Lk=Ok("onSetup",(()=>_)),Mk=kk("text"),Ik=kk("icon"),Fk=kk("tooltip"),Uk=kk("label"),zk=Tk("active",!1),jk=Tk("enabled",!0),Hk=Tk("primary",!1),$k=e=>((e,t)=>Nk("type",t,bk))(0,e),qk=ck([Bk,Ek("trigger"),Rk("minChars",1),(1,((e,t)=>Ck(e,e,ok(1),gk()))("columns")),Rk("maxResults",10),("matches",Sk("matches",yk)),Pk,Dk,(Vk=bk,Nk("highlightOn",[],uk(Vk)))]);var Vk;const Wk=[jk,Fk,Ik,Mk,Lk],Kk=[zk].concat(Wk),Yk=[Ok("predicate",L),Ak("scope","node",["node","editor"]),Ak("position","selection",["node","selection","line"])],Gk=Wk.concat([$k("contextformbutton"),Hk,Dk,wk("original",R)]),Xk=Kk.concat([$k("contextformbutton"),Hk,Dk,wk("original",R)]),Qk=Wk.concat([$k("contextformbutton")]),Jk=Kk.concat([$k("contextformtogglebutton")]),Zk=fk("type",{contextformbutton:Gk,contextformtogglebutton:Xk});ck([$k("contextform"),Ok("initValue",N("")),Uk,((e,t)=>Ck(e,e,{tag:"required",process:{}},uk(t)))("commands",Zk),Sk("launch",fk("type",{contextformbutton:Qk,contextformtogglebutton:Jk}))].concat(Yk));const eN=e=>{const t=e.ui.registry.getAll().popups,n=pe(t,(e=>{return(t=e,mk("Autocompleter",qk,{trigger:t.ch,...t})).fold((e=>{throw new Error("Errors: \n"+(e=>{const t=e.length>10?e.slice(0,10).concat([{path:[],getErrorInfo:N("... (only showing first ten failures)")}]):e;return q(t,(e=>"Failed path: ("+e.path.join(" > ")+")\n"+e.getErrorInfo()))})((t=e).errors).join("\n")+"\n\nInput object: "+JS(t.input));var t}),R);var t})),o=Se(Ce(n,(e=>e.trigger))),r=we(n);return{dataset:n,triggers:o,lookupByTrigger:e=>Y(r,(t=>t.trigger===e))}},tN=e=>{const t=Xa(),n=$a(!1),o=t.isSet,r=()=>{o()&&((e=>{tw(e).autocompleter.removeDecoration()})(e),(e=>{e.dispatch("AutocompleterEnd")})(e),n.set(!1),t.clear())},s=De((()=>eN(e))),a=a=>{(n=>t.get().map((t=>$S(e.dom,e.selection.getRng(),t.trigger).bind((t=>WS(e,s,t,n))))).getOrThunk((()=>((e,t)=>{const n=t(),o=e.selection.getRng();return((e,t,n)=>ue(n.triggers,(n=>$S(e,t,n))))(e.dom,o,n).bind((n=>WS(e,t,n)))})(e,s))))(a).fold(r,(s=>{(n=>{o()||(((e,t)=>{tw(e).autocompleter.addDecoration(t)})(e,n.range),t.set({trigger:n.trigger,matchLength:n.text.length}))})(s.context),s.lookupData.then((o=>{t.get().map((a=>{const i=s.context;a.trigger===i.trigger&&(i.text.length-a.matchLength>=10?r():(t.set({...a,matchLength:i.text.length}),n.get()?((e,t)=>{e.dispatch("AutocompleterUpdate",t)})(e,{lookupData:o}):(n.set(!0),((e,t)=>{e.dispatch("AutocompleterStart",t)})(e,{lookupData:o}))))}))}))}))};e.addCommand("mceAutocompleterReload",((e,t)=>{const n=f(t)?t.fetchOptions:{};a(n)})),e.addCommand("mceAutocompleterClose",r),((e,t)=>{const n=Ja(t.load,50);e.on("keypress compositionend",(e=>{27!==e.which&&n.throttle()})),e.on("keydown",(e=>{const o=e.which;8===o?n.throttle():27===o&&t.cancelIfNecessary()})),e.on("remove",n.cancel)})(e,{cancelIfNecessary:r,load:a})},nN=xt().browser.isSafari(),oN=e=>Or(yn(e)),rN=(e,t)=>{var n;return 0===e.startOffset&&e.endOffset===(null===(n=t.textContent)||void 0===n?void 0:n.length)},sN=(e,t)=>I.from(e.getParent(t.container(),"details")),aN=(e,t)=>sN(e,t).isSome(),iN=(e,t)=>{const n=t.getNode();v(n)||e.selection.setCursorLocation(n,t.offset())},lN=(e,t,n)=>{const o=e.dom.getParent(t.container(),"details");if(o&&!o.open){const t=e.dom.select("summary",o)[0];t&&(n?Ou(t):Bu(t)).each((t=>iN(e,t)))}else iN(e,t)},dN=(e,t,n)=>{const{dom:o,selection:r}=e,s=e.getBody();if("character"===n){const n=Vi.fromRangeStart(r.getRng()),a=o.getParent(n.container(),o.isBlock),i=sN(o,n),l=a&&o.isEmpty(a),d=h(null==a?void 0:a.previousSibling),c=h(null==a?void 0:a.nextSibling);return!!(l&&(t?c:d)&&ku(!t,s,n).exists((e=>aN(o,e)&&!Lt(i,sN(o,e)))))||ku(t,s,n).fold(L,(n=>{const r=sN(o,n);if(aN(o,n)&&!Lt(i,r)){if(t||lN(e,n,!1),a&&l){if(t&&d)return!0;if(!t&&c)return!0;lN(e,n,t),e.dom.remove(a)}return!0}return!1}))}return!1},cN=(e,t,n,o)=>{const r=e.selection.getRng(),s=Vi.fromRangeStart(r),a=e.getBody();return"selection"===o?((e,t)=>{const n=t.startSummary.exists((t=>t.contains(e.startContainer))),o=t.startSummary.exists((t=>t.contains(e.endContainer))),r=t.startDetails.forall((e=>t.endDetails.forall((t=>e!==t))));return(n||o)&&!(n&&o)||r})(r,t):n?((e,t)=>t.startSummary.exists((t=>((e,t)=>Bu(t).exists((n=>ar(n.getNode())&&Tu(t,n).exists((t=>t.isEqual(e)))||n.isEqual(e))))(e,t))))(s,t)||((e,t,n)=>n.startDetails.exists((n=>Au(e,t).forall((e=>!n.contains(e.container()))))))(a,s,t):((e,t)=>t.startSummary.exists((t=>((e,t)=>Ou(t).exists((t=>t.isEqual(e))))(e,t))))(s,t)||((e,t)=>t.startDetails.exists((n=>Tu(n,e).forall((n=>t.startSummary.exists((t=>!t.contains(e.container())&&t.contains(n.container()))))))))(s,t)},uN=(e,t,n)=>((e,t,n)=>((e,t)=>{const n=I.from(e.getParent(t.startContainer,"details")),o=I.from(e.getParent(t.endContainer,"details"));if(n.isSome()||o.isSome()){const t=n.bind((t=>I.from(e.select("summary",t)[0])));return I.some({startSummary:t,startDetails:n,endDetails:o})}return I.none()})(e.dom,e.selection.getRng()).fold((()=>dN(e,t,n)),(o=>cN(e,o,t,n)||dN(e,t,n))))(e,t,n)||nN&&((e,t,n)=>{const o=e.selection,r=o.getNode(),s=o.getRng(),a=Vi.fromRangeStart(s);return!!pr(r)&&("selection"===n&&rN(s,r)||Oh(t,a,r)?oN(r):e.undoManager.transact((()=>{const s=o.getSel();let{anchorNode:a,anchorOffset:i,focusNode:l,focusOffset:d}=null!=s?s:{};const c=()=>{C(a)&&C(i)&&C(l)&&C(d)&&(null==s||s.setBaseAndExtent(a,i,l,d))},u=(e,t)=>{V(e.childNodes,(e=>{dm(e)&&t.appendChild(e)}))},m=e.dom.create("span",{"data-mce-bogus":"1"});u(r,m),r.appendChild(m),c(),"word"!==n&&"line"!==n||null==s||s.modify("extend",t?"right":"left",n),!o.isCollapsed()&&rN(o.getRng(),m)?oN(r):(e.execCommand(t?"ForwardDelete":"Delete"),a=null==s?void 0:s.anchorNode,i=null==s?void 0:s.anchorOffset,l=null==s?void 0:s.focusNode,d=null==s?void 0:s.focusOffset,u(m,r),c()),e.dom.remove(m)})),!0)})(e,t,n)?I.some(_):I.none(),mN=e=>(t,n,o={})=>{const r=t.getBody(),s={bubbles:!0,composed:!0,data:null,isComposing:!1,detail:0,view:null,target:r,currentTarget:r,eventPhase:Event.AT_TARGET,originalTarget:r,explicitOriginalTarget:r,isTrusted:!1,srcElement:r,cancelable:!1,preventDefault:_,inputType:n},a=Ea(new InputEvent(e));return t.dispatch(e,{...a,...s,...o})},fN=mN("input"),gN=mN("beforeinput"),pN=xt(),hN=pN.os,bN=hN.isMacOS()||hN.isiOS(),vN=pN.browser.isFirefox(),yN=(e,t)=>{const n=e.dom,o=e.schema.getMoveCaretBeforeOnEnterElements();if(!t)return;if(/^(LI|DT|DD)$/.test(t.nodeName)){const e=(e=>{for(;e;){if(qo(e)||er(e)&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}return null})(t.firstChild);e&&/^(UL|OL|DL)$/.test(e.nodeName)&&t.insertBefore(n.doc.createTextNode(br),t.firstChild)}const r=n.createRng();if(t.normalize(),t.hasChildNodes()){const e=new jo(t,t);let n,s=t;for(;n=e.current();){if(er(n)){r.setStart(n,0),r.setEnd(n,0);break}if(o[n.nodeName.toLowerCase()]){r.setStartBefore(n),r.setEndBefore(n);break}s=n,n=e.next()}n||(r.setStart(s,0),r.setEnd(s,0))}else ar(t)?t.nextSibling&&n.isBlock(t.nextSibling)?(r.setStartBefore(t),r.setEndBefore(t)):(r.setStartAfter(t),r.setEndAfter(t)):(r.setStart(t,0),r.setEnd(t,0));e.selection.setRng(r),sg(e,r)},CN=(e,t)=>{const n=e.getRoot();let o,r=t;for(;r!==n&&r&&"false"!==e.getContentEditable(r);){if("true"===e.getContentEditable(r)){o=r;break}r=r.parentNode}return r!==n?o:n},wN=e=>I.from(e.dom.getParent(e.selection.getStart(!0),e.dom.isBlock)),xN=e=>{e.innerHTML='
    '},EN=(e,t)=>{Il(e).toLowerCase()===t.tagName.toLowerCase()&&((e,t,n)=>{const o=e.dom;I.from(n.style).map(o.parseStyle).each((e=>{const n={...fo(yn(t)),...e};o.setStyles(t,n)}));const r=I.from(n.class).map((e=>e.split(/\s+/))),s=I.from(t.className).map((e=>Y(e.split(/\s+/),(e=>""!==e))));Mt(r,s,((e,n)=>{const r=Y(n,(t=>!H(e,t))),s=[...e,...r];o.setAttrib(t,"class",s.join(" "))}));const a=["style","class"],i=ye(n,((e,t)=>!H(a,t)));o.setAttribs(t,i)})(e,t,Fl(e))},_N=(e,t,n,o,r=!0,s,a)=>{const i=e.dom,l=e.schema,d=Il(e),c=n?n.nodeName.toUpperCase():"";let u=t;const m=l.getTextInlineElements();let f;f=s||"TABLE"===c||"HR"===c?i.create(s||d,a||{}):n.cloneNode(!1);let g=f;if(r){do{if(m[u.nodeName]){if(Du(u)||Ku(u))continue;const e=u.cloneNode(!1);i.setAttrib(e,"id",""),f.hasChildNodes()?(e.appendChild(f.firstChild),f.appendChild(e)):(g=e,f.appendChild(e))}}while((u=u.parentNode)&&u!==o)}else i.setAttrib(f,"style",null),i.setAttrib(f,"class",null);return EN(e,f),xN(g),f},SN=(e,t)=>{const n=null==e?void 0:e.parentNode;return C(n)&&n.nodeName===t},kN=e=>C(e)&&/^(OL|UL|LI)$/.test(e.nodeName),NN=e=>C(e)&&/^(LI|DT|DD)$/.test(e.nodeName),RN=e=>{const t=e.parentNode;return NN(t)?t:e},AN=(e,t,n)=>{let o=e[n?"firstChild":"lastChild"];for(;o&&!qo(o);)o=o[n?"nextSibling":"previousSibling"];return o===t},TN=e=>X(Ce(fo(yn(e)),((e,t)=>`${t}: ${e};`)),((e,t)=>e+t),""),ON=(e,t)=>t&&"A"===t.nodeName&&e.isEmpty(t),BN=(e,t)=>e.nodeName===t||e.previousSibling&&e.previousSibling.nodeName===t,PN=(e,t)=>C(t)&&e.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&!/^(fixed|absolute)/i.test(t.style.position)&&e.isEditable(t.parentNode)&&"false"!==e.getContentEditable(t),DN=(e,t,n)=>er(t)?e?1===n&&t.data.charAt(n-1)===Br?0:n:n===t.data.length-1&&t.data.charAt(n)===Br?t.data.length:n:n,LN={insert:(e,t)=>{let n,o,r,s,a=!1;const i=e.dom,l=e.schema.getNonEmptyElements(),d=e.selection.getRng(),c=Il(e),u=yn(d.startContainer),f=In(u,d.startOffset),g=f.exists((e=>Vt(e)&&!oo(e))),p=d.collapsed&&g,b=(t,o)=>_N(e,n,S,_,Hl(e),t,o),v=e=>{const t=DN(e,n,o);if(er(n)&&(e?t>0:t{let t;return t=/^(H[1-6]|PRE|FIGURE)$/.test(r)&&"HGROUP"!==k?b(c):b(),((e,t)=>{const n=$l(e);return!y(t)&&(m(n)?H(Pt.explode(n),t.nodeName.toLowerCase()):n)})(e,s)&&PN(i,s)&&i.isEmpty(S,void 0,{includeZwsp:!0})?t=i.split(s,S):i.insertAfter(t,S),yN(e,t),t};Mf(i,d).each((e=>{d.setStart(e.startContainer,e.startOffset),d.setEnd(e.endContainer,e.endOffset)})),n=d.startContainer,o=d.startOffset;const x=!(!t||!t.shiftKey),E=!(!t||!t.ctrlKey);qo(n)&&n.hasChildNodes()&&!p&&(a=o>n.childNodes.length-1,n=n.childNodes[Math.min(o,n.childNodes.length-1)]||n,o=a&&er(n)?n.data.length:0);const _=CN(i,n);if(!_||((e,t)=>{const n=e.dom.getParent(t,"ol,ul,dl");return null!==n&&"false"===e.dom.getContentEditableParent(n)})(e,n))return;x||(n=((e,t,n,o,r)=>{var s,a;const i=e.dom,l=null!==(s=CN(i,o))&&void 0!==s?s:i.getRoot();let d=i.getParent(o,i.isBlock);if(!d||!PN(i,d)){if(d=d||l,!d.hasChildNodes()){const o=i.create(t);return EN(e,o),d.appendChild(o),n.setStart(o,0),n.setEnd(o,0),o}let s,c=o;for(;c&&c.parentNode!==d;)c=c.parentNode;for(;c&&!i.isBlock(c);)s=c,c=c.previousSibling;const u=null===(a=null==s?void 0:s.parentElement)||void 0===a?void 0:a.nodeName;if(s&&u&&e.schema.isValidChild(u,t.toLowerCase())){const a=s.parentNode,l=i.create(t);for(EN(e,l),a.insertBefore(l,s),c=s;c&&!i.isBlock(c);){const e=c.nextSibling;l.appendChild(c),c=e}n.setStart(o,r),n.setEnd(o,r)}}return o})(e,c,d,n,o));let S=i.getParent(n,i.isBlock)||i.getRoot();s=C(null==S?void 0:S.parentNode)?i.getParent(S.parentNode,i.isBlock):null,r=S?S.nodeName.toUpperCase():"";const k=s?s.nodeName.toUpperCase():"";if("LI"!==k||E||(S=s,s=s.parentNode,r=k),qo(s)&&((e,t,n)=>!t&&n.nodeName.toLowerCase()===Il(e)&&e.dom.isEmpty(n)&&((t,n,o)=>{let r=n;for(;r&&r!==t&&h(r.nextSibling);){const t=r.parentElement;if(!t||(s=t,!Ee(e.schema.getTextBlockElements(),s.nodeName.toLowerCase())))return gr(t);r=t}var s;return!1})(e.getBody(),n))(e,x,S))return((e,t,n)=>{var o,r,s;const a=t(Il(e)),i=((e,t)=>e.dom.getParent(t,gr))(e,n);i&&(e.dom.insertAfter(a,i),yN(e,a),(null!==(s=null===(r=null===(o=n.parentElement)||void 0===o?void 0:o.childNodes)||void 0===r?void 0:r.length)&&void 0!==s?s:0)>1&&e.dom.remove(n))})(e,b,S);if(/^(LI|DT|DD)$/.test(r)&&qo(s)&&i.isEmpty(S))return void((e,t,n,o,r)=>{const s=e.dom,a=e.selection.getRng(),i=n.parentNode;if(n===e.getBody()||!i)return;var l;kN(l=n)&&kN(l.parentNode)&&(r="LI");const d=NN(o)?TN(o):void 0;let c=NN(o)&&d?t(r,{style:TN(o)}):t(r);if(AN(n,o,!0)&&AN(n,o,!1))if(SN(n,"LI")){const e=RN(n);s.insertAfter(c,e),(e=>{var t;return(null===(t=e.parentNode)||void 0===t?void 0:t.firstChild)===e})(n)?s.remove(e):s.remove(n)}else s.replace(c,n);else if(AN(n,o,!0))SN(n,"LI")?(s.insertAfter(c,RN(n)),c.appendChild(s.doc.createTextNode(" ")),c.appendChild(n)):i.insertBefore(c,n),s.remove(o);else if(AN(n,o,!1))s.insertAfter(c,RN(n)),s.remove(o);else{n=RN(n);const e=a.cloneRange();e.setStartAfter(o),e.setEndAfter(n);const t=e.extractContents();if("LI"===r&&((e,t)=>e.firstChild&&"LI"===e.firstChild.nodeName)(t)){const e=Y(q(c.children,yn),O(Xt("br")));c=t.firstChild,s.insertAfter(t,n),V(e,(e=>bo(yn(c),e))),d&&c.setAttribute("style",d)}else s.insertAfter(t,n),s.insertAfter(c,n);s.remove(o)}yN(e,c)})(e,b,s,S,c);if(!(p||S!==e.getBody()&&PN(i,S)))return;const N=S.parentNode;let R;if(p)R=b(c),f.fold((()=>{vo(u,yn(R))}),(e=>{po(e,yn(R))})),e.selection.setCursorLocation(R,0);else if(Ir(S))R=Vr(S),i.isEmpty(S)&&xN(S),EN(e,R),yN(e,R);else if(v(!1))R=w();else if(v(!0)&&N){R=N.insertBefore(b(),S);const t=yn(d.startContainer).dom.hasChildNodes()&&d.collapsed;yN(e,BN(S,"HR")||t?R:S)}else{const t=(e=>{const t=e.cloneRange();return t.setStart(e.startContainer,DN(!0,e.startContainer,e.startOffset)),t.setEnd(e.endContainer,DN(!1,e.endContainer,e.endOffset)),t})(d).cloneRange();t.setEndAfter(S);const n=t.extractContents();(e=>{V(Fo(yn(e),Kt),(e=>{const t=e.dom;t.nodeValue=Dr(t.data)}))})(n),(e=>{let t=e;do{er(t)&&(t.data=t.data.replace(/^[\r\n]+/,"")),t=t.firstChild}while(t)})(n),R=n.firstChild,i.insertAfter(n,S),((e,t,n)=>{var o;const r=[];if(!n)return;let s=n;for(;s=s.firstChild;){if(e.isBlock(s))return;qo(s)&&!t[s.nodeName.toLowerCase()]&&r.push(s)}let a=r.length;for(;a--;)s=r[a],(!s.hasChildNodes()||s.firstChild===s.lastChild&&""===(null===(o=s.firstChild)||void 0===o?void 0:o.nodeValue)||ON(e,s))&&e.remove(s)})(i,l,R),((e,t)=>{t.normalize();const n=t.lastChild;(!n||qo(n)&&/^(left|right)$/gi.test(e.getStyle(n,"float",!0)))&&e.add(t,"br")})(i,S),i.isEmpty(S)&&xN(S),R.normalize(),i.isEmpty(R)?(i.remove(R),w()):(EN(e,R),yN(e,R))}i.setAttrib(R,"id",""),e.dispatch("NewBlock",{newBlock:R})},fakeEventName:"insertParagraph"},MN=(e,t,n)=>{const o=e.dom.createRng();n?(o.setStartBefore(t),o.setEndBefore(t)):(o.setStartAfter(t),o.setEndAfter(t)),e.selection.setRng(o),sg(e,o)},IN=(e,t)=>{const n=bn("br");po(yn(t),n),e.undoManager.add()},FN=(e,t)=>{UN(e.getBody(),t)||ho(yn(t),bn("br"));const n=bn("br");ho(yn(t),n),MN(e,n.dom,!1),e.undoManager.add()},UN=(e,t)=>{return n=Vi.after(t),!!ar(n.getNode())||Au(e,Vi.after(t)).map((e=>ar(e.getNode()))).getOr(!1);var n},zN=e=>e&&"A"===e.nodeName&&"href"in e,jN=e=>e.fold(L,zN,zN,L),HN=(e,t)=>{t.fold(_,T(IN,e),T(FN,e),_)},$N={insert:(e,t)=>{const n=(e=>{const t=T(Ch,e),n=Vi.fromRangeStart(e.selection.getRng());return cE(t,e.getBody(),n).filter(jN)})(e);n.isSome()?n.each(T(HN,e)):((e,t)=>{const n=e.selection,o=e.dom,r=n.getRng();let s,a=!1;Mf(o,r).each((e=>{r.setStart(e.startContainer,e.startOffset),r.setEnd(e.endContainer,e.endOffset)}));let i=r.startOffset,l=r.startContainer;if(qo(l)&&l.hasChildNodes()){const e=i>l.childNodes.length-1;l=l.childNodes[Math.min(i,l.childNodes.length-1)]||l,i=e&&er(l)?l.data.length:0}let d=o.getParent(l,o.isBlock);const c=d&&d.parentNode?o.getParent(d.parentNode,o.isBlock):null,u=c?c.nodeName.toUpperCase():"",m=!(!t||!t.ctrlKey);"LI"!==u||m||(d=c),er(l)&&i>=l.data.length&&(((e,t,n)=>{const o=new jo(t,n);let r;const s=e.getNonEmptyElements();for(;r=o.next();)if(s[r.nodeName.toLowerCase()]||er(r)&&r.length>0)return!0;return!1})(e.schema,l,d||o.getRoot())||(s=o.create("br"),r.insertNode(s),r.setStartAfter(s),r.setEndAfter(s),a=!0)),s=o.create("br"),Ki(o,r,s),MN(e,s,a),e.undoManager.add()})(e,t)},fakeEventName:"insertLineBreak"},qN=(e,t)=>wN(e).filter((e=>t.length>0&&xn(yn(e),t))).isSome(),VN=hl([{br:[]},{block:[]},{none:[]}]),WN=(e,t)=>(e=>qN(e,jl(e)))(e),KN=e=>(t,n)=>(e=>wN(e).filter((e=>kr(yn(e)))).isSome())(t)===e,YN=(e,t)=>(n,o)=>{const r=(e=>wN(e).fold(N(""),(e=>e.nodeName.toUpperCase())))(n)===e.toUpperCase();return r===t},GN=e=>{const t=CN(e.dom,e.selection.getStart());return y(t)},XN=e=>YN("pre",e),QN=e=>(t,n)=>Ml(t)===e,JN=(e,t)=>(e=>qN(e,zl(e)))(e),ZN=(e,t)=>t,eR=e=>{const t=Il(e),n=CN(e.dom,e.selection.getStart());return C(n)&&e.schema.isValidChild(n.nodeName,t)},tR=e=>{const t=e.selection.getRng(),n=yn(t.startContainer),o=In(n,t.startOffset).map((e=>Vt(e)&&!oo(e)));return t.collapsed&&o.getOr(!0)},nR=(e,t)=>(n,o)=>X(e,((e,t)=>e&&t(n,o)),!0)?I.some(t):I.none(),oR=(e,t,n)=>{t.selection.isCollapsed()||(e=>{e.execCommand("delete")})(t),C(n)&&gN(t,e.fakeEventName).isDefaultPrevented()||(e.insert(t,n),C(n)&&fN(t,e.fakeEventName))},rR=(e,t)=>{const n=()=>oR($N,e,t),o=()=>oR(LN,e,t),r=((e,t)=>eE([nR([WN],VN.none()),nR([XN(!0),GN],VN.none()),nR([YN("summary",!0)],VN.br()),nR([XN(!0),QN(!1),ZN],VN.br()),nR([XN(!0),QN(!1)],VN.block()),nR([XN(!0),QN(!0),ZN],VN.block()),nR([XN(!0),QN(!0)],VN.br()),nR([KN(!0),ZN],VN.br()),nR([KN(!0)],VN.block()),nR([JN],VN.br()),nR([ZN],VN.br()),nR([eR],VN.block()),nR([tR],VN.block())],[e,!(!t||!t.shiftKey)]).getOr(VN.none()))(e,t);switch(Ul(e)){case"linebreak":r.fold(n,n,_);break;case"block":r.fold(o,o,_);break;case"invert":r.fold(o,n,_);break;default:r.fold(n,o,_)}},sR=xt(),aR=sR.os.isiOS()&&sR.browser.isSafari(),iR=(e,t)=>{var n;t.isDefaultPrevented()||(t.preventDefault(),(n=e.undoManager).typing&&(n.typing=!1,n.add()),e.undoManager.transact((()=>{rR(e,t)})))},lR=xt(),dR=e=>e.stopImmediatePropagation(),cR=e=>e.keyCode===af.PAGE_UP||e.keyCode===af.PAGE_DOWN,uR=(e,t,n)=>{n&&!e.get()?t.on("NodeChange",dR,!0):!n&&e.get()&&t.off("NodeChange",dR),e.set(n)},mR=(e,t)=>{const n=t.container(),o=t.offset();return er(n)?(n.insertData(o,e),I.some(Vi(n,o+e.length))):iu(t).map((n=>{const o=vn(e);return t.isAtEnd()?ho(n,o):po(n,o),Vi(o.dom,e.length)}))},fR=T(mR,br),gR=T(mR," "),pR=e=>t=>{e.selection.setRng(t.toRange()),e.nodeChanged()},hR=e=>{const t=Vi.fromRangeStart(e.selection.getRng()),n=yn(e.getBody());if(e.selection.isCollapsed()){const o=T(Ch,e),r=Vi.fromRangeStart(e.selection.getRng());return cE(o,e.getBody(),r).bind((e=>t=>t.fold((t=>Tu(e.dom,Vi.before(t))),(e=>Ou(e)),(e=>Bu(e)),(t=>Au(e.dom,Vi.after(t)))))(n)).map((o=>()=>((e,t,n)=>o=>Zp(e,o,n)?fR(t):gR(t))(n,t,e.schema)(o).each(pR(e))))}return I.none()},bR=e=>{return It(At.browser.isFirefox()&&e.selection.isEditable()&&(t=e.dom,n=e.selection.getRng().startContainer,t.isEditable(t.getParent(n,"summary"))),(()=>{const t=yn(e.getBody());e.selection.isCollapsed()||e.getDoc().execCommand("Delete"),((e,t,n)=>Zp(e,t,n)?fR(t):gR(t))(t,Vi.fromRangeStart(e.selection.getRng()),e.schema).each(pR(e))}));var t,n},vR=e=>hc(e)?[{keyCode:af.TAB,action:sS(BS,e,!0)},{keyCode:af.TAB,shiftKey:!0,action:sS(BS,e,!1)}]:[],yR=e=>{if(e.addShortcut("Meta+P","","mcePrint"),tN(e),ZC(e))return $a(null);{const t=a_(e);return(e=>{e.on("beforeinput",(t=>{e.selection.isEditable()&&!$(t.getTargetRanges(),(t=>!Og(e.dom,t)))||t.preventDefault()}))})(e),(e=>{e.on("keyup compositionstart",T(K_,e))})(e),((e,t)=>{e.on("keydown",(n=>{n.isDefaultPrevented()||((e,t,n)=>{const o=At.os.isMacOS()||At.os.isiOS();aS([{keyCode:af.RIGHT,action:sS(X_,e,!0)},{keyCode:af.LEFT,action:sS(X_,e,!1)},{keyCode:af.UP,action:sS(Q_,e,!1)},{keyCode:af.DOWN,action:sS(Q_,e,!0)},...o?[{keyCode:af.UP,action:sS(Z_,e,!1),metaKey:!0,shiftKey:!0},{keyCode:af.DOWN,action:sS(Z_,e,!0),metaKey:!0,shiftKey:!0}]:[],{keyCode:af.RIGHT,action:sS(NS,e,!0)},{keyCode:af.LEFT,action:sS(NS,e,!1)},{keyCode:af.UP,action:sS(RS,e,!1)},{keyCode:af.DOWN,action:sS(RS,e,!0)},{keyCode:af.UP,action:sS(RS,e,!1)},{keyCode:af.UP,action:sS(nS,e,!1)},{keyCode:af.DOWN,action:sS(nS,e,!0)},{keyCode:af.RIGHT,action:sS(lS,e,!0)},{keyCode:af.LEFT,action:sS(lS,e,!1)},{keyCode:af.UP,action:sS(dS,e,!1)},{keyCode:af.DOWN,action:sS(dS,e,!0)},{keyCode:af.RIGHT,action:sS(r_,e,t,!0)},{keyCode:af.LEFT,action:sS(r_,e,t,!1)},{keyCode:af.RIGHT,ctrlKey:!o,altKey:o,action:sS(i_,e,t)},{keyCode:af.LEFT,ctrlKey:!o,altKey:o,action:sS(l_,e,t)},{keyCode:af.UP,action:sS(tS,e,!1)},{keyCode:af.DOWN,action:sS(tS,e,!0)}],n).each((e=>{n.preventDefault()}))})(e,t,n)}))})(e,t),((e,t)=>{let n=!1;e.on("keydown",(o=>{n=o.keyCode===af.BACKSPACE,o.isDefaultPrevented()||((e,t,n)=>{const o=n.keyCode===af.BACKSPACE?"deleteContentBackward":"deleteContentForward",r=e.selection.isCollapsed(),s=r?"character":"selection",a=e=>r?e?"word":"line":"selection";iS([{keyCode:af.BACKSPACE,action:sS(P_,e)},{keyCode:af.BACKSPACE,action:sS(Hx,e,!1)},{keyCode:af.DELETE,action:sS(Hx,e,!0)},{keyCode:af.BACKSPACE,action:sS(Dx,e,!1)},{keyCode:af.DELETE,action:sS(Dx,e,!0)},{keyCode:af.BACKSPACE,action:sS(m_,e,t,!1)},{keyCode:af.DELETE,action:sS(m_,e,t,!0)},{keyCode:af.BACKSPACE,action:sS(ib,e,!1)},{keyCode:af.DELETE,action:sS(ib,e,!0)},{keyCode:af.BACKSPACE,action:sS(uN,e,!1,s)},{keyCode:af.DELETE,action:sS(uN,e,!0,s)},...bN?[{keyCode:af.BACKSPACE,altKey:!0,action:sS(uN,e,!1,a(!0))},{keyCode:af.DELETE,altKey:!0,action:sS(uN,e,!0,a(!0))},{keyCode:af.BACKSPACE,metaKey:!0,action:sS(uN,e,!1,a(!1))}]:[{keyCode:af.BACKSPACE,ctrlKey:!0,action:sS(uN,e,!1,a(!0))},{keyCode:af.DELETE,ctrlKey:!0,action:sS(uN,e,!0,a(!0))}],{keyCode:af.BACKSPACE,action:sS($x,e,!1)},{keyCode:af.DELETE,action:sS($x,e,!0)},{keyCode:af.BACKSPACE,action:sS(S_,e,!1)},{keyCode:af.DELETE,action:sS(S_,e,!0)},{keyCode:af.BACKSPACE,action:sS(Nx,e,!1)},{keyCode:af.DELETE,action:sS(Nx,e,!0)},{keyCode:af.BACKSPACE,action:sS(_x,e,!1)},{keyCode:af.DELETE,action:sS(_x,e,!0)},{keyCode:af.BACKSPACE,action:sS(w_,e,!1)},{keyCode:af.DELETE,action:sS(w_,e,!0)}],n).filter((t=>e.selection.isEditable())).each((t=>{n.preventDefault(),gN(e,o).isDefaultPrevented()||(t(),fN(e,o))}))})(e,t,o)})),e.on("keyup",(t=>{t.isDefaultPrevented()||((e,t,n)=>{aS([{keyCode:af.BACKSPACE,action:sS(jx,e)},{keyCode:af.DELETE,action:sS(jx,e)},...bN?[{keyCode:af.BACKSPACE,altKey:!0,action:sS(E_,e)},{keyCode:af.DELETE,altKey:!0,action:sS(E_,e)},...n?[{keyCode:vN?224:91,action:sS(E_,e)}]:[]]:[{keyCode:af.BACKSPACE,ctrlKey:!0,action:sS(E_,e)},{keyCode:af.DELETE,ctrlKey:!0,action:sS(E_,e)}]],t)})(e,t,n),n=!1}))})(e,t),(e=>{let t=I.none();e.on("keydown",(n=>{n.keyCode===af.ENTER&&(aR&&(e=>{if(!e.collapsed)return!1;const t=e.startContainer;if(er(t)){const n=/^[\uAC00-\uD7AF\u1100-\u11FF\u3130-\u318F\uA960-\uA97F\uD7B0-\uD7FF]$/,o=t.data.charAt(e.startOffset-1);return n.test(o)}return!1})(e.selection.getRng())?(e=>{t=I.some(e.selection.getBookmark()),e.undoManager.add()})(e):iR(e,n))})),e.on("keyup",(n=>{n.keyCode===af.ENTER&&t.each((()=>((e,n)=>{e.undoManager.undo(),t.fold(_,(t=>e.selection.moveToBookmark(t))),iR(e,n),t=I.none()})(e,n)))}))})(e),(e=>{e.on("keydown",(t=>{t.isDefaultPrevented()||((e,t)=>{iS([{keyCode:af.SPACEBAR,action:sS(hR,e)},{keyCode:af.SPACEBAR,action:sS(bR,e)}],t).each((n=>{t.preventDefault(),gN(e,"insertText",{data:" "}).isDefaultPrevented()||(n(),fN(e,"insertText",{data:" "}))}))})(e,t)}))})(e),(e=>{e.on("input",(t=>{t.isComposing||(e=>{const t=yn(e.getBody());e.selection.isCollapsed()&&ih(t,Vi.fromRangeStart(e.selection.getRng()),e.schema).each((t=>{e.selection.setRng(t.toRange())}))})(e)}))})(e),(e=>{e.on("keydown",(t=>{t.isDefaultPrevented()||((e,t)=>{aS([...vR(e)],t).each((e=>{t.preventDefault()}))})(e,t)}))})(e),((e,t)=>{e.on("keydown",(n=>{n.isDefaultPrevented()||((e,t,n)=>{const o=At.os.isMacOS()||At.os.isiOS();aS([{keyCode:af.END,action:sS(J_,e,!0)},{keyCode:af.HOME,action:sS(J_,e,!1)},...o?[]:[{keyCode:af.HOME,action:sS(Z_,e,!1),ctrlKey:!0,shiftKey:!0},{keyCode:af.END,action:sS(Z_,e,!0),ctrlKey:!0,shiftKey:!0}],{keyCode:af.END,action:sS(cS,e,!0)},{keyCode:af.HOME,action:sS(cS,e,!1)},{keyCode:af.END,action:sS(d_,e,!0,t)},{keyCode:af.HOME,action:sS(d_,e,!1,t)}],n).each((e=>{n.preventDefault()}))})(e,t,n)}))})(e,t),((e,t)=>{if(lR.os.isMacOS())return;const n=$a(!1);e.on("keydown",(t=>{cR(t)&&uR(n,e,!0)})),e.on("keyup",(o=>{o.isDefaultPrevented()||((e,t,n)=>{aS([{keyCode:af.PAGE_UP,action:sS(d_,e,!1,t)},{keyCode:af.PAGE_DOWN,action:sS(d_,e,!0,t)}],n)})(e,t,o),cR(o)&&n.get()&&(uR(n,e,!1),e.nodeChanged())}))})(e,t),t}};class CR{constructor(e){let t;this.lastPath=[],this.editor=e;const n=this;"onselectionchange"in e.getDoc()||e.on("NodeChange click mouseup keyup focus",(n=>{const o=e.selection.getRng(),r={startContainer:o.startContainer,startOffset:o.startOffset,endContainer:o.endContainer,endOffset:o.endOffset};"nodechange"!==n.type&&Af(r,t)||e.dispatch("SelectionChange"),t=r})),e.on("contextmenu",(()=>{e.dispatch("SelectionChange")})),e.on("SelectionChange",(()=>{const t=e.selection.getStart(!0);t&&am(e)&&!n.isSameElementPath(t)&&e.dom.isChildOf(t,e.getBody())&&e.nodeChanged({selectionChange:!0})})),e.on("mouseup",(t=>{!t.isDefaultPrevented()&&am(e)&&("IMG"===e.selection.getNode().nodeName?vg.setEditorTimeout(e,(()=>{e.nodeChanged()})):e.nodeChanged())}))}nodeChanged(e={}){const t=this.editor.selection;let n;if(this.editor.initialized&&t&&!Od(this.editor)&&!this.editor.mode.isReadOnly()){const o=this.editor.getBody();n=t.getStart(!0)||o,n.ownerDocument===this.editor.getDoc()&&this.editor.dom.isChildOf(n,o)||(n=o);const r=[];this.editor.dom.getParent(n,(e=>e===o||(r.push(e),!1))),this.editor.dispatch("NodeChange",{...e,element:n,parents:r})}}isSameElementPath(e){let t;const n=this.editor,o=oe(n.dom.getParents(e,M,n.getBody()));if(o.length===this.lastPath.length){for(t=o.length;t>=0&&o[t]===this.lastPath[t];t--);if(-1===t)return this.lastPath=o,!0}return this.lastPath=o,!1}}const wR=ui("image"),xR=ui("event"),ER=e=>t=>{t[xR]=e},_R=ER(0),SR=ER(2),kR=ER(1),NR=(0,e=>{const t=e;return I.from(t[xR]).exists((e=>0===e))});const RR=ui("mode"),AR=e=>t=>{t[RR]=e},TR=(e,t)=>AR(t)(e),OR=AR(0),BR=AR(2),PR=AR(1),DR=e=>t=>{const n=t;return I.from(n[RR]).exists((t=>t===e))},LR=DR(0),MR=DR(1),IR=["none","copy","link","move"],FR=["none","copy","copyLink","copyMove","link","linkMove","move","all","uninitialized"],UR=()=>{const e=new window.DataTransfer;let t="move",n="all";const o={get dropEffect(){return t},set dropEffect(e){H(IR,e)&&(t=e)},get effectAllowed(){return n},set effectAllowed(e){NR(o)&&H(FR,e)&&(n=e)},get items(){return((e,t)=>({...t,get length(){return t.length},add:(n,o)=>{if(LR(e)){if(!m(n))return t.add(n);if(!v(o))return t.add(n,o)}return null},remove:n=>{LR(e)&&t.remove(n)},clear:()=>{LR(e)&&t.clear()}}))(o,e.items)},get files(){return MR(o)?Object.freeze({length:0,item:e=>null}):e.files},get types(){return e.types},setDragImage:(t,n,r)=>{var s;LR(o)&&(s={image:t,x:n,y:r},o[wR]=s,e.setDragImage(t,n,r))},getData:t=>MR(o)?"":e.getData(t),setData:(t,n)=>{LR(o)&&e.setData(t,n)},clearData:t=>{LR(o)&&e.clearData(t)}};return OR(o),o},zR=(e,t)=>e.setData("text/html",t),jR="x-tinymce/html",HR=N(jR),$R="\x3c!-- "+jR+" --\x3e",qR=e=>$R+e,VR=e=>-1!==e.indexOf($R),WR="%MCEPASTEBIN%",KR=e=>e.dom.get("mcepastebin"),YR=e=>C(e)&&"mcepastebin"===e.id,GR=e=>e===WR,XR=(e,t)=>(Pt.each(t,(t=>{e=u(t,RegExp)?e.replace(t,""):e.replace(t[0],t[1])})),e),QR=e=>XR(e,[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/|/g,[/( ?)\u00a0<\/span>( ?)/g,(e,t,n)=>t||n?br:" "],/
    /g,/
    $/i]),JR=(e,t)=>({content:e,cancelled:t}),ZR=(e,t)=>(e.insertContent(t,{merge:tc(e),paste:!0}),!0),eA=e=>/^https?:\/\/[\w\-\/+=.,!;:&%@^~(){}?#]+$/i.test(e),tA=(e,t,n)=>!(e.selection.isCollapsed()||!eA(t))&&((e,t,n)=>(e.undoManager.extra((()=>{n(e,t)}),(()=>{e.execCommand("mceInsertLink",!1,t)})),!0))(e,t,n),nA=(e,t,n)=>!!((e,t)=>eA(t)&&$(pc(e),(e=>$e(t.toLowerCase(),`.${e.toLowerCase()}`))))(e,t)&&((e,t,n)=>(e.undoManager.extra((()=>{n(e,t)}),(()=>{e.insertContent('')})),!0))(e,t,n),oA=(e=>{let t=0;return()=>"mceclip"+t++})(),rA=e=>{const t=UR();return zR(t,e),BR(t),t},sA=(e,t,n,o,r)=>{const s=((e,t,n)=>((e,t,n)=>{const o=((e,t,n)=>e.dispatch("PastePreProcess",{content:t,internal:n}))(e,t,n),r=((e,t)=>{const n=CC({sanitize:fc(e),sandbox_iframes:Cc(e)},e.schema);n.addNodeFilter("meta",(e=>{Pt.each(e,(e=>{e.remove()}))}));const o=n.parse(t,{forced_root_block:!1,isRootContent:!0});return up({validate:!0},e.schema).serialize(o)})(e,o.content);return e.hasEventListeners("PastePostProcess")&&!o.isDefaultPrevented()?((e,t,n)=>{const o=e.dom.create("div",{style:"display:none"},t),r=((e,t,n)=>e.dispatch("PastePostProcess",{node:t,internal:n}))(e,o,n);return JR(r.node.innerHTML,r.isDefaultPrevented())})(e,r,n):JR(r,o.isDefaultPrevented())})(e,t,n))(e,t,n);if(!s.cancelled){const t=s.content,n=()=>((e,t,n)=>{n||!nc(e)?ZR(e,t):((e,t)=>{Pt.each([tA,nA,ZR],(n=>!n(e,t,ZR)))})(e,t)})(e,t,o);r?gN(e,"insertFromPaste",{dataTransfer:rA(t)}).isDefaultPrevented()||(n(),fN(e,"insertFromPaste")):n()}},aA=(e,t,n,o)=>{const r=n||VR(t);sA(e,(e=>e.replace($R,""))(t),r,!1,o)},iA=(e,t,n)=>{const o=e.dom.encode(t).replace(/\r\n/g,"\n"),r=((e,t,n)=>{const o=e.split(/\n\n/),r=((e,t)=>{let n="<"+e;const o=Ce(t,((e,t)=>t+'="'+ea.encodeAllRaw(e)+'"'));return o.length&&(n+=" "+o.join(" ")),n+">"})(t,n),s="",a=q(o,(e=>e.split(/\n/).join("
    ")));return 1===a.length?a[0]:q(a,(e=>r+e+s)).join("")})(ls(o,rc(e)),Il(e),Fl(e));sA(e,r,!1,!0,n)},lA=e=>{const t={};if(e&&e.types)for(let n=0;nt in e&&e[t].length>0,cA=e=>dA(e,"text/html")||dA(e,"text/plain"),uA=(e,t,n)=>{const o="paste"===t.type?t.clipboardData:t.dataTransfer;var r;if(Gd(e)&&o){const s=((e,t)=>{const n=t.items?te(ce(t.items),(e=>"file"===e.kind?[e.getAsFile()]:[])):[],o=t.files?ce(t.files):[];return Y(n.length>0?n:o,(e=>{const t=pc(e);return e=>He(e.type,"image/")&&$(t,(t=>(e=>{const t=e.toLowerCase(),n={jpg:"jpeg",jpe:"jpeg",jfi:"jpeg",jif:"jpeg",jfif:"jpeg",pjpeg:"jpeg",pjp:"jpeg",svg:"svg+xml"};return Pt.hasOwn(n,t)?"image/"+n[t]:"image/"+t})(t)===e.type))})(e))})(e,o);if(s.length>0)return t.preventDefault(),(r=s,Promise.all(q(r,(e=>Gv(e).then((t=>({file:e,uri:t}))))))).then((t=>{n&&e.selection.setRng(n),V(t,(t=>{((e,t)=>{Kv(t.uri).each((({data:n,type:o,base64Encoded:r})=>{const s=r?n:btoa(n),a=t.file,i=e.editorUpload.blobCache,l=i.getByData(s,o),d=null!=l?l:((e,t,n,o)=>{const r=oA(),s=Vl(e)&&C(n.name),a=s?((e,t)=>{const n=t.match(/([\s\S]+?)(?:\.[a-z0-9.]+)$/i);return C(n)?e.dom.encode(n[1]):void 0})(e,n.name):r,i=s?n.name:void 0,l=t.create(r,n,o,a,i);return t.add(l),l})(e,i,a,s);aA(e,``,!1,!0)}))})(e,t)}))})),!0}return!1},mA=(e,t,n,o,r)=>{let s=QR(n);const a=dA(t,HR())||VR(n),i=!a&&(e=>!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(e))(s),l=eA(s);(GR(s)||!s.length||i&&!l)&&(o=!0),(o||l)&&(s=dA(t,"text/plain")&&i?t["text/plain"]:(e=>{const t=ua(),n=CC({},t);let o="";const r=t.getVoidElements(),s=Pt.makeMap("script noscript style textarea video audio iframe object"," "),a=t.getBlockElements(),i=e=>{const n=e.name,l=e;if("br"!==n){if("wbr"!==n)if(r[n]&&(o+=" "),s[n])o+=" ";else{if(3===e.type&&(o+=e.value),!(e.name in t.getVoidElements())){let t=e.firstChild;if(t)do{i(t)}while(t=t.next)}a[n]&&l.next&&(o+="\n","p"===n&&(o+="\n"))}}else o+="\n"};return e=XR(e,[//g]),i(n.parse(e)),o})(s)),GR(s)||(o?iA(e,s,r):aA(e,s,a,r))},fA=(e,t,n)=>{((e,t,n)=>{let o;e.on("keydown",(e=>{(e=>af.metaKeyPressed(e)&&86===e.keyCode||e.shiftKey&&45===e.keyCode)(e)&&!e.isDefaultPrevented()&&(o=e.shiftKey&&86===e.keyCode)})),e.on("paste",(r=>{if(r.isDefaultPrevented()||(e=>{var t,n;return At.os.isAndroid()&&0===(null===(n=null===(t=e.clipboardData)||void 0===t?void 0:t.items)||void 0===n?void 0:n.length)})(r))return;const s="text"===n.get()||o;o=!1;const a=lA(r.clipboardData);!cA(a)&&uA(e,r,t.getLastRng()||e.selection.getRng())||(dA(a,"text/html")?(r.preventDefault(),mA(e,a,a["text/html"],s,!0)):dA(a,"text/plain")&&dA(a,"text/uri-list")?(r.preventDefault(),mA(e,a,a["text/plain"],s,!0)):(t.create(),vg.setEditorTimeout(e,(()=>{const n=t.getHtml();t.remove(),mA(e,a,n,s,!1)}),0)))}))})(e,t,n),(e=>{const t=e=>He(e,"webkit-fake-url"),n=e=>He(e,"data:");e.parser.addNodeFilter("img",((o,r,s)=>{if(!Gd(e)&&(e=>{var t;return!0===(null===(t=e.data)||void 0===t?void 0:t.paste)})(s))for(const r of o){const o=r.attr("src");m(o)&&!r.attr("data-mce-object")&&o!==At.transparentSrc&&(t(o)||!sc(e)&&n(o))&&r.remove()}}))})(e)},gA=(e,t,n,o)=>{((e,t,n)=>{if(!e)return!1;try{return e.clearData(),e.setData("text/html",t),e.setData("text/plain",n),e.setData(HR(),t),!0}catch(e){return!1}})(e.clipboardData,t.html,t.text)?(e.preventDefault(),o()):n(t.html,o)},pA=e=>(t,n)=>{const{dom:o,selection:r}=e,s=o.create("div",{contenteditable:"false","data-mce-bogus":"all"}),a=o.create("div",{contenteditable:"true"},t);o.setStyles(s,{position:"fixed",top:"0",left:"-3000px",width:"1000px",overflow:"hidden"}),s.appendChild(a),o.add(e.getBody(),s);const i=r.getRng();a.focus();const l=o.createRng();l.selectNodeContents(a),r.setRng(l),vg.setEditorTimeout(e,(()=>{r.setRng(i),o.remove(s),n()}),0)},hA=e=>({html:qR(e.selection.getContent({contextual:!0})),text:e.selection.getContent({format:"text"})}),bA=e=>!e.selection.isCollapsed()||(e=>!!e.dom.getParent(e.selection.getStart(),"td[data-mce-selected],th[data-mce-selected]",e.getBody()))(e),vA=(e,t)=>{var n,o;return Uf.getCaretRangeFromPoint(null!==(n=t.clientX)&&void 0!==n?n:0,null!==(o=t.clientY)&&void 0!==o?o:0,e.getDoc())},yA=(e,t)=>{e.focus(),t&&e.selection.setRng(t)},CA=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,wA=e=>Pt.trim(e).replace(CA,Ca).toLowerCase(),xA=(e,t,n)=>{const o=Zd(e);if(n||"all"===o||!ec(e))return t;const r=o?o.split(/[, ]/):[];if(r&&"none"!==o){const n=e.dom,o=e.selection.getNode();t=t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,((e,t,s,a)=>{const i=n.parseStyle(n.decode(s)),l={};for(let e=0;e]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return t=t.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,((e,t,n,o)=>t+' style="'+n+'"'+o)),t},EA=e=>{const t=$a(!1),n=$a(oc(e)?"text":"html"),o=(e=>{const t=$a(null);return{create:()=>((e,t)=>{const{dom:n,selection:o}=e,r=e.getBody();t.set(o.getRng());const s=n.add(e.getBody(),"div",{id:"mcepastebin",class:"mce-pastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0"},WR);At.browser.isFirefox()&&n.setStyle(s,"left","rtl"===n.getStyle(r,"direction",!0)?65535:-65535),n.bind(s,"beforedeactivate focusin focusout",(e=>{e.stopPropagation()})),s.focus(),o.select(s,!0)})(e,t),remove:()=>((e,t)=>{const n=e.dom;if(KR(e)){let o;const r=t.get();for(;o=KR(e);)n.remove(o),n.unbind(o);r&&e.selection.setRng(r)}t.set(null)})(e,t),getEl:()=>KR(e),getHtml:()=>(e=>{const t=e.dom,n=(e,n)=>{e.appendChild(n),t.remove(n,!0)},[o,...r]=Y(e.getBody().childNodes,YR);V(r,(e=>{n(o,e)}));const s=t.select("div[id=mcepastebin]",o);for(let e=s.length-1;e>=0;e--){const r=t.create("div");o.insertBefore(r,s[e]),n(r,s[e])}return o?o.innerHTML:""})(e),getLastRng:t.get}})(e);(e=>{(At.browser.isChromium()||At.browser.isSafari())&&((e,t)=>{e.on("PastePreProcess",(n=>{n.content=t(e,n.content,n.internal)}))})(e,xA)})(e),((e,t)=>{e.addCommand("mceTogglePlainTextPaste",(()=>{((e,t)=>{"text"===t.get()?(t.set("html"),sf(e,!1)):(t.set("text"),sf(e,!0)),e.focus()})(e,t)})),e.addCommand("mceInsertClipboardContent",((t,n)=>{n.html&&aA(e,n.html,n.internal,!1),n.text&&iA(e,n.text,!1)}))})(e,n),(e=>{const t=t=>n=>{t(e,n)},n=Xd(e);w(n)&&e.on("PastePreProcess",t(n));const o=Qd(e);w(o)&&e.on("PastePostProcess",t(o))})(e),e.on("PreInit",(()=>{(e=>{e.on("cut",(e=>t=>{!t.isDefaultPrevented()&&bA(e)&&e.selection.isEditable()&&gA(t,hA(e),pA(e),(()=>{if(At.browser.isChromium()||At.browser.isFirefox()){const t=e.selection.getRng();vg.setEditorTimeout(e,(()=>{e.selection.setRng(t),e.execCommand("Delete")}),0)}else e.execCommand("Delete")}))})(e)),e.on("copy",(e=>t=>{!t.isDefaultPrevented()&&bA(e)&&gA(t,hA(e),pA(e),_)})(e))})(e),((e,t)=>{Yd(e)&&e.on("dragend dragover draggesture dragdrop drop drag",(e=>{e.preventDefault(),e.stopPropagation()})),Gd(e)||e.on("drop",(e=>{const t=e.dataTransfer;t&&(e=>$(e.files,(e=>/^image\//.test(e.type))))(t)&&e.preventDefault()})),e.on("drop",(n=>{if(n.isDefaultPrevented())return;const o=vA(e,n);if(y(o))return;const r=lA(n.dataTransfer),s=dA(r,HR());if((!cA(r)||(e=>{const t=e["text/plain"];return!!t&&0===t.indexOf("file://")})(r))&&uA(e,n,o))return;const a=r[HR()],i=a||r["text/html"]||r["text/plain"],l=((e,t,n,o)=>{const r=e.getParent(n,(e=>Ts(t,e)));if(!h(e.getParent(n,"summary")))return!0;if(r&&Ee(o,"text/html")){const e=(new DOMParser).parseFromString(o["text/html"],"text/html").body;return!h(e.querySelector(r.nodeName.toLowerCase()))}return!1})(e.dom,e.schema,o.startContainer,r),d=t.get();d&&!l||i&&(n.preventDefault(),vg.setEditorTimeout(e,(()=>{e.undoManager.transact((()=>{(a||d&&l)&&e.execCommand("Delete"),yA(e,o);const t=QR(i);r["text/html"]?aA(e,t,s,!0):iA(e,t,!0)}))})))})),e.on("dragstart",(e=>{t.set(!0)})),e.on("dragover dragend",(n=>{Gd(e)&&!t.get()&&(n.preventDefault(),yA(e,vA(e,n))),"dragend"===n.type&&t.set(!1)})),(e=>{e.on("input",(t=>{const n=e=>h(e.querySelector("summary"));if("deleteByDrag"===t.inputType){const t=Y(e.dom.select("details"),n);V(t,(t=>{ar(t.firstChild)&&t.firstChild.remove();const n=e.dom.create("summary");n.appendChild(Tr().dom),t.prepend(n)}))}}))})(e)})(e,t),fA(e,o,n)}))},_A=ar,SA=er,kA=e=>dr(e.dom),NA=e=>t=>_n(yn(e),t),RA=(e,t)=>Jn(yn(e),kA,NA(t)),AA=(e,t,n)=>{const o=new jo(e,t),r=n?o.next.bind(o):o.prev.bind(o);let s=e;for(let t=n?e:r();t&&!_A(t);t=r())ts(t)&&(s=t);return s},TA=e=>{const t=((e,t,n)=>{const o=Vi.fromRangeStart(e).getNode(),r=((e,t,n)=>Jn(yn(e),(e=>(e=>lr(e.dom))(e)||n.isBlock(Ht(e))),NA(t)).getOr(yn(t)).dom)(o,t,n),s=AA(o,r,!1),a=AA(o,r,!0),i=document.createRange();return RA(s,r).fold((()=>{SA(s)?i.setStart(s,0):i.setStartBefore(s)}),(e=>i.setStartBefore(e.dom))),RA(a,r).fold((()=>{SA(a)?i.setEnd(a,a.data.length):i.setEndAfter(a)}),(e=>i.setEndAfter(e.dom))),i})(e.selection.getRng(),e.getBody(),e.schema);e.selection.setRng(Eb(t))};var OA;!function(e){e.Before="before",e.After="after"}(OA||(OA={}));const BA=(e,t)=>Math.abs(e.left-t),PA=(e,t)=>Math.abs(e.right-t),DA=(e,t)=>(e=>X(e,((e,t)=>e.fold((()=>I.some(t)),(e=>{const n=Math.min(t.left,e.left),o=Math.min(t.top,e.top),r=Math.max(t.right,e.right),s=Math.max(t.bottom,e.bottom);return I.some({top:o,right:r,bottom:s,left:n,width:r-n,height:s-o})}))),I.none()))(Y(e,(e=>{return(n=t)>=(o=e).top&&n<=o.bottom;var n,o}))).fold((()=>[[],e]),(t=>{const{pass:n,fail:o}=K(e,(e=>((e,t)=>{const n=((e,t)=>Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)))(e,t)/Math.min(e.height,t.height);return((e,t)=>e.topt.top)(e,t)&&n>.5})(e,t)));return[n,o]})),LA=(e,t,n)=>t>e.left&&t{const r=e=>ts(e.node)?I.some(e):qo(e.node)?MA(ce(e.node.childNodes),t,n,!1):I.none(),s=(e,s)=>{const a=ae(e,((e,o)=>s(e,t,n)-s(o,t,n)));return ue(a,r).map((e=>o&&!er(e.node)&&a.length>1?((e,o,s)=>r(o).filter((o=>Math.abs(s(e,t,n)-s(o,t,n))<2&&er(o.node))))(e,a[1],s).getOr(e):e))},[a,i]=DA(zE(e),n),{pass:l,fail:d}=K(i,(e=>e.tops(d,Ei))).orThunk((()=>s(l,Ei)))},IA=(e,t,n)=>((e,t,n)=>{const o=yn(e),r=Nn(o),s=Cn(r,t,n).filter((e=>Sn(o,e))).getOr(o);return((e,t,n,o)=>{const r=(t,s)=>{const a=Y(t.dom.childNodes,O((e=>qo(e)&&e.classList.contains("mce-drag-container"))));return s.fold((()=>MA(a,n,o,!0)),(e=>{const t=Y(a,(t=>t!==e.dom));return MA(t,n,o,!0)})).orThunk((()=>(_n(t,e)?I.none():Tn(t)).bind((e=>r(e,I.some(t))))))};return r(t,I.none())})(o,s,t,n)})(e,t,n).filter((e=>Mc(e.node))).map((e=>((e,t)=>({node:e.node,position:BA(e,t){var t,n;const o=e.getBoundingClientRect(),r=e.ownerDocument,s=r.documentElement,a=r.defaultView;return{top:o.top+(null!==(t=null==a?void 0:a.scrollY)&&void 0!==t?t:0)-s.clientTop,left:o.left+(null!==(n=null==a?void 0:a.scrollX)&&void 0!==n?n:0)-s.clientLeft}},UA=e=>({target:e,srcElement:e}),zA=(e,t,n,o)=>{const r=((e,t)=>{const n=(e=>{const t=UR(),n=(e=>{const t=e;return I.from(t[RR])})(e);return BR(e),_R(t),t.dropEffect=e.dropEffect,t.effectAllowed=e.effectAllowed,(e=>{const t=e;return I.from(t[wR])})(e).each((e=>t.setDragImage(e.image,e.x,e.y))),V(e.types,(n=>{"Files"!==n&&t.setData(n,e.getData(n))})),V(e.files,(e=>t.items.add(e))),(e=>{const t=e;return I.from(t[xR])})(e).each((e=>{((e,t)=>{ER(t)(e)})(t,e)})),n.each((n=>{TR(e,n),TR(t,n)})),t})(e);return"dragstart"===t?(_R(n),OR(n)):"drop"===t?(SR(n),BR(n)):(kR(n),PR(n)),n})(n,e);return v(o)?((e,t,n)=>{const o=B("Function not supported on simulated event.");return{bubbles:!0,cancelBubble:!1,cancelable:!0,composed:!1,currentTarget:null,defaultPrevented:!1,eventPhase:0,isTrusted:!0,returnValue:!1,timeStamp:0,type:e,composedPath:o,initEvent:o,preventDefault:_,stopImmediatePropagation:_,stopPropagation:_,AT_TARGET:window.Event.AT_TARGET,BUBBLING_PHASE:window.Event.BUBBLING_PHASE,CAPTURING_PHASE:window.Event.CAPTURING_PHASE,NONE:window.Event.NONE,altKey:!1,button:0,buttons:0,clientX:0,clientY:0,ctrlKey:!1,metaKey:!1,movementX:0,movementY:0,offsetX:0,offsetY:0,pageX:0,pageY:0,relatedTarget:null,screenX:0,screenY:0,shiftKey:!1,x:0,y:0,detail:0,view:null,which:0,initUIEvent:o,initMouseEvent:o,getModifierState:o,dataTransfer:n,...UA(t)}})(e,t,r):((e,t,n,o)=>({...t,dataTransfer:o,type:e,...UA(n)}))(e,o,t,r)},jA=dr,HA=((...e)=>t=>{for(let n=0;n{const r=e.dom,s=t.cloneNode(!0);r.setStyles(s,{width:n,height:o}),r.setAttrib(s,"data-mce-selected",null);const a=r.create("div",{class:"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return r.setStyles(a,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:n,height:o}),r.setStyles(s,{margin:0,boxSizing:"border-box"}),a.appendChild(s),a},qA=(e,t)=>n=>()=>{const o="left"===e?n.scrollX:n.scrollY;n.scroll({[e]:o+t,behavior:"smooth"})},VA=qA("left",-32),WA=qA("left",32),KA=qA("top",-32),YA=qA("top",32),GA=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},XA=(e,t,n,o,r)=>{"dragstart"===t&&zR(o,e.dom.getOuterHTML(n));const s=zA(t,n,o,r);return e.dispatch(t,s)},QA=(e,t)=>{const n=Qa(((e,n)=>((e,t,n)=>{e._selectionOverrides.hideFakeCaret(),IA(e.getBody(),t,n).fold((()=>e.selection.placeCaretAt(t,n)),(o=>{const r=e._selectionOverrides.showCaret(1,o.node,o.position===OA.Before,!1);r?e.selection.setRng(r):e.selection.placeCaretAt(t,n)}))})(t,e,n)),0);t.on("remove",n.cancel);const o=e;return r=>e.on((e=>{const s=Math.max(Math.abs(r.screenX-e.screenX),Math.abs(r.screenY-e.screenY));if(!e.dragging&&s>10){const n=XA(t,"dragstart",e.element,e.dataTransfer,r);if(C(n.dataTransfer)&&(e.dataTransfer=n.dataTransfer),n.isDefaultPrevented())return;e.dragging=!0,t.focus()}if(e.dragging){const s=r.currentTarget===t.getDoc().documentElement,l=((e,t)=>({pageX:t.pageX-e.relX,pageY:t.pageY+5}))(e,((e,t)=>{return n=(e=>e.inline?FA(e.getBody()):{left:0,top:0})(e),o=(e=>{const t=e.getBody();return e.inline?{left:t.scrollLeft,top:t.scrollTop}:{left:0,top:0}})(e),r=((e,t)=>{if(t.target.ownerDocument!==e.getDoc()){const n=FA(e.getContentAreaContainer()),o=(e=>{const t=e.getBody(),n=e.getDoc().documentElement,o={left:t.scrollLeft,top:t.scrollTop},r={left:t.scrollLeft||n.scrollLeft,top:t.scrollTop||n.scrollTop};return e.inline?o:r})(e);return{left:t.pageX-n.left+o.left,top:t.pageY-n.top+o.top}}return{left:t.pageX,top:t.pageY}})(e,t),{pageX:r.left-n.left+o.left,pageY:r.top-n.top+o.top};var n,o,r})(t,r));a=e.ghost,i=t.getBody(),a.parentNode!==i&&i.appendChild(a),((e,t,n,o,r,s,a,i,l,d,c,u)=>{let m=0,f=0;e.style.left=t.pageX+"px",e.style.top=t.pageY+"px",t.pageX+n>r&&(m=t.pageX+n-r),t.pageY+o>s&&(f=t.pageY+o-s),e.style.width=n-m+"px",e.style.height=o-f+"px";const g=l.clientHeight,p=l.clientWidth,h=a+l.getBoundingClientRect().top,b=i+l.getBoundingClientRect().left;c.on((e=>{e.intervalId.clear(),e.dragging&&u&&(a+8>=g?e.intervalId.set(YA(d)):a-8<=0?e.intervalId.set(KA(d)):i+8>=p?e.intervalId.set(WA(d)):i-8<=0?e.intervalId.set(VA(d)):h+16>=window.innerHeight?e.intervalId.set(YA(window)):h-16<=0?e.intervalId.set(KA(window)):b+16>=window.innerWidth?e.intervalId.set(WA(window)):b-16<=0&&e.intervalId.set(VA(window)))}))})(e.ghost,l,e.width,e.height,e.maxX,e.maxY,r.clientY,r.clientX,t.getContentAreaContainer(),t.getWin(),o,s),n.throttle(r.clientX,r.clientY)}var a,i}))},JA=(e,t,n)=>{e.on((e=>{e.intervalId.clear(),e.dragging&&n.fold((()=>XA(t,"dragend",e.element,e.dataTransfer)),(n=>XA(t,"dragend",e.element,e.dataTransfer,n)))})),ZA(e)},ZA=e=>{e.on((e=>{e.intervalId.clear(),GA(e.ghost)})),e.clear()},eT=e=>{const t=Xa(),n=za.DOM,o=document,r=((e,t)=>n=>{if((e=>0===e.button)(n)){const o=J(t.dom.getParents(n.target),HA).getOr(null);if(C(o)&&((e,t,n)=>jA(n)&&n!==t&&e.isEditable(n.parentElement))(t.dom,t.getBody(),o)){const r=t.dom.getPos(o),s=t.getBody(),a=t.getDoc().documentElement;e.set({element:o,dataTransfer:UR(),dragging:!1,screenX:n.screenX,screenY:n.screenY,maxX:(t.inline?s.scrollWidth:a.offsetWidth)-2,maxY:(t.inline?s.scrollHeight:a.offsetHeight)-2,relX:n.pageX-r.x,relY:n.pageY-r.y,width:o.offsetWidth,height:o.offsetHeight,ghost:$A(t,o,o.offsetWidth,o.offsetHeight),intervalId:Ga(100)})}}})(t,e),s=QA(t,e),a=((e,t)=>n=>{e.on((e=>{var o;if(e.intervalId.clear(),e.dragging){if(((e,t,n)=>!y(t)&&t!==n&&!e.dom.isChildOf(t,n)&&e.dom.isEditable(t))(t,(e=>{const t=e.getSel();if(C(t)){const e=t.getRangeAt(0).startContainer;return er(e)?e.parentNode:e}return null})(t.selection),e.element)){const r=null!==(o=t.getDoc().elementFromPoint(n.clientX,n.clientY))&&void 0!==o?o:t.getBody();XA(t,"drop",r,e.dataTransfer,n).isDefaultPrevented()||t.undoManager.transact((()=>{((e,t)=>{const n=e.getParent(t.parentNode,e.isBlock);GA(t),n&&n!==e.getRoot()&&e.isEmpty(n)&&Or(yn(n))})(t.dom,e.element),(e=>{const t=e.getData("text/html");return""===t?I.none():I.some(t)})(e.dataTransfer).each((e=>t.insertContent(e))),t._selectionOverrides.hideFakeCaret()}))}XA(t,"dragend",t.getBody(),e.dataTransfer,n)}})),ZA(e)})(t,e),i=((e,t)=>n=>JA(e,t,I.some(n)))(t,e);e.on("mousedown",r),e.on("mousemove",s),e.on("mouseup",a),n.bind(o,"mousemove",s),n.bind(o,"mouseup",i),e.on("remove",(()=>{n.unbind(o,"mousemove",s),n.unbind(o,"mouseup",i)})),e.on("keydown",(n=>{n.keyCode===af.ESC&&JA(t,e,I.none())}))},tT=dr,nT=(e,t)=>lb(e.getBody(),t),oT=e=>{const t=e.selection,n=e.dom,o=e.getBody(),r=Pc(e,o,n.isBlock,(()=>Rg(e))),s="sel-"+n.uniqueId(),a="data-mce-selected";let i;const l=e=>e!==o&&(tT(e)||mr(e))&&n.isChildOf(e,o)&&n.isEditable(e.parentNode),d=(n,o,s,a=!0)=>e.dispatch("ShowCaret",{target:o,direction:n,before:s}).isDefaultPrevented()?null:(a&&t.scrollIntoView(o,-1===n),r.show(s,o)),c=e=>Ur(e)||$r(e)||qr(e),u=e=>c(e.startContainer)||c(e.endContainer),m=t=>{const o=e.schema.getVoidElements(),r=n.createRng(),s=t.startContainer,a=t.startOffset,i=t.endContainer,l=t.endOffset;return Ee(o,s.nodeName.toLowerCase())?0===a?r.setStartBefore(s):r.setStartAfter(s):r.setStart(s,a),Ee(o,i.nodeName.toLowerCase())?0===l?r.setEndBefore(i):r.setEndAfter(i):r.setEnd(i,l),r},f=(r,c)=>{if(!r)return null;if(r.collapsed){if(!u(r)){const e=c?1:-1,t=au(e,o,r),s=t.getNode(!c);if(C(s)){if(Mc(s))return d(e,s,!!c&&!t.isAtEnd(),!1);if(Fr(s)&&dr(s.nextSibling)){const e=n.createRng();return e.setStart(s,0),e.setEnd(s,0),e}}const a=t.getNode(c);if(C(a)){if(Mc(a))return d(e,a,!c&&!t.isAtEnd(),!1);if(Fr(a)&&dr(a.previousSibling)){const e=n.createRng();return e.setStart(a,1),e.setEnd(a,1),e}}}return null}let m=r.startContainer,f=r.startOffset;const g=r.endOffset;if(er(m)&&0===f&&tT(m.parentNode)&&(m=m.parentNode,f=n.nodeIndex(m),m=m.parentNode),!qo(m))return null;if(g===f+1&&m===r.endContainer){const o=m.childNodes[f];if(l(o))return(o=>{const r=o.cloneNode(!0),l=e.dispatch("ObjectSelected",{target:o,targetClone:r});if(l.isDefaultPrevented())return null;const d=((o,r)=>{const a=yn(e.getBody()),i=e.getDoc(),l=to(a,"#"+s).getOrThunk((()=>{const e=hn('
    ',i);return Jt(e,"id",s),vo(a,e),e})),d=n.createRng();wo(l),Co(l,[vn(br,i),yn(r),vn(br,i)]),d.setStart(l.dom.firstChild,1),d.setEnd(l.dom.lastChild,0),lo(l,{top:n.getPos(o,e.getBody()).y+"px"}),ag(l);const c=t.getSel();return c&&(c.removeAllRanges(),c.addRange(d)),d})(o,l.targetClone),c=yn(o);return V(Uo(yn(e.getBody()),`*[${a}]`),(e=>{_n(c,e)||on(e,a)})),n.getAttrib(o,a)||o.setAttribute(a,"1"),i=o,p(),d})(o)}return null},g=()=>{i&&i.removeAttribute(a),to(yn(e.getBody()),"#"+s).each(xo),i=null},p=()=>{r.hide()};return ZC(e)||(e.on("click",(t=>{n.isEditable(t.target)||(t.preventDefault(),e.focus())})),e.on("blur NewBlock",g),e.on("ResizeWindow FullscreenStateChanged",r.reposition),e.on("tap",(t=>{const n=t.target,o=nT(e,n);tT(o)?(t.preventDefault(),Ax(e,o).each(f)):l(n)&&Ax(e,n).each(f)}),!0),e.on("mousedown",(r=>{const s=r.target;if(s!==o&&"HTML"!==s.nodeName&&!n.isChildOf(s,o))return;if(!((e,t,n)=>{const o=yn(e.getBody()),r=e.inline?o:yn(Nn(o).dom.documentElement),s=((e,t,n,o)=>{const r=(e=>e.dom.getBoundingClientRect())(t);return{x:n-(e?r.left+t.dom.clientLeft+Bw(t):0),y:o-(e?r.top+t.dom.clientTop+Ow(t):0)}})(e.inline,r,t,n);return((e,t,n)=>{const o=Aw(e),r=Tw(e);return t>=0&&n>=0&&t<=o&&n<=r})(r,s.x,s.y)})(e,r.clientX,r.clientY))return;g(),p();const a=nT(e,s);tT(a)?(r.preventDefault(),Ax(e,a).each(f)):IA(o,r.clientX,r.clientY).each((n=>{var o;r.preventDefault(),(o=d(1,n.node,n.position===OA.Before,!1))&&t.setRng(o),Vo(a)?a.focus():e.getBody().focus()}))})),e.on("keypress",(e=>{af.modifierPressed(e)||tT(t.getNode())&&e.preventDefault()})),e.on("GetSelectionRange",(e=>{let t=e.range;if(i){if(!i.parentNode)return void(i=null);t=t.cloneRange(),t.selectNode(i),e.range=t}})),e.on("SetSelectionRange",(e=>{e.range=m(e.range);const t=f(e.range,e.forward);t&&(e.range=t)})),e.on("AfterSetSelectionRange",(e=>{const t=e.range,o=t.startContainer.parentElement;var r;u(t)||qo(r=o)&&"mcepastebin"===r.id||p(),(e=>C(e)&&n.hasClass(e,"mce-offscreen-selection"))(o)||g()})),(e=>{eT(e),Id(e)&&(e=>{const t=t=>{if(!t.isDefaultPrevented()){const n=t.dataTransfer;n&&(H(n.types,"Files")||n.files.length>0)&&(t.preventDefault(),"drop"===t.type&&Fw(e,"Dropped file type is not supported"))}},n=n=>{xg(e,n.target)&&t(n)},o=()=>{const o=za.DOM,r=e.dom,s=document,a=e.inline?e.getBody():e.getDoc(),i=["drop","dragover"];V(i,(e=>{o.bind(s,e,n),r.bind(a,e,t)})),e.on("remove",(()=>{V(i,(e=>{o.unbind(s,e,n),r.unbind(a,e,t)}))}))};e.on("init",(()=>{vg.setEditorTimeout(e,o,0)}))})(e)})(e),(e=>{const t=Qa((()=>{if(!e.removed&&e.getBody().contains(document.activeElement)){const t=e.selection.getRng();if(t.collapsed){const n=Tx(e,t,!1);e.selection.setRng(n)}}}),0);e.on("focus",(()=>{t.throttle()})),e.on("blur",(()=>{t.cancel()}))})(e),(e=>{e.on("init",(()=>{e.on("focusin",(t=>{const n=t.target;if(mr(n)){const t=lb(e.getBody(),n),o=dr(t)?t:n;e.selection.getNode()!==o&&Ax(e,o).each((t=>e.selection.setRng(t)))}}))}))})(e)),{showCaret:d,showBlockCaretContainer:e=>{e.hasAttribute("data-mce-caret")&&(Vr(e),t.scrollIntoView(e))},hideFakeCaret:p,destroy:()=>{r.destroy(),i=null}}},rT=(e,t)=>{let n=t;for(let t=e.previousSibling;er(t);t=t.previousSibling)n+=t.data.length;return n},sT=(e,t,n,o,r)=>{if(er(n)&&(o<0||o>n.data.length))return[];const s=r&&er(n)?[rT(n,o)]:[o];let a=n;for(;a!==t&&a.parentNode;)s.push(e.nodeIndex(a,r)),a=a.parentNode;return a===t?s.reverse():[]},aT=(e,t,n,o,r,s,a=!1)=>({start:sT(e,t,n,o,a),end:sT(e,t,r,s,a)}),iT=(e,t)=>{const n=t.slice(),o=n.pop();return x(o)?X(n,((e,t)=>e.bind((e=>I.from(e.childNodes[t])))),I.some(e)).bind((e=>er(e)&&(o<0||o>e.data.length)?I.none():I.some({node:e,offset:o}))):I.none()},lT=(e,t)=>iT(e,t.start).bind((({node:n,offset:o})=>iT(e,t.end).map((({node:e,offset:t})=>{const r=document.createRange();return r.setStart(n,o),r.setEnd(e,t),r})))),dT=(e,t,n)=>{if(t&&e.isEmpty(t)&&!n(t)){const o=t.parentNode;e.remove(t,er(t.firstChild)&&ss(t.firstChild.data)),dT(e,o,n)}},cT=(e,t,n,o=!0)=>{const r=t.startContainer.parentNode,s=t.endContainer.parentNode;t.deleteContents(),o&&!n(t.startContainer)&&(er(t.startContainer)&&0===t.startContainer.data.length&&e.remove(t.startContainer),er(t.endContainer)&&0===t.endContainer.data.length&&e.remove(t.endContainer),dT(e,r,n),r!==s&&dT(e,s,n))},uT=(e,t)=>I.from(e.dom.getParent(t.startContainer,e.dom.isBlock)),mT=(e,t,n)=>{const o=e.dynamicPatternsLookup({text:n,block:t});return{...e,blockPatterns:Cl(o).concat(e.blockPatterns),inlinePatterns:wl(o).concat(e.inlinePatterns)}},fT=(e,t,n,o)=>{const r=e.createRng();return r.setStart(t,0),r.setEnd(n,o),r.toString()},gT=(e,t,n)=>{((e,t,n)=>{if(er(e)&&0>=e.length)return I.some(PS(e,0));{const t=hi(DS);return I.from(t.forwards(e,0,LS(e),n)).map((e=>PS(e.container,0)))}})(t,0,t).each((o=>{const r=o.container;FS(r,n.start.length,t).each((n=>{const o=e.createRng();o.setStart(r,0),o.setEnd(n.container,n.offset),cT(e,o,(e=>e===t))}));const s=yn(r),a=Cr(s);/^\s[^\s]/.test(a)&&((e,t)=>{yr.set(e,t)})(s,a.slice(1))}))},pT=(e,t)=>e.create("span",{"data-mce-type":"bookmark",id:t}),hT=(e,t)=>{const n=e.createRng();return n.setStartAfter(t.start),n.setEndBefore(t.end),n},bT=(e,t,n)=>{const o=lT(e.getRoot(),n).getOrDie("Unable to resolve path range"),r=o.startContainer,s=o.endContainer,a=0===o.endOffset?s:s.splitText(o.endOffset),i=0===o.startOffset?r:r.splitText(o.startOffset),l=i.parentNode;return{prefix:t,end:a.parentNode.insertBefore(pT(e,t+"-end"),a),start:l.insertBefore(pT(e,t+"-start"),i)}},vT=(e,t,n)=>{dT(e,e.get(t.prefix+"-end"),n),dT(e,e.get(t.prefix+"-start"),n)},yT=e=>0===e.start.length,CT=(e,t,n,o)=>{const r=t.start;var s;return US(e,o.container,o.offset,(s=r,(e,t)=>{const n=e.data.substring(0,t),o=n.lastIndexOf(s.charAt(s.length-1)),r=n.lastIndexOf(s);return-1!==r?r+s.length:-1!==o?o+1:-1}),n).bind((o=>{var s,a;const i=null!==(a=null===(s=n.textContent)||void 0===s?void 0:s.indexOf(r))&&void 0!==a?a:-1;if(-1!==i&&o.offset>=i+r.length){const t=e.createRng();return t.setStart(o.container,o.offset-r.length),t.setEnd(o.container,o.offset),I.some(t)}{const s=o.offset-r.length;return IS(o.container,s,n).map((t=>{const n=e.createRng();return n.setStart(t.container,t.offset),n.setEnd(o.container,o.offset),n})).filter((e=>e.toString()===r)).orThunk((()=>CT(e,t,n,PS(o.container,0))))}}))},wT=(e,t,n,o)=>{const r=e.dom,s=r.getRoot(),a=n.pattern,i=n.position.container,l=n.position.offset;return IS(i,l-n.pattern.end.length,t).bind((d=>{const c=aT(r,s,d.container,d.offset,i,l,o);if(yT(a))return I.some({matches:[{pattern:a,startRng:c,endRng:c}],position:d});{const i=xT(e,n.remainingPatterns,d.container,d.offset,t,o),l=i.getOr({matches:[],position:d}),u=l.position,m=((e,t,n,o,r,s=!1)=>{if(0===t.start.length&&!s){const t=e.createRng();return t.setStart(n,o),t.setEnd(n,o),I.some(t)}return MS(n,o,r).bind((n=>CT(e,t,r,n).bind((e=>{var t;if(s){if(e.endContainer===n.container&&e.endOffset===n.offset)return I.none();if(0===n.offset&&(null===(t=e.endContainer.textContent)||void 0===t?void 0:t.length)===e.endOffset)return I.none()}return I.some(e)}))))})(r,a,u.container,u.offset,t,i.isNone());return m.map((e=>{const t=((e,t,n,o=!1)=>aT(e,t,n.startContainer,n.startOffset,n.endContainer,n.endOffset,o))(r,s,e,o);return{matches:l.matches.concat([{pattern:a,startRng:t,endRng:c}]),position:PS(e.startContainer,e.startOffset)}}))}}))},xT=(e,t,n,o,r,s)=>{const a=e.dom;return MS(n,o,a.getRoot()).bind((i=>{const l=fT(a,r,n,o);for(let a=0;a0)return xT(e,t,n,o-1,r,s);if(u.isSome())return u}return I.none()}))},ET=(e,t,n)=>{e.selection.setRng(n),"inline-format"===t.type?V(t.format,(t=>{e.formatter.apply(t)})):e.execCommand(t.cmd,!1,t.value)},_T=(e,t,n,o,r,s)=>{var a;return((e,t)=>{const n=ne(e,(e=>$(t,(t=>e.pattern.start===t.pattern.start&&e.pattern.end===t.pattern.end))));return e.length===t.length?n?e:t:e.length>t.length?e:t})(xT(e,r.inlinePatterns,n,o,t,s).fold((()=>[]),(e=>e.matches)),xT(e,(a=r.inlinePatterns,ae(a,((e,t)=>t.end.length-e.end.length))),n,o,t,s).fold((()=>[]),(e=>e.matches)))},ST=(e,t)=>{if(0===t.length)return;const n=e.dom,o=e.selection.getBookmark(),r=((e,t)=>{const n=ui("mce_textpattern"),o=G(t,((t,o)=>{const r=bT(e,n+`_end${t.length}`,o.endRng);return t.concat([{...o,endMarker:r}])}),[]);return G(o,((t,r)=>{const s=o.length-t.length-1,a=yT(r.pattern)?r.endMarker:bT(e,n+`_start${s}`,r.startRng);return t.concat([{...r,startMarker:a}])}),[])})(n,t);V(r,(t=>{const o=n.getParent(t.startMarker.start,n.isBlock),r=e=>e===o;yT(t.pattern)?((e,t,n,o)=>{const r=hT(e.dom,n);cT(e.dom,r,o),ET(e,t,r)})(e,t.pattern,t.endMarker,r):((e,t,n,o,r)=>{const s=e.dom,a=hT(s,o),i=hT(s,n);cT(s,i,r),cT(s,a,r);const l={prefix:n.prefix,start:n.end,end:o.start},d=hT(s,l);ET(e,t,d)})(e,t.pattern,t.startMarker,t.endMarker,r),vT(n,t.endMarker,r),vT(n,t.startMarker,r)})),e.selection.moveToBookmark(o)},kT=(e,t)=>{const n=e.selection.getRng();return uT(e,n).map((o=>{var r;const s=Math.max(0,n.startOffset),a=mT(t,o,null!==(r=o.textContent)&&void 0!==r?r:""),i=_T(e,o,n.startContainer,s,a,!0),l=((e,t,n,o)=>{var r;const s=e.dom,a=Il(e);if(!s.is(t,a))return[];const i=null!==(r=t.textContent)&&void 0!==r?r:"";return((e,t)=>{const n=(e=>ae(e,((e,t)=>t.start.length-e.start.length)))(e),o=t.replace(br," ");return J(n,(e=>0===t.indexOf(e.start)||0===o.indexOf(e.start)))})(n.blockPatterns,i).map((e=>Pt.trim(i).length===e.start.length?[]:[{pattern:e,range:aT(s,s.getRoot(),t,0,t,0,true)}])).getOr([])})(e,o,a);return(l.length>0||i.length>0)&&(e.undoManager.add(),e.undoManager.extra((()=>{e.execCommand("mceInsertNewLine")}),(()=>{(e=>{e.insertContent(Br,{preserve_zwsp:!0})})(e),ST(e,i),((e,t)=>{if(0===t.length)return;const n=e.selection.getBookmark();V(t,(t=>((e,t)=>{const n=e.dom,o=t.pattern,r=lT(n.getRoot(),t.range).getOrDie("Unable to resolve path range");return uT(e,r).each((t=>{"block-format"===o.type?((e,t)=>{const n=t.get(e);return p(n)&&le(n).exists((e=>Ee(e,"block")))})(o.format,e.formatter)&&e.undoManager.transact((()=>{gT(e.dom,t,o),e.formatter.apply(o.format)})):"block-command"===o.type&&e.undoManager.transact((()=>{gT(e.dom,t,o),e.execCommand(o.cmd,!1,o.value)}))})),!0})(e,t))),e.selection.moveToBookmark(n)})(e,l);const t=e.selection.getRng(),n=MS(t.startContainer,t.startOffset,e.dom.getRoot());e.execCommand("mceInsertNewLine"),n.each((t=>{const n=t.container;n.data.charAt(t.offset-1)===hr&&(n.deleteData(t.offset-1,1),dT(e.dom,n.parentNode,(t=>t===e.dom.getRoot())))}))})),!0)})).getOr(!1)},NT=(e,t,n)=>{for(let o=0;o{const t=Pt.each,n=af.BACKSPACE,o=af.DELETE,r=e.dom,s=e.selection,a=e.parser,i=At.browser,l=i.isFirefox(),d=i.isChromium()||i.isSafari(),c=At.deviceType.isiPhone()||At.deviceType.isiPad(),u=At.os.isMacOS()||At.os.isiOS(),f=(t,n)=>{try{e.getDoc().execCommand(t,!1,String(n))}catch(e){}},g=e=>e.isDefaultPrevented(),p=()=>{e.shortcuts.add("meta+a",null,"SelectAll")},h=()=>{e.inline||r.bind(e.getDoc(),"mousedown mouseup",(t=>{let n;if(t.target===e.getDoc().documentElement)if(n=s.getRng(),e.getBody().focus(),"mousedown"===t.type){if(Ur(n.startContainer))return;s.placeCaretAt(t.clientX,t.clientY)}else s.setRng(n)}))},b=()=>{Range.prototype.getClientRects||e.on("mousedown",(t=>{if(!g(t)&&"HTML"===t.target.nodeName){const t=e.getBody();t.blur(),vg.setEditorTimeout(e,(()=>{t.focus()}))}}))},v=()=>{const t=zd(e);e.on("click",(n=>{const o=n.target;/^(IMG|HR)$/.test(o.nodeName)&&r.isEditable(o)&&(n.preventDefault(),e.selection.select(o),e.nodeChanged()),"A"===o.nodeName&&r.hasClass(o,t)&&0===o.childNodes.length&&r.isEditable(o.parentNode)&&(n.preventDefault(),s.select(o))}))},y=()=>{e.on("keydown",(e=>{if(!g(e)&&e.keyCode===n&&s.isCollapsed()&&0===s.getRng().startOffset){const t=s.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}return!0}))},C=()=>{Bd(e)||e.on("BeforeExecCommand mousedown",(()=>{f("StyleWithCSS",!1),f("enableInlineTableEditing",!1),cd(e)||f("enableObjectResizing",!1)}))},w=()=>{e.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")},x=()=>{e.inline||e.on("keydown",(()=>{document.activeElement===document.body&&e.getWin().focus()}))},E=()=>{e.inline||(e.contentStyles.push("body {min-height: 150px}"),e.on("click",(t=>{let n;"HTML"===t.target.nodeName&&(n=e.selection.getRng(),e.getBody().focus(),e.selection.setRng(n),e.selection.normalize(),e.nodeChanged())})))},S=()=>{u&&e.on("keydown",(t=>{!af.metaKeyPressed(t)||t.shiftKey||37!==t.keyCode&&39!==t.keyCode||(t.preventDefault(),e.selection.getSel().modify("move",37===t.keyCode?"backward":"forward","lineboundary"))}))},k=()=>{e.on("click",(e=>{let t=e.target;do{if("A"===t.tagName)return void e.preventDefault()}while(t=t.parentNode)})),e.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")},N=()=>{e.on("init",(()=>{e.dom.bind(e.getBody(),"submit",(e=>{e.preventDefault()}))}))},R=_;return ZC(e)?(d&&(h(),v(),N(),p(),c&&(x(),E(),k())),l&&(b(),C(),w(),S())):(e.on("keydown",(t=>{if(g(t)||t.keyCode!==af.BACKSPACE)return;let n=s.getRng();const o=n.startContainer,a=n.startOffset,i=r.getRoot();let l=o;if(n.collapsed&&0===a){for(;l.parentNode&&l.parentNode.firstChild===l&&l.parentNode!==i;)l=l.parentNode;"BLOCKQUOTE"===l.nodeName&&(e.formatter.toggle("blockquote",void 0,l),n=r.createRng(),n.setStart(o,0),n.setEnd(o,0),s.setRng(n))}})),(()=>{const t=e=>{const t=r.create("body"),n=e.cloneContents();return t.appendChild(n),s.serializer.serialize(t,{format:"html"})};e.on("keydown",(s=>{const a=s.keyCode;if(!g(s)&&(a===o||a===n)&&e.selection.isEditable()){const n=e.selection.isCollapsed(),o=e.getBody();if(n&&!gs(yn(o)))return;if(!n&&!(n=>{const o=t(n),s=r.createRng();return s.selectNode(e.getBody()),o===t(s)})(e.selection.getRng()))return;s.preventDefault(),e.setContent(""),o.firstChild&&r.isBlock(o.firstChild)?e.selection.setCursorLocation(o.firstChild,0):e.selection.setCursorLocation(o,0),e.nodeChanged()}}))})(),At.windowsPhone||e.on("keyup focusin mouseup",(t=>{af.modifierPressed(t)||(e=>{const t=e.getBody(),n=e.selection.getRng();return n.startContainer===n.endContainer&&n.startContainer===t&&0===n.startOffset&&n.endOffset===t.childNodes.length})(e)||s.normalize()}),!0),d&&(h(),v(),e.on("init",(()=>{f("DefaultParagraphSeparator",Il(e))})),N(),y(),a.addNodeFilter("br",(e=>{let t=e.length;for(;t--;)"Apple-interchange-newline"===e[t].attr("class")&&e[t].remove()})),c?(x(),E(),k()):p()),l&&(e.on("keydown",(t=>{if(!g(t)&&t.keyCode===n){if(!e.getBody().getElementsByTagName("hr").length)return;if(s.isCollapsed()&&0===s.getRng().startOffset){const e=s.getNode(),n=e.previousSibling;if("HR"===e.nodeName)return r.remove(e),void t.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(r.remove(n),t.preventDefault())}}})),b(),(()=>{const n=()=>{const n=r.getAttribs(s.getStart().cloneNode(!1));return()=>{const o=s.getStart();o!==e.getBody()&&(r.setAttrib(o,"style",null),t(n,(e=>{o.setAttributeNode(e.cloneNode(!0))})))}},o=()=>!s.isCollapsed()&&r.getParent(s.getStart(),r.isBlock)!==r.getParent(s.getEnd(),r.isBlock);e.on("keypress",(t=>{let r;return!(!(g(t)||8!==t.keyCode&&46!==t.keyCode)&&o()&&(r=n(),e.getDoc().execCommand("delete",!1),r(),t.preventDefault(),1))})),r.bind(e.getDoc(),"cut",(t=>{if(!g(t)&&o()){const t=n();vg.setEditorTimeout(e,(()=>{t()}))}}))})(),C(),e.on("SetContent ExecCommand",(e=>{"setcontent"!==e.type&&"mceInsertLink"!==e.command||t(r.select("a:not([data-mce-block])"),(e=>{var t;let n=e.parentNode;const o=r.getRoot();if((null==n?void 0:n.lastChild)===e){for(;n&&!r.isBlock(n);){if((null===(t=n.parentNode)||void 0===t?void 0:t.lastChild)!==n||n===o)return;n=n.parentNode}r.add(n,"br",{"data-mce-bogus":1})}}))})),w(),S(),y(),e.on("drop",(t=>{var n;const o=null===(n=t.dataTransfer)||void 0===n?void 0:n.getData("text/html");m(o)&&/^]*>$/.test(o)&&e.dispatch("dragend",new window.DragEvent("dragend",t))})))),{refreshContentEditable:R,isHidden:()=>{if(!l||e.removed)return!1;const t=e.selection.getSel();return!t||!t.rangeCount||0===t.rangeCount}}},AT=za.DOM,TT=e=>e.inline?e.getElement().nodeName.toLowerCase():void 0,OT=e=>ye(e,(e=>!1===v(e))),BT=e=>{const t=e.options.get,n=e.editorUpload.blobCache;return OT({allow_conditional_comments:t("allow_conditional_comments"),allow_html_data_urls:t("allow_html_data_urls"),allow_svg_data_urls:t("allow_svg_data_urls"),allow_html_in_named_anchor:t("allow_html_in_named_anchor"),allow_script_urls:t("allow_script_urls"),allow_unsafe_link_target:t("allow_unsafe_link_target"),convert_unsafe_embeds:t("convert_unsafe_embeds"),convert_fonts_to_spans:t("convert_fonts_to_spans"),fix_list_elements:t("fix_list_elements"),font_size_legacy_values:t("font_size_legacy_values"),forced_root_block:t("forced_root_block"),forced_root_block_attrs:t("forced_root_block_attrs"),preserve_cdata:t("preserve_cdata"),inline_styles:t("inline_styles"),root_name:TT(e),sandbox_iframes:t("sandbox_iframes"),sanitize:t("xss_sanitization"),validate:!0,blob_cache:n,document:e.getDoc()})},PT=e=>{const t=e.options.get;return OT({custom_elements:t("custom_elements"),extended_valid_elements:t("extended_valid_elements"),invalid_elements:t("invalid_elements"),invalid_styles:t("invalid_styles"),schema:t("schema"),valid_children:t("valid_children"),valid_classes:t("valid_classes"),valid_elements:t("valid_elements"),valid_styles:t("valid_styles"),verify_html:t("verify_html"),padd_empty_block_inline_children:t("format_empty_lines")})},DT=e=>e.inline?e.ui.styleSheetLoader:e.dom.styleSheetLoader,LT=e=>{const t=DT(e),n=id(e),o=e.contentCSS,r=()=>{t.unloadAll(o),e.inline||e.ui.styleSheetLoader.unloadAll(n)},s=()=>{e.removed?r():e.on("remove",r)};if(e.contentStyles.length>0){let t="";Pt.each(e.contentStyles,(e=>{t+=e+"\r\n"})),e.dom.addStyle(t)}const a=Promise.all(((e,t,n)=>{const{pass:o,fail:r}=K(t,(e=>tinymce.Resource.has(Hw(e)))),s=o.map((t=>{const n=tinymce.Resource.get(Hw(t));return m(n)?Promise.resolve(DT(e).loadRawCss(t,n)):Promise.resolve()})),a=[...s,DT(e).loadAll(r)];return e.inline?a:a.concat([e.ui.styleSheetLoader.loadAll(n)])})(e,o,n)).then(s).catch(s),i=ad(e);return i&&((e,t)=>{const n=yn(e.getBody()),o=Vn(qn(n)),r=bn("style");Jt(r,"type","text/css"),vo(r,vn(t)),vo(o,r),e.on("remove",(()=>{xo(r)}))})(e,i),a},MT=e=>{!0!==e.removed&&((e=>{ZC(e)||e.load({initial:!0,format:"html"}),e.startContent=e.getContent({format:"raw"})})(e),(e=>{e.bindPendingEventDelegates(),e.initialized=!0,(e=>{e.dispatch("Init")})(e),e.focus(!0),(e=>{const t=e.dom.getRoot();e.inline||am(e)&&e.selection.getStart(!0)!==t||Ou(t).each((t=>{const n=t.getNode(),o=Qo(n)?Ou(n).getOr(t):t;e.selection.setRng(o.toRange())}))})(e),e.nodeChanged({initial:!0});const t=$d(e);w(t)&&t.call(e,e),(e=>{const t=Vd(e);t&&vg.setEditorTimeout(e,(()=>{let n;n=!0===t?e:e.editorManager.get(t),n&&!n.destroyed&&(n.focus(),n.selection.scrollIntoView())}),100)})(e)})(e))},IT=e=>{const t=e.getElement();let n=e.getDoc();e.inline&&(AT.addClass(t,"mce-content-body"),e.contentDocument=n=document,e.contentWindow=window,e.bodyElement=t,e.contentAreaContainer=t);const o=e.getBody();o.disabled=!0,e.readonly=Bd(e),e._editableRoot=Pd(e),!e.readonly&&e.hasEditableRoot()&&(e.inline&&"static"===AT.getStyle(o,"position",!0)&&(o.style.position="relative"),o.contentEditable="true"),o.disabled=!1,e.editorUpload=Xw(e),e.schema=ua(PT(e)),e.dom=za(n,{keep_values:!0,url_converter:e.convertURL,url_converter_scope:e,update_styles:!0,root_element:e.inline?e.getBody():null,collect:e.inline,schema:e.schema,contentCssCors:Zl(e),referrerPolicy:ed(e),onSetAttrib:t=>{e.dispatch("SetAttrib",t)},force_hex_color:yc(e)}),e.parser=(e=>{const t=CC(BT(e),e.schema);return t.addAttributeFilter("src,href,style,tabindex",((t,n)=>{const o=e.dom,r="data-mce-"+n;let s=t.length;for(;s--;){const a=t[s];let i=a.attr(n);if(i&&!a.attr(r)){if(0===i.indexOf("data:")||0===i.indexOf("blob:"))continue;"style"===n?(i=o.serializeStyle(o.parseStyle(i),a.name),i.length||(i=null),a.attr(r,i),a.attr(n,i)):"tabindex"===n?(a.attr(r,i),a.attr(n,null)):a.attr(r,e.convertURL(i,n,a.name))}}})),t.addNodeFilter("script",(e=>{let t=e.length;for(;t--;){const n=e[t],o=n.attr("type")||"no/type";0!==o.indexOf("mce-")&&n.attr("type","mce-"+o)}})),uc(e)&&t.addNodeFilter("#cdata",(t=>{var n;let o=t.length;for(;o--;){const r=t[o];r.type=8,r.name="#comment",r.value="[CDATA["+e.dom.encode(null!==(n=r.value)&&void 0!==n?n:"")+"]]"}})),t.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",(t=>{let n=t.length;const o=e.schema.getNonEmptyElements();for(;n--;){const e=t[n];e.isEmpty(o)&&0===e.getAll("br").length&&e.append(new Wg("br",1))}})),t})(e),e.serializer=cw((e=>{const t=e.options.get;return{...BT(e),...PT(e),...OT({remove_trailing_brs:t("remove_trailing_brs"),pad_empty_with_br:t("pad_empty_with_br"),url_converter:t("url_converter"),url_converter_scope:t("url_converter_scope"),element_format:t("element_format"),entities:t("entities"),entity_encoding:t("entity_encoding"),indent:t("indent"),indent_after:t("indent_after"),indent_before:t("indent_before")})}})(e),e),e.selection=iw(e.dom,e.getWin(),e.serializer,e),e.annotator=Qm(e),e.formatter=ix(e),e.undoManager=dx(e),e._nodeChangeDispatcher=new CR(e),e._selectionOverrides=oT(e),(e=>{const t=Xa(),n=$a(!1),o=Ja((t=>{e.dispatch("longpress",{...t,type:"longpress"}),n.set(!0)}),400);e.on("touchstart",(e=>{M_(e).each((r=>{o.cancel();const s={x:r.clientX,y:r.clientY,target:e.target};o.throttle(e),n.set(!1),t.set(s)}))}),!0),e.on("touchmove",(r=>{o.cancel(),M_(r).each((o=>{t.on((r=>{((e,t)=>{const n=Math.abs(e.clientX-t.x),o=Math.abs(e.clientY-t.y);return n>5||o>5})(o,r)&&(t.clear(),n.set(!1),e.dispatch("longpresscancel"))}))}))}),!0),e.on("touchend touchcancel",(r=>{o.cancel(),"touchcancel"!==r.type&&t.get().filter((e=>e.target.isEqualNode(r.target))).each((()=>{n.get()?r.preventDefault():e.dispatch("tap",{...r,type:"tap"})}))}),!0)})(e),(e=>{(e=>{e.on("click",(t=>{e.dom.getParent(t.target,"details")&&t.preventDefault()}))})(e),(e=>{e.parser.addNodeFilter("details",(t=>{const n=bc(e);V(t,(e=>{"expanded"===n?e.attr("open","open"):"collapsed"===n&&e.attr("open",null)}))})),e.serializer.addNodeFilter("details",(t=>{const n=vc(e);V(t,(e=>{"expanded"===n?e.attr("open","open"):"collapsed"===n&&e.attr("open",null)}))}))})(e)})(e),(e=>{const t="contenteditable",n=" "+Pt.trim(dc(e))+" ",o=" "+Pt.trim(lc(e))+" ",r=$_(n),s=$_(o),a=cc(e);a.length>0&&e.on("BeforeSetContent",(t=>{((e,t,n)=>{let o=t.length,r=n.content;if("raw"!==n.format){for(;o--;)r=r.replace(t[o],q_(e,r,lc(e)));n.content=r}})(e,a,t)})),e.parser.addAttributeFilter("class",(e=>{let n=e.length;for(;n--;){const o=e[n];r(o)?o.attr(t,"true"):s(o)&&o.attr(t,"false")}})),e.serializer.addAttributeFilter(t,(e=>{let n=e.length;for(;n--;){const o=e[n];if(!r(o)&&!s(o))continue;const i=o.attr("data-mce-content");a.length>0&&i?V_(a,i)?(o.name="#text",o.type=3,o.raw=!0,o.value=i):o.remove():o.attr(t,null)}}))})(e),ZC(e)||((e=>{e.on("mousedown",(t=>{t.detail>=3&&(t.preventDefault(),TA(e))}))})(e),(e=>{(e=>{const t=[",",".",";",":","!","?"],n=[32],o=()=>{return t=ac(e),n=ic(e),{inlinePatterns:wl(t),blockPatterns:Cl(t),dynamicPatternsLookup:n};var t,n},r=()=>(e=>e.options.isSet("text_patterns_lookup"))(e);e.on("keydown",(t=>{if(13===t.keyCode&&!af.modifierPressed(t)&&e.selection.isCollapsed()){const n=o();(n.inlinePatterns.length>0||n.blockPatterns.length>0||r())&&kT(e,n)&&t.preventDefault()}}),!0);const s=()=>{if(e.selection.isCollapsed()){const t=o();(t.inlinePatterns.length>0||r())&&((e,t)=>{const n=e.selection.getRng();uT(e,n).map((o=>{const r=Math.max(0,n.startOffset-1),s=fT(e.dom,o,n.startContainer,r),a=mT(t,o,s),i=_T(e,o,n.startContainer,r,a,!1);i.length>0&&e.undoManager.transact((()=>{ST(e,i)}))}))})(e,t)}};e.on("keyup",(e=>{NT(n,e,((e,t)=>e===t.keyCode&&!af.modifierPressed(t)))&&s()})),e.on("keypress",(n=>{NT(t,n,((e,t)=>e.charCodeAt(0)===t.charCode))&&vg.setEditorTimeout(e,s)}))})(e)})(e));const r=yR(e);L_(e,r),(e=>{e.on("NodeChange",T(j_,e))})(e),(e=>{var t;const n=e.dom,o=Il(e),r=null!==(t=md(e))&&void 0!==t?t:"",s=(t,a)=>{if((e=>{if(mx(e)){const t=e.keyCode;return!fx(e)&&(af.metaKeyPressed(e)||e.altKey||t>=112&&t<=123||H(cx,t))}return!1})(t))return;const i=e.getBody(),l=!(e=>mx(e)&&!(fx(e)||"keyup"===e.type&&229===e.keyCode))(t)&&((e,t,n)=>{if(gs(yn(t),!1)){const o=t.firstElementChild;return!o||!e.getStyle(t.firstElementChild,"padding-left")&&!e.getStyle(t.firstElementChild,"padding-right")&&n===o.nodeName.toLowerCase()}return!1})(n,i,o);(""!==n.getAttrib(i,ux)!==l||a)&&(n.setAttrib(i,ux,l?r:null),n.setAttrib(i,"aria-placeholder",l?r:null),((e,t)=>{e.dispatch("PlaceholderToggle",{state:t})})(e,l),e.on(l?"keydown":"keyup",s),e.off(l?"keyup":"keydown",s))};Ye(r)&&e.on("init",(t=>{s(t,!0),e.on("change SetContent ExecCommand",s),e.on("paste",(t=>vg.setEditorTimeout(e,(()=>s(t)))))}))})(e),EA(e);const s=(e=>{const t=e;return(e=>xe(e.plugins,"rtc").bind((e=>I.from(e.setup))))(e).fold((()=>(t.rtcInstance=JC(e),I.none())),(e=>(t.rtcInstance=(()=>{const e=N(null),t=N("");return{init:{bindEvents:_},undoManager:{beforeChange:_,add:e,undo:e,redo:e,clear:_,reset:_,hasUndo:L,hasRedo:L,transact:e,ignore:_,extra:_},formatter:{match:L,matchAll:N([]),matchNode:N(void 0),canApply:L,closest:t,apply:_,remove:_,toggle:_,formatChanged:N({unbind:_})},editor:{getContent:t,setContent:N({content:"",html:""}),insertContent:N(""),addVisual:_},selection:{getContent:t},autocompleter:{addDecoration:_,removeDecoration:_},raw:{getModel:N(I.none())}}})(),I.some((()=>e().then((e=>(t.rtcInstance=(e=>{const t=e=>f(e)?e:{},{init:n,undoManager:o,formatter:r,editor:s,selection:a,autocompleter:i,raw:l}=e;return{init:{bindEvents:n.bindEvents},undoManager:{beforeChange:o.beforeChange,add:o.add,undo:o.undo,redo:o.redo,clear:o.clear,reset:o.reset,hasUndo:o.hasUndo,hasRedo:o.hasRedo,transact:(e,t,n)=>o.transact(n),ignore:(e,t)=>o.ignore(t),extra:(e,t,n,r)=>o.extra(n,r)},formatter:{match:(e,n,o,s)=>r.match(e,t(n),s),matchAll:r.matchAll,matchNode:r.matchNode,canApply:e=>r.canApply(e),closest:e=>r.closest(e),apply:(e,n,o)=>r.apply(e,t(n)),remove:(e,n,o,s)=>r.remove(e,t(n)),toggle:(e,n,o)=>r.toggle(e,t(n)),formatChanged:(e,t,n,o,s)=>r.formatChanged(t,n,o,s)},editor:{getContent:e=>s.getContent(e),setContent:(e,t)=>({content:s.setContent(e,t),html:""}),insertContent:(e,t)=>(s.insertContent(e),""),addVisual:s.addVisual},selection:{getContent:(e,t)=>a.getContent(t)},autocompleter:{addDecoration:i.addDecoration,removeDecoration:i.removeDecoration},raw:{getModel:()=>I.some(l.getRawModel())}}})(e),e.rtc.isRemote))))))))})(e);(e=>{const t=e.getDoc(),n=e.getBody();(e=>{e.dispatch("PreInit")})(e),Wd(e)||(t.body.spellcheck=!1,AT.setAttrib(n,"spellcheck","false")),e.quirks=RT(e),(e=>{e.dispatch("PostRender")})(e);const o=ld(e);void 0!==o&&(n.dir=o);const r=Kd(e);r&&e.on("BeforeSetContent",(e=>{Pt.each(r,(t=>{e.content=e.content.replace(t,(e=>"\x3c!--mce:protected "+escape(e)+"--\x3e"))}))})),e.on("SetContent",(()=>{e.addVisual(e.getBody())})),e.on("compositionstart compositionend",(t=>{e.composing="compositionstart"===t.type}))})(e),s.fold((()=>{const t=(e=>{let t=!1;const n=setTimeout((()=>{t||e.setProgressState(!0)}),500);return()=>{clearTimeout(n),t=!0,e.setProgressState(!1)}})(e);LT(e).then((()=>{MT(e),t()}))}),(t=>{e.setProgressState(!0),LT(e).then((()=>{t().then((t=>{e.setProgressState(!1),MT(e),nw(e)}),(t=>{e.notificationManager.open({type:"error",text:String(t)}),MT(e),nw(e)}))}))}))},FT=M,UT=za.DOM,zT=za.DOM,jT=(e,t)=>({editorContainer:e,iframeContainer:t,api:{}}),HT=e=>{const t=e.getElement();return e.inline?jT(null):(e=>{const t=zT.create("div");return zT.insertAfter(t,e),jT(t,t)})(t)},$T=async e=>{e.dispatch("ScriptsLoaded"),(e=>{const t=Pt.trim(Kl(e)),n=e.ui.registry.getAll().icons,o={...Sw.get("default").icons,...Sw.get(t).icons};ge(o,((t,o)=>{Ee(n,o)||e.ui.registry.addIcon(o,t)}))})(e),(e=>{const t=pd(e);if(m(t)){const n=Lw.get(t);e.theme=n(e,Lw.urls[t])||{},w(e.theme.init)&&e.theme.init(e,Lw.urls[t]||e.documentBaseUrl.replace(/\/$/,""))}else e.theme={}})(e),(e=>{const t=bd(e),n=kw.get(t);e.model=n(e,kw.urls[t])})(e),(e=>{const t=[];V(Ld(e),(n=>{((e,t,n)=>{const o=Dw.get(n),r=Dw.urls[n]||e.documentBaseUrl.replace(/\/$/,"");if(n=Pt.trim(n),o&&-1===Pt.inArray(t,n)){if(e.plugins[n])return;try{const s=o(e,r)||{};e.plugins[n]=s,w(s.init)&&(s.init(e,r),t.push(n))}catch(t){((e,t,n)=>{const o=Ka.translate(["Failed to initialize plugin: {0}",t]);ef(e,"PluginLoadError",{message:o}),jw(o,n),Fw(e,o)})(e,n,t)}}})(e,t,(e=>e.replace(/^\-/,""))(n))}))})(e);const t=await(e=>{const t=e.getElement();return e.orgDisplay=t.style.display,m(pd(e))?(e=>{const t=e.theme.renderUI;return t?t():HT(e)})(e):w(pd(e))?(e=>{const t=e.getElement(),n=pd(e)(e,t);return n.editorContainer.nodeType&&(n.editorContainer.id=n.editorContainer.id||e.id+"_parent"),n.iframeContainer&&n.iframeContainer.nodeType&&(n.iframeContainer.id=n.iframeContainer.id||e.id+"_iframecontainer"),n.height=n.iframeHeight?n.iframeHeight:t.offsetHeight,n})(e):HT(e)})(e);((e,t)=>{const n={show:I.from(t.show).getOr(_),hide:I.from(t.hide).getOr(_),isEnabled:I.from(t.isEnabled).getOr(M),setEnabled:n=>{e.mode.isReadOnly()||I.from(t.setEnabled).each((e=>e(n)))}};e.ui={...e.ui,...n}})(e,I.from(t.api).getOr({})),e.editorContainer=t.editorContainer,(e=>{e.contentCSS=e.contentCSS.concat((e=>$w(e,sd(e)))(e),(e=>$w(e,id(e)))(e))})(e),e.inline?IT(e):((e,t)=>{((e,t)=>{const n=e.translate("Rich Text Area"),o=tn(yn(e.getElement()),"tabindex").bind(Xe),r=((e,t,n,o)=>{const r=bn("iframe");return o.each((e=>Jt(r,"tabindex",e))),Zt(r,n),Zt(r,{id:e+"_ifr",frameBorder:"0",allowTransparency:"true",title:t}),un(r,"tox-edit-area__iframe"),r})(e.id,n,Tl(e),o).dom;r.onload=()=>{r.onload=null,e.dispatch("load")},e.contentAreaContainer=t.iframeContainer,e.iframeElement=r,e.iframeHTML=(e=>{let t=Ol(e)+"";Bl(e)!==e.documentBaseUrl&&(t+=''),t+='';const n=Pl(e),o=Dl(e),r=e.translate(jd(e));return Ll(e)&&(t+=''),t+=`
    `,t})(e),UT.add(t.iframeContainer,r)})(e,t),t.editorContainer&&(t.editorContainer.style.display=e.orgDisplay,e.hidden=UT.isHidden(t.editorContainer)),e.getElement().style.display="none",UT.setAttrib(e.id,"aria-hidden","true"),e.getElement().style.visibility=e.orgVisibility,(e=>{const t=e.iframeElement,n=()=>{e.contentDocument=t.contentDocument,IT(e)};if(gc(e)||At.browser.isFirefox()){const t=e.getDoc();t.open(),t.write(e.iframeHTML),t.close(),n()}else{const r=(o=yn(t),No(o,"load",FT,(()=>{r.unbind(),n()})));t.srcdoc=e.iframeHTML}var o})(e)})(e,{editorContainer:t.editorContainer,iframeContainer:t.iframeContainer})},qT=za.DOM,VT=e=>"-"===e.charAt(0),WT=(e,t,n)=>I.from(t).filter((e=>Ye(e)&&!Sw.has(e))).map((t=>({url:`${e.editorManager.baseURL}/icons/${t}/icons${n}.js`,name:I.some(t)}))),KT=(e,t)=>{const n=Ha.ScriptLoader,o=()=>{!e.removed&&(e=>{const t=pd(e);return!m(t)||C(Lw.get(t))})(e)&&(e=>{const t=bd(e);return C(kw.get(t))})(e)&&$T(e)};((e,t)=>{const n=pd(e);if(m(n)&&!VT(n)&&!Ee(Lw.urls,n)){const o=hd(e),r=o?e.documentBaseURI.toAbsolute(o):`themes/${n}/theme${t}.js`;Lw.load(n,r).catch((()=>{((e,t,n)=>{Uw(e,"ThemeLoadError",zw("theme",t,n))})(e,r,n)}))}})(e,t),((e,t)=>{const n=bd(e);if("plugin"!==n&&!Ee(kw.urls,n)){const o=vd(e),r=m(o)?e.documentBaseURI.toAbsolute(o):`models/${n}/model${t}.js`;kw.load(n,r).catch((()=>{((e,t,n)=>{Uw(e,"ModelLoadError",zw("model",t,n))})(e,r,n)}))}})(e,t),((e,t)=>{const n=td(t),o=nd(t);if(!Ka.hasCode(n)&&"en"!==n){const r=Ye(o)?o:`${t.editorManager.baseURL}/langs/${n}.js`;e.add(r).catch((()=>{((e,t,n)=>{Uw(e,"LanguageLoadError",zw("language",t,n))})(t,r,n)}))}})(n,e),((e,t,n)=>{const o=WT(t,"default",n),r=(e=>I.from(Yl(e)).filter(Ye).map((e=>({url:e,name:I.none()}))))(t).orThunk((()=>WT(t,Kl(t),"")));V((e=>{const t=[],n=e=>{t.push(e)};for(let t=0;t{e.add(n.url).catch((()=>{((e,t,n)=>{Uw(e,"IconsLoadError",zw("icons",t,n))})(t,n.url,n.name.getOrUndefined())}))}))})(n,e,t),((e,t)=>{const n=(t,n)=>{Dw.load(t,n).catch((()=>{((e,t,n)=>{Uw(e,"PluginLoadError",zw("plugin",t,n))})(e,n,t)}))};ge(Md(e),((t,o)=>{n(o,t),e.options.set("plugins",Ld(e).concat(o))})),V(Ld(e),(e=>{!(e=Pt.trim(e))||Dw.urls[e]||VT(e)||n(e,`plugins/${e}/plugin${t}.js`)}))})(e,t),n.loadQueue().then(o,o)},YT=xt().deviceType,GT=YT.isPhone(),XT=YT.isTablet(),QT=e=>{if(y(e))return[];{const t=p(e)?e:e.split(/[ ,]/),n=q(t,Ve);return Y(n,Ye)}},JT=(e,t)=>{const n=((t,n)=>{const o={},r={};return ve(t,((t,n)=>H(e,n)),be(o),be(r)),{t:o,f:r}})(t);return o=n.t,r=n.f,{sections:N(o),options:N(r)};var o,r},ZT=(e,t)=>Ee(e.sections(),t),eO=(e,t)=>({table_grid:!1,object_resizing:!1,resize:!1,toolbar_mode:xe(e,"toolbar_mode").getOr("scrolling"),toolbar_sticky:!1,...t?{menubar:!1}:{}}),tO=(e,t)=>{var n;const o=null!==(n=t.external_plugins)&&void 0!==n?n:{};return e&&e.external_plugins?Pt.extend({},e.external_plugins,o):o},nO=(e,t,n,o,r)=>{var s;const a=e?{mobile:eO(null!==(s=r.mobile)&&void 0!==s?s:{},t)}:{},i=JT(["mobile"],nk(a,r)),l=Pt.extend(n,o,i.options(),((e,t)=>e&&ZT(t,"mobile"))(e,i)?((e,t,n={})=>{const o=e.sections(),r=xe(o,t).getOr({});return Pt.extend({},n,r)})(i,"mobile"):{},{external_plugins:tO(o,i.options())});return((e,t,n,o)=>{const r=QT(n.forced_plugins),s=QT(o.plugins),a=((e,t)=>ZT(e,t)?e.sections()[t]:{})(t,"mobile"),i=((e,t,n,o)=>e&&ZT(t,"mobile")?o:n)(e,t,s,a.plugins?QT(a.plugins):s),l=((e,t)=>[...QT(e),...QT(t)])(r,i);return Pt.extend(o,{forced_plugins:r,plugins:l})})(e,i,o,l)},oO=e=>{(e=>{const t=t=>()=>{V("left,center,right,justify".split(","),(n=>{t!==n&&e.formatter.remove("align"+n)})),"none"!==t&&((t,n)=>{e.formatter.toggle(t,void 0),e.nodeChanged()})("align"+t)};e.editorCommands.addCommands({JustifyLeft:t("left"),JustifyCenter:t("center"),JustifyRight:t("right"),JustifyFull:t("justify"),JustifyNone:t("none")})})(e),(e=>{const t=t=>()=>{const n=e.selection,o=n.isCollapsed()?[e.dom.getParent(n.getNode(),e.dom.isBlock)]:n.getSelectedBlocks();return $(o,(n=>C(e.formatter.matchNode(n,t))))};e.editorCommands.addCommands({JustifyLeft:t("alignleft"),JustifyCenter:t("aligncenter"),JustifyRight:t("alignright"),JustifyFull:t("alignjustify")},"state")})(e)},rO=(e,t)=>{const n=e.selection,o=e.dom;return/^ | $/.test(t)?((e,t,n,o)=>{const r=yn(e.getRoot());return n=eh(r,Vi.fromRangeStart(t),o)?n.replace(/^ /," "):n.replace(/^ /," "),th(r,Vi.fromRangeEnd(t),o)?n.replace(/( | )()?$/," "):n.replace(/ ()?$/," ")})(o,n.getRng(),t,e.schema):t},sO=(e,t)=>{if(e.selection.isEditable()){const{content:n,details:o}=(e=>{if("string"!=typeof e){const t=Pt.extend({paste:e.paste,data:{paste:e.paste}},e);return{content:e.content,details:t}}return{content:e,details:{}}})(t);_C(e,{...o,content:rO(e,n),format:"html",set:!1,selection:!0}).each((t=>{const n=((e,t,n)=>ew(e).editor.insertContent(t,n))(e,t.content,o);SC(e,n,t),e.addVisual()}))}},aO={"font-size":"size","font-family":"face"},iO=Xt("font"),lO=e=>(t,n)=>I.from(n).map(yn).filter(Wt).bind((n=>((e,t,n)=>Lb(yn(n),(t=>(t=>mo(t,e).orThunk((()=>iO(t)?xe(aO,e).bind((e=>tn(t,e))):I.none())))(t)),(e=>_n(yn(t),e))))(e,t,n.dom).or(((e,t)=>I.from(za.DOM.getStyle(t,e,!0)))(e,n.dom)))).getOr(""),dO=lO("font-size"),cO=S((e=>e.replace(/[\'\"\\]/g,"").replace(/,\s+/g,",")),lO("font-family")),uO=e=>Ou(e.getBody()).bind((e=>{const t=e.container();return I.from(er(t)?t.parentNode:t)})),mO=(e,t)=>((e,t)=>(e=>I.from(e.selection.getRng()).bind((t=>{const n=e.getBody();return t.startContainer===n&&0===t.startOffset?I.none():I.from(e.selection.getStart(!0))})))(e).orThunk(T(uO,e)).map(yn).filter(Wt).bind(t))(e,k(I.some,t)),fO=(e,t)=>{if(/^[0-9.]+$/.test(t)){const n=parseInt(t,10);if(n>=1&&n<=7){const o=(e=>Pt.explode(e.options.get("font_size_style_values")))(e),r=(e=>Pt.explode(e.options.get("font_size_classes")))(e);return r.length>0?r[n-1]||t:o[n-1]||t}return t}return t},gO=e=>{const t=e.split(/\s*,\s*/);return q(t,(e=>-1===e.indexOf(" ")||He(e,'"')||He(e,"'")?e:`'${e}'`)).join(",")},pO=(e,t)=>{const n=e.dom,o=e.selection.getRng(),r=t?e.selection.getStart():e.selection.getEnd(),s=t?o.startContainer:o.endContainer,a=CN(n,s);if(!a||!a.isContentEditable)return;const i=t?po:ho,l=Il(e);((e,t,n,o)=>{const r=e.dom,s=e=>r.isBlock(e)&&e.parentElement===n,a=s(t)?t:r.getParent(o,s,n);return I.from(a).map(yn)})(e,r,a,s).each((t=>{const n=_N(e,s,t.dom,a,!1,l);i(t,yn(n)),e.selection.setCursorLocation(n,0),e.dispatch("NewBlock",{newBlock:n}),fN(e,"insertParagraph")}))},hO=e=>{oO(e),(e=>{e.editorCommands.addCommands({"Cut,Copy,Paste":t=>{const n=e.getDoc();let o;try{n.execCommand(t)}catch(e){o=!0}if("paste"!==t||n.queryCommandEnabled(t)||(o=!0),o||!n.queryCommandSupported(t)){let t=e.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");(At.os.isMacOS()||At.os.isiOS())&&(t=t.replace(/Ctrl\+/g,"\u2318+")),e.notificationManager.open({text:t,type:"error"})}}})})(e),(e=>{e.editorCommands.addCommands({mceAddUndoLevel:()=>{e.undoManager.add()},mceEndUndoLevel:()=>{e.undoManager.add()},Undo:()=>{e.undoManager.undo()},Redo:()=>{e.undoManager.redo()}})})(e),(e=>{e.editorCommands.addCommands({mceSelectNodeDepth:(t,n,o)=>{let r=0;e.dom.getParent(e.selection.getNode(),(t=>!qo(t)||r++!==o||(e.selection.select(t),!1)),e.getBody())},mceSelectNode:(t,n,o)=>{e.selection.select(o)},selectAll:()=>{const t=e.dom.getParent(e.selection.getStart(),lr);if(t){const n=e.dom.createRng();n.selectNodeContents(t),e.selection.setRng(n)}}})})(e),(e=>{e.editorCommands.addCommands({mceCleanup:()=>{const t=e.selection.getBookmark();e.setContent(e.getContent()),e.selection.moveToBookmark(t)},insertImage:(t,n,o)=>{sO(e,e.dom.createHTML("img",{src:o}))},insertHorizontalRule:()=>{e.execCommand("mceInsertContent",!1,"
    ")},insertText:(t,n,o)=>{sO(e,e.dom.encode(o))},insertHTML:(t,n,o)=>{sO(e,o)},mceInsertContent:(t,n,o)=>{sO(e,o)},mceSetContent:(t,n,o)=>{e.setContent(o)},mceReplaceContent:(t,n,o)=>{e.execCommand("mceInsertContent",!1,o.replace(/\{\$selection\}/g,e.selection.getContent({format:"text"})))},mceNewDocument:()=>{e.setContent(Jd(e))}})})(e),(e=>{const t=(t,n,o)=>{const r=m(o)?{href:o}:o,s=e.dom.getParent(e.selection.getNode(),"a");f(r)&&m(r.href)&&(r.href=r.href.replace(/ /g,"%20"),s&&r.href||e.formatter.remove("link"),r.href&&e.formatter.apply("link",r,s))};e.editorCommands.addCommands({unlink:()=>{if(e.selection.isEditable()){if(e.selection.isCollapsed()){const t=e.dom.getParent(e.selection.getStart(),"a");return void(t&&e.dom.remove(t,!0))}e.formatter.remove("link")}},mceInsertLink:t,createLink:t})})(e),(e=>{e.editorCommands.addCommands({Indent:()=>{(e=>{O_(e,"indent")})(e)},Outdent:()=>{B_(e)}}),e.editorCommands.addCommands({Outdent:()=>R_(e)},"state")})(e),(e=>{e.editorCommands.addCommands({InsertNewBlockBefore:()=>{(e=>{pO(e,!0)})(e)},InsertNewBlockAfter:()=>{(e=>{pO(e,!1)})(e)}})})(e),(e=>{e.editorCommands.addCommands({insertParagraph:()=>{oR(LN,e)},mceInsertNewLine:(t,n,o)=>{rR(e,o)},InsertLineBreak:(t,n,o)=>{oR($N,e)}})})(e),(e=>{(e=>{e.editorCommands.addCommands({"InsertUnorderedList,InsertOrderedList":t=>{e.getDoc().execCommand(t);const n=e.dom.getParent(e.selection.getNode(),"ol,ul");if(n){const t=n.parentNode;if(t&&/^(H[1-6]|P|ADDRESS|PRE)$/.test(t.nodeName)){const o=e.selection.getBookmark();e.dom.split(t,n),e.selection.moveToBookmark(o)}}}})})(e),(e=>{e.editorCommands.addCommands({"InsertUnorderedList,InsertOrderedList":t=>{const n=e.dom.getParent(e.selection.getNode(),"ul,ol");return n&&("insertunorderedlist"===t&&"UL"===n.tagName||"insertorderedlist"===t&&"OL"===n.tagName)}},"state")})(e)})(e),(e=>{(e=>{const t=(t,n)=>{e.formatter.toggle(t,n),e.nodeChanged()};e.editorCommands.addCommands({"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":e=>{t(e)},"ForeColor,HiliteColor":(e,n,o)=>{t(e,{value:o})},BackColor:(e,n,o)=>{t("hilitecolor",{value:o})},FontName:(t,n,o)=>{((e,t)=>{const n=fO(e,t);e.formatter.toggle("fontname",{value:gO(n)}),e.nodeChanged()})(e,o)},FontSize:(t,n,o)=>{((e,t)=>{e.formatter.toggle("fontsize",{value:fO(e,t)}),e.nodeChanged()})(e,o)},LineHeight:(t,n,o)=>{((e,t)=>{e.formatter.toggle("lineheight",{value:String(t)}),e.nodeChanged()})(e,o)},Lang:(e,n,o)=>{var r;t(e,{value:o.code,customValue:null!==(r=o.customCode)&&void 0!==r?r:null})},RemoveFormat:t=>{e.formatter.remove(t)},mceBlockQuote:()=>{t("blockquote")},FormatBlock:(e,n,o)=>{t(m(o)?o:"p")},mceToggleFormat:(e,n,o)=>{t(o)}})})(e),(e=>{const t=t=>e.formatter.match(t);e.editorCommands.addCommands({"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":e=>t(e),mceBlockQuote:()=>t("blockquote")},"state"),e.editorCommands.addQueryValueHandler("FontName",(()=>(e=>mO(e,(t=>cO(e.getBody(),t.dom))).getOr(""))(e))),e.editorCommands.addQueryValueHandler("FontSize",(()=>(e=>mO(e,(t=>dO(e.getBody(),t.dom))).getOr(""))(e))),e.editorCommands.addQueryValueHandler("LineHeight",(()=>(e=>mO(e,(t=>{const n=yn(e.getBody()),o=Lb(t,(e=>mo(e,"line-height")),T(_n,n));return o.getOrThunk((()=>{const e=parseFloat(co(t,"line-height")),n=parseFloat(co(t,"font-size"));return String(e/n)}))})).getOr(""))(e)))})(e)})(e),(e=>{e.editorCommands.addCommands({mceRemoveNode:(t,n,o)=>{const r=null!=o?o:e.selection.getNode();if(r!==e.getBody()){const t=e.selection.getBookmark();e.dom.remove(r,!0),e.selection.moveToBookmark(t)}},mcePrint:()=>{e.getWin().print()},mceFocus:(t,n,o)=>{((e,t)=>{e.removed||(t?Tg(e):(e=>{const t=e.selection,n=e.getBody();let o=t.getRng();e.quirks.refreshContentEditable(),C(e.bookmark)&&!Rg(e)&&hg(e).each((t=>{e.selection.setRng(t),o=t}));const r=((e,t)=>e.dom.getParent(t,(t=>"true"===e.dom.getContentEditable(t))))(e,t.getNode());if(r&&e.dom.isChildOf(r,n))return Ng(r),kg(e,o),void Tg(e);e.inline||(At.browser.isOpera()||Ng(n),e.getWin().focus()),(At.browser.isFirefox()||e.inline)&&(Ng(n),kg(e,o)),Tg(e)})(e))})(e,!0===o)},mceToggleVisualAid:()=>{e.hasVisual=!e.hasVisual,e.addVisual()}})})(e)},bO=["toggleview"],vO=e=>H(bO,e.toLowerCase());class yO{constructor(e){this.commands={state:{},exec:{},value:{}},this.editor=e}execCommand(e,t=!1,n,o){const r=this.editor,s=e.toLowerCase(),a=null==o?void 0:o.skip_focus;if(r.removed)return!1;if("mcefocus"!==s&&(/^(mceAddUndoLevel|mceEndUndoLevel)$/i.test(s)||a?(e=>{hg(e).each((t=>e.selection.setRng(t)))})(r):r.focus()),r.dispatch("BeforeExecCommand",{command:e,ui:t,value:n}).isDefaultPrevented())return!1;const i=this.commands.exec[s];return!!w(i)&&(i(s,t,n),r.dispatch("ExecCommand",{command:e,ui:t,value:n}),!0)}queryCommandState(e){if(!vO(e)&&this.editor.quirks.isHidden()||this.editor.removed)return!1;const t=e.toLowerCase(),n=this.commands.state[t];return!!w(n)&&n(t)}queryCommandValue(e){if(!vO(e)&&this.editor.quirks.isHidden()||this.editor.removed)return"";const t=e.toLowerCase(),n=this.commands.value[t];return w(n)?n(t):""}addCommands(e,t="exec"){const n=this.commands;ge(e,((e,o)=>{V(o.toLowerCase().split(","),(o=>{n[t][o]=e}))}))}addCommand(e,t,n){const o=e.toLowerCase();this.commands.exec[o]=(e,o,r)=>t.call(null!=n?n:this.editor,o,r)}queryCommandSupported(e){const t=e.toLowerCase();return!!this.commands.exec[t]}addQueryStateHandler(e,t,n){this.commands.state[e.toLowerCase()]=()=>t.call(null!=n?n:this.editor)}addQueryValueHandler(e,t,n){this.commands.value[e.toLowerCase()]=()=>t.call(null!=n?n:this.editor)}}const CO="data-mce-contenteditable",wO=(e,t,n)=>{try{e.getDoc().execCommand(t,!1,String(n))}catch(e){}},xO=(e,t)=>{e.dom.contentEditable=t?"true":"false"},EO=e=>e.readonly,_O=e=>{e.parser.addAttributeFilter("contenteditable",(t=>{EO(e)&&V(t,(e=>{e.attr(CO,e.attr("contenteditable")),e.attr("contenteditable","false")}))})),e.serializer.addAttributeFilter(CO,(t=>{EO(e)&&V(t,(e=>{e.attr("contenteditable",e.attr(CO))}))})),e.serializer.addTempAttr(CO)},SO=["copy"],kO=Pt.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel"," ");class NO{static isNative(e){return!!kO[e.toLowerCase()]}constructor(e){this.bindings={},this.settings=e||{},this.scope=this.settings.scope||this,this.toggleEvent=this.settings.toggleEvent||L}fire(e,t){return this.dispatch(e,t)}dispatch(e,t){const n=e.toLowerCase(),o=_a(n,null!=t?t:{},this.scope);this.settings.beforeFire&&this.settings.beforeFire(o);const r=this.bindings[n];if(r)for(let e=0,t=r.length;e{this.toggleEvent(t,!1),delete this.bindings[t]})),this;if(s){if(t){const e=K(s,(e=>e.func===t));s=e.fail,this.bindings[r]=s,V(e.pass,(e=>{e.removed=!0}))}else s.length=0;s.length||(this.toggleEvent(e,!1),delete this.bindings[r])}}}else ge(this.bindings,((e,t)=>{this.toggleEvent(t,!1)})),this.bindings={};return this}once(e,t,n){return this.on(e,t,n,{once:!0})}has(e){e=e.toLowerCase();const t=this.bindings[e];return!(!t||0===t.length)}}const RO=e=>(e._eventDispatcher||(e._eventDispatcher=new NO({scope:e,toggleEvent:(t,n)=>{NO.isNative(t)&&e.toggleNativeEvent&&e.toggleNativeEvent(t,n)}})),e._eventDispatcher),AO={fire(e,t,n){return this.dispatch(e,t,n)},dispatch(e,t,n){const o=this;if(o.removed&&"remove"!==e&&"detach"!==e)return _a(e.toLowerCase(),null!=t?t:{},o);const r=RO(o).dispatch(e,t);if(!1!==n&&o.parent){let t=o.parent();for(;t&&!r.isPropagationStopped();)t.dispatch(e,r,!1),t=t.parent?t.parent():void 0}return r},on(e,t,n){return RO(this).on(e,t,n)},off(e,t){return RO(this).off(e,t)},once(e,t){return RO(this).once(e,t)},hasEventListeners(e){return RO(this).has(e)}},TO=za.DOM;let OO;const BO=(e,t)=>{if("selectionchange"===t)return e.getDoc();if(!e.inline&&/^(?:mouse|touch|click|contextmenu|drop|dragover|dragend)/.test(t))return e.getDoc().documentElement;const n=fd(e);return n?(e.eventRoot||(e.eventRoot=TO.select(n)[0]),e.eventRoot):e.getBody()},PO=(e,t,n)=>{(e=>!e.hidden&&!EO(e))(e)?e.dispatch(t,n):EO(e)&&((e,t)=>{if((e=>"click"===e.type)(t)&&!af.metaKeyPressed(t)){const n=yn(t.target);((e,t)=>no(t,"a",(t=>_n(t,yn(e.getBody())))).bind((e=>tn(e,"href"))))(e,n).each((n=>{if(t.preventDefault(),/^#/.test(n)){const t=e.dom.select(`${n},[name="${ze(n,"#")}"]`);t.length&&e.selection.scrollIntoView(t[0],!0)}else window.open(n,"_blank","rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes")}))}else(e=>H(SO,e.type))(t)&&e.dispatch(t.type,t)})(e,n)},DO=(e,t)=>{if(e.delegates||(e.delegates={}),e.delegates[t]||e.removed)return;const n=BO(e,t);if(fd(e)){if(OO||(OO={},e.editorManager.on("removeEditor",(()=>{e.editorManager.activeEditor||OO&&(ge(OO,((t,n)=>{e.dom.unbind(BO(e,n))})),OO=null)}))),OO[t])return;const o=n=>{const o=n.target,r=e.editorManager.get();let s=r.length;for(;s--;){const e=r[s].getBody();(e===o||TO.isChildOf(o,e))&&PO(r[s],t,n)}};OO[t]=o,TO.bind(n,t,o)}else{const o=n=>{PO(e,t,n)};TO.bind(n,t,o),e.delegates[t]=o}},LO={...AO,bindPendingEventDelegates(){const e=this;Pt.each(e._pendingNativeEvents,(t=>{DO(e,t)}))},toggleNativeEvent(e,t){const n=this;"focus"!==e&&"blur"!==e&&(n.removed||(t?n.initialized?DO(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&n.delegates&&(n.dom.unbind(BO(n,e),e,n.delegates[e]),delete n.delegates[e])))},unbindAllNativeEvents(){const e=this,t=e.getBody(),n=e.dom;e.delegates&&(ge(e.delegates,((t,n)=>{e.dom.unbind(BO(e,n),n,t)})),delete e.delegates),!e.inline&&t&&n&&(t.onload=null,n.unbind(e.getWin()),n.unbind(e.getDoc())),n&&(n.unbind(t),n.unbind(e.getContainer()))}},MO=e=>m(e)?{value:e.split(/[ ,]/),valid:!0}:E(e,m)?{value:e,valid:!0}:{valid:!1,message:"The value must be a string[] or a comma/space separated string."},IO=(e,t)=>e+(Ge(t.message)?"":`. ${t.message}`),FO=e=>e.valid,UO=(e,t,n="")=>{const o=t(e);return b(o)?o?{value:e,valid:!0}:{valid:!1,message:n}:o},zO=["design","readonly"],jO=(e,t,n,o)=>{const r=n[t.get()],s=n[o];try{s.activate()}catch(e){return void console.error(`problem while activating editor mode ${o}:`,e)}r.deactivate(),r.editorReadOnly!==s.editorReadOnly&&((e,t)=>{const n=yn(e.getBody());((e,t,n)=>{gn(e,t)&&!n?fn(e,t):n&&un(e,t)})(n,"mce-content-readonly",t),t?(e.selection.controlSelection.hideResizeRect(),e._selectionOverrides.hideFakeCaret(),(e=>{I.from(e.selection.getNode()).each((e=>{e.removeAttribute("data-mce-selected")}))})(e),e.readonly=!0,xO(n,!1),V(Uo(n,'*[contenteditable="true"]'),(e=>{Jt(e,CO,"true"),xO(e,!1)}))):(e.readonly=!1,e.hasEditableRoot()&&xO(n,!0),V(Uo(n,`*[${CO}="true"]`),(e=>{on(e,CO),xO(e,!0)})),wO(e,"StyleWithCSS",!1),wO(e,"enableInlineTableEditing",!1),wO(e,"enableObjectResizing",!1),Ag(e)&&e.focus(),(e=>{e.selection.setRng(e.selection.getRng())})(e),e.nodeChanged())})(e,s.editorReadOnly),t.set(o),((e,t)=>{e.dispatch("SwitchMode",{mode:t})})(e,o)},HO=Pt.each,$O=Pt.explode,qO={f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},VO=Pt.makeMap("alt,ctrl,shift,meta,access"),WO=e=>{const t={},n=At.os.isMacOS()||At.os.isiOS();HO($O(e.toLowerCase(),"+"),(e=>{(e=>e in VO)(e)?t[e]=!0:/^[0-9]{2,}$/.test(e)?t.keyCode=parseInt(e,10):(t.charCode=e.charCodeAt(0),t.keyCode=qO[e]||e.toUpperCase().charCodeAt(0))}));const o=[t.keyCode];let r;for(r in VO)t[r]?o.push(r):t[r]=!1;return t.id=o.join(","),t.access&&(t.alt=!0,n?t.ctrl=!0:t.shift=!0),t.meta&&(n?t.meta=!0:(t.ctrl=!0,t.meta=!1)),t};class KO{constructor(e){this.shortcuts={},this.pendingPatterns=[],this.editor=e;const t=this;e.on("keyup keypress keydown",(e=>{!t.hasModifier(e)&&!t.isFunctionKey(e)||e.isDefaultPrevented()||(HO(t.shortcuts,(n=>{t.matchShortcut(e,n)&&(t.pendingPatterns=n.subpatterns.slice(0),"keydown"===e.type&&t.executeShortcutAction(n))})),t.matchShortcut(e,t.pendingPatterns[0])&&(1===t.pendingPatterns.length&&"keydown"===e.type&&t.executeShortcutAction(t.pendingPatterns[0]),t.pendingPatterns.shift()))}))}add(e,t,n,o){const r=this,s=r.normalizeCommandFunc(n);return HO($O(Pt.trim(e)),(e=>{const n=r.createShortcut(e,t,s,o);r.shortcuts[n.id]=n})),!0}remove(e){const t=this.createShortcut(e);return!!this.shortcuts[t.id]&&(delete this.shortcuts[t.id],!0)}normalizeCommandFunc(e){const t=this,n=e;return"string"==typeof n?()=>{t.editor.execCommand(n,!1,null)}:Pt.isArray(n)?()=>{t.editor.execCommand(n[0],n[1],n[2])}:n}createShortcut(e,t,n,o){const r=Pt.map($O(e,">"),WO);return r[r.length-1]=Pt.extend(r[r.length-1],{func:n,scope:o||this.editor}),Pt.extend(r[0],{desc:this.editor.translate(t),subpatterns:r.slice(1)})}hasModifier(e){return e.altKey||e.ctrlKey||e.metaKey}isFunctionKey(e){return"keydown"===e.type&&e.keyCode>=112&&e.keyCode<=123}matchShortcut(e,t){return!!t&&t.ctrl===e.ctrlKey&&t.meta===e.metaKey&&t.alt===e.altKey&&t.shift===e.shiftKey&&!!(e.keyCode===t.keyCode||e.charCode&&e.charCode===t.charCode)&&(e.preventDefault(),!0)}executeShortcutAction(e){return e.func?e.func.call(e.scope):null}}const YO=()=>{const e=(()=>{const e={},t={},n={},o={},r={},s={},a={},i={},l=(e,t)=>(n,o)=>{e[n.toLowerCase()]={...o,type:t}};return{addButton:l(e,"button"),addGroupToolbarButton:l(e,"grouptoolbarbutton"),addToggleButton:l(e,"togglebutton"),addMenuButton:l(e,"menubutton"),addSplitButton:l(e,"splitbutton"),addMenuItem:l(t,"menuitem"),addNestedMenuItem:l(t,"nestedmenuitem"),addToggleMenuItem:l(t,"togglemenuitem"),addAutocompleter:l(n,"autocompleter"),addContextMenu:l(r,"contextmenu"),addContextToolbar:l(s,"contexttoolbar"),addContextForm:l(s,"contextform"),addSidebar:l(a,"sidebar"),addView:l(i,"views"),addIcon:(e,t)=>o[e.toLowerCase()]=t,getAll:()=>({buttons:e,menuItems:t,icons:o,popups:n,contextMenus:r,contextToolbars:s,sidebars:a,views:i})}})();return{addAutocompleter:e.addAutocompleter,addButton:e.addButton,addContextForm:e.addContextForm,addContextMenu:e.addContextMenu,addContextToolbar:e.addContextToolbar,addIcon:e.addIcon,addMenuButton:e.addMenuButton,addMenuItem:e.addMenuItem,addNestedMenuItem:e.addNestedMenuItem,addSidebar:e.addSidebar,addSplitButton:e.addSplitButton,addToggleButton:e.addToggleButton,addGroupToolbarButton:e.addGroupToolbarButton,addToggleMenuItem:e.addToggleMenuItem,addView:e.addView,getAll:e.getAll}},GO=za.DOM,XO=Pt.extend,QO=Pt.each;class JO{constructor(e,t,n){this.plugins={},this.contentCSS=[],this.contentStyles=[],this.loadedCSS={},this.isNotDirty=!1,this.composing=!1,this.destroyed=!1,this.hasHiddenInput=!1,this.iframeElement=null,this.initialized=!1,this.readonly=!1,this.removed=!1,this.startContent="",this._pendingNativeEvents=[],this._skinLoaded=!1,this._editableRoot=!0,this.editorManager=n,this.documentBaseUrl=n.documentBaseURL,XO(this,LO);const o=this;this.id=e,this.hidden=!1;const r=((e,t)=>nO(GT||XT,GT,t,e,t))(n.defaultOptions,t);this.options=((e,t)=>{const n={},o={},r=(e,t,n)=>{const r=UO(t,n);return FO(r)?(o[e]=r.value,!0):(console.warn(IO(`Invalid value passed for the ${e} option`,r)),!1)},s=e=>Ee(n,e);return{register:(e,s)=>{const a=(e=>m(e.processor))(s)?(e=>{const t=(()=>{switch(e){case"array":return p;case"boolean":return b;case"function":return w;case"number":return x;case"object":return f;case"string":return m;case"string[]":return MO;case"object[]":return e=>E(e,f);case"regexp":return e=>u(e,RegExp);default:return M}})();return n=>UO(n,t,`The value must be a ${e}.`)})(s.processor):s.processor,i=((e,t,n)=>{if(!v(t)){const o=UO(t,n);if(FO(o))return o.value;console.error(IO(`Invalid default value passed for the "${e}" option`,o))}})(e,s.default,a);n[e]={...s,default:i,processor:a},xe(o,e).orThunk((()=>xe(t,e))).each((t=>r(e,t,a)))},isRegistered:s,get:e=>xe(o,e).orThunk((()=>xe(n,e).map((e=>e.default)))).getOrUndefined(),set:(e,t)=>{if(s(e)){const o=n[e];return o.immutable?(console.error(`"${e}" is an immutable option and cannot be updated`),!1):r(e,t,o.processor)}return console.warn(`"${e}" is not a registered option. Ensure the option has been registered before setting a value.`),!1},unset:e=>{const t=s(e);return t&&delete o[e],t},isSet:e=>Ee(o,e)}})(0,r),(e=>{const t=e.options.register;t("id",{processor:"string",default:e.id}),t("selector",{processor:"string"}),t("target",{processor:"object"}),t("suffix",{processor:"string"}),t("cache_suffix",{processor:"string"}),t("base_url",{processor:"string"}),t("referrer_policy",{processor:"string",default:""}),t("language_load",{processor:"boolean",default:!0}),t("inline",{processor:"boolean",default:!1}),t("iframe_attrs",{processor:"object",default:{}}),t("doctype",{processor:"string",default:""}),t("document_base_url",{processor:"string",default:e.documentBaseUrl}),t("body_id",{processor:Al(e,"tinymce"),default:"tinymce"}),t("body_class",{processor:Al(e),default:""}),t("content_security_policy",{processor:"string",default:""}),t("br_in_pre",{processor:"boolean",default:!0}),t("forced_root_block",{processor:e=>{const t=m(e)&&Ye(e);return t?{value:e,valid:t}:{valid:!1,message:"Must be a non-empty string."}},default:"p"}),t("forced_root_block_attrs",{processor:"object",default:{}}),t("newline_behavior",{processor:e=>{const t=H(["block","linebreak","invert","default"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: block, linebreak, invert or default."}},default:"default"}),t("br_newline_selector",{processor:"string",default:".mce-toc h2,figcaption,caption"}),t("no_newline_selector",{processor:"string",default:""}),t("keep_styles",{processor:"boolean",default:!0}),t("end_container_on_empty_block",{processor:e=>b(e)||m(e)?{valid:!0,value:e}:{valid:!1,message:"Must be boolean or a string"},default:"blockquote"}),t("font_size_style_values",{processor:"string",default:"xx-small,x-small,small,medium,large,x-large,xx-large"}),t("font_size_legacy_values",{processor:"string",default:"xx-small,small,medium,large,x-large,xx-large,300%"}),t("font_size_classes",{processor:"string",default:""}),t("automatic_uploads",{processor:"boolean",default:!0}),t("images_reuse_filename",{processor:"boolean",default:!1}),t("images_replace_blob_uris",{processor:"boolean",default:!0}),t("icons",{processor:"string",default:""}),t("icons_url",{processor:"string",default:""}),t("images_upload_url",{processor:"string",default:""}),t("images_upload_base_path",{processor:"string",default:""}),t("images_upload_credentials",{processor:"boolean",default:!1}),t("images_upload_handler",{processor:"function"}),t("language",{processor:"string",default:"en"}),t("language_url",{processor:"string",default:""}),t("entity_encoding",{processor:"string",default:"named"}),t("indent",{processor:"boolean",default:!0}),t("indent_before",{processor:"string",default:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist"}),t("indent_after",{processor:"string",default:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist"}),t("indent_use_margin",{processor:"boolean",default:!1}),t("indentation",{processor:"string",default:"40px"}),t("content_css",{processor:e=>{const t=!1===e||m(e)||E(e,m);return t?m(e)?{value:q(e.split(","),Ve),valid:t}:p(e)?{value:e,valid:t}:!1===e?{value:[],valid:t}:{value:e,valid:t}:{valid:!1,message:"Must be false, a string or an array of strings."}},default:Sd(e)?[]:["default"]}),t("content_style",{processor:"string"}),t("content_css_cors",{processor:"boolean",default:!1}),t("font_css",{processor:e=>{const t=m(e)||E(e,m);return t?{value:p(e)?e:q(e.split(","),Ve),valid:t}:{valid:!1,message:"Must be a string or an array of strings."}},default:[]}),t("inline_boundaries",{processor:"boolean",default:!0}),t("inline_boundaries_selector",{processor:"string",default:"a[href],code,span.mce-annotation"}),t("object_resizing",{processor:e=>{const t=b(e)||m(e);return t?!1===e||El.isiPhone()||El.isiPad()?{value:"",valid:t}:{value:!0===e?"table,img,figure.image,div,video,iframe":e,valid:t}:{valid:!1,message:"Must be boolean or a string"}},default:!_l}),t("resize_img_proportional",{processor:"boolean",default:!0}),t("event_root",{processor:"object"}),t("service_message",{processor:"string"}),t("theme",{processor:e=>!1===e||m(e)||w(e),default:"silver"}),t("theme_url",{processor:"string"}),t("formats",{processor:"object"}),t("format_empty_lines",{processor:"boolean",default:!1}),t("format_noneditable_selector",{processor:"string",default:""}),t("preview_styles",{processor:e=>{const t=!1===e||m(e);return t?{value:!1===e?"":e,valid:t}:{valid:!1,message:"Must be false or a string"}},default:"font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"}),t("custom_ui_selector",{processor:"string",default:""}),t("hidden_input",{processor:"boolean",default:!0}),t("submit_patch",{processor:"boolean",default:!0}),t("encoding",{processor:"string"}),t("add_form_submit_trigger",{processor:"boolean",default:!0}),t("add_unload_trigger",{processor:"boolean",default:!0}),t("custom_undo_redo_levels",{processor:"number",default:0}),t("disable_nodechange",{processor:"boolean",default:!1}),t("readonly",{processor:"boolean",default:!1}),t("editable_root",{processor:"boolean",default:!0}),t("plugins",{processor:"string[]",default:[]}),t("external_plugins",{processor:"object"}),t("forced_plugins",{processor:"string[]"}),t("model",{processor:"string",default:e.hasPlugin("rtc")?"plugin":"dom"}),t("model_url",{processor:"string"}),t("block_unsupported_drop",{processor:"boolean",default:!0}),t("visual",{processor:"boolean",default:!0}),t("visual_table_class",{processor:"string",default:"mce-item-table"}),t("visual_anchor_class",{processor:"string",default:"mce-item-anchor"}),t("iframe_aria_text",{processor:"string",default:"Rich Text Area. Press ALT-0 for help."}),t("setup",{processor:"function"}),t("init_instance_callback",{processor:"function"}),t("url_converter",{processor:"function",default:e.convertURL}),t("url_converter_scope",{processor:"object",default:e}),t("urlconverter_callback",{processor:"function"}),t("allow_conditional_comments",{processor:"boolean",default:!1}),t("allow_html_data_urls",{processor:"boolean",default:!1}),t("allow_svg_data_urls",{processor:"boolean"}),t("allow_html_in_named_anchor",{processor:"boolean",default:!1}),t("allow_script_urls",{processor:"boolean",default:!1}),t("allow_unsafe_link_target",{processor:"boolean",default:!1}),t("convert_fonts_to_spans",{processor:"boolean",default:!0,deprecated:!0}),t("fix_list_elements",{processor:"boolean",default:!1}),t("preserve_cdata",{processor:"boolean",default:!1}),t("remove_trailing_brs",{processor:"boolean",default:!0}),t("pad_empty_with_br",{processor:"boolean",default:!1}),t("inline_styles",{processor:"boolean",default:!0,deprecated:!0}),t("element_format",{processor:"string",default:"html"}),t("entities",{processor:"string"}),t("schema",{processor:"string",default:"html5"}),t("convert_urls",{processor:"boolean",default:!0}),t("relative_urls",{processor:"boolean",default:!0}),t("remove_script_host",{processor:"boolean",default:!0}),t("custom_elements",{processor:"string"}),t("extended_valid_elements",{processor:"string"}),t("invalid_elements",{processor:"string"}),t("invalid_styles",{processor:Rl}),t("valid_children",{processor:"string"}),t("valid_classes",{processor:Rl}),t("valid_elements",{processor:"string"}),t("valid_styles",{processor:Rl}),t("verify_html",{processor:"boolean",default:!0}),t("auto_focus",{processor:e=>m(e)||!0===e}),t("browser_spellcheck",{processor:"boolean",default:!1}),t("protect",{processor:"array"}),t("images_file_types",{processor:"string",default:"jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp"}),t("deprecation_warnings",{processor:"boolean",default:!0}),t("a11y_advanced_options",{processor:"boolean",default:!1}),t("api_key",{processor:"string"}),t("paste_block_drop",{processor:"boolean",default:!1}),t("paste_data_images",{processor:"boolean",default:!0}),t("paste_preprocess",{processor:"function"}),t("paste_postprocess",{processor:"function"}),t("paste_webkit_styles",{processor:"string",default:"none"}),t("paste_remove_styles_if_webkit",{processor:"boolean",default:!0}),t("paste_merge_formats",{processor:"boolean",default:!0}),t("smart_paste",{processor:"boolean",default:!0}),t("paste_as_text",{processor:"boolean",default:!1}),t("paste_tab_spaces",{processor:"number",default:4}),t("text_patterns",{processor:e=>E(e,f)||!1===e?{value:xl(!1===e?[]:e),valid:!0}:{valid:!1,message:"Must be an array of objects or false."},default:[{start:"*",end:"*",format:"italic"},{start:"**",end:"**",format:"bold"},{start:"#",format:"h1"},{start:"##",format:"h2"},{start:"###",format:"h3"},{start:"####",format:"h4"},{start:"#####",format:"h5"},{start:"######",format:"h6"},{start:"1. ",cmd:"InsertOrderedList"},{start:"* ",cmd:"InsertUnorderedList"},{start:"- ",cmd:"InsertUnorderedList"}]}),t("text_patterns_lookup",{processor:e=>{return w(e)?{value:(t=e,e=>{const n=t(e);return xl(n)}),valid:!0}:{valid:!1,message:"Must be a single function"};var t},default:e=>[]}),t("noneditable_class",{processor:"string",default:"mceNonEditable"}),t("editable_class",{processor:"string",default:"mceEditable"}),t("noneditable_regexp",{processor:e=>E(e,kl)?{value:e,valid:!0}:kl(e)?{value:[e],valid:!0}:{valid:!1,message:"Must be a RegExp or an array of RegExp."},default:[]}),t("table_tab_navigation",{processor:"boolean",default:!0}),t("highlight_on_focus",{processor:"boolean",default:!1}),t("xss_sanitization",{processor:"boolean",default:!0}),t("details_initial_state",{processor:e=>{const t=H(["inherited","collapsed","expanded"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: inherited, collapsed, or expanded."}},default:"inherited"}),t("details_serialized_state",{processor:e=>{const t=H(["inherited","collapsed","expanded"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: inherited, collapsed, or expanded."}},default:"inherited"}),t("init_content_sync",{processor:"boolean",default:!1}),t("newdocument_content",{processor:"string",default:""}),t("force_hex_color",{processor:e=>{const t=["always","rgb_only","off"],n=H(t,e);return n?{value:e,valid:n}:{valid:!1,message:`Must be one of: ${t.join(", ")}.`}},default:"off"}),t("sandbox_iframes",{processor:"boolean",default:!1}),t("convert_unsafe_embeds",{processor:"boolean",default:!1}),e.on("ScriptsLoaded",(()=>{t("directionality",{processor:"string",default:Ka.isRtl()?"rtl":void 0}),t("placeholder",{processor:"string",default:Sl.getAttrib(e.getElement(),"placeholder")})}))})(o);const s=this.options.get;s("deprecation_warnings")&&((e,t)=>{((e,t)=>{const n=bw(e),o=Cw(t),r=o.length>0,s=n.length>0,a="mobile"===t.theme;if(r||s||a){const e="\n- ",t=a?`\n\nThemes:${e}mobile`:"",i=r?`\n\nPlugins:${e}${o.join(e)}`:"",l=s?`\n\nOptions:${e}${n.join(e)}`:"";console.warn("The following deprecated features are currently enabled and have been removed in TinyMCE 6.0. These features will no longer work and should be removed from the TinyMCE configuration. See https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/ for more information."+t+i+l)}})(e,t),((e,t)=>{const n=vw(e),o=ww(t),r=o.length>0,s=n.length>0;if(r||s){const e="\n- ",t=r?`\n\nPlugins:${e}${o.map(xw).join(e)}`:"",a=s?`\n\nOptions:${e}${n.join(e)}`:"";console.warn("The following deprecated features are currently enabled but will be removed soon."+t+a)}})(e,t)})(t,r);const a=s("suffix");a&&(n.suffix=a),this.suffix=n.suffix;const i=s("base_url");i&&n._setBaseUrl(i),this.baseUri=n.baseURI;const l=ed(o);l&&(Ha.ScriptLoader._setReferrerPolicy(l),za.DOM.styleSheetLoader._setReferrerPolicy(l));const d=Dd(o);C(d)&&za.DOM.styleSheetLoader._setContentCssCors(d),Ya.languageLoad=s("language_load"),Ya.baseURL=n.baseURL,this.setDirty(!1),this.documentBaseURI=new aC(Bl(o),{base_uri:this.baseUri}),this.baseURI=this.baseUri,this.inline=Sd(o),this.hasVisual=Fd(o),this.shortcuts=new KO(this),this.editorCommands=new yO(this),hO(this);const c=s("cache_suffix");c&&(At.cacheSuffix=c.replace(/^[\?\&]+/,"")),this.ui={registry:YO(),styleSheetLoader:void 0,show:_,hide:_,setEnabled:_,isEnabled:M},this.mode=(e=>{const t=$a("design"),n=$a({design:{activate:_,deactivate:_,editorReadOnly:!1},readonly:{activate:_,deactivate:_,editorReadOnly:!0}});return(e=>{e.serializer?_O(e):e.on("PreInit",(()=>{_O(e)}))})(e),(e=>{e.on("ShowCaret",(t=>{EO(e)&&t.preventDefault()})),e.on("ObjectSelected",(t=>{EO(e)&&t.preventDefault()}))})(e),{isReadOnly:()=>EO(e),set:o=>((e,t,n,o)=>{if(o!==n.get()){if(!Ee(t,o))throw new Error(`Editor mode '${o}' is invalid`);e.initialized?jO(e,n,t,o):e.on("init",(()=>jO(e,n,t,o)))}})(e,n.get(),t,o),get:()=>t.get(),register:(e,t)=>{n.set(((e,t,n)=>{if(H(zO,t))throw new Error(`Cannot override default mode ${t}`);return{...e,[t]:{...n,deactivate:()=>{try{n.deactivate()}catch(e){console.error(`problem while deactivating editor mode ${t}:`,e)}}}}})(n.get(),e,t))}}})(o),n.dispatch("SetupEditor",{editor:this});const g=Hd(o);w(g)&&g.call(o,o)}render(){(e=>{const t=e.id;Ka.setCode(td(e));const n=()=>{qT.unbind(window,"ready",n),e.render()};if(!Ta.Event.domLoaded)return void qT.bind(window,"ready",n);if(!e.getElement())return;const o=yn(e.getElement()),r=rn(o);e.on("remove",(()=>{W(o.dom.attributes,(e=>on(o,e.name))),Zt(o,r)})),e.ui.styleSheetLoader=((e,t)=>Is.forElement(e,{contentCssCors:Dd(t),referrerPolicy:ed(t)}))(o,e),Sd(e)?e.inline=!0:(e.orgVisibility=e.getElement().style.visibility,e.getElement().style.visibility="hidden");const s=e.getElement().form||qT.getParent(t,"form");s&&(e.formElement=s,kd(e)&&!Zo(e.getElement())&&(qT.insertAfter(qT.create("input",{type:"hidden",name:t}),t),e.hasHiddenInput=!0),e.formEventDelegate=t=>{e.dispatch(t.type,t)},qT.bind(s,"submit reset",e.formEventDelegate),e.on("reset",(()=>{e.resetContent()})),!Nd(e)||s.submit.nodeType||s.submit.length||s._mceOldSubmit||(s._mceOldSubmit=s.submit,s.submit=()=>(e.editorManager.triggerSave(),e.setDirty(!1),s._mceOldSubmit(s)))),e.windowManager=Mw(e),e.notificationManager=Pw(e),(e=>"xml"===e.options.get("encoding"))(e)&&e.on("GetContent",(e=>{e.save&&(e.content=qT.encode(e.content))})),Rd(e)&&e.on("submit",(()=>{e.initialized&&e.save()})),Ad(e)&&(e._beforeUnload=()=>{!e.initialized||e.destroyed||e.isHidden()||e.save({format:"raw",no_events:!0,set_dirty:!1})},e.editorManager.on("BeforeUnload",e._beforeUnload)),e.editorManager.add(e),KT(e,e.suffix)})(this)}focus(e){this.execCommand("mceFocus",!1,e)}hasFocus(){return Rg(this)}translate(e){return Ka.translate(e)}getParam(e,t,n){const o=this.options;return o.isRegistered(e)||(C(n)?o.register(e,{processor:n,default:t}):o.register(e,{processor:M,default:t})),o.isSet(e)||v(t)?o.get(e):t}hasPlugin(e,t){return!(!H(Ld(this),e)||t&&void 0===Dw.get(e))}nodeChanged(e){this._nodeChangeDispatcher.nodeChanged(e)}addCommand(e,t,n){this.editorCommands.addCommand(e,t,n)}addQueryStateHandler(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)}addQueryValueHandler(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)}addShortcut(e,t,n,o){this.shortcuts.add(e,t,n,o)}execCommand(e,t,n,o){return this.editorCommands.execCommand(e,t,n,o)}queryCommandState(e){return this.editorCommands.queryCommandState(e)}queryCommandValue(e){return this.editorCommands.queryCommandValue(e)}queryCommandSupported(e){return this.editorCommands.queryCommandSupported(e)}show(){const e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable="true":(GO.show(e.getContainer()),GO.hide(e.id)),e.load(),e.dispatch("show"))}hide(){const e=this;e.hidden||(e.save(),e.inline?(e.getBody().contentEditable="false",e===e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(GO.hide(e.getContainer()),GO.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.dispatch("hide"))}isHidden(){return this.hidden}setProgressState(e,t){this.dispatch("ProgressState",{state:e,time:t})}load(e={}){const t=this,n=t.getElement();if(t.removed)return"";if(n){const o={...e,load:!0},r=Zo(n)?n.value:n.innerHTML,s=t.setContent(r,o);return o.no_events||t.dispatch("LoadContent",{...o,element:n}),s}return""}save(e={}){const t=this;let n=t.getElement();if(!n||!t.initialized||t.removed)return"";const o={...e,save:!0,element:n};let r=t.getContent(o);const s={...o,content:r};if(s.no_events||t.dispatch("SaveContent",s),"raw"===s.format&&t.dispatch("RawSaveContent",s),r=s.content,Zo(n))n.value=r;else{!e.is_removing&&t.inline||(n.innerHTML=r);const o=GO.getParent(t.id,"form");o&&QO(o.elements,(e=>e.name!==t.id||(e.value=r,!1)))}return s.element=o.element=n=null,!1!==s.set_dirty&&t.setDirty(!1),r}setContent(e,t){return uw(this,e,t)}getContent(e){return((e,t={})=>{const n=((e,t)=>({...e,format:t,get:!0,getInner:!0}))(t,t.format?t.format:"html");return xC(e,n).fold(R,(t=>{const n=((e,t)=>ew(e).editor.getContent(t))(e,t);return EC(e,n,t)}))})(this,e)}insertContent(e,t){t&&(e=XO({content:e},t)),this.execCommand("mceInsertContent",!1,e)}resetContent(e){void 0===e?uw(this,this.startContent,{format:"raw"}):uw(this,e),this.undoManager.reset(),this.setDirty(!1),this.nodeChanged()}isDirty(){return!this.isNotDirty}setDirty(e){const t=!this.isNotDirty;this.isNotDirty=!e,e&&e!==t&&this.dispatch("dirty")}getContainer(){const e=this;return e.container||(e.container=e.editorContainer||GO.get(e.id+"_parent")),e.container}getContentAreaContainer(){return this.contentAreaContainer}getElement(){return this.targetElm||(this.targetElm=GO.get(this.id)),this.targetElm}getWin(){const e=this;if(!e.contentWindow){const t=e.iframeElement;t&&(e.contentWindow=t.contentWindow)}return e.contentWindow}getDoc(){const e=this;if(!e.contentDocument){const t=e.getWin();t&&(e.contentDocument=t.document)}return e.contentDocument}getBody(){var e,t;const n=this.getDoc();return null!==(t=null!==(e=this.bodyElement)&&void 0!==e?e:null==n?void 0:n.body)&&void 0!==t?t:null}convertURL(e,t,n){const o=this,r=o.options.get,s=qd(o);if(w(s))return s.call(o,e,n,!0,t);if(!r("convert_urls")||"link"===n||f(n)&&"LINK"===n.nodeName||0===e.indexOf("file:")||0===e.length)return e;const a=new aC(e);return"http"!==a.protocol&&"https"!==a.protocol&&""!==a.protocol?e:r("relative_urls")?o.documentBaseURI.toRelative(e):e=o.documentBaseURI.toAbsolute(e,r("remove_script_host"))}addVisual(e){((e,t)=>{((e,t)=>{tw(e).editor.addVisual(t)})(e,t)})(this,e)}setEditableRoot(e){((e,t)=>{e._editableRoot!==t&&(e._editableRoot=t,e.readonly||(e.getBody().contentEditable=String(e.hasEditableRoot()),e.nodeChanged()),((e,t)=>{e.dispatch("EditableRootStateChange",{state:t})})(e,t))})(this,e)}hasEditableRoot(){return this._editableRoot}remove(){(e=>{if(!e.removed){const{_selectionOverrides:t,editorUpload:n}=e,o=e.getBody(),r=e.getElement();o&&e.save({is_removing:!0}),e.removed=!0,e.unbindAllNativeEvents(),e.hasHiddenInput&&C(null==r?void 0:r.nextSibling)&&Ew.remove(r.nextSibling),(e=>{e.dispatch("remove")})(e),e.editorManager.remove(e),!e.inline&&o&&(e=>{Ew.setStyle(e.id,"display",e.orgDisplay)})(e),(e=>{e.dispatch("detach")})(e),Ew.remove(e.getContainer()),_w(t),_w(n),e.destroy()}})(this)}destroy(e){((e,t)=>{const{selection:n,dom:o}=e;e.destroyed||(t||e.removed?(t||(e.editorManager.off("beforeunload",e._beforeUnload),e.theme&&e.theme.destroy&&e.theme.destroy(),_w(n),_w(o)),(e=>{const t=e.formElement;t&&(t._mceOldSubmit&&(t.submit=t._mceOldSubmit,delete t._mceOldSubmit),Ew.unbind(t,"submit reset",e.formEventDelegate))})(e),(e=>{const t=e;t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null;const n=e.selection;if(n){const e=n.dom;t.selection=n.win=n.dom=e.doc=null}})(e),e.destroyed=!0):e.remove())})(this,e)}uploadImages(){return this.editorUpload.uploadImages()}_scanForImages(){return this.editorUpload.scanForImages()}}const ZO=za.DOM,eB=Pt.each;let tB,nB=!1,oB=[];const rB=e=>{const t=e.type;eB(lB.get(),(n=>{switch(t){case"scroll":n.dispatch("ScrollWindow",e);break;case"resize":n.dispatch("ResizeWindow",e)}}))},sB=e=>{if(e!==nB){const t=za.DOM;e?(t.bind(window,"resize",rB),t.bind(window,"scroll",rB)):(t.unbind(window,"resize",rB),t.unbind(window,"scroll",rB)),nB=e}},aB=e=>{const t=oB;return oB=Y(oB,(t=>e!==t)),lB.activeEditor===e&&(lB.activeEditor=oB.length>0?oB[0]:null),lB.focusedEditor===e&&(lB.focusedEditor=null),t.length!==oB.length},iB="CSS1Compat"!==document.compatMode,lB={...AO,baseURI:null,baseURL:null,defaultOptions:{},documentBaseURL:null,suffix:null,majorVersion:"6",minorVersion:"8.5",releaseDate:"TBD",i18n:Ka,activeEditor:null,focusedEditor:null,setup(){const e=this;let t="",n="",o=aC.getDocumentBaseUrl(document.location);/^[^:]+:\/\/\/?[^\/]+\//.test(o)&&(o=o.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(o)||(o+="/"));const r=window.tinymce||window.tinyMCEPreInit;if(r)t=r.base||r.baseURL,n=r.suffix;else{const e=document.getElementsByTagName("script");for(let o=0;o{Ya.PluginManager.urls[t]=e}))},init(e){const t=this;let n;const o=Pt.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu"," ");let r=e=>{n=e};const s=()=>{let n=0;const a=[];let i;ZO.unbind(window,"ready",s),(n=>{const o=e.onpageload;o&&o.apply(t,[])})(),i=((e,t)=>{const n=[],o=w(t)?e=>$(n,(n=>t(n,e))):e=>H(n,e);for(let t=0,r=e.length;tAt.browser.isIE()||At.browser.isEdge()?(jw("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tiny.cloud/docs/tinymce/6/support/#supportedwebbrowsers"),[]):iB?(jw("Failed to initialize the editor as the document is not in standards mode. TinyMCE requires standards mode."),[]):m(e.selector)?ZO.select(e.selector):C(e.target)?[e.target]:[])(e)),Pt.each(i,(e=>{var n;(n=t.get(e.id))&&n.initialized&&!(n.getContainer()||n.getBody()).parentNode&&(aB(n),n.unbindAllNativeEvents(),n.destroy(!0),n.removed=!0)})),i=Pt.grep(i,(e=>!t.get(e.id))),0===i.length?r([]):eB(i,(s=>{((e,t)=>e.inline&&t.tagName.toLowerCase()in o)(e,s)?jw("Could not initialize inline editor on invalid inline target element",s):((e,o,s)=>{const l=new JO(e,o,t);a.push(l),l.on("init",(()=>{++n===i.length&&r(a)})),l.targetElm=l.targetElm||s,l.render()})((e=>{let t=e.id;return t||(t=xe(e,"name").filter((e=>!ZO.get(e))).getOrThunk(ZO.uniqueId),e.setAttribute("id",t)),t})(s),e,s)}))};return ZO.bind(window,"ready",s),new Promise((e=>{n?e(n):r=t=>{e(t)}}))},get(e){return 0===arguments.length?oB.slice(0):m(e)?J(oB,(t=>t.id===e)).getOr(null):x(e)&&oB[e]?oB[e]:null},add(e){const t=this,n=t.get(e.id);return n===e||(null===n&&oB.push(e),sB(!0),t.activeEditor=e,t.dispatch("AddEditor",{editor:e}),tB||(tB=e=>{const n=t.dispatch("BeforeUnload");if(n.returnValue)return e.preventDefault(),e.returnValue=n.returnValue,n.returnValue},window.addEventListener("beforeunload",tB))),e},createEditor(e,t){return this.add(new JO(e,t,this))},remove(e){const t=this;let n;if(e){if(!m(e))return n=e,h(t.get(n.id))?null:(aB(n)&&t.dispatch("RemoveEditor",{editor:n}),0===oB.length&&window.removeEventListener("beforeunload",tB),n.remove(),sB(oB.length>0),n);eB(ZO.select(e),(e=>{n=t.get(e.id),n&&t.remove(n)}))}else for(let e=oB.length-1;e>=0;e--)t.remove(oB[e])},execCommand(e,t,n){var o;const r=this,s=f(n)?null!==(o=n.id)&&void 0!==o?o:n.index:n;switch(e){case"mceAddEditor":if(!r.get(s)){const e=n.options;new JO(s,e,r).render()}return!0;case"mceRemoveEditor":{const e=r.get(s);return e&&e.remove(),!0}case"mceToggleEditor":{const e=r.get(s);return e?(e.isHidden()?e.show():e.hide(),!0):(r.execCommand("mceAddEditor",!1,n),!0)}}return!!r.activeEditor&&r.activeEditor.execCommand(e,t,n)},triggerSave:()=>{eB(oB,(e=>{e.save()}))},addI18n:(e,t)=>{Ka.add(e,t)},translate:e=>Ka.translate(e),setActive(e){const t=this.activeEditor;this.activeEditor!==e&&(t&&t.dispatch("deactivate",{relatedTarget:e}),e.dispatch("activate",{relatedTarget:t})),this.activeEditor=e},_setBaseUrl(e){this.baseURL=new aC(this.documentBaseURL).toAbsolute(e.replace(/\/+$/,"")),this.baseURI=new aC(this.baseURL)}};lB.setup();const dB=(()=>{const e=Xa();return{FakeClipboardItem:e=>({items:e,types:me(e),getType:t=>xe(e,t).getOrUndefined()}),write:t=>{e.set(t)},read:()=>e.get().getOrUndefined(),clear:e.clear}})(),cB=Math.min,uB=Math.max,mB=Math.round,fB=(e,t,n)=>{let o=t.x,r=t.y;const s=e.w,a=e.h,i=t.w,l=t.h,d=(n||"").split("");return"b"===d[0]&&(r+=l),"r"===d[1]&&(o+=i),"c"===d[0]&&(r+=mB(l/2)),"c"===d[1]&&(o+=mB(i/2)),"b"===d[3]&&(r-=a),"r"===d[4]&&(o-=s),"c"===d[3]&&(r-=mB(a/2)),"c"===d[4]&&(o-=mB(s/2)),gB(o,r,s,a)},gB=(e,t,n,o)=>({x:e,y:t,w:n,h:o}),pB={inflate:(e,t,n)=>gB(e.x-t,e.y-n,e.w+2*t,e.h+2*n),relativePosition:fB,findBestRelativePosition:(e,t,n,o)=>{for(let r=0;r=n.x&&s.x+s.w<=n.w+n.x&&s.y>=n.y&&s.y+s.h<=n.h+n.y)return o[r]}return null},intersect:(e,t)=>{const n=uB(e.x,t.x),o=uB(e.y,t.y),r=cB(e.x+e.w,t.x+t.w),s=cB(e.y+e.h,t.y+t.h);return r-n<0||s-o<0?null:gB(n,o,r-n,s-o)},clamp:(e,t,n)=>{let o=e.x,r=e.y,s=e.x+e.w,a=e.y+e.h;const i=t.x+t.w,l=t.y+t.h,d=uB(0,t.x-o),c=uB(0,t.y-r),u=uB(0,s-i),m=uB(0,a-l);return o+=d,r+=c,n&&(s+=d,a+=c,o-=u,r-=m),s-=u,a-=m,gB(o,r,s-o,a-r)},create:gB,fromClientRect:e=>gB(e.left,e.top,e.width,e.height)},hB=(()=>{const e={},t={},n={};return{load:(n,o)=>{const r=`Script at URL "${o}" failed to load`,s=`Script at URL "${o}" did not call \`tinymce.Resource.add('${n}', data)\` within 1 second`;if(void 0!==e[n])return e[n];{const a=new Promise(((e,a)=>{const i=((e,t,n=1e3)=>{let o=!1,r=null;const s=e=>(...t)=>{o||(o=!0,null!==r&&(clearTimeout(r),r=null),e.apply(null,t))},a=s(e),i=s(t);return{start:(...e)=>{o||null!==r||(r=setTimeout((()=>i.apply(null,e)),n))},resolve:a,reject:i}})(e,a);t[n]=i.resolve,Ha.ScriptLoader.loadScript(o).then((()=>i.start(s)),(()=>i.reject(r)))}));return e[n]=a,a}},add:(o,r)=>{void 0!==t[o]&&(t[o](r),delete t[o]),e[o]=Promise.resolve(r),n[o]=r},has:e=>e in n,get:e=>n[e],unload:t=>{delete e[t]}}})();let bB;try{const e="__storage_test__";bB=window.localStorage,bB.setItem(e,e),bB.removeItem(e)}catch(e){bB=(()=>{let e={},t=[];const n={getItem:t=>e[t]||null,setItem:(n,o)=>{t.push(n),e[n]=String(o)},key:e=>t[e],removeItem:n=>{t=t.filter((e=>e===n)),delete e[n]},clear:()=>{t=[],e={}},length:0};return Object.defineProperty(n,"length",{get:()=>t.length,configurable:!1,enumerable:!1}),n})()}const vB={geom:{Rect:pB},util:{Delay:vg,Tools:Pt,VK:af,URI:aC,EventDispatcher:NO,Observable:AO,I18n:Ka,LocalStorage:bB,ImageUploader:e=>{const t=Vw(),n=Gw(e,t);return{upload:(t,o=!0)=>n.upload(t,o?Yw(e):void 0)}}},dom:{EventUtils:Ta,TreeWalker:jo,TextSeeker:hi,DOMUtils:za,ScriptLoader:Ha,RangeUtils:Uf,Serializer:cw,StyleSheetLoader:Ms,ControlSelection:mf,BookmarkManager:Jm,Selection:iw,Event:Ta.Event},html:{Styles:wa,Entities:ea,Node:Wg,Schema:ua,DomParser:CC,Writer:cp,Serializer:up},Env:At,AddOnManager:Ya,Annotator:Qm,Formatter:ix,UndoManager:dx,EditorCommands:yO,WindowManager:Mw,NotificationManager:Pw,EditorObservable:LO,Shortcuts:KO,Editor:JO,FocusManager:bg,EditorManager:lB,DOM:za.DOM,ScriptLoader:Ha.ScriptLoader,PluginManager:Dw,ThemeManager:Lw,ModelManager:kw,IconManager:Sw,Resource:hB,FakeClipboard:dB,trim:Pt.trim,isArray:Pt.isArray,is:Pt.is,toArray:Pt.toArray,makeMap:Pt.makeMap,each:Pt.each,map:Pt.map,grep:Pt.grep,inArray:Pt.inArray,extend:Pt.extend,walk:Pt.walk,resolve:Pt.resolve,explode:Pt.explode,_addCacheSuffix:Pt._addCacheSuffix},yB=Pt.extend(lB,vB);(e=>{window.tinymce=e,window.tinyMCE=e})(yB),(e=>{if("object"==typeof module)try{module.exports=e}catch(e){}})(yB)}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/icons/default/icons.js b/src/main/webapp/javascript/tinymce-6.8.6/icons/default/icons.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/icons/default/icons.js rename to src/main/webapp/javascript/tinymce-6.8.6/icons/default/icons.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/icons/default/icons.min.js b/src/main/webapp/javascript/tinymce-6.8.6/icons/default/icons.min.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/icons/default/icons.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/icons/default/icons.min.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/icons/default/index.js b/src/main/webapp/javascript/tinymce-6.8.6/icons/default/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/icons/default/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/icons/default/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/license.txt b/src/main/webapp/javascript/tinymce-6.8.6/license.txt similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/license.txt rename to src/main/webapp/javascript/tinymce-6.8.6/license.txt diff --git a/src/main/webapp/javascript/tinymce-6.8.5/models/dom/index.js b/src/main/webapp/javascript/tinymce-6.8.6/models/dom/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/models/dom/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/models/dom/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/models/dom/model.js b/src/main/webapp/javascript/tinymce-6.8.6/models/dom/model.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/models/dom/model.js rename to src/main/webapp/javascript/tinymce-6.8.6/models/dom/model.js index 06212c06..dda20a47 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/models/dom/model.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/models/dom/model.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/models/dom/model.min.js b/src/main/webapp/javascript/tinymce-6.8.6/models/dom/model.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/models/dom/model.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/models/dom/model.min.js index 1b8adfb8..a269fb35 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/models/dom/model.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/models/dom/model.min.js @@ -1,4 +1 @@ -/** - * TinyMCE version 6.8.5 (TBD) - */ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.ModelManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var o,n,r,s})(t)===e,o=e=>t=>typeof t===e,n=e=>t=>e===t,r=t("string"),s=t("object"),l=t("array"),a=n(null),c=o("boolean"),i=n(void 0),m=e=>!(e=>null==e)(e),d=o("function"),u=o("number"),f=()=>{},g=e=>()=>e,h=e=>e,p=(e,t)=>e===t;function w(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const b=e=>t=>!e(t),v=e=>e(),y=g(!1),x=g(!0);class C{constructor(e,t){this.tag=e,this.value=t}static some(e){return new C(!0,e)}static none(){return C.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?C.some(e(this.value)):C.none()}bind(e){return this.tag?e(this.value):C.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:C.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return m(e)?C.some(e):C.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}C.singletonNone=new C(!1);const S=Array.prototype.slice,T=Array.prototype.indexOf,R=Array.prototype.push,D=(e,t)=>{return o=e,n=t,T.call(o,n)>-1;var o,n},O=(e,t)=>{for(let o=0,n=e.length;o{const o=[];for(let n=0;n{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;o{const o=[],n=[];for(let r=0,s=e.length;r{const o=[];for(let n=0,r=e.length;n(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,((e,n)=>{o=t(o,e,n)})),o),A=(e,t,o)=>(N(e,((e,n)=>{o=t(o,e,n)})),o),L=(e,t)=>((e,t,o)=>{for(let n=0,r=e.length;n{for(let o=0,n=e.length;o{const t=[];for(let o=0,n=e.length;oM(E(e,t)),P=(e,t)=>{for(let o=0,n=e.length;o{const o={};for(let n=0,r=e.length;nt>=0&&tF(e,0),$=e=>F(e,e.length-1),V=(e,t)=>{for(let o=0;o{const o=q(e);for(let n=0,r=o.length;nY(e,((e,o)=>({k:o,v:t(e,o)}))),Y=(e,t)=>{const o={};return G(e,((e,n)=>{const r=t(e,n);o[r.k]=r.v})),o},J=(e,t)=>{const o=[];return G(e,((e,n)=>{o.push(t(e,n))})),o},Q=e=>J(e,h),X=(e,t)=>U.call(e,t),Z="undefined"!=typeof window?window:Function("return this;")(),ee=(e,t)=>((e,t)=>{let o=null!=t?t:Z;for(let t=0;t{const t=ee("ownerDocument.defaultView",e);return s(e)&&((e=>((e,t)=>{const o=((e,t)=>ee(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(te(e).constructor.name))},ne=e=>e.dom.nodeName.toLowerCase(),re=e=>e.dom.nodeType,se=e=>t=>re(t)===e,le=e=>8===re(e)||"#comment"===ne(e),ae=e=>ce(e)&&oe(e.dom),ce=se(1),ie=se(3),me=se(9),de=se(11),ue=e=>t=>ce(t)&&ne(t)===e,fe=(e,t,o)=>{if(!(r(o)||c(o)||u(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},ge=(e,t,o)=>{fe(e.dom,t,o)},he=(e,t)=>{const o=e.dom;G(t,((e,t)=>{fe(o,t,e)}))},pe=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},we=(e,t)=>C.from(pe(e,t)),be=(e,t)=>{e.dom.removeAttribute(t)},ve=e=>A(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),ye=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},xe={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return ye(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return ye(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return ye(o)},fromDom:ye,fromPoint:(e,t,o)=>C.from(e.dom.elementFromPoint(t,o)).map(ye)},Ce=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},Se=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Te=(e,t)=>{const o=void 0===t?document:t.dom;return Se(o)?C.none():C.from(o.querySelector(e)).map(xe.fromDom)},Re=(e,t)=>e.dom===t.dom,De=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},Oe=Ce,ke=e=>xe.fromDom(e.dom.ownerDocument),Ee=e=>me(e)?e:ke(e),Ne=e=>C.from(e.dom.parentNode).map(xe.fromDom),Be=e=>C.from(e.dom.parentElement).map(xe.fromDom),_e=(e,t)=>{const o=d(t)?t:y;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=xe.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r},ze=e=>C.from(e.dom.previousSibling).map(xe.fromDom),Ae=e=>C.from(e.dom.nextSibling).map(xe.fromDom),Le=e=>E(e.dom.childNodes,xe.fromDom),We=(e,t)=>{const o=e.dom.childNodes;return C.from(o[t]).map(xe.fromDom)},Me=(e,t)=>{Ne(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},je=(e,t)=>{Ae(e).fold((()=>{Ne(e).each((e=>{Ie(e,t)}))}),(e=>{Me(e,t)}))},Pe=(e,t)=>{const o=(e=>We(e,0))(e);o.fold((()=>{Ie(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},Ie=(e,t)=>{e.dom.appendChild(t.dom)},Fe=(e,t)=>{Me(e,t),Ie(t,e)},He=(e,t)=>{N(t,((o,n)=>{const r=0===n?e:t[n-1];je(r,o)}))},$e=(e,t)=>{N(t,(t=>{Ie(e,t)}))},Ve=e=>{e.dom.textContent="",N(Le(e),(e=>{qe(e)}))},qe=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Ue=e=>{const t=Le(e);t.length>0&&He(e,t),qe(e)},Ge=(e,t)=>xe.fromDom(e.dom.cloneNode(t)),Ke=e=>Ge(e,!1),Ye=e=>Ge(e,!0),Je=(e,t)=>{const o=xe.fromTag(t),n=ve(e);return he(o,n),o},Qe=["tfoot","thead","tbody","colgroup"],Xe=(e,t,o)=>({element:e,rowspan:t,colspan:o}),Ze=(e,t,o)=>({element:e,cells:t,section:o}),et=(e,t,o)=>({element:e,isNew:t,isLocked:o}),tt=(e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}),ot=d(Element.prototype.attachShadow)&&d(Node.prototype.getRootNode),nt=g(ot),rt=ot?e=>xe.fromDom(e.dom.getRootNode()):Ee,st=e=>xe.fromDom(e.dom.host),lt=e=>{const t=ie(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=rt(e);return de(o=t)&&m(o.dom.host)?C.some(t):C.none();var o})(xe.fromDom(t)).fold((()=>o.body.contains(t)),(n=lt,r=st,e=>n(r(e))));var n,r},at=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return xe.fromDom(t)},ct=(e,t)=>{let o=[];return N(Le(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(ct(e,t))})),o},it=(e,t,o)=>((e,o,n)=>_(_e(e,n),(e=>Ce(e,t))))(e,0,o),mt=(e,t)=>((e,o)=>_(Le(e),(e=>Ce(e,t))))(e),dt=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Se(o)?[]:E(o.querySelectorAll(e),xe.fromDom)})(t,e);var ut=(e,t,o,n,r)=>e(o,n)?C.some(o):d(r)&&r(o)?C.none():t(o,n,r);const ft=(e,t,o)=>{let n=e.dom;const r=d(o)?o:y;for(;n.parentNode;){n=n.parentNode;const e=xe.fromDom(n);if(t(e))return C.some(e);if(r(e))break}return C.none()},gt=(e,t,o)=>ut(((e,t)=>t(e)),ft,e,t,o),ht=(e,t,o)=>ft(e,(e=>Ce(e,t)),o),pt=(e,t)=>((e,o)=>L(e.dom.childNodes,(e=>{return o=xe.fromDom(e),Ce(o,t);var o})).map(xe.fromDom))(e),wt=(e,t)=>Te(t,e),bt=(e,t,o)=>ut(((e,t)=>Ce(e,t)),ht,e,t,o),vt=(e,t,o=p)=>e.exists((e=>o(e,t))),yt=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;te?C.some(t):C.none(),Ct=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,St=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!i(n)||r+t.length<=n)},Tt=(e,t)=>Ct(e,t,0),Rt=(e,t)=>Ct(e,t,e.length-t.length),Dt=(e=>t=>t.replace(e,""))(/^\s+|\s+$/g),Ot=e=>e.length>0,kt=e=>void 0!==e.style&&d(e.style.getPropertyValue),Et=(e,t,o)=>{if(!r(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);kt(e)&&e.style.setProperty(t,o)},Nt=(e,t,o)=>{const n=e.dom;Et(n,t,o)},Bt=(e,t)=>{const o=e.dom;G(t,((e,t)=>{Et(o,t,e)}))},_t=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||lt(e)?n:zt(o,t)},zt=(e,t)=>kt(e)?e.style.getPropertyValue(t):"",At=(e,t)=>{const o=e.dom,n=zt(o,t);return C.from(n).filter((e=>e.length>0))},Lt=(e,t)=>{((e,t)=>{kt(e)&&e.style.removeProperty(t)})(e.dom,t),vt(we(e,"style").map(Dt),"")&&be(e,"style")},Wt=(e,t,o=0)=>we(e,t).map((e=>parseInt(e,10))).getOr(o),Mt=(e,t)=>Wt(e,t,1),jt=e=>ue("col")(e)?Wt(e,"span",1)>1:Mt(e,"colspan")>1,Pt=e=>Mt(e,"rowspan")>1,It=(e,t)=>parseInt(_t(e,t),10),Ft=g(10),Ht=g(10),$t=(e,t)=>Vt(e,t,x),Vt=(e,t,o)=>j(Le(e),(e=>Ce(e,t)?o(e)?[e]:[]:Vt(e,t,o))),qt=(e,t)=>((e,t,o=y)=>o(t)?C.none():D(e,ne(t))?C.some(t):ht(t,e.join(","),(e=>Ce(e,"table")||o(e))))(["td","th"],e,t),Ut=e=>$t(e,"th,td"),Gt=e=>Ce(e,"colgroup")?mt(e,"col"):j(Jt(e),(e=>mt(e,"col"))),Kt=(e,t)=>bt(e,"table",t),Yt=e=>$t(e,"tr"),Jt=e=>Kt(e).fold(g([]),(e=>mt(e,"colgroup"))),Qt=(e,t)=>E(e,(e=>{if("colgroup"===ne(e)){const t=E(Gt(e),(e=>{const t=Wt(e,"span",1);return Xe(e,1,t)}));return Ze(e,t,"colgroup")}{const o=E(Ut(e),(e=>{const t=Wt(e,"rowspan",1),o=Wt(e,"colspan",1);return Xe(e,t,o)}));return Ze(e,o,t(e))}})),Xt=e=>Ne(e).map((e=>{const t=ne(e);return(e=>D(Qe,e))(t)?t:"tbody"})).getOr("tbody"),Zt=e=>{const t=Yt(e),o=[...Jt(e),...t];return Qt(o,Xt)},eo=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},to=()=>oo(0,0),oo=(e,t)=>({major:e,minor:t}),no={nu:oo,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?to():((e,t)=>{const o=((e,t)=>{for(let o=0;oNumber(t.replace(o,"$"+e));return oo(n(1),n(2))})(e,o)},unknown:to},ro=(e,t)=>{const o=String(t).toLowerCase();return L(e,(e=>e.search(o)))},so=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,lo=e=>t=>St(t,e),ao=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>St(e,"edge/")&&St(e,"chrome")&&St(e,"safari")&&St(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,so],search:e=>St(e,"chrome")&&!St(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>St(e,"msie")||St(e,"trident")},{name:"Opera",versionRegexes:[so,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:lo("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:lo("firefox")},{name:"Safari",versionRegexes:[so,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(St(e,"safari")||St(e,"mobile/"))&&St(e,"applewebkit")}],co=[{name:"Windows",search:lo("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>St(e,"iphone")||St(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:lo("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:lo("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:lo("linux"),versionRegexes:[]},{name:"Solaris",search:lo("sunos"),versionRegexes:[]},{name:"FreeBSD",search:lo("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:lo("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],io={browsers:g(ao),oses:g(co)},mo="Edge",uo="Chromium",fo="Opera",go="Firefox",ho="Safari",po=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(mo),isChromium:n(uo),isIE:n("IE"),isOpera:n(fo),isFirefox:n(go),isSafari:n(ho)}},wo=()=>po({current:void 0,version:no.unknown()}),bo=po,vo=(g(mo),g(uo),g("IE"),g(fo),g(go),g(ho),"Windows"),yo="Android",xo="Linux",Co="macOS",So="Solaris",To="FreeBSD",Ro="ChromeOS",Do=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(vo),isiOS:n("iOS"),isAndroid:n(yo),isMacOS:n(Co),isLinux:n(xo),isSolaris:n(So),isFreeBSD:n(To),isChromeOS:n(Ro)}},Oo=()=>Do({current:void 0,version:no.unknown()}),ko=Do,Eo=(g(vo),g("iOS"),g(yo),g(xo),g(Co),g(So),g(To),g(Ro),e=>window.matchMedia(e).matches);let No=eo((()=>((e,t,o)=>{const n=io.browsers(),r=io.oses(),s=t.bind((e=>((e,t)=>V(t.brands,(t=>{const o=t.brand.toLowerCase();return L(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:no.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(wo,bo),l=((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(r,e).fold(Oo,ko),a=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),s=e.isiOS()&&!r,l=e.isiOS()||e.isAndroid(),a=l||n("(pointer:coarse)"),c=r||!s&&l&&n("(min-device-width:768px)"),i=s||l&&!c,m=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),d=!i&&!c&&!m;return{isiPad:g(r),isiPhone:g(s),isTablet:g(c),isPhone:g(i),isTouch:g(a),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:g(m),isDesktop:g(d)}})(l,s,e,o);return{browser:s,os:l,deviceType:a}})(navigator.userAgent,C.from(navigator.userAgentData),Eo)));const Bo=()=>No(),_o=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=_t(o,e);return parseFloat(t)||0}return n},n=(e,t)=>A(t,((t,o)=>{const n=_t(e,o),r=void 0===n?0:parseInt(n,10);return isNaN(r)?t:t+r}),0);return{set:(t,o)=>{if(!u(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;kt(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}},zo=(e,t,o)=>((e,t)=>(e=>{const t=parseFloat(e);return isNaN(t)?C.none():C.some(t)})(e).getOr(t))(_t(e,t),o),Ao=_o("width",(e=>e.dom.offsetWidth)),Lo=e=>Ao.get(e),Wo=e=>Ao.getOuter(e),Mo=e=>((e,t)=>{const o=e.dom,n=o.getBoundingClientRect().width||o.offsetWidth;return"border-box"===t?n:((e,t,o,n)=>t-zo(e,`padding-${o}`,0)-zo(e,`padding-${n}`,0)-zo(e,`border-${o}-width`,0)-zo(e,`border-${n}-width`,0))(e,n,"left","right")})(e,"content-box"),jo=(e,t,o)=>{const n=e.cells,r=n.slice(0,t),s=n.slice(t),l=r.concat(o).concat(s);return Fo(e,l)},Po=(e,t,o)=>jo(e,t,[o]),Io=(e,t,o)=>{e.cells[t]=o},Fo=(e,t)=>tt(e.element,t,e.section,e.isNew),Ho=(e,t)=>e.cells[t],$o=(e,t)=>Ho(e,t).element,Vo=e=>e.cells.length,qo=e=>{const t=B(e,(e=>"colgroup"===e.section));return{rows:t.fail,cols:t.pass}},Uo=(e,t,o)=>{const n=E(e.cells,o);return tt(t(e.element),n,e.section,!0)},Go="data-snooker-locked-cols",Ko=e=>we(e,Go).bind((e=>C.from(e.match(/\d+/g)))).map((e=>I(e,x))),Yo=e=>{const t=A(qo(e).rows,((e,t)=>(N(t.cells,((t,o)=>{t.isLocked&&(e[o]=!0)})),e)),{}),o=J(t,((e,t)=>parseInt(t,10)));return((e,t)=>{const o=S.call(e,0);return o.sort(void 0),o})(o)},Jo=(e,t)=>e+","+t,Qo=(e,t)=>{const o=j(e.all,(e=>e.cells));return _(o,t)},Xo=e=>{const t={},o=[],n=H(e).map((e=>e.element)).bind(Kt).bind(Ko).getOr({});let r=0,s=0,l=0;const{pass:a,fail:c}=B(e,(e=>"colgroup"===e.section));N(c,(e=>{const a=[];N(e.cells,(e=>{let o=0;for(;void 0!==t[Jo(l,o)];)o++;const r=((e,t)=>X(e,t)&&void 0!==e[t]&&null!==e[t])(n,o.toString()),c=((e,t,o,n,r,s)=>({element:e,rowspan:t,colspan:o,row:n,column:r,isLocked:s}))(e.element,e.rowspan,e.colspan,l,o,r);for(let n=0;n{const t=(e=>{const t={};let o=0;return N(e.cells,(e=>{const n=e.colspan;k(n,(r=>{const s=o+r;t[s]=((e,t,o)=>({element:e,colspan:t,column:o}))(e.element,n,s)})),o+=n})),t})(e),o=((e,t)=>({element:e,columns:t}))(e.element,Q(t));return{colgroups:[o],columns:t}})).getOrThunk((()=>({colgroups:[],columns:{}}))),d=((e,t)=>({rows:e,columns:t}))(r,s);return{grid:d,access:t,all:o,columns:i,colgroups:m}},Zo=e=>{const t=Zt(e);return Xo(t)},en=Xo,tn=(e,t,o)=>C.from(e.access[Jo(t,o)]),on=(e,t,o)=>{const n=Qo(e,(e=>o(t,e.element)));return n.length>0?C.some(n[0]):C.none()},nn=Qo,rn=e=>j(e.all,(e=>e.cells)),sn=e=>Q(e.columns),ln=e=>q(e.columns).length>0,an=(e,t)=>C.from(e.columns[t]),cn=(e,t=x)=>{const o=e.grid,n=k(o.columns,h),r=k(o.rows,h);return E(n,(o=>mn((()=>j(r,(t=>tn(e,t,o).filter((e=>e.column===o)).toArray()))),(e=>1===e.colspan&&t(e.element)),(()=>tn(e,0,o)))))},mn=(e,t,o)=>{const n=e();return L(n,t).orThunk((()=>C.from(n[0]).orThunk(o))).map((e=>e.element))},dn=e=>{const t=e.grid,o=k(t.rows,h),n=k(t.columns,h);return E(o,(t=>mn((()=>j(n,(o=>tn(e,t,o).filter((e=>e.row===t)).fold(g([]),(e=>[e]))))),(e=>1===e.rowspan),(()=>tn(e,t,0)))))},un=(e,t)=>o=>"rtl"===fn(o)?t:e,fn=e=>"rtl"===_t(e,"direction")?"rtl":"ltr",gn=_o("height",(e=>{const t=e.dom;return lt(e)?t.getBoundingClientRect().height:t.offsetHeight})),hn=e=>gn.get(e),pn=e=>gn.getOuter(e),wn=(e,t)=>({left:e,top:t,translate:(o,n)=>wn(e+o,t+n)}),bn=wn,vn=(e,t)=>void 0!==e?e:void 0!==t?t:0,yn=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,r=t.documentElement;if(o===e.dom)return bn(o.offsetLeft,o.offsetTop);const s=vn(null==n?void 0:n.pageYOffset,r.scrollTop),l=vn(null==n?void 0:n.pageXOffset,r.scrollLeft),a=vn(r.clientTop,o.clientTop),c=vn(r.clientLeft,o.clientLeft);return xn(e).translate(l-c,s-a)},xn=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?bn(o.offsetLeft,o.offsetTop):lt(e)?(e=>{const t=e.getBoundingClientRect();return bn(t.left,t.top)})(t):bn(0,0)},Cn=(e,t)=>({row:e,y:t}),Sn=(e,t)=>({col:e,x:t}),Tn=e=>yn(e).left+Wo(e),Rn=e=>yn(e).left,Dn=(e,t)=>Sn(e,Rn(t)),On=(e,t)=>Sn(e,Tn(t)),kn=e=>yn(e).top,En=(e,t)=>Cn(e,kn(t)),Nn=(e,t)=>Cn(e,kn(t)+pn(t)),Bn=(e,t,o)=>{if(0===o.length)return[];const n=E(o.slice(1),((t,o)=>t.map((t=>e(o,t))))),r=o[o.length-1].map((e=>t(o.length-1,e)));return n.concat([r])},_n={delta:h,positions:e=>Bn(En,Nn,e),edge:kn},zn=un({delta:h,edge:Rn,positions:e=>Bn(Dn,On,e)},{delta:e=>-e,edge:Tn,positions:e=>Bn(On,Dn,e)}),An={delta:(e,t)=>zn(t).delta(e,t),positions:(e,t)=>zn(t).positions(e,t),edge:e=>zn(e).edge(e)},Ln={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},Wn=(()=>{const e="[0-9]+",t="[eE][+-]?"+e,o=e=>`(?:${e})?`,n=["Infinity",e+"\\."+o(e)+o(t),"\\."+e+o(t),e+o(t)].join("|");return new RegExp(`^([+-]?(?:${n}))(.*)$`)})(),Mn=/(\d+(\.\d+)?)%/,jn=/(\d+(\.\d+)?)px|em/,Pn=ue("col"),In=(e,t,o)=>{const n=Be(e).getOrThunk((()=>at(ke(e))));return t(e)/o(n)*100},Fn=(e,t)=>{Nt(e,"width",t+"px")},Hn=(e,t)=>{Nt(e,"width",t+"%")},$n=(e,t)=>{Nt(e,"height",t+"px")},Vn=e=>{const t=(e=>{return zo(t=e,"height",t.dom.offsetHeight)+"px";var t})(e);return t?((e,t,o,n)=>{const r=parseFloat(e);return Rt(e,"%")&&"table"!==ne(t)?((e,t,o,n)=>{const r=Kt(e).map((e=>{const n=o(e);return Math.floor(t/100*n)})).getOr(t);return n(e,r),r})(t,r,o,n):r})(t,e,hn,$n):hn(e)},qn=(e,t)=>At(e,t).orThunk((()=>we(e,t).map((e=>e+"px")))),Un=e=>qn(e,"width"),Gn=e=>In(e,Lo,Mo),Kn=e=>{return Pn(e)?Lo(e):zo(t=e,"width",t.dom.offsetWidth);var t},Yn=e=>((e,t,o)=>o(e)/Mt(e,"rowspan"))(e,0,Vn),Jn=(e,t,o)=>{Nt(e,"width",t+o)},Qn=e=>In(e,Lo,Mo)+"%",Xn=g(Mn),Zn=ue("col"),er=e=>Un(e).getOrThunk((()=>Kn(e)+"px")),tr=e=>{return(t=e,qn(t,"height")).getOrThunk((()=>Yn(e)+"px"));var t},or=(e,t,o,n,r,s)=>e.filter(n).fold((()=>s(((e,t)=>{if(t<0||t>=e.length-1)return C.none();const o=e[t].fold((()=>{const o=(e=>{const t=S.call(e,0);return t.reverse(),t})(e.slice(0,t));return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:0}))),n=e[t+1].fold((()=>{const o=e.slice(t+1);return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:1})));return o.bind((e=>n.map((t=>{const o=t.delta+e.delta;return Math.abs(t.value-e.value)/o}))))})(o,t))),(e=>r(e))),nr=(e,t,o,n)=>{const r=cn(e),s=ln(e)?(e=>E(sn(e),(e=>C.from(e.element))))(e):r,l=[C.some(An.edge(t))].concat(E(An.positions(r,t),(e=>e.map((e=>e.x))))),a=b(jt);return E(s,((e,t)=>or(e,t,l,a,(e=>{if((e=>{const t=Bo().browser,o=t.isChromium()||t.isFirefox();return!Zn(e)||o})(e))return o(e);{const e=null!=(s=r[t])?h(s):C.none();return or(e,t,l,a,(e=>n(C.some(Lo(e)))),n)}var s}),n)))},rr=e=>e.map((e=>e+"px")).getOr(""),sr=(e,t,o)=>nr(e,t,Kn,(e=>e.getOrThunk(o.minCellWidth))),lr=(e,t,o,n,r)=>{const s=dn(e),l=[C.some(o.edge(t))].concat(E(o.positions(s,t),(e=>e.map((e=>e.y)))));return E(s,((e,t)=>or(e,t,l,b(Pt),n,r)))},ar=(e,t)=>()=>lt(e)?t(e):parseFloat(At(e,"width").getOr("0")),cr=e=>{const t=ar(e,(e=>parseFloat(Qn(e)))),o=ar(e,Lo);return{width:t,pixelWidth:o,getWidths:(t,o)=>((e,t,o)=>nr(e,t,Gn,(e=>e.fold((()=>o.minCellWidth()),(e=>e/o.pixelWidth()*100)))))(t,e,o),getCellDelta:e=>e/o()*100,singleColumnWidth:(e,t)=>[100-e],minCellWidth:()=>Ft()/o()*100,setElementWidth:Hn,adjustTableWidth:o=>{const n=t();Hn(e,n+o/100*n)},isRelative:!0,label:"percent"}},ir=e=>{const t=ar(e,Lo);return{width:t,pixelWidth:t,getWidths:(t,o)=>sr(t,e,o),getCellDelta:h,singleColumnWidth:(e,t)=>[Math.max(Ft(),e+t)-e],minCellWidth:Ft,setElementWidth:Fn,adjustTableWidth:o=>{const n=t()+o;Fn(e,n)},isRelative:!1,label:"pixel"}},mr=e=>Un(e).fold((()=>(e=>{const t=ar(e,Lo),o=g(0);return{width:t,pixelWidth:t,getWidths:(t,o)=>sr(t,e,o),getCellDelta:o,singleColumnWidth:g([0]),minCellWidth:o,setElementWidth:f,adjustTableWidth:f,isRelative:!0,label:"none"}})(e)),(t=>((e,t)=>null!==Xn().exec(t)?cr(e):ir(e))(e,t))),dr=ir,ur=cr,fr=(e,t,o)=>{const n=e[o].element,r=xe.fromTag("td");Ie(r,xe.fromTag("br")),(t?Ie:Pe)(n,r)},gr=((e,t)=>{const o=t=>e(t)?C.from(t.dom.nodeValue):C.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(ie),hr=e=>gr.get(e),pr=e=>gr.getOption(e),wr=(e,t)=>gr.set(e,t),br=e=>"img"===ne(e)?1:pr(e).fold((()=>Le(e).length),(e=>e.length)),vr=["img","br"],yr=e=>pr(e).filter((e=>0!==e.trim().length||e.indexOf("\xa0")>-1)).isSome()||D(vr,ne(e))||(e=>ae(e)&&"false"===pe(e,"contenteditable"))(e),xr=e=>((e,t)=>{const o=e=>{for(let n=0;nSr(e,yr),Sr=(e,t)=>{const o=e=>{const n=Le(e);for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(r))return C.some(r);const s=o(r);if(s.isSome())return s}return C.none()};return o(e)},Tr={scope:["row","col"]},Rr=e=>()=>{const t=xe.fromTag("td",e.dom);return Ie(t,xe.fromTag("br",e.dom)),t},Dr=e=>()=>xe.fromTag("col",e.dom),Or=e=>()=>xe.fromTag("colgroup",e.dom),kr=e=>()=>xe.fromTag("tr",e.dom),Er=(e,t,o)=>{const n=((e,t)=>{const o=Je(e,t),n=Le(Ye(e));return $e(o,n),o})(e,t);return G(o,((e,t)=>{null===e?be(n,t):ge(n,t,e)})),n},Nr=e=>e,Br=(e,t,o)=>{const n=(e,t)=>{((e,t)=>{const o=e.dom,n=t.dom;kt(o)&&kt(n)&&(n.style.cssText=o.style.cssText)})(e.element,t),Lt(t,"height"),1!==e.colspan&&Lt(t,"width")};return{col:o=>{const r=xe.fromTag(ne(o.element),t.dom);return n(o,r),e(o.element,r),r},colgroup:Or(t),row:kr(t),cell:r=>{const s=xe.fromTag(ne(r.element),t.dom),l=o.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),a=l.length>0?((e,t,o)=>xr(e).map((n=>{const r=o.join(","),s=it(n,r,(t=>Re(t,e)));return z(s,((e,t)=>{const o=Ke(t);return Ie(e,o),o}),t)})).getOr(t))(r.element,s,l):s;return Ie(a,xe.fromTag("br")),n(r,s),((e,t)=>{G(Tr,((o,n)=>we(e,n).filter((e=>D(o,e))).each((e=>ge(t,n,e)))))})(r.element,s),e(r.element,s),s},replace:Er,colGap:Dr(t),gap:Rr(t)}},_r=e=>({col:Dr(e),colgroup:Or(e),row:kr(e),cell:Rr(e),replace:Nr,colGap:Dr(e),gap:Rr(e)}),zr=e=>t=>t.options.get(e),Ar="100%",Lr=e=>{var t;const o=e.dom,n=null!==(t=o.getParent(e.selection.getStart(),o.isBlock))&&void 0!==t?t:e.getBody();return Mo(xe.fromDom(n))+"px"},Wr=e=>C.from(e.options.get("table_clone_elements")),Mr=zr("table_header_type"),jr=zr("table_column_resizing"),Pr=e=>"preservetable"===jr(e),Ir=e=>"resizetable"===jr(e),Fr=zr("table_sizing_mode"),Hr=e=>"relative"===Fr(e),$r=e=>"fixed"===Fr(e),Vr=e=>"responsive"===Fr(e),qr=zr("table_resize_bars"),Ur=zr("table_style_by_css"),Gr=zr("table_merge_content_on_paste"),Kr=e=>{const t=e.options,o=t.get("table_default_attributes");return t.isSet("table_default_attributes")?o:((e,t)=>Vr(e)||Ur(e)?t:$r(e)?{...t,width:Lr(e)}:{...t,width:Ar})(e,o)},Yr=zr("table_use_colgroups"),Jr=e=>bt(e,"[contenteditable]"),Qr=(e,t=!1)=>lt(e)?e.dom.isContentEditable:Jr(e).fold(g(t),(e=>"true"===Xr(e))),Xr=e=>e.dom.contentEditable,Zr=e=>xe.fromDom(e.getBody()),es=e=>t=>Re(t,Zr(e)),ts=e=>{be(e,"data-mce-style");const t=e=>be(e,"data-mce-style");N(Ut(e),t),N(Gt(e),t),N(Yt(e),t)},os=e=>xe.fromDom(e.selection.getStart()),ns=e=>e.getBoundingClientRect().width,rs=e=>e.getBoundingClientRect().height,ss=e=>gt(e,ue("table")).exists(Qr),ls=(e,t)=>{const o=t.column,n=t.column+t.colspan-1,r=t.row,s=t.row+t.rowspan-1;return o<=e.finishCol&&n>=e.startCol&&r<=e.finishRow&&s>=e.startRow},as=(e,t)=>t.column>=e.startCol&&t.column+t.colspan-1<=e.finishCol&&t.row>=e.startRow&&t.row+t.rowspan-1<=e.finishRow,cs=(e,t,o)=>{const n=on(e,t,Re),r=on(e,o,Re);return n.bind((e=>r.map((t=>{return o=e,n=t,{startRow:Math.min(o.row,n.row),startCol:Math.min(o.column,n.column),finishRow:Math.max(o.row+o.rowspan-1,n.row+n.rowspan-1),finishCol:Math.max(o.column+o.colspan-1,n.column+n.colspan-1)};var o,n}))))},is=(e,t,o)=>cs(e,t,o).map((t=>{const o=nn(e,w(ls,t));return E(o,(e=>e.element))})),ms=(e,t)=>on(e,t,((e,t)=>De(t,e))).map((e=>e.element)),ds=(e,t,o)=>{const n=fs(e);return is(n,t,o)},us=(e,t,o,n,r)=>{const s=fs(e),l=Re(e,o)?C.some(t):ms(s,t),a=Re(e,r)?C.some(n):ms(s,n);return l.bind((e=>a.bind((t=>is(s,e,t)))))},fs=Zo;var gs=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],hs=()=>({up:g({selector:ht,closest:bt,predicate:ft,all:_e}),down:g({selector:dt,predicate:ct}),styles:g({get:_t,getRaw:At,set:Nt,remove:Lt}),attrs:g({get:pe,set:ge,remove:be,copyTo:(e,t)=>{const o=ve(e);he(t,o)}}),insert:g({before:Me,after:je,afterAll:He,append:Ie,appendAll:$e,prepend:Pe,wrap:Fe}),remove:g({unwrap:Ue,remove:qe}),create:g({nu:xe.fromTag,clone:e=>xe.fromDom(e.dom.cloneNode(!1)),text:xe.fromText}),query:g({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:ze,nextSibling:Ae}),property:g({children:Le,name:ne,parent:Ne,document:e=>Ee(e).dom,isText:ie,isComment:le,isElement:ce,isSpecial:e=>{const t=ne(e);return D(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>ce(e)?we(e,"lang"):C.none(),getText:hr,setText:wr,isBoundary:e=>!!ce(e)&&("body"===ne(e)||D(gs,ne(e))),isEmptyTag:e=>!!ce(e)&&D(["br","img","hr","input"],ne(e)),isNonEditable:e=>ce(e)&&"false"===pe(e,"contenteditable")}),eq:Re,is:Oe});const ps=(e,t,o,n)=>{const r=t(e,o);return z(n,((o,n)=>{const r=t(e,n);return ws(e,o,r)}),r)},ws=(e,t,o)=>t.bind((t=>o.filter(w(e.eq,t)))),bs=hs(),vs=(e,t)=>((e,t,o)=>o.length>0?((e,t,o,n)=>n(e,t,o[0],o.slice(1)))(e,t,o,ps):C.none())(bs,((t,o)=>e(o)),t),ys=e=>ht(e,"table"),xs=(e,t,o)=>{const n=e=>t=>void 0!==o&&o(t)||Re(t,e);return Re(e,t)?C.some({boxes:C.some([e]),start:e,finish:t}):ys(e).bind((r=>ys(t).bind((s=>{if(Re(r,s))return C.some({boxes:ds(r,e,t),start:e,finish:t});if(De(r,s)){const o=it(t,"td,th",n(r)),l=o.length>0?o[o.length-1]:t;return C.some({boxes:us(r,e,r,t,s),start:e,finish:l})}if(De(s,r)){const o=it(e,"td,th",n(s)),l=o.length>0?o[o.length-1]:e;return C.some({boxes:us(s,e,r,t,s),start:e,finish:l})}return((e,t,o)=>((e,t,o,n=y)=>{const r=[t].concat(e.up().all(t)),s=[o].concat(e.up().all(o)),l=e=>W(e,n).fold((()=>e),(t=>e.slice(0,t+1))),a=l(r),c=l(s),i=L(a,(t=>O(c,((e,t)=>w(e.eq,t))(e,t))));return{firstpath:a,secondpath:c,shared:i}})(bs,e,t,void 0))(e,t).shared.bind((l=>bt(l,"table",o).bind((o=>{const l=it(t,"td,th",n(o)),a=l.length>0?l[l.length-1]:t,c=it(e,"td,th",n(o)),i=c.length>0?c[c.length-1]:e;return C.some({boxes:us(o,e,r,t,s),start:i,finish:a})}))))}))))},Cs=(e,t)=>{const o=dt(e,t);return o.length>0?C.some(o):C.none()},Ss=(e,t,o)=>wt(e,t).bind((t=>wt(e,o).bind((e=>vs(ys,[t,e]).map((o=>({first:t,last:e,table:o}))))))),Ts=(e,t,o,n,r)=>((e,t)=>L(e,(e=>Ce(e,t))))(e,r).bind((e=>((e,t,o)=>Kt(e).bind((n=>((e,t,o,n)=>on(e,t,Re).bind((t=>{const r=o>0?t.row+t.rowspan-1:t.row,s=n>0?t.column+t.colspan-1:t.column;return tn(e,r+o,s+n).map((e=>e.element))})))(fs(n),e,t,o))))(e,t,o).bind((e=>((e,t)=>ht(e,"table").bind((o=>wt(o,t).bind((t=>xs(t,e).bind((e=>e.boxes.map((t=>({boxes:t,start:e.start,finish:e.finish}))))))))))(e,n))))),Rs=(e,t)=>Cs(e,t),Ds=(e,t,o)=>Ss(e,t,o).bind((t=>{const o=t=>Re(e,t),n="thead,tfoot,tbody,table",r=ht(t.first,n,o),s=ht(t.last,n,o);return r.bind((e=>s.bind((o=>Re(e,o)?((e,t,o)=>((e,t,o)=>cs(e,t,o).bind((t=>((e,t)=>{let o=!0;const n=w(as,t);for(let r=t.startRow;r<=t.finishRow;r++)for(let s=t.startCol;s<=t.finishCol;s++)o=o&&tn(e,r,s).exists(n);return o?C.some(t):C.none()})(e,t))))(fs(e),t,o))(t.table,t.first,t.last):C.none()))))})),Os=h,ks=e=>{const t=(e,t)=>we(e,t).exists((e=>parseInt(e,10)>1));return e.length>0&&P(e,(e=>t(e,"rowspan")||t(e,"colspan")))?C.some(e):C.none()},Es=(e,t,o)=>t.length<=1?C.none():Ds(e,o.firstSelectedSelector,o.lastSelectedSelector).map((e=>({bounds:e,cells:t}))),Ns="data-mce-selected",Bs="data-mce-first-selected",_s="data-mce-last-selected",zs="["+Ns+"]",As={selected:Ns,selectedSelector:"td["+Ns+"],th["+Ns+"]",firstSelected:Bs,firstSelectedSelector:"td["+Bs+"],th["+Bs+"]",lastSelected:_s,lastSelectedSelector:"td["+_s+"],th["+_s+"]"},Ls=(e,t,o)=>({element:o,mergable:Es(t,e,As),unmergable:ks(e),selection:Os(e)}),Ws=e=>(t,o)=>{const n=ne(t),r="col"===n||"colgroup"===n?Kt(s=t).bind((e=>Rs(e,As.firstSelectedSelector))).fold(g(s),(e=>e[0])):t;var s;return bt(r,e,o)},Ms=Ws("th,td,caption"),js=Ws("th,td"),Ps=e=>{return t=e.model.table.getSelectedCells(),E(t,xe.fromDom);var t},Is=(e,t)=>{e.on("BeforeGetContent",(t=>{const o=o=>{t.preventDefault(),(e=>Kt(e[0]).map((e=>{const t=((e,t)=>{const o=e=>Ce(e.element,t),n=Ye(e),r=Zt(n),s=mr(e),l=en(r),a=((e,t)=>{const o=e.grid.columns;let n=e.grid.rows,r=o,s=0,l=0;const a=[],c=[];return G(e.access,(e=>{if(a.push(e),t(e)){c.push(e);const t=e.row,o=t+e.rowspan-1,a=e.column,i=a+e.colspan-1;ts&&(s=o),al&&(l=i)}})),((e,t,o,n,r,s)=>({minRow:e,minCol:t,maxRow:o,maxCol:n,allCells:r,selectedCells:s}))(n,r,s,l,a,c)})(l,o),c="th:not("+t+"),td:not("+t+")",i=Vt(n,"th,td",(e=>Ce(e,c)));N(i,qe),((e,t,o,n)=>{const r=_(e,(e=>"colgroup"!==e.section)),s=t.grid.columns,l=t.grid.rows;for(let e=0;eo.maxRow||ao.maxCol||(tn(t,e,a).filter(n).isNone()?fr(r,l,e):l=!0)}})(r,l,a,o);const m=((e,t,o,n)=>{if(0===n.minCol&&t.grid.columns===n.maxCol+1)return 0;const r=sr(t,e,o),s=A(r,((e,t)=>e+t),0),l=A(r.slice(n.minCol,n.maxCol+1),((e,t)=>e+t),0),a=l/s*o.pixelWidth()-o.pixelWidth();return o.getCellDelta(a)})(e,Zo(e),s,a);return((e,t,o,n)=>{G(o.columns,(e=>{(e.columnt.maxCol)&&qe(e.element)}));const r=_($t(e,"tr"),(e=>0===e.dom.childElementCount));N(r,qe),t.minCol!==t.maxCol&&t.minRow!==t.maxRow||N($t(e,"th,td"),(e=>{be(e,"rowspan"),be(e,"colspan")})),be(e,Go),be(e,"data-snooker-col-series"),mr(e).adjustTableWidth(n)})(n,a,l,m),n})(e,zs);return ts(t),[t]})))(o).each((o=>{t.content="text"===t.format?(e=>E(e,(e=>e.dom.innerText)).join(""))(o):((e,t)=>E(t,(t=>e.selection.serializer.serialize(t.dom,{}))).join(""))(e,o)}))};if(!0===t.selection){const t=(e=>_(Ps(e),(e=>Ce(e,As.selectedSelector))))(e);t.length>=1&&o(t)}})),e.on("BeforeSetContent",(o=>{if(!0===o.selection&&!0===o.paste){const n=Ps(e);H(n).each((n=>{Kt(n).each((r=>{const s=_(((e,t)=>{const o=document.createElement("div");return o.innerHTML=e,Le(xe.fromDom(o))})(o.content),(e=>"meta"!==ne(e))),l=ue("table");if(Gr(e)&&1===s.length&&l(s[0])){o.preventDefault();const l=xe.fromDom(e.getDoc()),a=_r(l),c=((e,t,o)=>({element:e,clipboard:t,generators:o}))(n,s[0],a);t.pasteCells(r,c).each((()=>{e.focus()}))}}))}))}}))},Fs=(e,t)=>({element:e,offset:t}),Hs=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>Hs(e,t,o).orThunk((()=>C.some(t))))):C.none(),$s=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,Vs=(e,t)=>{const o=Hs(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return Fs(o,$s(e,o));const n=e.property().children(o);return n.length>0?Vs(e,n[n.length-1]):Fs(o,$s(e,o))},qs=Vs,Us=hs(),Gs=(e,t)=>{if(!jt(e)){const o=(e=>Un(e).bind((e=>{return t=e,o=["fixed","relative","empty"],C.from(Wn.exec(t)).bind((e=>{const t=Number(e[1]),n=e[2];return((e,t)=>O(t,(t=>O(Ln[t],(t=>e===t)))))(n,o)?C.some({value:t,unit:n}):C.none()}));var t,o})))(e);o.each((o=>{const n=o.value/2;Jn(e,n,o.unit),Jn(t,n,o.unit)}))}},Ks=e=>E(e,g(0)),Ys=(e,t,o,n,r)=>r(e.slice(0,t)).concat(n).concat(r(e.slice(o))),Js=e=>(t,o,n,r)=>{if(e(n)){const e=Math.max(r,t[o]-Math.abs(n)),s=Math.abs(e-t[o]);return n>=0?s:-s}return n},Qs=Js((e=>e<0)),Xs=Js(x),Zs=()=>{const e=(e,t,o,n)=>{const r=(100+o)/100,s=Math.max(n,(e[t]+o)/r);return E(e,((e,o)=>(o===t?s:e/r)-e))},t=(t,o,n,r,s,l)=>l?e(t,o,r,s):((e,t,o,n,r)=>{const s=Qs(e,t,n,r);return Ys(e,t,o+1,[s,0],Ks)})(t,o,n,r,s);return{resizeTable:(e,t)=>e(t),clampTableDelta:Qs,calcLeftEdgeDeltas:t,calcMiddleDeltas:(e,o,n,r,s,l,a)=>t(e,n,r,s,l,a),calcRightEdgeDeltas:(t,o,n,r,s,l)=>{if(l)return e(t,n,r,s);{const e=Qs(t,n,r,s);return Ks(t.slice(0,n)).concat([e])}},calcRedestributedWidths:(e,t,o,n)=>{if(n){const n=(t+o)/t,r=E(e,(e=>e/n));return{delta:100*n-100,newSizes:r}}return{delta:o,newSizes:e}}}},el=()=>{const e=(e,t,o,n,r)=>{const s=Xs(e,n>=0?o:t,n,r);return Ys(e,t,o+1,[s,-s],Ks)};return{resizeTable:(e,t,o)=>{o&&e(t)},clampTableDelta:(e,t,o,n,r)=>{if(r){if(o>=0)return o;{const t=A(e,((e,t)=>e+t-n),0);return Math.max(-t,o)}}return Qs(e,t,o,n)},calcLeftEdgeDeltas:e,calcMiddleDeltas:(t,o,n,r,s,l)=>e(t,n,r,s,l),calcRightEdgeDeltas:(e,t,o,n,r,s)=>{if(s)return Ks(e);{const t=n/e.length;return E(e,g(t))}},calcRedestributedWidths:(e,t,o,n)=>({delta:0,newSizes:e})}},tl=e=>Zo(e).grid,ol=ue("th"),nl=e=>P(e,(e=>ol(e.element))),rl=(e,t)=>e&&t?"sectionCells":e?"section":"cells",sl=e=>{const t="thead"===e.section,o=vt(ll(e.cells),"th");return"tfoot"===e.section?{type:"footer"}:t||o?{type:"header",subType:rl(t,o)}:{type:"body"}},ll=e=>{const t=_(e,(e=>ol(e.element)));return 0===t.length?C.some("td"):t.length===e.length?C.some("th"):C.none()},al=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),cl=(e,t)=>e.section!==t?tt(e.element,e.cells,t,e.isNew):e,il=()=>({transformRow:cl,transformCell:(e,t,o)=>{const n=o(e.element,t),r="td"!==ne(n)?((e,t)=>{const o=Je(e,"td");je(e,o);const n=Le(e);return $e(o,n),qe(e),o})(n):n;return et(r,e.isNew,e.isLocked)}}),ml=()=>({transformRow:cl,transformCell:al}),dl=()=>({transformRow:(e,t)=>cl(e,"thead"===t?"tbody":t),transformCell:al}),ul=il,fl=ml,gl=dl,hl=()=>({transformRow:h,transformCell:al}),pl=(e,t,o,n)=>{o===n?be(e,t):ge(e,t,o)},wl=(e,t,o)=>{$(mt(e,t)).fold((()=>Pe(e,o)),(e=>je(e,o)))},bl=(e,t)=>{const o=[],n=[],r=e=>E(e,(e=>{e.isNew&&o.push(e.element);const t=e.element;return Ve(t),N(e.cells,(e=>{e.isNew&&n.push(e.element),pl(e.element,"colspan",e.colspan,1),pl(e.element,"rowspan",e.rowspan,1),Ie(t,e.element)})),t})),s=e=>j(e,(e=>E(e.cells,(e=>(pl(e.element,"span",e.colspan,1),e.element))))),l=(t,o)=>{const n=((e,t)=>{const o=pt(e,t).getOrThunk((()=>{const o=xe.fromTag(t,ke(e).dom);return"thead"===t?wl(e,"caption,colgroup",o):"colgroup"===t?wl(e,"caption",o):Ie(e,o),o}));return Ve(o),o})(e,o),l=("colgroup"===o?s:r)(t);$e(n,l)},a=(t,o)=>{t.length>0?l(t,o):(t=>{pt(e,t).each(qe)})(o)},c=[],i=[],m=[],d=[];return N(t,(e=>{switch(e.section){case"thead":c.push(e);break;case"tbody":i.push(e);break;case"tfoot":m.push(e);break;case"colgroup":d.push(e)}})),a(d,"colgroup"),a(c,"thead"),a(i,"tbody"),a(m,"tfoot"),{newRows:o,newCells:n}},vl=(e,t)=>{if(0===e.length)return 0;const o=e[0];return W(e,(e=>!t(o.element,e.element))).getOr(e.length)},yl=(e,t)=>{const o=E(e,(e=>E(e.cells,y)));return E(e,((n,r)=>{const s=j(n.cells,((n,s)=>{if(!1===o[r][s]){const m=((e,t,o,n)=>{const r=((e,t)=>e[t])(e,t),s="colgroup"===r.section,l=vl(r.cells.slice(o),n),a=s?1:vl(((e,t)=>E(e,(e=>Ho(e,t))))(e.slice(t),o),n);return{colspan:l,rowspan:a}})(e,r,s,t);return((e,t,n,r)=>{for(let s=e;s({element:e,cells:t,section:o,isNew:n}))(n.element,s,n.section,n.isNew)}))},xl=(e,t,o)=>{const n=[];N(e.colgroups,(r=>{const s=[];for(let n=0;net(e.element,o,!1))).getOrThunk((()=>et(t.colGap(),!0,!1)));s.push(r)}n.push(tt(r.element,s,"colgroup",o))}));for(let r=0;ret(e.element,o,e.isLocked))).getOrThunk((()=>et(t.gap(),!0,!1)));s.push(l)}const l=e.all[r],a=tt(l.element,s,l.section,o);n.push(a)}return n},Cl=e=>yl(e,Re),Sl=(e,t)=>V(e.all,(e=>L(e.cells,(e=>Re(t,e.element))))),Tl=(e,t,o)=>{const n=E(t.selection,(t=>qt(t).bind((t=>Sl(e,t))).filter(o))),r=yt(n);return xt(r.length>0,r)},Rl=(e,t,o,n,r)=>(s,l,a,c)=>{const i=Zo(s),m=C.from(null==c?void 0:c.section).getOrThunk(hl);return t(i,l).map((t=>{const o=((e,t)=>xl(e,t,!1))(i,a),n=e(o,t,Re,r(a),m),s=Yo(n.grid);return{info:t,grid:Cl(n.grid),cursor:n.cursor,lockedColumns:s}})).bind((e=>{const t=bl(s,e.grid),r=C.from(null==c?void 0:c.sizing).getOrThunk((()=>mr(s))),l=C.from(null==c?void 0:c.resize).getOrThunk(el);return o(s,e.grid,e.info,{sizing:r,resize:l,section:m}),n(s),be(s,Go),e.lockedColumns.length>0&&ge(s,Go,e.lockedColumns.join(",")),C.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})}))},Dl=(e,t)=>Tl(e,t,x).map((e=>({cells:e,generators:t.generators,clipboard:t.clipboard}))),Ol=(e,t)=>Tl(e,t,x),kl=(e,t)=>Tl(e,t,(e=>!e.isLocked)),El=(e,t)=>P(t,(t=>((e,t)=>Sl(e,t).exists((e=>!e.isLocked)))(e,t))),Nl=(e,t,o,n)=>{const r=qo(e).rows;let s=!0;for(let e=0;e{const t=t=>t(e),o=g(e),n=()=>r,r={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:x,isError:y,map:t=>zl.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>C.some(e)};return r},_l=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:y,isError:x,map:t,mapError:t=>zl.error(t(e)),bind:t,exists:y,forall:x,getOr:h,or:h,getOrThunk:v,orThunk:v,getOrDie:(n=String(e),()=>{throw new Error(n)}),each:f,toOptional:C.none};var n;return o},zl={value:Bl,error:_l,fromOption:(e,t)=>e.fold((()=>_l(t)),Bl)},Al=(e,t)=>({rowDelta:0,colDelta:Vo(e[0])-Vo(t[0])}),Ll=(e,t)=>({rowDelta:e.length-t.length,colDelta:0}),Wl=(e,t,o,n)=>{const r="colgroup"===t.section?o.col:o.cell;return k(e,(e=>et(r(),!0,n(e))))},Ml=(e,t,o,n)=>{const r=e[e.length-1];return e.concat(k(t,(()=>{const e="colgroup"===r.section?o.colgroup:o.row,t=Uo(r,e,h),s=Wl(t.cells.length,t,o,(e=>X(n,e.toString())));return Fo(t,s)})))},jl=(e,t,o,n)=>E(e,(e=>{const r=Wl(t,e,o,y);return jo(e,n,r)})),Pl=(e,t,o)=>{const n=t.colDelta<0?jl:h,r=t.rowDelta<0?Ml:h,s=Yo(e),l=Vo(e[0]),a=O(s,(e=>e===l-1)),c=n(e,Math.abs(t.colDelta),o,a?l-1:l),i=Yo(c);return r(c,Math.abs(t.rowDelta),o,I(i,x))},Il=(e,t,o,n)=>{const r=w(n,Ho(e[t],o).element),s=e[t];return e.length>1&&Vo(s)>1&&(o>0&&r($o(s,o-1))||o0&&r($o(e[t-1],o))||t_(o,(o=>o>=e.column&&o<=Vo(t[0])+e.column)),Hl=(e,t,o,n,r)=>{((e,t,o,n)=>{t>0&&t{const r=e.cells[t-1];let s=0;const l=n();for(;e.cells.length>t+s&&o(r.element,e.cells[t+s].element);)Io(e,t+s,et(l,!0,e.cells[t+s].isLocked)),s++}))})(t,e,r,n.cell);const s=Ll(o,t),l=Pl(o,s,n),a=Ll(t,l),c=Pl(t,a,n);return E(c,((t,o)=>jo(t,e,l[o].cells)))},$l=(e,t,o,n,r)=>{((e,t,o,n)=>{const r=qo(e).rows;if(t>0&&tA(e,((e,o)=>O(e,(e=>t(e.element,o.element)))?e:e.concat([o])),[]))(r[t-1].cells,o);N(e,(e=>{let s=C.none();for(let l=t;l{Io(a,t,et(e,!0,c.isLocked))})))}}))}})(t,e,r,n.cell);const s=Yo(t),l=Al(t,o),a={...l,colDelta:l.colDelta-s.length},c=Pl(t,a,n),{cols:i,rows:m}=qo(c),d=Yo(c),u=Al(o,t),f={...u,colDelta:u.colDelta+d.length},g=(p=n,w=d,E(o,(e=>A(w,((t,o)=>{const n=Wl(1,e,p,x)[0];return Po(t,o,n)}),e)))),h=Pl(g,f,n);var p,w;return[...i,...m.slice(0,e),...h,...m.slice(e,m.length)]},Vl=(e,t,o,n,r)=>{const{rows:s,cols:l}=qo(e),a=s.slice(0,t),c=s.slice(t);return[...l,...a,((e,t,o,n)=>Uo(e,(e=>n(e,o)),t))(s[o],((e,o)=>t>0&&tE(e,(e=>{const s=t>0&&t{if("colgroup"!==o&&n)return Ho(e,t);{const t=Ho(e,r);return et(l(t.element,s),!0,!1)}})(e,t,e.section,s,o,n,r);return Po(e,t,l)})),Ul=(e,t,o,n)=>((e,t,o,n)=>void 0!==$o(e[t],o)&&t>0&&n($o(e[t-1],o),$o(e[t],o)))(e,t,o,n)||((e,t,o)=>t>0&&o($o(e,t-1),$o(e,t)))(e[t],o,n),Gl=(e,t,o,n)=>{const r=e=>(e=>"row"===e?Pt(t):jt(t))(e)?`${e}group`:e;return e?ol(t)?r(o):null:n&&ol(t)?r("row"===o?"col":"row"):null},Kl=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),Yl=(e,t,o,n,r,s,l)=>E(e,((e,a)=>((e,c)=>{const i=e.cells,m=E(i,((e,c)=>{if((e=>O(t,(t=>o(e.element,t.element))))(e)){const t=l(e,a,c)?r(e,o,n):e;return s(t,a,c).each((e=>{var o,n;o=t.element,n={scope:C.from(e)},G(n,((e,t)=>{e.fold((()=>{be(o,t)}),(e=>{fe(o.dom,t,e)}))}))})),t}return e}));return tt(e.element,m,e.section,e.isNew)})(e))),Jl=(e,t,o)=>j(e,((n,r)=>Ul(e,r,t,o)?[]:[Ho(n,t)])),Ql=(e,t,o,n,r)=>{const s=qo(e).rows,l=j(t,(e=>Jl(s,e,n))),a=E(s,(e=>nl(e.cells))),c=((e,t)=>P(t,h)&&nl(e)?x:(e,o,n)=>!("th"===ne(e.element)&&t[o]))(l,a),i=((e,t)=>(o,n)=>C.some(Gl(e,o.element,"row",t[n])))(o,a);return Yl(e,l,n,r,Kl,i,c)},Xl=(e,t,o,n)=>{const r=qo(e).rows,s=E(t,(e=>Ho(r[e.row],e.column)));return Yl(e,s,o,n,Kl,C.none,x)},Zl=e=>{if(!l(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return N(e,((n,r)=>{const s=q(n);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],c=n[a];if(void 0!==o[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!l(c))throw new Error("case arguments must be an array");t.push(a),o[a]=(...o)=>{const n=o.length;if(n!==c.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+c.length+" ("+c+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,o)},match:e=>{const n=q(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!P(t,(e=>D(n,e))))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:a,params:o})}}}})),o},ea={...Zl([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},ta=(e,t,o)=>{let n=0;for(let r=e;r{const o=rn(e);return E(o,(e=>{const o=ta(e.row,e.row+e.rowspan,t);return{element:e.element,height:o,rowspan:e.rowspan}}))},na=(e,t,o)=>{const n=((e,t)=>ln(e)?((e,t)=>{const o=sn(e);return E(o,((e,o)=>({element:e.element,width:t[o],colspan:e.colspan})))})(e,t):((e,t)=>{const o=rn(e);return E(o,(e=>{const o=ta(e.column,e.column+e.colspan,t);return{element:e.element,width:o,colspan:e.colspan}}))})(e,t))(e,t);N(n,(e=>{o.setElementWidth(e.element,e.width)}))},ra=(e,t,o,n,r)=>{const s=Zo(e),l=r.getCellDelta(t),a=r.getWidths(s,r),c=o===s.grid.columns-1,i=n.clampTableDelta(a,o,l,r.minCellWidth(),c),m=((e,t,o,n,r)=>{const s=e.slice(0),l=((e,t)=>0===e.length?ea.none():1===e.length?ea.only(0):0===t?ea.left(0,1):t===e.length-1?ea.right(t-1,t):t>0&&tn.singleColumnWidth(s[e],o)),((e,t)=>r.calcLeftEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)),((e,t,l)=>r.calcMiddleDeltas(s,e,t,l,o,n.minCellWidth(),n.isRelative)),((e,t)=>r.calcRightEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)))})(a,o,i,r,n),d=E(m,((e,t)=>e+a[t]));na(s,d,r),n.resizeTable(r.adjustTableWidth,i,c)},sa=e=>A(e,((e,t)=>O(e,(e=>e.column===t.column))?e:e.concat([t])),[]).sort(((e,t)=>e.column-t.column)),la=ue("col"),aa=ue("colgroup"),ca=e=>"tr"===ne(e)||aa(e),ia=e=>({element:e,colspan:Wt(e,"colspan",1),rowspan:Wt(e,"rowspan",1)}),ma=e=>we(e,"scope").map((e=>e.substr(0,3))),da=(e,t=ia)=>{const o=o=>{if(ca(o))return aa((r={element:o}).element)?e.colgroup(r):e.row(r);{const r=o,s=(t=>la(t.element)?e.col(t):e.cell(t))(t(r));return n=C.some({item:r,replacement:s}),s}var r};let n=C.none();return{getOrInit:(e,t)=>n.fold((()=>o(e)),(n=>t(e,n.item)?n.replacement:o(e)))}},ua=e=>t=>{const o=[],n=n=>{const r="td"===e?{scope:null}:{},s=t.replace(n,e,r);return o.push({item:n,sub:s}),s};return{replaceOrInit:(e,t)=>{if(ca(e)||la(e))return e;{const r=e;return((e,t)=>L(o,(o=>t(o.item,e))))(r,t).fold((()=>n(r)),(o=>t(e,o.item)?o.sub:n(r)))}}}},fa=e=>({unmerge:t=>{const o=ma(t);return o.each((e=>ge(t,"scope",e))),()=>{const n=e.cell({element:t,colspan:1,rowspan:1});return Lt(n,"width"),Lt(t,"width"),o.each((e=>ge(n,"scope",e))),n}},merge:e=>(Lt(e[0],"width"),(()=>{const t=yt(E(e,ma));if(0===t.length)return C.none();{const e=t[0],o=["row","col"];return O(t,(t=>t!==e&&D(o,t)))?C.none():C.from(e)}})().fold((()=>be(e[0],"scope")),(t=>ge(e[0],"scope",t+"group"))),g(e[0]))}),ga=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],ha=hs(),pa=e=>((e,t)=>{const o=e.property().name(t);return D(ga,o)})(ha,e),wa=e=>((e,t)=>{const o=e.property().name(t);return D(["ol","ul"],o)})(ha,e),ba=e=>{const t=ue("br"),o=e=>Cr(e).bind((o=>{const n=Ae(o).map((e=>!!pa(e)||!!((e,t)=>D(["br","img","hr","input"],e.property().name(t)))(ha,e)&&"img"!==ne(e))).getOr(!1);return Ne(o).map((r=>{return!0===n||("li"===ne(s=r)||ft(s,wa).isSome())||t(o)||pa(r)&&!Re(e,r)?[]:[xe.fromTag("br")];var s}))})).getOr([]),n=(()=>{const n=j(e,(e=>{const n=Le(e);return(e=>P(e,(e=>t(e)||ie(e)&&0===hr(e).trim().length)))(n)?[]:n.concat(o(e))}));return 0===n.length?[xe.fromTag("br")]:n})();Ve(e[0]),$e(e[0],n)},va=e=>Qr(e,!0),ya=e=>{0===Ut(e).length&&qe(e)},xa=(e,t)=>({grid:e,cursor:t}),Ca=(e,t,o)=>{const n=((e,t,o)=>{var n,r;const s=qo(e).rows;return C.from(null===(r=null===(n=s[t])||void 0===n?void 0:n.cells[o])||void 0===r?void 0:r.element).filter(va).orThunk((()=>(e=>V(e,(e=>V(e.cells,(e=>{const t=e.element;return xt(va(t),t)})))))(s)))})(e,t,o);return xa(e,n)},Sa=e=>A(e,((e,t)=>O(e,(e=>e.row===t.row))?e:e.concat([t])),[]).sort(((e,t)=>e.row-t.row)),Ta=(e,t)=>(o,n,r,s,l)=>{const a=Sa(n),c=E(a,(e=>e.row)),i=((e,t,o,n,r,s,l)=>{const{cols:a,rows:c}=qo(e),i=c[t[0]],m=j(t,(e=>((e,t,o)=>{const n=e[t];return j(n.cells,((n,r)=>Ul(e,t,r,o)?[]:[n]))})(c,e,r))),d=E(i.cells,((e,t)=>nl(Jl(c,t,r)))),u=[...c];N(t,(e=>{u[e]=l.transformRow(c[e],o)}));const f=[...a,...u],g=((e,t)=>P(t,h)&&nl(e.cells)?x:(e,o,n)=>!("th"===ne(e.element)&&t[n]))(i,d),p=((e,t)=>(o,n,r)=>C.some(Gl(e,o.element,"col",t[r])))(n,d);return Yl(f,m,r,s,l.transformCell,p,g)})(o,c,e,t,r,s.replaceOrInit,l);return Ca(i,n[0].row,n[0].column)},Ra=Ta("thead",!0),Da=Ta("tbody",!1),Oa=Ta("tfoot",!1),ka=(e,t,o)=>{const n=((e,t)=>Qt(e,(()=>t)))(e,o.section),r=en(n);return xl(r,t,!0)},Ea=(e,t,o,n)=>((e,t,o,n)=>{const r=en(t),s=n.getWidths(r,n);na(r,s,n)})(0,t,0,n.sizing),Na=(e,t,o,n)=>((e,t,o,n,r)=>{const s=en(t),l=n.getWidths(s,n),a=n.pixelWidth(),{newSizes:c,delta:i}=r.calcRedestributedWidths(l,a,o.pixelDelta,n.isRelative);na(s,c,n),n.adjustTableWidth(i)})(0,t,o,n.sizing,n.resize),Ba=(e,t)=>O(t,(e=>0===e.column&&e.isLocked)),_a=(e,t)=>O(t,(t=>t.column+t.colspan>=e.grid.columns&&t.isLocked)),za=(e,t)=>{const o=cn(e),n=sa(t);return A(n,((e,t)=>e+o[t.column].map(Wo).getOr(0)),0)},Aa=e=>(t,o)=>Ol(t,o).filter((o=>!(e?Ba:_a)(t,o))).map((e=>({details:e,pixelDelta:za(t,e)}))),La=e=>(t,o)=>Dl(t,o).filter((o=>!(e?Ba:_a)(t,o.cells))),Wa=ua("th"),Ma=ua("td"),ja=Rl(((e,t,o,n)=>{const r=t[0].row,s=Sa(t),l=z(s,((e,t)=>({grid:Vl(e.grid,r,t.row+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ca(l,r,t[0].column)}),Ol,f,f,da),Pa=Rl(((e,t,o,n)=>{const r=Sa(t),s=r[r.length-1],l=s.row+s.rowspan,a=z(r,((e,t)=>Vl(e,l,t.row,o,n.getOrInit)),e);return Ca(a,l,t[0].column)}),Ol,f,f,da),Ia=Rl(((e,t,o,n)=>{const r=t.details,s=sa(r),l=s[0].column,a=z(s,((e,t)=>({grid:ql(e.grid,l,t.column+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ca(a,r[0].row,l)}),Aa(!0),Na,f,da),Fa=Rl(((e,t,o,n)=>{const r=t.details,s=r[r.length-1],l=s.column+s.colspan,a=sa(r),c=z(a,((e,t)=>ql(e,l,t.column,o,n.getOrInit)),e);return Ca(c,r[0].row,l)}),Aa(!1),Na,f,da),Ha=Rl(((e,t,o,n)=>{const r=sa(t.details),s=((e,t)=>j(e,(e=>{const o=e.cells,n=z(t,((e,t)=>t>=0&&t0?[tt(e.element,n,e.section,e.isNew)]:[]})))(e,E(r,(e=>e.column))),l=s.length>0?s[0].cells.length-1:0;return Ca(s,r[0].row,Math.min(r[0].column,l))}),((e,t)=>kl(e,t).map((t=>({details:t,pixelDelta:-za(e,t)})))),Na,ya,da),$a=Rl(((e,t,o,n)=>{const r=Sa(t),s=((e,t,o)=>{const{rows:n,cols:r}=qo(e);return[...r,...n.slice(0,t),...n.slice(o+1)]})(e,r[0].row,r[r.length-1].row),l=s.length>0?s.length-1:0;return Ca(s,Math.min(t[0].row,l),t[0].column)}),Ol,f,ya,da),Va=Rl(((e,t,o,n)=>{const r=sa(t),s=E(r,(e=>e.column)),l=Ql(e,s,!0,o,n.replaceOrInit);return Ca(l,t[0].row,t[0].column)}),kl,f,f,Wa),qa=Rl(((e,t,o,n)=>{const r=sa(t),s=E(r,(e=>e.column)),l=Ql(e,s,!1,o,n.replaceOrInit);return Ca(l,t[0].row,t[0].column)}),kl,f,f,Ma),Ua=Rl(Ra,kl,f,f,Wa),Ga=Rl(Da,kl,f,f,Ma),Ka=Rl(Oa,kl,f,f,Ma),Ya=Rl(((e,t,o,n)=>{const r=Xl(e,t,o,n.replaceOrInit);return Ca(r,t[0].row,t[0].column)}),kl,f,f,Wa),Ja=Rl(((e,t,o,n)=>{const r=Xl(e,t,o,n.replaceOrInit);return Ca(r,t[0].row,t[0].column)}),kl,f,f,Ma),Qa=Rl(((e,t,o,n)=>{const r=t.cells;ba(r);const s=((e,t,o,n)=>{const r=qo(e).rows;if(0===r.length)return e;for(let e=t.startRow;e<=t.finishRow;e++)for(let o=t.startCol;o<=t.finishCol;o++){const t=r[e],s=Ho(t,o).isLocked;Io(t,o,et(n(),!1,s))}return e})(e,t.bounds,0,n.merge(r));return xa(s,C.from(r[0]))}),((e,t)=>((e,t)=>t.mergable)(0,t).filter((t=>El(e,t.cells)))),Ea,f,fa),Xa=Rl(((e,t,o,n)=>{const r=z(t,((e,t)=>Nl(e,t,o,n.unmerge(t))),e);return xa(r,C.from(t[0]))}),((e,t)=>((e,t)=>t.unmergable)(0,t).filter((t=>El(e,t)))),Ea,f,fa),Za=Rl(((e,t,o,n)=>{const r=((e,t)=>{const o=Zo(e);return xl(o,t,!0)})(t.clipboard,t.generators);var s,l;return((e,t,o,n,r)=>{const s=Yo(t),l=((e,t,o)=>{const n=Vo(t[0]),r=qo(t).cols.length+e.row,s=k(n-e.column,(t=>t+e.column));return{row:r,column:L(s,(e=>P(o,(t=>t!==e)))).getOr(n-1)}})(e,t,s),a=qo(o).rows,c=Fl(l,a,s),i=((e,t,o)=>{if(e.row>=t.length||e.column>Vo(t[0]))return zl.error("invalid start address out of table bounds, row: "+e.row+", column: "+e.column);const n=t.slice(e.row),r=n[0].cells.slice(e.column),s=Vo(o[0]),l=o.length;return zl.value({rowDelta:n.length-l,colDelta:r.length-s})})(l,t,a);return i.map((e=>{const o={...e,colDelta:e.colDelta-c.length},s=Pl(t,o,n),i=Yo(s),m=Fl(l,a,i);return((e,t,o,n,r,s)=>{const l=e.row,a=e.column,c=l+o.length,i=a+Vo(o[0])+s.length,m=I(s,x);for(let e=l;exa(e,C.some(t.element))),(e=>Ca(e,t.row,t.column)))}),((e,t)=>qt(t.element).bind((o=>Sl(e,o).map((e=>({...e,generators:t.generators,clipboard:t.clipboard})))))),Ea,f,da),ec=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[0].column,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=Hl(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),La(!0),f,f,da),tc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[t.cells.length-1].column+t.cells[t.cells.length-1].colspan,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=Hl(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),La(!1),f,f,da),oc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[0].row,l=r[s],a=ka(t.clipboard,t.generators,l),c=$l(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),Dl,f,f,da),nc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[t.cells.length-1].row+t.cells[t.cells.length-1].rowspan,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=$l(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),Dl,f,f,da),rc=(e,t)=>{const o=Zo(e);return Ol(o,t).bind((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=M(E(o.all,(e=>_(e.cells,(e=>e.column>=n&&e.column{const o=Zo(e);return Ol(o,t).bind(ll).getOr("")},lc=(e,t)=>{const o=Zo(e);return Ol(o,t).bind((e=>{const t=e[e.length-1],n=e[0].row,r=t.row+t.rowspan;return(e=>{const t=E(e,(e=>sl(e).type)),o=D(t,"header"),n=D(t,"footer");if(o||n){const e=D(t,"body");return!o||e||n?o||e||!n?C.none():C.some("footer"):C.some("header")}return C.some("body")})(o.all.slice(n,r))})).getOr("")},ac=(e,t)=>e.dispatch("NewRow",{node:t}),cc=(e,t)=>e.dispatch("NewCell",{node:t}),ic=(e,t,o)=>{e.dispatch("TableModified",{...o,table:t})},mc={structure:!1,style:!0},dc={structure:!0,style:!1},uc={structure:!0,style:!0},fc=(e,t)=>Hr(e)?ur(t):$r(e)?dr(t):mr(t),gc=(e,t,o)=>{const n=e=>"table"===ne(Zr(e)),r=Wr(e),s=Ir(e)?f:Gs,l=t=>{switch(Mr(e)){case"section":return ul();case"sectionCells":return fl();case"cells":return gl();default:return((e,t)=>{var o;switch((o=Zo(e),V(o.all,(e=>{const t=sl(e);return"header"===t.type?C.from(t.subType):C.none()}))).getOr(t)){case"section":return il();case"sectionCells":return ml();case"cells":return dl()}})(t,"section")}},a=(n,s,a,c)=>(i,m,d=!1)=>{ts(i);const u=xe.fromDom(e.getDoc()),f=Br(a,u,r),g={sizing:fc(e,i),resize:Ir(e)?Zs():el(),section:l(i)};return s(i)?n(i,m,f,g).bind((n=>{t.refresh(i.dom),N(n.newRows,(t=>{ac(e,t.dom)})),N(n.newCells,(t=>{cc(e,t.dom)}));const r=((t,n)=>n.cursor.fold((()=>{const n=Ut(t);return H(n).filter(lt).map((n=>{o.clearSelectedCells(t.dom);const r=e.dom.createRng();return r.selectNode(n.dom),e.selection.setRng(r),ge(n,"data-mce-selected","1"),r}))}),(n=>{const r=qs(Us,n),s=e.dom.createRng();return s.setStart(r.element.dom,r.offset),s.setEnd(r.element.dom,r.offset),e.selection.setRng(s),o.clearSelectedCells(t.dom),C.some(s)})))(i,n);return lt(i)&&(ts(i),d||ic(e,i.dom,c)),r.map((e=>({rng:e,effect:c})))})):C.none()},c=a($a,(t=>!n(e)||tl(t).rows>1),f,dc),i=a(Ha,(t=>!n(e)||tl(t).columns>1),f,dc);return{deleteRow:c,deleteColumn:i,insertRowsBefore:a(ja,x,f,dc),insertRowsAfter:a(Pa,x,f,dc),insertColumnsBefore:a(Ia,x,s,dc),insertColumnsAfter:a(Fa,x,s,dc),mergeCells:a(Qa,x,f,dc),unmergeCells:a(Xa,x,f,dc),pasteColsBefore:a(ec,x,f,dc),pasteColsAfter:a(tc,x,f,dc),pasteRowsBefore:a(oc,x,f,dc),pasteRowsAfter:a(nc,x,f,dc),pasteCells:a(Za,x,f,uc),makeCellsHeader:a(Ya,x,f,dc),unmakeCellsHeader:a(Ja,x,f,dc),makeColumnsHeader:a(Va,x,f,dc),unmakeColumnsHeader:a(qa,x,f,dc),makeRowsHeader:a(Ua,x,f,dc),makeRowsBody:a(Ga,x,f,dc),makeRowsFooter:a(Ka,x,f,dc),getTableRowType:lc,getTableCellType:sc,getTableColType:rc}},hc=(e,t,o)=>{const n=Wt(e,t,1);1===o||n<=1?be(e,t):ge(e,t,Math.min(o,n))},pc=(e,t)=>o=>{const n=o.column+o.colspan-1,r=o.column;return n>=e&&r{const n=o.substring(0,o.length-e.length),r=parseFloat(n);return n===r.toString()?t(r):wc.invalid(o)},vc={...wc,from:e=>Rt(e,"%")?bc("%",wc.percent,e):Rt(e,"px")?bc("px",wc.pixels,e):wc.invalid(e)},yc=(e,t,o)=>{const n=vc.from(o),r=P(e,(e=>"0px"===e))?((e,t)=>{const o=e.fold((()=>g("")),(e=>g(e/t+"px")),(()=>g(100/t+"%")));return k(t,o)})(n,e.length):((e,t,o)=>e.fold((()=>t),(e=>((e,t,o)=>{const n=o/t;return E(e,(e=>vc.from(e).fold((()=>e),(e=>e*n+"px"),(e=>e/100*o+"px"))))})(t,o,e)),(e=>((e,t)=>E(e,(e=>vc.from(e).fold((()=>e),(e=>e/t*100+"%"),(e=>e+"%")))))(t,o))))(n,e,t);return Sc(r)},xc=(e,t)=>0===e.length?t:z(e,((e,t)=>vc.from(t).fold(g(0),h,h)+e),0),Cc=(e,t)=>vc.from(e).fold(g(e),(e=>e+t+"px"),(e=>e+t+"%")),Sc=e=>{if(0===e.length)return e;const t=z(e,((e,t)=>{const o=vc.from(t).fold((()=>({value:t,remainder:0})),(e=>((e,t)=>{const o=Math.floor(e);return{value:o+"px",remainder:e-o}})(e)),(e=>({value:e+"%",remainder:0})));return{output:[o.value].concat(e.output),remainder:e.remainder+o.remainder}}),{output:[],remainder:0}),o=t.output;return o.slice(0,o.length-1).concat([Cc(o[o.length-1],Math.round(t.remainder))])},Tc=vc.from,Rc=e=>Tc(e).fold(g("px"),g("px"),g("%")),Dc=(e,t,o)=>{const n=Zo(e),r=n.all,s=rn(n),l=sn(n);t.each((t=>{const o=Rc(t),r=Lo(e),a=((e,t)=>nr(e,t,er,rr))(n,e),c=yc(a,r,t);ln(n)?((e,t,o)=>{N(t,((t,n)=>{const r=xc([e[n]],Ft());Nt(t.element,"width",r+o)}))})(c,l,o):((e,t,o)=>{N(t,(t=>{const n=e.slice(t.column,t.colspan+t.column),r=xc(n,Ft());Nt(t.element,"width",r+o)}))})(c,s,o),Nt(e,"width",t)})),o.each((t=>{const o=Rc(t),l=hn(e),a=((e,t,o)=>lr(e,t,o,tr,rr))(n,e,_n);((e,t,o,n)=>{N(o,(t=>{const o=e.slice(t.row,t.rowspan+t.row),r=xc(o,Ht());Nt(t.element,"height",r+n)})),N(t,((t,o)=>{Nt(t.element,"height",e[o])}))})(yc(a,l,t),r,s,o),Nt(e,"height",t)}))},Oc=e=>Un(e).exists((e=>Mn.test(e))),kc=e=>Un(e).exists((e=>jn.test(e))),Ec=e=>Un(e).isNone(),Nc=e=>{be(e,"width")},Bc=e=>{const t=Qn(e);Dc(e,C.some(t),C.none()),Nc(e)},_c=e=>{const t=(e=>Lo(e)+"px")(e);Dc(e,C.some(t),C.none()),Nc(e)},zc=e=>{Lt(e,"width");const t=Gt(e),o=t.length>0?t:Ut(e);N(o,(e=>{Lt(e,"width"),Nc(e)})),Nc(e)},Ac={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},Lc=(e,t,o,n)=>k(e,(e=>((e,t,o,n)=>{const r=xe.fromTag("tr");for(let s=0;s{e.selection.select(t.dom,!0),e.selection.collapse(!0)},Mc=(e,t,o,n,s)=>{const l=(e=>{const t=e.options,o=t.get("table_default_styles");return t.isSet("table_default_styles")?o:((e,t)=>Vr(e)||!Ur(e)?t:$r(e)?{...t,width:Lr(e)}:{...t,width:Ar})(e,o)})(e),a={styles:l,attributes:Kr(e),colGroups:Yr(e)};return e.undoManager.ignore((()=>{const r=((e,t,o,n,r,s=Ac)=>{const l=xe.fromTag("table"),a="cells"!==r;Bt(l,s.styles),he(l,s.attributes),s.colGroups&&Ie(l,(e=>{const t=xe.fromTag("colgroup");return k(e,(()=>Ie(t,xe.fromTag("col")))),t})(t));const c=Math.min(e,o);if(a&&o>0){const e=xe.fromTag("thead");Ie(l,e);const s=Lc(o,t,"sectionCells"===r?c:0,n);$e(e,s)}const i=xe.fromTag("tbody");Ie(l,i);const m=Lc(a?e-c:e,t,a?0:o,n);return $e(i,m),l})(o,t,s,n,Mr(e),a);ge(r,"data-mce-id","__mce");const l=(e=>{const t=xe.fromTag("div"),o=xe.fromDom(e.dom.cloneNode(!0));return Ie(t,o),(e=>e.dom.innerHTML)(t)})(r);e.insertContent(l),e.addVisual()})),wt(Zr(e),'table[data-mce-id="__mce"]').map((t=>($r(e)?_c(t):Vr(e)?zc(t):(Hr(e)||(e=>r(e)&&-1!==e.indexOf("%"))(l.width))&&Bc(t),ts(t),be(t,"data-mce-id"),((e,t)=>{N(dt(t,"tr"),(t=>{ac(e,t.dom),N(dt(t,"th,td"),(t=>{cc(e,t.dom)}))}))})(e,t),((e,t)=>{wt(t,"td,th").each(w(Wc,e))})(e,t),t.dom))).getOrNull()};var jc=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const Pc="x-tinymce/dom-table-",Ic=Pc+"rows",Fc=Pc+"columns",Hc=e=>{const t=jc.FakeClipboardItem(e);jc.write([t])},$c=e=>{var t;const o=null!==(t=jc.read())&&void 0!==t?t:[];return V(o,(t=>C.from(t.getType(e))))},Vc=e=>{$c(e).isSome()&&jc.clear()},qc=e=>{e.fold(Gc,(e=>Hc({[Ic]:e})))},Uc=()=>$c(Ic),Gc=()=>Vc(Ic),Kc=e=>{e.fold(Jc,(e=>Hc({[Fc]:e})))},Yc=()=>$c(Fc),Jc=()=>Vc(Fc),Qc=e=>Ms(os(e),es(e)).filter(ss),Xc=(e,t)=>{const o=es(e),n=e=>Kt(e,o),l=t=>(e=>js(os(e),es(e)).filter(ss))(e).bind((e=>n(e).map((o=>t(o,e))))),a=t=>{e.focus()},c=(t,o=!1)=>l(((n,r)=>{const s=Ls(Ps(e),n,r);t(n,s,o).each(a)})),i=()=>l(((t,o)=>((e,t,o)=>{const n=Zo(e);return Ol(n,t).bind((e=>{const t=xl(n,o,!1),r=qo(t).rows.slice(e[0].row,e[e.length-1].row+e[e.length-1].rowspan),s=j(r,(e=>{const t=_(e.cells,(e=>!e.isLocked));return t.length>0?[{...e,cells:t}]:[]})),l=Cl(s);return xt(l.length>0,l)})).map((e=>E(e,(e=>{const t=Ke(e.element);return N(e.cells,(e=>{const o=Ye(e.element);pl(o,"colspan",e.colspan,1),pl(o,"rowspan",e.rowspan,1),Ie(t,o)})),t}))))})(t,Ls(Ps(e),t,o),Br(f,xe.fromDom(e.getDoc()),C.none())))),m=()=>l(((t,o)=>((e,t)=>{const o=Zo(e);return kl(o,t).map((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=((e,t,o)=>{if(ln(e)){const n=_(sn(e),pc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return hc(n,"span",o-t),n})),s=xe.fromTag("colgroup");return $e(s,r),[s]}return[]})(o,n,r),l=((e,t,o)=>E(e.all,(e=>{const n=_(e.cells,pc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return hc(n,"colspan",o-t),n})),s=xe.fromTag("tr");return $e(s,r),s})))(o,n,r);return[...s,...l]}))})(t,Ls(Ps(e),t,o)))),d=(t,o)=>o().each((o=>{const n=E(o,(e=>Ye(e)));l(((o,r)=>{const s=_r(xe.fromDom(e.getDoc())),l=((e,t,o,n)=>({selection:Os(e),clipboard:o,generators:n}))(Ps(e),0,n,s);t(o,l).each(a)}))})),g=e=>(t,o)=>((e,t)=>X(e,t)?C.from(e[t]):C.none())(o,"type").each((t=>{c(e(t),o.no_events)}));G({mceTableSplitCells:()=>c(t.unmergeCells),mceTableMergeCells:()=>c(t.mergeCells),mceTableInsertRowBefore:()=>c(t.insertRowsBefore),mceTableInsertRowAfter:()=>c(t.insertRowsAfter),mceTableInsertColBefore:()=>c(t.insertColumnsBefore),mceTableInsertColAfter:()=>c(t.insertColumnsAfter),mceTableDeleteCol:()=>c(t.deleteColumn),mceTableDeleteRow:()=>c(t.deleteRow),mceTableCutCol:()=>m().each((e=>{Kc(e),c(t.deleteColumn)})),mceTableCutRow:()=>i().each((e=>{qc(e),c(t.deleteRow)})),mceTableCopyCol:()=>m().each((e=>Kc(e))),mceTableCopyRow:()=>i().each((e=>qc(e))),mceTablePasteColBefore:()=>d(t.pasteColsBefore,Yc),mceTablePasteColAfter:()=>d(t.pasteColsAfter,Yc),mceTablePasteRowBefore:()=>d(t.pasteRowsBefore,Uc),mceTablePasteRowAfter:()=>d(t.pasteRowsAfter,Uc),mceTableDelete:()=>Qc(e).each((t=>{Kt(t,o).filter(b(o)).each((t=>{const o=xe.fromText("");if(je(t,o),qe(t),e.dom.isEmpty(e.getBody()))e.setContent(""),e.selection.setCursorLocation();else{const t=e.dom.createRng();t.setStart(o.dom,0),t.setEnd(o.dom,0),e.selection.setRng(t),e.nodeChanged()}}))})),mceTableCellToggleClass:(t,o)=>{l((t=>{const n=Ps(e),r=P(n,(t=>e.formatter.match("tablecellclass",{value:o},t.dom))),s=r?e.formatter.remove:e.formatter.apply;N(n,(e=>s("tablecellclass",{value:o},e.dom))),ic(e,t.dom,mc)}))},mceTableToggleClass:(t,o)=>{l((t=>{e.formatter.toggle("tableclass",{value:o},t.dom),ic(e,t.dom,mc)}))},mceTableToggleCaption:()=>{Qc(e).each((t=>{Kt(t,o).each((o=>{pt(o,"caption").fold((()=>{const t=xe.fromTag("caption");Ie(t,xe.fromText("Caption")),((e,t,o)=>{We(e,0).fold((()=>{Ie(e,t)}),(e=>{Me(e,t)}))})(o,t),e.selection.setCursorLocation(t.dom,0)}),(n=>{ue("caption")(t)&&Te("td",o).each((t=>e.selection.setCursorLocation(t.dom,0))),qe(n)})),ic(e,o.dom,dc)}))}))},mceTableSizingMode:(t,n)=>(t=>Qc(e).each((n=>{Vr(e)||$r(e)||Hr(e)||Kt(n,o).each((o=>{"relative"!==t||Oc(o)?"fixed"!==t||kc(o)?"responsive"!==t||Ec(o)||zc(o):_c(o):Bc(o),ts(o),ic(e,o.dom,dc)}))})))(n),mceTableCellType:g((e=>"th"===e?t.makeCellsHeader:t.unmakeCellsHeader)),mceTableColType:g((e=>"th"===e?t.makeColumnsHeader:t.unmakeColumnsHeader)),mceTableRowType:g((e=>{switch(e){case"header":return t.makeRowsHeader;case"footer":return t.makeRowsFooter;default:return t.makeRowsBody}}))},((t,o)=>e.addCommand(o,t))),e.addCommand("mceInsertTable",((t,o)=>{((e,t,o,n={})=>{const r=e=>u(e)&&e>0;if(r(t)&&r(o)){const r=n.headerRows||0,s=n.headerColumns||0;return Mc(e,o,t,s,r)}console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table.")})(e,o.rows,o.columns,o.options)})),e.addCommand("mceTableApplyCellStyle",((t,o)=>{const l=e=>"tablecell"+e.toLowerCase().replace("-","");if(!s(o))return;const a=_(Ps(e),ss);if(0===a.length)return;const c=((e,t)=>{const o={};return((e,t,o,n)=>{G(e,((e,r)=>{(t(e,r)?o:n)(e,r)}))})(e,t,(e=>(t,o)=>{e[o]=t})(o),f),o})(o,((t,o)=>e.formatter.has(l(o))&&r(t)));(e=>{for(const t in e)if(U.call(e,t))return!1;return!0})(c)||(G(c,((t,o)=>{const n=l(o);N(a,(o=>{""===t?e.formatter.remove(n,{value:null},o.dom,!0):e.formatter.apply(n,{value:t},o.dom)}))})),n(a[0]).each((t=>ic(e,t.dom,mc))))}))},Zc=Zl([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),ei={before:Zc.before,on:Zc.on,after:Zc.after,cata:(e,t,o,n)=>e.fold(t,o,n),getStart:e=>e.fold(h,h,h)},ti=(e,t)=>({selection:e,kill:t}),oi=(e,t)=>{const o=e.document.createRange();return o.selectNode(t.dom),o},ni=(e,t)=>{const o=e.document.createRange();return ri(o,t),o},ri=(e,t)=>e.selectNodeContents(t.dom),si=(e,t,o)=>{const n=e.document.createRange();var r;return r=n,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,o)=>{e.setEnd(t.dom,o)}),(t=>{e.setEndAfter(t.dom)}))})(n,o),n},li=(e,t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},ai=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),ci=Zl([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),ii=(e,t,o)=>t(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset),mi=(e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:g(e),rtl:C.none}),relative:(t,o)=>({ltr:eo((()=>si(e,t,o))),rtl:eo((()=>C.some(si(e,o,t))))}),exact:(t,o,n,r)=>({ltr:eo((()=>li(e,t,o,n,r))),rtl:eo((()=>C.some(li(e,n,r,t,o))))})}))(e,t);return((e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>ci.rtl(xe.fromDom(e.endContainer),e.endOffset,xe.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>ii(0,ci.ltr,o))):ii(0,ci.ltr,o)})(0,o)},di=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},rtl:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(n.dom,r),s.setEnd(t.dom,o),s}});ci.ltr,ci.rtl;const ui=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),fi=(e,t,o,n)=>({start:ei.on(e,t),finish:ei.on(o,n)}),gi=(e,t)=>{const o=di(e,t);return ui(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset)},hi=fi,pi=(e,t,o,n,r)=>Re(o,n)?C.none():xs(o,n,t).bind((t=>{const n=t.boxes.getOr([]);return n.length>1?(r(e,n,t.start,t.finish),C.some(ti(C.some(hi(o,0,o,br(o))),!0))):C.none()})),wi=(e,t)=>({item:e,mode:t}),bi=(e,t,o,n=vi)=>e.property().parent(t).map((e=>wi(e,n))),vi=(e,t,o,n=yi)=>o.sibling(e,t).map((e=>wi(e,n))),yi=(e,t,o,n=yi)=>{const r=e.property().children(t);return o.first(r).map((e=>wi(e,n)))},xi=[{current:bi,next:vi,fallback:C.none()},{current:vi,next:yi,fallback:C.some(bi)},{current:yi,next:yi,fallback:C.some(vi)}],Ci=(e,t,o,n,r=xi)=>L(r,(e=>e.current===o)).bind((o=>o.current(e,t,n,o.next).orThunk((()=>o.fallback.bind((o=>Ci(e,t,o,n))))))),Si=(e,t,o,n,r,s)=>Ci(e,t,n,r).bind((t=>s(t.item)?C.none():o(t.item)?C.some(t.item):Si(e,t.item,o,t.mode,r,s))),Ti=e=>t=>0===e.property().children(t).length,Ri=(e,t,o,n)=>Si(e,t,o,vi,{sibling:(e,t)=>e.query().prevSibling(t),first:e=>e.length>0?C.some(e[e.length-1]):C.none()},n),Di=(e,t,o,n)=>Si(e,t,o,vi,{sibling:(e,t)=>e.query().nextSibling(t),first:e=>e.length>0?C.some(e[0]):C.none()},n),Oi=hs(),ki=(e,t)=>((e,t,o)=>Ri(e,t,Ti(e),o))(Oi,e,t),Ei=(e,t)=>((e,t,o)=>Di(e,t,Ti(e),o))(Oi,e,t),Ni=Zl([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),Bi=e=>bt(e,"tr"),_i={...Ni,verify:(e,t,o,n,r,s,l)=>bt(n,"td,th",l).bind((o=>bt(t,"td,th",l).map((t=>Re(o,t)?Re(n,o)&&br(o)===r?s(t):Ni.none("in same cell"):vs(Bi,[o,t]).fold((()=>((e,t,o)=>{const n=e.getRect(t),r=e.getRect(o);return r.right>n.left&&r.lefts(t))))))).getOr(Ni.none("default")),cata:(e,t,o,n,r)=>e.fold(t,o,n,r)},zi=ue("br"),Ai=(e,t,o)=>t(e,o).bind((e=>ie(e)&&0===hr(e).trim().length?Ai(e,t,o):C.some(e))),Li=(e,t,o,n)=>((e,t)=>We(e,t).filter(zi).orThunk((()=>We(e,t-1).filter(zi))))(t,o).bind((t=>n.traverse(t).fold((()=>Ai(t,n.gather,e).map(n.relative)),(e=>(e=>Ne(e).bind((t=>{const o=Le(t);return((e,t)=>W(e,w(Re,t)))(o,e).map((n=>((e,t,o,n)=>({parent:e,children:t,element:o,index:n}))(t,o,e,n)))})))(e).map((e=>ei.on(e.parent,e.index))))))),Wi=(e,t)=>({left:e.left,top:e.top+t,right:e.right,bottom:e.bottom+t}),Mi=(e,t)=>({left:e.left,top:e.top-t,right:e.right,bottom:e.bottom-t}),ji=(e,t,o)=>({left:e.left+t,top:e.top+o,right:e.right+t,bottom:e.bottom+o}),Pi=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),Ii=(e,t)=>C.some(e.getRect(t)),Fi=(e,t,o)=>ce(t)?Ii(e,t).map(Pi):ie(t)?((e,t,o)=>o>=0&&o0?e.getRangedRect(t,o-1,t,o):C.none())(e,t,o).map(Pi):C.none(),Hi=(e,t)=>ce(t)?Ii(e,t).map(Pi):ie(t)?e.getRangedRect(t,0,t,br(t)).map(Pi):C.none(),$i=Zl([{none:[]},{retry:["caret"]}]),Vi=(e,t,o)=>gt(t,pa).fold(y,(t=>Hi(e,t).exists((e=>((e,t)=>e.leftt.right)(o,e))))),qi={point:e=>e.bottom,adjuster:(e,t,o,n,r)=>{const s=Wi(r,5);return Math.abs(o.bottom-n.bottom)<1||o.top>r.bottom?$i.retry(s):o.top===r.bottom?$i.retry(Wi(r,1)):Vi(e,t,r)?$i.retry(ji(s,5,0)):$i.none()},move:Wi,gather:Ei},Ui=(e,t,o,n,r)=>0===r?C.some(n):((e,t,o)=>e.elementFromPoint(t,o).filter((e=>"table"===ne(e))).isSome())(e,n.left,t.point(n))?((e,t,o,n,r)=>Ui(e,t,o,t.move(n,5),r))(e,t,o,n,r-1):e.situsFromPoint(n.left,t.point(n)).bind((s=>s.start.fold(C.none,(s=>Hi(e,s).bind((l=>t.adjuster(e,s,l,o,n).fold(C.none,(n=>Ui(e,t,o,n,r-1))))).orThunk((()=>C.some(n)))),C.none))),Gi=(e,t,o)=>{const n=e.move(o,5),r=Ui(t,e,o,n,100).getOr(n);return((e,t,o)=>e.point(t)>o.getInnerHeight()?C.some(e.point(t)-o.getInnerHeight()):e.point(t)<0?C.some(-e.point(t)):C.none())(e,r,t).fold((()=>t.situsFromPoint(r.left,e.point(r))),(o=>(t.scrollBy(0,o),t.situsFromPoint(r.left,e.point(r)-o))))},Ki={tryUp:w(Gi,{point:e=>e.top,adjuster:(e,t,o,n,r)=>{const s=Mi(r,5);return Math.abs(o.top-n.top)<1||o.bottome.getSelection().bind((n=>((e,t,o,n)=>{const r=zi(t)?((e,t,o)=>o.traverse(t).orThunk((()=>Ai(t,o.gather,e))).map(o.relative))(e,t,n):Li(e,t,o,n);return r.map((e=>({start:e,finish:e})))})(t,n.finish,n.foffset,o).fold((()=>C.some(Fs(n.finish,n.foffset))),(r=>{const s=e.fromSitus(r);return l=_i.verify(e,n.finish,n.foffset,s.finish,s.foffset,o.failure,t),_i.cata(l,(e=>C.none()),(()=>C.none()),(e=>C.some(Fs(e,0))),(e=>C.some(Fs(e,br(e)))));var l})))),Ji=(e,t,o,n,r,s)=>0===s?C.none():Zi(e,t,o,n,r).bind((l=>{const a=e.fromSitus(l),c=_i.verify(e,o,n,a.finish,a.foffset,r.failure,t);return _i.cata(c,(()=>C.none()),(()=>C.some(l)),(l=>Re(o,l)&&0===n?Qi(e,o,n,Mi,r):Ji(e,t,l,0,r,s-1)),(l=>Re(o,l)&&n===br(l)?Qi(e,o,n,Wi,r):Ji(e,t,l,br(l),r,s-1)))})),Qi=(e,t,o,n,r)=>Fi(e,t,o).bind((t=>Xi(e,r,n(t,Ki.getJumpSize())))),Xi=(e,t,o)=>{const n=Bo().browser;return n.isChromium()||n.isSafari()||n.isFirefox()?t.retry(e,o):C.none()},Zi=(e,t,o,n,r)=>Fi(e,o,n).bind((t=>Xi(e,r,t))),em=(e,t,o,n,r)=>bt(n,"td,th",t).bind((n=>bt(n,"table",t).bind((s=>((e,t)=>ft(e,(e=>Ne(e).exists((e=>Re(e,t)))),void 0).isSome())(r,s)?((e,t,o)=>Yi(e,t,o).bind((n=>Ji(e,t,n.element,n.offset,o,20).map(e.fromSitus))))(e,t,o).bind((e=>bt(e.finish,"td,th",t).map((t=>({start:n,finish:t,range:e}))))):C.none())))),tm=(e,t,o,n,r,s)=>s(n,t).orThunk((()=>em(e,t,o,n,r).map((e=>{const t=e.range;return ti(C.some(hi(t.start,t.soffset,t.finish,t.foffset)),!0)})))),om=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=dt(o,"tr");return Re(e,n[0])?((e,t,o)=>Ri(Oi,e,(e=>Cr(e).isSome()),o))(o,0,t).map((e=>{const t=br(e);return ti(C.some(hi(e,t,e,t)),!0)})):C.none()})))),nm=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=dt(o,"tr");return Re(e,n[n.length-1])?((e,t,o)=>Di(Oi,e,(e=>xr(e).isSome()),o))(o,0,t).map((e=>ti(C.some(hi(e,0,e,0)),!0))):C.none()})))),rm=(e,t,o,n,r,s,l)=>em(e,o,n,r,s).bind((e=>pi(t,o,e.start,e.finish,l))),sm=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},lm=()=>{const e=(e=>{const t=sm(C.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(C.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(C.some(e))}}})(f);return{...e,on:t=>e.get().each(t)}},am=(e,t)=>bt(e,"td,th",t),cm=e=>Be(e).exists(Qr),im={traverse:Ae,gather:Ei,relative:ei.before,retry:Ki.tryDown,failure:_i.failedDown},mm={traverse:ze,gather:ki,relative:ei.before,retry:Ki.tryUp,failure:_i.failedUp},dm=e=>t=>t===e,um=dm(38),fm=dm(40),gm=e=>e>=37&&e<=40,hm={isBackward:dm(37),isForward:dm(39)},pm={isBackward:dm(39),isForward:dm(37)},wm=Zl([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),bm={domRange:wm.domRange,relative:wm.relative,exact:wm.exact,exactFromRange:e=>wm.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>xe.fromDom(e.startContainer),relative:(e,t)=>ei.getStart(e),exact:(e,t,o,n)=>e}))(e);return xe.fromDom(Ee(t).dom.defaultView)},range:ui},vm=document.caretPositionFromPoint?(e,t,o)=>{var n,r;return C.from(null===(r=(n=e.dom).caretPositionFromPoint)||void 0===r?void 0:r.call(n,t,o)).bind((t=>{if(null===t.offsetNode)return C.none();const o=e.dom.createRange();return o.setStart(t.offsetNode,t.offset),o.collapse(),C.some(o)}))}:document.caretRangeFromPoint?(e,t,o)=>{var n,r;return C.from(null===(r=(n=e.dom).caretRangeFromPoint)||void 0===r?void 0:r.call(n,t,o))}:C.none,ym=(e,t)=>{const o=ne(e);return"input"===o?ei.after(e):D(["br","img"],o)?0===t?ei.before(e):ei.after(e):ei.on(e,t)},xm=e=>C.from(e.getSelection()),Cm=(e,t)=>{xm(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))},Sm=(e,t,o,n,r)=>{const s=li(e,t,o,n,r);Cm(e,s)},Tm=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{Sm(e,t,o,n,r)},rtl:(t,o,n,r)=>{xm(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,o,n.dom,r);else if(s.extend)try{((e,t,o,n,r,s)=>{t.collapse(o.dom,n),t.extend(r.dom,s)})(0,s,t,o,n,r)}catch(s){Sm(e,n,r,t,o)}else Sm(e,n,r,t,o)}))}}),Rm=(e,t,o,n,r)=>{const s=((e,t,o,n)=>{const r=ym(e,t),s=ym(o,n);return bm.relative(r,s)})(t,o,n,r);Tm(e,s)},Dm=(e,t,o)=>{const n=((e,t)=>{const o=e.fold(ei.before,ym,ei.after),n=t.fold(ei.before,ym,ei.after);return bm.relative(o,n)})(t,o);Tm(e,n)},Om=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return C.some(ui(xe.fromDom(t.startContainer),t.startOffset,xe.fromDom(o.endContainer),o.endOffset))}return C.none()},km=e=>{if(null===e.anchorNode||null===e.focusNode)return Om(e);{const t=xe.fromDom(e.anchorNode),o=xe.fromDom(e.focusNode);return((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=ke(e).dom.createRange();return r.setStart(e.dom,t),r.setEnd(o.dom,n),r})(e,t,o,n),s=Re(e,o)&&t===n;return r.collapsed&&!s})(t,e.anchorOffset,o,e.focusOffset)?C.some(ui(t,e.anchorOffset,o,e.focusOffset)):Om(e)}},Em=(e,t,o=!0)=>{const n=(o?ni:oi)(e,t);Cm(e,n)},Nm=e=>(e=>xm(e).filter((e=>e.rangeCount>0)).bind(km))(e).map((e=>bm.exact(e.start,e.soffset,e.finish,e.foffset))),Bm=e=>({elementFromPoint:(t,o)=>xe.fromPoint(xe.fromDom(e.document),t,o),getRect:e=>e.dom.getBoundingClientRect(),getRangedRect:(t,o,n,r)=>{const s=bm.exact(t,o,n,r);return((e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?C.some(o).map(ai):C.none()})(di(e,t)))(e,s)},getSelection:()=>Nm(e).map((t=>gi(e,t))),fromSitus:t=>{const o=bm.relative(t.start,t.finish);return gi(e,o)},situsFromPoint:(t,o)=>((e,t,o)=>((e,t,o)=>{const n=xe.fromDom(e.document);return vm(n,t,o).map((e=>ui(xe.fromDom(e.startContainer),e.startOffset,xe.fromDom(e.endContainer),e.endOffset)))})(e,t,o))(e,t,o).map((e=>fi(e.start,e.soffset,e.finish,e.foffset))),clearSelection:()=>{(e=>{xm(e).each((e=>e.removeAllRanges()))})(e)},collapseSelection:(t=!1)=>{Nm(e).each((o=>o.fold((e=>e.collapse(t)),((o,n)=>{const r=t?o:n;Dm(e,r,r)}),((o,n,r,s)=>{const l=t?o:r,a=t?n:s;Rm(e,l,a,l,a)}))))},setSelection:t=>{Rm(e,t.start,t.soffset,t.finish,t.foffset)},setRelativeSelection:(t,o)=>{Dm(e,t,o)},selectNode:t=>{Em(e,t,!1)},selectContents:t=>{Em(e,t)},getInnerHeight:()=>e.innerHeight,getScrollY:()=>(e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return bn(o,n)})(xe.fromDom(e.document)).top,scrollBy:(t,o)=>{((e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollBy(e,t)})(t,o,xe.fromDom(e.document))}}),_m=(e,t)=>({rows:e,cols:t}),zm=e=>gt(e,ae).exists(Qr),Am=(e,t)=>zm(e)||zm(t),Lm=e=>void 0!==e.dom.classList,Wm=(e,t)=>((e,t,o)=>{const n=((e,t)=>{const o=pe(e,t);return void 0===o||""===o?[]:o.split(" ")})(e,t).concat([o]);return ge(e,t,n.join(" ")),!0})(e,"class",t),Mm=(e,t)=>{Lm(e)?e.dom.classList.add(t):Wm(e,t)},jm=(e,t)=>Lm(e)&&e.dom.classList.contains(t),Pm=()=>({tag:"none"}),Im=e=>({tag:"multiple",elements:e}),Fm=e=>({tag:"single",element:e}),Hm=e=>{const t=xe.fromDom((e=>{if(nt()&&m(e.target)){const t=xe.fromDom(e.target);if(ce(t)&&m(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return H(t)}}return C.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),r=(s=n,l=o,(...e)=>s(l.apply(null,e)));var s,l;return((e,t,o,n,r,s,l)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:s,raw:l}))(t,e.clientX,e.clientY,o,n,r,e)},$m=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},Vm=x,qm=(e,t,o)=>((e,t,o,n)=>((e,t,o,n,r)=>{const s=((e,t)=>o=>{e(o)&&t(Hm(o))})(o,n);return e.dom.addEventListener(t,s,r),{unbind:w($m,e,t,s,r)}})(e,t,o,n,!1))(e,t,Vm,o),Um=Hm,Gm=e=>!jm(xe.fromDom(e.target),"ephox-snooker-resizer-bar"),Km=(e,t)=>{const o=(r=As.selectedSelector,{get:()=>Rs(xe.fromDom(e.getBody()),r).fold((()=>js(os(e),es(e)).fold(Pm,Fm)),Im)}),n=((e,t,o)=>{const n=t=>{be(t,e.selected),be(t,e.firstSelected),be(t,e.lastSelected)},r=t=>{ge(t,e.selected,"1")},s=e=>{l(e),o()},l=t=>{const o=dt(t,`${e.selectedSelector},${e.firstSelectedSelector},${e.lastSelectedSelector}`);N(o,n)};return{clearBeforeUpdate:l,clear:s,selectRange:(o,n,l,a)=>{s(o),N(n,r),ge(l,e.firstSelected,"1"),ge(a,e.lastSelected,"1"),t(n,l,a)},selectedSelector:e.selectedSelector,firstSelectedSelector:e.firstSelectedSelector,lastSelectedSelector:e.lastSelectedSelector}})(As,((t,o,n)=>{Kt(o).each((r=>{const s=Wr(e),l=Br(f,xe.fromDom(e.getDoc()),s),a=((e,t,o)=>{const n=Zo(e);return Ol(n,t).map((e=>{const t=xl(n,o,!1),{rows:r}=qo(t),s=((e,t)=>{const o=e.slice(0,t[t.length-1].row+1),n=Cl(o);return j(n,(e=>{const o=e.cells.slice(0,t[t.length-1].column+1);return E(o,(e=>e.element))}))})(r,e),l=((e,t)=>{const o=e.slice(t[0].row+t[0].rowspan-1,e.length),n=Cl(o);return j(n,(e=>{const o=e.cells.slice(t[0].column+t[0].colspan-1,e.cells.length);return E(o,(e=>e.element))}))})(r,e);return{upOrLeftCells:s,downOrRightCells:l}}))})(r,{selection:Ps(e)},l);((e,t,o,n,r)=>{e.dispatch("TableSelectionChange",{cells:t,start:o,finish:n,otherCells:r})})(e,t,o,n,a)}))}),(()=>(e=>{e.dispatch("TableSelectionClear")})(e)));var r;return e.on("init",(o=>{const r=e.getWin(),s=Zr(e),l=es(e),a=((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=lm(),s=r.clear,l=s=>{r.on((r=>{n.clearBeforeUpdate(t),am(s.target,o).each((l=>{xs(r,l,o).each((o=>{const r=o.boxes.getOr([]);if(1===r.length){const o=r[0],l="false"===Xr(o),a=vt(Jr(s.target),o,Re);l&&a&&(n.selectRange(t,r,o,o),e.selectContents(o))}else r.length>1&&(n.selectRange(t,r,o.start,o.finish),e.selectContents(l))}))}))}))};return{clearstate:s,mousedown:e=>{n.clear(t),am(e.target,o).filter(cm).each(r.set)},mouseover:e=>{l(e)},mouseup:e=>{l(e),s()}}})(Bm(e),t,o,n);return{clearstate:r.clearstate,mousedown:r.mousedown,mouseover:r.mouseover,mouseup:r.mouseup}})(r,s,l,n),c=((e,t,o,n)=>{const r=Bm(e),s=()=>(n.clear(t),C.none());return{keydown:(e,l,a,c,i,m)=>{const d=e.raw,u=d.which,f=!0===d.shiftKey,g=Cs(t,n.selectedSelector).fold((()=>(gm(u)&&!f&&n.clearBeforeUpdate(t),gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?w(rm,r,t,o,im,c,l,n.selectRange):um(u)&&f?w(rm,r,t,o,mm,c,l,n.selectRange):fm(u)?w(tm,r,o,im,c,l,nm):um(u)?w(tm,r,o,mm,c,l,om):C.none)),(e=>{const o=o=>()=>{const s=V(o,(o=>((e,t,o,n,r)=>Ts(n,e,t,r.firstSelectedSelector,r.lastSelectedSelector).map((e=>(r.clearBeforeUpdate(o),r.selectRange(o,e.boxes,e.start,e.finish),e.boxes))))(o.rows,o.cols,t,e,n)));return s.fold((()=>Ss(t,n.firstSelectedSelector,n.lastSelectedSelector).map((e=>{const o=fm(u)||m.isForward(u)?ei.after:ei.before;return r.setRelativeSelection(ei.on(e.first,0),o(e.table)),n.clear(t),ti(C.none(),!0)}))),(e=>C.some(ti(C.none(),!0))))};return gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?o([_m(1,0)]):um(u)&&f?o([_m(-1,0)]):m.isBackward(u)&&f?o([_m(0,-1),_m(-1,0)]):m.isForward(u)&&f?o([_m(0,1),_m(1,0)]):gm(u)&&!f?s:C.none}));return g()},keyup:(e,r,s,l,a)=>Cs(t,n.selectedSelector).fold((()=>{const c=e.raw,i=c.which;return!0===c.shiftKey&&gm(i)&&Am(r,l)?((e,t,o,n,r,s,l)=>Re(o,r)&&n===s?C.none():bt(o,"td,th",t).bind((o=>bt(r,"td,th",t).bind((n=>pi(e,t,o,n,l))))))(t,o,r,s,l,a,n.selectRange):C.none()}),C.none)}})(r,s,l,n),i=((e,t,o,n)=>{const r=Bm(e);return(e,s)=>{n.clearBeforeUpdate(t),xs(e,s,o).each((e=>{const o=e.boxes.getOr([]);n.selectRange(t,o,e.start,e.finish),r.selectContents(s),r.collapseSelection()}))}})(r,s,l,n);e.on("TableSelectorChange",(e=>i(e.start,e.finish)));const m=(t,o)=>{(e=>!0===e.raw.shiftKey)(t)&&(o.kill&&t.kill(),o.selection.each((t=>{const o=bm.relative(t.start,t.finish),n=di(r,o);e.selection.setRng(n)})))},d=e=>0===e.button,u=(()=>{const e=sm(xe.fromDom(s)),t=sm(0);return{touchEnd:o=>{const n=xe.fromDom(o.target);if(ue("td")(n)||ue("th")(n)){const r=e.get(),s=t.get();Re(r,n)&&o.timeStamp-s<300&&(o.preventDefault(),i(n,n))}e.set(n),t.set(o.timeStamp)}}})();e.on("dragstart",(e=>{a.clearstate()})),e.on("mousedown",(e=>{d(e)&&Gm(e)&&a.mousedown(Um(e))})),e.on("mouseover",(e=>{var t;void 0!==(t=e).buttons&&0==(1&t.buttons)||!Gm(e)||a.mouseover(Um(e))})),e.on("mouseup",(e=>{d(e)&&Gm(e)&&a.mouseup(Um(e))})),e.on("touchend",u.touchEnd),e.on("keyup",(t=>{const o=Um(t);if(o.raw.shiftKey&&gm(o.raw.which)){const t=e.selection.getRng(),n=xe.fromDom(t.startContainer),r=xe.fromDom(t.endContainer);c.keyup(o,n,t.startOffset,r,t.endOffset).each((e=>{m(o,e)}))}})),e.on("keydown",(o=>{const n=Um(o);t.hide();const r=e.selection.getRng(),s=xe.fromDom(r.startContainer),l=xe.fromDom(r.endContainer),a=un(hm,pm)(xe.fromDom(e.selection.getStart()));c.keydown(n,s,r.startOffset,l,r.endOffset,a).each((e=>{m(n,e)})),t.show()})),e.on("NodeChange",(()=>{const t=e.selection,o=xe.fromDom(t.getStart()),r=xe.fromDom(t.getEnd());vs(Kt,[o,r]).fold((()=>n.clear(s)),f)}))})),e.on("PreInit",(()=>{e.serializer.addTempAttr(As.firstSelected),e.serializer.addTempAttr(As.lastSelected)})),{getSelectedCells:()=>((e,t,o,n)=>{switch(e.tag){case"none":return t();case"single":return(e=>[e.dom])(e.element);case"multiple":return(e=>E(e,(e=>e.dom)))(e.elements)}})(o.get(),g([])),clearSelectedCells:e=>n.clear(xe.fromDom(e))}},Ym=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error("Event bind error: undefined handler");t.push(e)},unbind:e=>{t=_(t,(t=>t!==e))},trigger:(...o)=>{const n={};N(e,((e,t)=>{n[e]=o[t]})),N(t,(e=>{e(n)}))}}},Jm=e=>({registry:K(e,(e=>({bind:e.bind,unbind:e.unbind}))),trigger:K(e,(e=>e.trigger))}),Qm=e=>e.slice(0).sort(),Xm=(e,t)=>{const o=_(t,(t=>!D(e,t)));o.length>0&&(e=>{throw new Error("Unsupported keys for object: "+Qm(e).join(", "))})(o)},Zm=e=>((e,t)=>((e,t,o)=>{if(0===t.length)throw new Error("You must specify at least one required field.");return((e,t)=>{if(!l(t))throw new Error("The "+e+" fields must be an array. Was: "+t+".");N(t,(t=>{if(!r(t))throw new Error("The value "+t+" in the "+e+" fields was not a string.")}))})("required",t),(e=>{const t=Qm(e);L(t,((e,o)=>o{throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+t.join(", ")+"].")}))})(t),n=>{const r=q(n);P(t,(e=>D(r,e)))||((e,t)=>{throw new Error("All required keys ("+Qm(e).join(", ")+") were not specified. Specified keys were: "+Qm(t).join(", ")+".")})(t,r),e(t,r);const s=_(t,(e=>!o.validate(n[e],e)));return s.length>0&&((e,t)=>{throw new Error("All values need to be of type: "+t+". Keys ("+Qm(e).join(", ")+") were not.")})(s,o.label),n}})(e,t,{validate:d,label:"function"}))(Xm,e),ed=Zm(["compare","extract","mutate","sink"]),td=Zm(["element","start","stop","destroy"]),od=Zm(["forceDrop","drop","move","delayDrop"]),nd=()=>{const e=(()=>{const e=Jm({move:Ym(["info"])});return{onEvent:f,reset:f,events:e.registry}})(),t=(()=>{let e=C.none();const t=Jm({move:Ym(["info"])});return{onEvent:(o,n)=>{n.extract(o).each((o=>{const r=((t,o)=>{const n=e.map((e=>t.compare(e,o)));return e=C.some(o),n})(n,o);r.each((e=>{t.trigger.move(e)}))}))},reset:()=>{e=C.none()},events:t.registry}})();let o=e;return{on:()=>{o.reset(),o=t},off:()=>{o.reset(),o=e},isOn:()=>o===t,onEvent:(e,t)=>{o.onEvent(e,t)},events:t.events}},rd=e=>{const t=e.replace(/\./g,"-");return{resolve:e=>t+"-"+e}},sd=rd("ephox-dragster").resolve;var ld=ed({compare:(e,t)=>bn(t.left-e.left,t.top-e.top),extract:e=>C.some(bn(e.x,e.y)),sink:(e,t)=>{const o=(e=>{const t={layerClass:sd("blocker"),...e},o=xe.fromTag("div");return ge(o,"role","presentation"),Bt(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Mm(o,sd("blocker")),Mm(o,t.layerClass),{element:g(o),destroy:()=>{qe(o)}}})(t),n=qm(o.element(),"mousedown",e.forceDrop),r=qm(o.element(),"mouseup",e.drop),s=qm(o.element(),"mousemove",e.move),l=qm(o.element(),"mouseout",e.delayDrop);return td({element:o.element,start:e=>{Ie(e,o.element())},stop:()=>{qe(o.element())},destroy:()=>{o.destroy(),r.unbind(),s.unbind(),l.unbind(),n.unbind()}})},mutate:(e,t)=>{e.mutate(t.left,t.top)}});const ad=rd("ephox-snooker").resolve,cd=ad("resizer-bar"),id=ad("resizer-rows"),md=ad("resizer-cols"),dd=e=>{const t=dt(e.parent(),"."+cd);N(t,qe)},ud=(e,t,o)=>{const n=e.origin();N(t,(t=>{t.each((t=>{const r=o(n,t);Mm(r,cd),Ie(e.parent(),r)}))}))},fd=(e,t,o,n,r)=>{const s=yn(o),l=t.isResizable,a=n.length>0?_n.positions(n,o):[],c=a.length>0?((e,t)=>j(e.all,((e,o)=>t(e.element)?[o]:[])))(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Bt(s,{position:"absolute",left:t+"px",top:o-3.5+"px",height:"7px",width:n+"px"}),he(s,{"data-row":e,role:"presentation"}),s})(t.row,o.left-e.left,t.y-e.top,n);return Mm(r,id),r}))})(t,_(a,((e,t)=>O(c,(e=>t===e)))),s,Wo(o));const i=r.length>0?An.positions(r,o):[],m=i.length>0?((e,t)=>{const o=[];return k(e.grid.columns,(n=>{an(e,n).map((e=>e.element)).forall(t)&&o.push(n)})),_(o,(o=>{const n=nn(e,(e=>e.column===o));return P(n,(e=>t(e.element)))}))})(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Bt(s,{position:"absolute",left:t-3.5+"px",top:o+"px",height:r+"px",width:"7px"}),he(s,{"data-column":e,role:"presentation"}),s})(t.col,t.x-e.left,o.top-e.top,0,n);return Mm(r,md),r}))})(t,_(i,((e,t)=>O(m,(e=>t===e)))),s,pn(o))},gd=(e,t)=>{if(dd(e),e.isResizable(t)){const o=Zo(t),n=dn(o),r=cn(o);fd(o,e,t,n,r)}},hd=(e,t)=>{const o=dt(e.parent(),"."+cd);N(o,t)},pd=e=>{hd(e,(e=>{Nt(e,"display","none")}))},wd=e=>{hd(e,(e=>{Nt(e,"display","block")}))},bd=ad("resizer-bar-dragging"),vd=e=>{const t=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta","target"])});let t=C.none();const o=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta"])});return{mutate:(t,o)=>{e.trigger.drag(t,o)},events:e.registry}})();return o.events.drag.bind((o=>{t.each((t=>{e.trigger.drag(o.xDelta,o.yDelta,t)}))})),{assign:e=>{t=C.some(e)},get:()=>t,mutate:o.mutate,events:e.registry}})(),o=((e,t={})=>{var o;return((e,t,o)=>{let n=!1;const r=Jm({start:Ym([]),stop:Ym([])}),s=nd(),l=()=>{m.stop(),s.isOn()&&(s.off(),r.trigger.stop())},c=((e,t)=>{let o=null;const n=()=>{a(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...t)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,t)}),200)}}})(l);s.events.move.bind((o=>{t.mutate(e,o.info)}));const i=e=>(...t)=>{n&&e.apply(null,t)},m=t.sink(od({forceDrop:l,drop:i(l),move:i((e=>{c.cancel(),s.onEvent(e,t)})),delayDrop:i(c.throttle)}),o);return{element:m.element,go:e=>{m.start(e),s.on(),r.trigger.start()},on:()=>{n=!0},off:()=>{n=!1},isActive:()=>n,destroy:()=>{m.destroy()},events:r.registry}})(e,null!==(o=t.mode)&&void 0!==o?o:ld,t)})(t,{});let n=C.none();const r=(e,t)=>C.from(pe(e,t));t.events.drag.bind((e=>{r(e.target,"data-row").each((t=>{const o=It(e.target,"top");Nt(e.target,"top",o+e.yDelta+"px")})),r(e.target,"data-column").each((t=>{const o=It(e.target,"left");Nt(e.target,"left",o+e.xDelta+"px")}))}));const s=(e,t)=>It(e,t)-Wt(e,"data-initial-"+t,0);o.events.stop.bind((()=>{t.get().each((t=>{n.each((o=>{r(t,"data-row").each((e=>{const n=s(t,"top");be(t,"data-initial-top"),d.trigger.adjustHeight(o,n,parseInt(e,10))})),r(t,"data-column").each((e=>{const n=s(t,"left");be(t,"data-initial-left"),d.trigger.adjustWidth(o,n,parseInt(e,10))})),gd(e,o)}))}))}));const l=(n,r)=>{d.trigger.startAdjust(),t.assign(n),ge(n,"data-initial-"+r,It(n,r)),Mm(n,bd),Nt(n,"opacity","0.2"),o.go(e.parent())},c=qm(e.parent(),"mousedown",(e=>{var t;t=e.target,jm(t,id)&&l(e.target,"top"),(e=>jm(e,md))(e.target)&&l(e.target,"left")})),i=t=>Re(t,e.view()),m=qm(e.view(),"mouseover",(t=>{var r;(r=t.target,bt(r,"table",i).filter(Qr)).fold((()=>{lt(t.target)&&dd(e)}),(t=>{o.isActive()&&(n=C.some(t),gd(e,t))}))})),d=Jm({adjustHeight:Ym(["table","delta","row"]),adjustWidth:Ym(["table","delta","column"]),startAdjust:Ym([])});return{destroy:()=>{c.unbind(),m.unbind(),o.destroy(),dd(e)},refresh:t=>{gd(e,t)},on:o.on,off:o.off,hideBars:w(pd,e),showBars:w(wd,e),events:d.registry}},yd=(e,t,o)=>{const n=_n,r=An,s=vd(e),l=Jm({beforeResize:Ym(["table","type"]),afterResize:Ym(["table","type"]),startDrag:Ym([])});return s.events.adjustHeight.bind((e=>{const t=e.table;l.trigger.beforeResize(t,"row");((e,t,o,n)=>{const r=Zo(e),s=((e,t,o)=>lr(e,t,o,Yn,(e=>e.getOrThunk(Ht))))(r,e,n),l=E(s,((e,n)=>o===n?Math.max(t+e,Ht()):e)),a=oa(r,l),c=((e,t)=>E(e.all,((e,o)=>({element:e.element,height:t[o]}))))(r,l);N(c,(e=>{$n(e.element,e.height)})),N(a,(e=>{$n(e.element,e.height)}));const i=z(l,((e,t)=>e+t),0);$n(e,i)})(t,n.delta(e.delta,t),e.row,n),l.trigger.afterResize(t,"row")})),s.events.startAdjust.bind((e=>{l.trigger.startDrag()})),s.events.adjustWidth.bind((e=>{const n=e.table;l.trigger.beforeResize(n,"col");const s=r.delta(e.delta,n),a=o(n);ra(n,s,e.column,t,a),l.trigger.afterResize(n,"col")})),{on:s.on,off:s.off,refreshBars:s.refresh,hideBars:s.hideBars,showBars:s.showBars,destroy:s.destroy,events:l.registry}},xd=e=>m(e)&&"TABLE"===e.nodeName,Cd="bar-",Sd=e=>"false"!==pe(e,"data-mce-resize"),Td=e=>{const t=lm(),o=lm(),n=lm();let r,s;const l=t=>fc(e,t),a=()=>Pr(e)?el():Zs();return e.on("init",(()=>{const r=((e,t)=>e.inline?((e,t,o)=>({parent:g(t),view:g(e),origin:g(bn(0,0)),isResizable:o}))(xe.fromDom(e.getBody()),(()=>{const e=xe.fromTag("div");return Bt(e,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),Ie(at(xe.fromDom(document)),e),e})(),t):((e,t)=>{const o=me(e)?(e=>xe.fromDom(Ee(e).dom.documentElement))(e):e;return{parent:g(o),view:g(e),origin:g(bn(0,0)),isResizable:t}})(xe.fromDom(e.getDoc()),t))(e,Sd);if(n.set(r),(e=>{const t=e.options.get("object_resizing");return D(t.split(","),"table")})(e)&&qr(e)){const n=a(),s=yd(r,n,l);s.on(),s.events.startDrag.bind((o=>{t.set(e.selection.getRng())})),s.events.beforeResize.bind((t=>{const o=t.table.dom;((e,t,o,n,r)=>{e.dispatch("ObjectResizeStart",{target:t,width:o,height:n,origin:r})})(e,o,ns(o),rs(o),Cd+t.type)})),s.events.afterResize.bind((o=>{const n=o.table,r=n.dom;ts(n),t.on((t=>{e.selection.setRng(t),e.focus()})),((e,t,o,n,r)=>{e.dispatch("ObjectResized",{target:t,width:o,height:n,origin:r})})(e,r,ns(r),rs(r),Cd+o.type),e.undoManager.add()})),o.set(s)}})),e.on("ObjectResizeStart",(t=>{const o=t.target;if(xd(o)){const n=xe.fromDom(o);N(e.dom.select(".mce-clonedresizable"),(t=>{e.dom.addClass(t,"mce-"+jr(e)+"-columns")})),!kc(n)&&$r(e)?_c(n):!Oc(n)&&Hr(e)&&Bc(n),Ec(n)&&Tt(t.origin,Cd)&&Bc(n),r=t.width,s=Vr(e)?"":((e,t)=>{const o=e.dom.getStyle(t,"width")||e.dom.getAttrib(t,"width");return C.from(o).filter(Ot)})(e,o).getOr("")}})),e.on("ObjectResized",(t=>{const o=t.target;if(xd(o)){const n=xe.fromDom(o),c=t.origin;Tt(c,"corner-")&&((t,o,n)=>{const c=Rt(o,"e");if(""===s&&Bc(t),n!==r&&""!==s){Nt(t,"width",s);const o=a(),i=l(t),m=Pr(e)||c?(e=>tl(e).columns)(t)-1:0;ra(t,n-r,m,o,i)}else if((e=>/^(\d+(\.\d+)?)%$/.test(e))(s)){const e=parseFloat(s.replace("%",""));Nt(t,"width",n*e/r+"%")}(e=>/^(\d+(\.\d+)?)px$/.test(e))(s)&&(e=>{const t=Zo(e);ln(t)||N(Ut(e),(e=>{const t=_t(e,"width");Nt(e,"width",t),be(e,"width")}))})(t)})(n,c,t.width),ts(n),ic(e,n.dom,mc)}})),e.on("SwitchMode",(()=>{o.on((t=>{e.mode.isReadOnly()?t.hideBars():t.showBars()}))})),e.on("dragstart dragend",(e=>{o.on((t=>{"dragstart"===e.type?(t.hideBars(),t.off()):(t.on(),t.showBars())}))})),e.on("remove",(()=>{o.on((e=>{e.destroy()})),n.on((t=>{((e,t)=>{e.inline&&qe(t.parent())})(e,t)}))})),{refresh:e=>{o.on((t=>t.refreshBars(xe.fromDom(e))))},hide:()=>{o.on((e=>e.hideBars()))},show:()=>{o.on((e=>e.showBars()))}}},Rd=e=>{(e=>{const t=e.options.register;t("table_clone_elements",{processor:"string[]"}),t("table_use_colgroups",{processor:"boolean",default:!0}),t("table_header_type",{processor:e=>{const t=D(["section","cells","sectionCells","auto"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),t("table_sizing_mode",{processor:"string",default:"auto"}),t("table_default_attributes",{processor:"object",default:{border:"1"}}),t("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),t("table_column_resizing",{processor:e=>{const t=D(["preservetable","resizetable"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),t("table_resize_bars",{processor:"boolean",default:!0}),t("table_style_by_css",{processor:"boolean",default:!0}),t("table_merge_content_on_paste",{processor:"boolean",default:!0})})(e);const t=Td(e),o=Km(e,t),n=gc(e,t,o);return Xc(e,n),((e,t)=>{const o=es(e),n=t=>js(os(e)).bind((n=>Kt(n,o).map((o=>{const r=Ls(Ps(e),o,n);return t(o,r)})))).getOr("");G({mceTableRowType:()=>n(t.getTableRowType),mceTableCellType:()=>n(t.getTableCellType),mceTableColType:()=>n(t.getTableColType)},((t,o)=>e.addQueryValueHandler(o,t)))})(e,n),Is(e,n),{getSelectedCells:o.getSelectedCells,clearSelectedCells:o.clearSelectedCells}};e.add("dom",(e=>({table:Rd(e)})))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/plugin.js index 1021c2e6..3868ca7e 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/plugin.min.js index 08ecb900..c1795bf9 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/accordion/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/accordion/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");let t=0;const o=e=>t=>typeof t===e,n=e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var o,n,r,s})(e),r=o("boolean"),s=e=>null==e,a=e=>!s(e),i=o("function"),d=o("number"),l=e=>()=>e,c=(e,t)=>e===t,m=l(!1);class u{constructor(e,t){this.tag=e,this.value=t}static some(e){return new u(!0,e)}static none(){return u.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?u.some(e(this.value)):u.none()}bind(e){return this.tag?e(this.value):u.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:u.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return a(e)?u.some(e):u.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}u.singletonNone=new u(!1);const g=Array.prototype.indexOf,p=(e,t)=>{return o=e,n=t,g.call(o,n)>-1;var o,n},h=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;oe.dom.nodeName.toLowerCase(),w=e=>e.dom.nodeType,b=e=>t=>w(t)===e,N=b(1),T=b(3),A=b(9),C=b(11),S=(e,t,o)=>{if(!(n(o)||r(o)||d(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},x=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},E=(e,t)=>u.from(x(e,t)),D=(e,t)=>{e.dom.removeAttribute(t)},M=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},P={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return M(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return M(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return M(o)},fromDom:M,fromPoint:(e,t,o)=>u.from(e.dom.elementFromPoint(t,o)).map(M)},O=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},k=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,B=O,R=(L=/^\s+|\s+$/g,e=>e.replace(L,""));var L;const $=e=>void 0!==e.style&&i(e.style.getPropertyValue),I=e=>A(e)?e:P.fromDom(e.dom.ownerDocument),V=e=>u.from(e.dom.parentNode).map(P.fromDom),j=e=>u.from(e.dom.nextSibling).map(P.fromDom),q=e=>h(e.dom.childNodes,P.fromDom),F=i(Element.prototype.attachShadow)&&i(Node.prototype.getRootNode)?e=>P.fromDom(e.dom.getRootNode()):I,H=e=>P.fromDom(e.dom.host),z=e=>{const t=T(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=F(e);return C(o=t)&&a(o.dom.host)?u.some(t):u.none();var o})(P.fromDom(t)).fold((()=>o.body.contains(t)),(n=z,r=H,e=>n(r(e))));var n,r},K=(e,t)=>$(e)?e.style.getPropertyValue(t):"",U=(e,t)=>{V(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},Y=(e,t)=>{j(e).fold((()=>{V(e).each((e=>{_(e,t)}))}),(e=>{U(e,t)}))},_=(e,t)=>{e.dom.appendChild(t.dom)},G=(e,t)=>{f(t,((o,n)=>{const r=0===n?e:t[n-1];Y(r,o)}))},J=(e,t)=>{let o=[];return f(q(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(J(e,t))})),o},Q=(e,t,o)=>{let n=e.dom;const r=i(o)?o:m;for(;n.parentNode;){n=n.parentNode;const e=P.fromDom(n);if(t(e))return u.some(e);if(r(e))break}return u.none()},W=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},X=(e,t,o)=>Q(e,(e=>O(e,t)),o),Z=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return k(o)?u.none():u.from(o.querySelector(e)).map(P.fromDom)})(t,e),ee=((e,t)=>{const o=t=>e(t)?u.from(t.dom.nodeValue):u.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(T);var te=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"];const oe=(e,t)=>({element:e,offset:t}),ne=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>ne(e,t,o).orThunk((()=>u.some(t))))):u.none(),re=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,se=(e,t)=>{const o=ne(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return oe(o,re(e,o));const n=e.property().children(o);return n.length>0?se(e,n[n.length-1]):oe(o,re(e,o))},ae=se,ie={up:l({selector:X,closest:(e,t,o)=>((e,t,o,n,r)=>((e,t)=>O(e,t))(o,n)?u.some(o):i(r)&&r(o)?u.none():t(o,n,r))(0,X,e,t,o),predicate:Q,all:(e,t)=>{const o=i(t)?t:m;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=P.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r}}),down:l({selector:(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return k(o)?[]:h(o.querySelectorAll(e),P.fromDom)})(t,e),predicate:J}),styles:l({get:(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||z(e)?n:K(o,t)},getRaw:(e,t)=>{const o=e.dom,n=K(o,t);return u.from(n).filter((e=>e.length>0))},set:(e,t,o)=>{((e,t,o)=>{if(!n(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);$(e)&&e.style.setProperty(t,o)})(e.dom,t,o)},remove:(e,t)=>{((e,t)=>{$(e)&&e.style.removeProperty(t)})(e.dom,t),((e,t,o=c)=>e.exists((e=>o(e,t))))(E(e,"style").map(R),"")&&D(e,"style")}}),attrs:l({get:x,set:(e,t,o)=>{S(e.dom,t,o)},remove:D,copyTo:(e,t)=>{const o=(n=e.dom.attributes,r=(e,t)=>(e[t.name]=t.value,e),s={},f(n,((e,t)=>{s=r(s,e)})),s);var n,r,s;((e,t)=>{const o=e.dom;((e,t)=>{const o=y(e);for(let n=0,r=o.length;n{S(o,t,e)}))})(t,o)}}),insert:l({before:U,after:Y,afterAll:G,append:_,appendAll:(e,t)=>{f(t,(t=>{_(e,t)}))},prepend:(e,t)=>{(e=>((e,t)=>{const o=e.dom.childNodes;return u.from(o[0]).map(P.fromDom)})(e))(e).fold((()=>{_(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},wrap:(e,t)=>{U(e,t),_(t,e)}}),remove:l({unwrap:e=>{const t=q(e);t.length>0&&G(e,t),W(e)},remove:W}),create:l({nu:P.fromTag,clone:e=>P.fromDom(e.dom.cloneNode(!1)),text:P.fromText}),query:l({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:e=>u.from(e.dom.previousSibling).map(P.fromDom),nextSibling:j}),property:l({children:q,name:v,parent:V,document:e=>I(e).dom,isText:T,isComment:e=>8===w(e)||"#comment"===v(e),isElement:N,isSpecial:e=>{const t=v(e);return p(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>N(e)?E(e,"lang"):u.none(),getText:e=>ee.get(e),setText:(e,t)=>ee.set(e,t),isBoundary:e=>!!N(e)&&("body"===v(e)||p(te,v(e))),isEmptyTag:e=>!!N(e)&&p(["br","img","hr","input"],v(e)),isNonEditable:e=>N(e)&&"false"===x(e,"contenteditable")}),eq:(e,t)=>e.dom===t.dom,is:B},de="details",le="mce-accordion",ce="mce-accordion-summary",me="mce-accordion-body",ue="div";var ge=tinymce.util.Tools.resolve("tinymce.util.Tools");const pe=e=>"SUMMARY"===(null==e?void 0:e.nodeName),he=e=>"DETAILS"===(null==e?void 0:e.nodeName),fe=e=>e.hasAttribute("open"),ye=e=>{const t=e.selection.getNode();return pe(t)||Boolean(e.dom.getParent(t,pe))},ve=e=>!ye(e)&&e.dom.isEditable(e.selection.getNode()),we=e=>u.from(e.dom.getParent(e.selection.getNode(),he)),be=e=>(e.innerHTML='
    ',e),Ne=e=>be(e.dom.create("p")),Te=e=>t=>{((e,t)=>{if(pe(null==t?void 0:t.lastChild)){const o=Ne(e);t.appendChild(o),e.selection.setCursorLocation(o,0)}})(e,t),((e,t)=>{if(!pe(null==t?void 0:t.firstChild)){const o=(e=>be(e.dom.create("summary")))(e);t.prepend(o),e.selection.setCursorLocation(o,0)}})(e,t)},Ae=(e,t)=>{const o=null!=t?t:!fe(e);return o?e.setAttribute("open","open"):e.removeAttribute("open"),o},Ce=e=>{e.addCommand("InsertAccordion",(()=>(e=>{if(!ve(e))return;const o=P.fromDom(e.getBody()),n=(e=>{const o=(new Date).getTime(),n=Math.floor(1e9*Math.random());return t++,"acc_"+n+t+String(o)})(),r=e.dom.encode(e.selection.getRng().toString()||e.translate("Accordion summary...")),s=e.dom.encode(e.translate("Accordion body...")),a=`${r}`,i=`<${ue} class="${me}">

    ${s}

    `;e.undoManager.transact((()=>{e.insertContent([`
    `,a,i,"
    "].join("")),Z(o,`[data-mce-id="${n}"]`).each((t=>{D(t,"data-mce-id"),Z(t,"summary").each((t=>{const o=e.dom.createRng(),n=ae(ie,t);o.setStart(n.element.dom,n.offset),o.setEnd(n.element.dom,n.offset),e.selection.setRng(o)}))}))}))})(e))),e.addCommand("ToggleAccordion",((t,o)=>((e,t)=>{we(e).each((o=>{((e,t,o)=>{e.dispatch("ToggledAccordion",{element:t,state:o})})(e,o,Ae(o,t))}))})(e,o))),e.addCommand("ToggleAllAccordions",((t,o)=>((e,t)=>{const o=Array.from(e.getBody().querySelectorAll("details"));0!==o.length&&(f(o,(e=>Ae(e,null!=t?t:!fe(e)))),((e,t,o)=>{e.dispatch("ToggledAllAccordions",{elements:t,state:o})})(e,o,t))})(e,o))),e.addCommand("RemoveAccordion",(()=>(e=>{we(e).each((t=>{const{nextSibling:o}=t;o?(e.selection.select(o,!0),e.selection.collapse(!0)):((e,t)=>{const o=Ne(e);t.insertAdjacentElement("afterend",o),e.selection.setCursorLocation(o,0)})(e,t),t.remove()}))})(e)))};var Se=tinymce.util.Tools.resolve("tinymce.html.Node");const xe=e=>{var t,o;return null!==(o=null===(t=e.attr("class"))||void 0===t?void 0:t.split(" "))&&void 0!==o?o:[]},Ee=(e,t)=>{const o=new Set([...xe(e),...t]),n=Array.from(o);n.length>0&&e.attr("class",n.join(" "))},De=(e,t)=>{const o=((e,o)=>{const n=[];for(let o=0,s=e.length;o0?o.join(" "):null)},Me=e=>e.name===de&&p(xe(e),le),Pe=e=>{const t=e.children();let o,n;const r=[];for(let e=0;e{const t=new Se("br",1);t.attr("data-mce-bogus","1"),e.empty(),e.append(t)};var ke=tinymce.util.Tools.resolve("tinymce.util.VK");const Be=e=>{(e=>{e.on("keydown",(t=>{(!t.shiftKey&&t.keyCode===ke.ENTER&&ye(e)||(e=>{const t=e.selection.getRng();return he(t.startContainer)&&t.collapsed&&0===t.startOffset})(e))&&(t.preventDefault(),e.execCommand("ToggleAccordion"))}))})(e),e.on("ExecCommand",(t=>{const o=t.command.toLowerCase();"delete"!==o&&"forwarddelete"!==o||!(e=>we(e).isSome())(e)||(e=>{ge.each(ge.grep(e.dom.select("details",e.getBody())),Te(e))})(e)}))};var Re=tinymce.util.Tools.resolve("tinymce.Env");const Le=e=>t=>{const o=()=>t.setEnabled(ve(e));return e.on("NodeChange",o),()=>e.off("NodeChange",o)};e.add("accordion",(e=>{(e=>{const t=()=>e.execCommand("InsertAccordion");e.ui.registry.addButton("accordion",{icon:"accordion",tooltip:"Insert accordion",onSetup:Le(e),onAction:t}),e.ui.registry.addMenuItem("accordion",{icon:"accordion",text:"Accordion",onSetup:Le(e),onAction:t}),e.ui.registry.addToggleButton("accordiontoggle",{icon:"accordion-toggle",tooltip:"Toggle accordion",onAction:()=>e.execCommand("ToggleAccordion")}),e.ui.registry.addToggleButton("accordionremove",{icon:"remove",tooltip:"Delete accordion",onAction:()=>e.execCommand("RemoveAccordion")}),e.ui.registry.addContextToolbar("accordion",{predicate:t=>e.dom.is(t,"details")&&e.getBody().contains(t)&&e.dom.isEditable(t.parentNode),items:"accordiontoggle accordionremove",scope:"node",position:"node"})})(e),Ce(e),Be(e),(e=>{e.on("PreInit",(()=>{const{serializer:t,parser:o}=e;o.addNodeFilter(de,(e=>{for(let t=0;t0)for(let e=0;e{const t=new Set([ce]);for(let o=0;o{Re.browser.isSafari()&&e.on("click",(t=>{if(pe(t.target)){const o=t.target,n=e.selection.getRng();n.collapsed&&n.startContainer===o.parentNode&&0===n.startOffset&&e.selection.setCursorLocation(o,0)}}))})(e)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/plugin.js index de53fa97..e5a1bae6 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/plugin.min.js index bbf75582..bd3bae0a 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/advlist/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/advlist/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=(t,e,s)=>{const r="UL"===e?"InsertUnorderedList":"InsertOrderedList";t.execCommand(r,!1,!1===s?null:{"list-style-type":s})},s=t=>e=>e.options.get(t),r=s("advlist_number_styles"),n=s("advlist_bullet_styles"),i=t=>null==t,l=t=>!i(t);var o=tinymce.util.Tools.resolve("tinymce.util.Tools");class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return l(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=t=>e=>l(e)&&t.test(e.nodeName),d=u(/^(OL|UL|DL)$/),g=u(/^(TH|TD)$/),c=t=>i(t)||"default"===t?"":t,h=(t,e)=>s=>((t,e)=>{const s=t.selection.getNode();return e({parents:t.dom.getParents(s),element:s}),t.on("NodeChange",e),()=>t.off("NodeChange",e)})(t,(r=>((t,r)=>{const n=t.selection.getStart(!0);s.setActive(((t,e,s)=>((t,e,s)=>{for(let e=0,n=t.length;ee.nodeName===s&&((t,e)=>t.dom.isChildOf(e,t.getBody()))(t,e))))(t,r,e)),s.setEnabled(!((t,e)=>{const s=t.dom.getParent(e,"ol,ul,dl");return((t,e)=>null!==e&&!t.dom.isEditable(e))(t,s)&&t.selection.isEditable()})(t,n)&&t.selection.isEditable())})(t,r.parents))),m=(t,s,r,n,i,l)=>{l.length>1?((t,s,r,n,i,l)=>{t.ui.registry.addSplitButton(s,{tooltip:r,icon:"OL"===i?"ordered-list":"unordered-list",presets:"listpreview",columns:3,fetch:t=>{t(o.map(l,(t=>{const e="OL"===i?"num":"bull",s="disc"===t||"decimal"===t?"default":t,r=c(t),n=(t=>t.replace(/\-/g," ").replace(/\b\w/g,(t=>t.toUpperCase())))(t);return{type:"choiceitem",value:r,icon:"list-"+e+"-"+s,text:n}})))},onAction:()=>t.execCommand(n),onItemAction:(s,r)=>{e(t,i,r)},select:e=>{const s=(t=>{const e=t.dom.getParent(t.selection.getNode(),"ol,ul"),s=t.dom.getStyle(e,"listStyleType");return a.from(s)})(t);return s.map((t=>e===t)).getOr(!1)},onSetup:h(t,i)})})(t,s,r,n,i,l):((t,s,r,n,i,l)=>{t.ui.registry.addToggleButton(s,{active:!1,tooltip:r,icon:"OL"===i?"ordered-list":"unordered-list",onSetup:h(t,i),onAction:()=>t.queryCommandState(n)||""===l?t.execCommand(n):e(t,i,l)})})(t,s,r,n,i,c(l[0]))};t.add("advlist",(t=>{t.hasPlugin("lists")?((t=>{const e=t.options.register;e("advlist_number_styles",{processor:"string[]",default:"default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman".split(",")}),e("advlist_bullet_styles",{processor:"string[]",default:"default,circle,square".split(",")})})(t),(t=>{m(t,"numlist","Numbered list","InsertOrderedList","OL",r(t)),m(t,"bullist","Bullet list","InsertUnorderedList","UL",n(t))})(t),(t=>{t.addCommand("ApplyUnorderedListStyle",((s,r)=>{e(t,"UL",r["list-style-type"])})),t.addCommand("ApplyOrderedListStyle",((s,r)=>{e(t,"OL",r["list-style-type"])}))})(t)):console.error("Please use the Lists plugin together with the Advanced List plugin.")}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/plugin.js index c3a093f0..7ea8f269 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/plugin.min.js similarity index 98% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/plugin.min.js index 7b414f63..ebb2c72f 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/anchor/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/anchor/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=("allow_html_in_named_anchor",e=>e.options.get("allow_html_in_named_anchor"));const a="a:not([href])",r=e=>!e,i=e=>e.getAttribute("id")||e.getAttribute("name")||"",l=e=>(e=>"a"===e.nodeName.toLowerCase())(e)&&!e.getAttribute("href")&&""!==i(e),s=e=>e.dom.getParent(e.selection.getStart(),a),d=(e,a)=>{const r=s(e);r?((e,t,o)=>{o.removeAttribute("name"),o.id=t,e.addVisual(),e.undoManager.add()})(e,a,r):((e,a)=>{e.undoManager.transact((()=>{n(e)||e.selection.collapse(!0),e.selection.isCollapsed()?e.insertContent(e.dom.createHTML("a",{id:a})):((e=>{const n=e.dom;t(n).walk(e.selection.getRng(),(e=>{o.each(e,(e=>{var t;l(t=e)&&!t.firstChild&&n.remove(e,!1)}))}))})(e),e.formatter.remove("namedAnchor",void 0,void 0,!0),e.formatter.apply("namedAnchor",{value:a}),e.addVisual())}))})(e,a),e.focus()},c=e=>(e=>r(e.attr("href"))&&!r(e.attr("id")||e.attr("name")))(e)&&!e.firstChild,m=e=>t=>{for(let o=0;ot=>{const o=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",o),o(),()=>{e.off("NodeChange",o)}};e.add("anchor",(e=>{(e=>{(0,e.options.register)("allow_html_in_named_anchor",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreInit",(()=>{e.parser.addNodeFilter("a",m("false")),e.serializer.addNodeFilter("a",m(null))}))})(e),(e=>{e.addCommand("mceAnchor",(()=>{(e=>{const t=(e=>{const t=s(e);return t?i(t):""})(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:t=>{((e,t)=>/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)?(d(e,t),!0):(e.windowManager.alert("ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!1))(e,t.getData().id)&&t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceAnchor");e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:t,onSetup:t=>{const o=e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind,n=u(e)(t);return()=>{o(),n()}}}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:t,onSetup:u(e)})})(e),e.on("PreInit",(()=>{(e=>{e.formatter.register("namedAnchor",{inline:"a",selector:a,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:(e,t,o)=>l(e)})})(e)}))}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/plugin.js index c84d9697..b1adc941 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/plugin.min.js index 9a276bc4..2d5140a7 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autolink/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autolink/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),n=t("autolink_pattern"),o=t("link_default_target"),r=t("link_default_protocol"),a=t("allow_unsafe_link_target"),s=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(a=o.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var n,o,r,a})(e));const l=(void 0,e=>undefined===e);const i=e=>!(e=>null==e)(e),c=Object.hasOwnProperty,d=e=>"\ufeff"===e;var u=tinymce.util.Tools.resolve("tinymce.dom.TextSeeker");const f=e=>/^[(\[{ \u00a0]$/.test(e),g=(e,t,n)=>{for(let o=t-1;o>=0;o--){const t=e.charAt(o);if(!d(t)&&n(t))return o}return-1},m=(e,t)=>{var o;const a=e.schema.getVoidElements(),s=n(e),{dom:i,selection:d}=e;if(null!==i.getParent(d.getNode(),"a[href]"))return null;const m=d.getRng(),k=u(i,(e=>{return i.isBlock(e)||(t=a,n=e.nodeName.toLowerCase(),c.call(t,n))||"false"===i.getContentEditable(e);var t,n})),{container:p,offset:y}=((e,t)=>{let n=e,o=t;for(;1===n.nodeType&&n.childNodes[o];)n=n.childNodes[o],o=3===n.nodeType?n.data.length:n.childNodes.length;return{container:n,offset:o}})(m.endContainer,m.endOffset),w=null!==(o=i.getParent(p,i.isBlock))&&void 0!==o?o:i.getRoot(),h=k.backwards(p,y+t,((e,t)=>{const n=e.data,o=g(n,t,(r=f,e=>!r(e)));var r,a;return-1===o||(a=n[o],/[?!,.;:]/.test(a))?o:o+1}),w);if(!h)return null;let v=h.container;const _=k.backwards(h.container,h.offset,((e,t)=>{v=e;const n=g(e.data,t,f);return-1===n?n:n+1}),w),A=i.createRng();_?A.setStart(_.container,_.offset):A.setStart(v,0),A.setEnd(h.container,h.offset);const C=A.toString().replace(/\uFEFF/g,"").match(s);if(C){let t=C[0];return $="www.",(b=t).length>=4&&b.substr(0,4)===$?t=r(e)+"://"+t:((e,t,n=0,o)=>{const r=e.indexOf(t,n);return-1!==r&&(!!l(o)||r+t.length<=o)})(t,"@")&&!(e=>/^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(e))(t)&&(t="mailto:"+t),{rng:A,url:t}}var b,$;return null},k=(e,t)=>{const{dom:n,selection:r}=e,{rng:l,url:i}=t,c=r.getBookmark();r.setRng(l);const d="createlink",u={command:d,ui:!1,value:i};if(!e.dispatch("BeforeExecCommand",u).isDefaultPrevented()){e.getDoc().execCommand(d,!1,i),e.dispatch("ExecCommand",u);const t=o(e);if(s(t)){const o=r.getNode();n.setAttrib(o,"target",t),"_blank"!==t||a(e)||n.setAttrib(o,"rel","noopener")}}r.moveToBookmark(c),e.nodeChanged()},p=e=>{const t=m(e,-1);i(t)&&k(e,t)},y=p;e.add("autolink",(e=>{(e=>{const t=e.options.register;t("autolink_pattern",{processor:"regexp",default:new RegExp("^"+/(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g.source+"$","i")}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"})})(e),(e=>{e.on("keydown",(t=>{13!==t.keyCode||t.isDefaultPrevented()||(e=>{const t=m(e,0);i(t)&&k(e,t)})(e)})),e.on("keyup",(t=>{32===t.keyCode?p(e):(48===t.keyCode&&t.shiftKey||221===t.keyCode)&&y(e)}))})(e)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/plugin.js index cd0095ac..ed6e7d2d 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/plugin.min.js similarity index 98% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/plugin.min.js index cacbcb37..8744404e 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autoresize/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autoresize/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env");const o=e=>t=>t.options.get(e),s=o("min_height"),i=o("max_height"),n=o("autoresize_overflow_padding"),r=o("autoresize_bottom_margin"),l=(e,t)=>{const o=e.getBody();o&&(o.style.overflowY=t?"":"hidden",t||(o.scrollTop=0))},g=(e,t,o,s)=>{var i;const n=parseInt(null!==(i=e.getStyle(t,o,s))&&void 0!==i?i:"",10);return isNaN(n)?0:n},a=(e,o,r,c)=>{var d;const f=e.dom,u=e.getDoc();if(!u)return;if((e=>e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen())(e))return void l(e,!0);const m=u.documentElement,h=c?c():n(e),p=null!==(d=s(e))&&void 0!==d?d:e.getElement().offsetHeight;let y=p;const S=g(f,m,"margin-top",!0),v=g(f,m,"margin-bottom",!0);let C=m.offsetHeight+S+v+h;C<0&&(C=0);const b=e.getContainer().offsetHeight-e.getContentAreaContainer().offsetHeight;C+b>p&&(y=C+b);const w=i(e);if(w&&y>w?(y=w,l(e,!0)):l(e,!1),y!==o.get()){const s=y-o.get();if(f.setStyle(e.getContainer(),"height",y+"px"),o.set(y),(e=>{e.dispatch("ResizeEditor")})(e),t.browser.isSafari()&&(t.os.isMacOS()||t.os.isiOS())){const t=e.getWin();t.scrollTo(t.pageXOffset,t.pageYOffset)}e.hasFocus()&&(e=>{if("setcontent"===(null==e?void 0:e.type.toLowerCase())){const t=e;return!0===t.selection||!0===t.paste}return!1})(r)&&e.selection.scrollIntoView(),(t.browser.isSafari()||t.browser.isChromium())&&s<0&&a(e,o,r,c)}};e.add("autoresize",(e=>{if((e=>{const t=e.options.register;t("autoresize_overflow_padding",{processor:"number",default:1}),t("autoresize_bottom_margin",{processor:"number",default:50})})(e),e.options.isSet("resize")||e.options.set("resize",!1),!e.inline){const o=(e=>{let t=0;return{get:()=>t,set:e=>{t=e}}})();((e,t)=>{e.addCommand("mceAutoResize",(()=>{a(e,t)}))})(e,o),((e,o)=>{let s,i,l=()=>r(e);e.on("init",(i=>{s=0;const r=n(e),g=e.dom;g.setStyles(e.getDoc().documentElement,{height:"auto"}),t.browser.isEdge()||t.browser.isIE()?g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r,"min-height":0}):g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r}),a(e,o,i,l),s+=1})),e.on("NodeChange SetContent keyup FullscreenStateChanged ResizeContent",(t=>{if(1===s)i=e.getContainer().offsetHeight,a(e,o,t,l),s+=1;else if(2===s){const t=i0):l,s+=1}else a(e,o,t,l)}))})(e,o)}}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/plugin.js index 3f0cdf22..f7b0aa11 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/plugin.min.js index a9bfdb45..50b1e2a6 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/autosave/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/autosave/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=("string",t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(r=o=t,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":e;var r,o,a,s})(t));const r=(void 0,t=>undefined===t);var o=tinymce.util.Tools.resolve("tinymce.util.Delay"),a=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),s=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=t=>{const e=/^(\d+)([ms]?)$/.exec(t);return(e&&e[2]?{s:1e3,m:6e4}[e[2]]:1)*parseInt(t,10)},i=t=>e=>e.options.get(t),u=i("autosave_ask_before_unload"),l=i("autosave_restore_when_empty"),c=i("autosave_interval"),d=i("autosave_retention"),m=t=>{const e=document.location;return t.options.get("autosave_prefix").replace(/{path}/g,e.pathname).replace(/{query}/g,e.search).replace(/{hash}/g,e.hash).replace(/{id}/g,t.id)},v=(t,e)=>{if(r(e))return t.dom.isEmpty(t.getBody());{const r=s.trim(e);if(""===r)return!0;{const e=(new DOMParser).parseFromString(r,"text/html");return t.dom.isEmpty(e)}}},f=t=>{var e;const r=parseInt(null!==(e=a.getItem(m(t)+"time"))&&void 0!==e?e:"0",10)||0;return!((new Date).getTime()-r>d(t)&&(p(t,!1),1))},p=(t,e)=>{const r=m(t);a.removeItem(r+"draft"),a.removeItem(r+"time"),!1!==e&&(t=>{t.dispatch("RemoveDraft")})(t)},g=t=>{const e=m(t);!v(t)&&t.isDirty()&&(a.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),a.setItem(e+"time",(new Date).getTime().toString()),(t=>{t.dispatch("StoreDraft")})(t))},y=t=>{var e;const r=m(t);f(t)&&(t.setContent(null!==(e=a.getItem(r+"draft"))&&void 0!==e?e:"",{format:"raw"}),(t=>{t.dispatch("RestoreDraft")})(t))};var D=tinymce.util.Tools.resolve("tinymce.EditorManager");const h=t=>e=>{e.setEnabled(f(t));const r=()=>e.setEnabled(f(t));return t.on("StoreDraft RestoreDraft RemoveDraft",r),()=>t.off("StoreDraft RestoreDraft RemoveDraft",r)};t.add("autosave",(t=>((t=>{const r=t.options.register,o=t=>{const r=e(t);return r?{value:n(t),valid:r}:{valid:!1,message:"Must be a string."}};r("autosave_ask_before_unload",{processor:"boolean",default:!0}),r("autosave_prefix",{processor:"string",default:"tinymce-autosave-{path}{query}{hash}-{id}-"}),r("autosave_restore_when_empty",{processor:"boolean",default:!1}),r("autosave_interval",{processor:o,default:"30s"}),r("autosave_retention",{processor:o,default:"20m"})})(t),(t=>{t.editorManager.on("BeforeUnload",(t=>{let e;s.each(D.get(),(t=>{t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&u(t)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))})),e&&(t.preventDefault(),t.returnValue=e)}))})(t),(t=>{(t=>{const e=c(t);o.setEditorInterval(t,(()=>{g(t)}),e)})(t);const e=()=>{(t=>{t.undoManager.transact((()=>{y(t),p(t)})),t.focus()})(t)};t.ui.registry.addButton("restoredraft",{tooltip:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)}),t.ui.registry.addMenuItem("restoredraft",{text:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)})})(t),t.on("init",(()=>{l(t)&&t.dom.isEmpty(t.getBody())&&y(t)})),(t=>({hasDraft:()=>f(t),storeDraft:()=>g(t),restoreDraft:()=>y(t),removeDraft:e=>p(t,e),isEmpty:e=>v(t,e)}))(t))))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/plugin.js index 7db36cb0..27a6f419 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/plugin.min.js index d436fcf9..fbf71c2b 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/charmap/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/charmap/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=(e,t)=>{const r=((e,t)=>e.dispatch("insertCustomChar",{chr:t}))(e,t).chr;e.execCommand("mceInsertContent",!1,r)},r=e=>t=>e===t,a=("array",e=>"array"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(r=a=e,(n=String).prototype.isPrototypeOf(r)||(null===(i=a.constructor)||void 0===i?void 0:i.name)===n.name)?"string":t;var r,a,n,i})(e));const n=r(null),i=r(void 0),o=e=>"function"==typeof e,s=(!1,()=>false);class l{constructor(e,t){this.tag=e,this.value=t}static some(e){return new l(!0,e)}static none(){return l.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?l.some(e(this.value)):l.none()}bind(e){return this.tag?e(this.value):l.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:l.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?l.none():l.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}l.singletonNone=new l(!1);const c=Array.prototype.push,u=(e,t)=>{const r=e.length,a=new Array(r);for(let n=0;nt=>t.options.get(e),m=h("charmap"),p=h("charmap_append"),d=g.isArray,f="User Defined",y=e=>{return d(e)?(t=e,g.grep(t,(e=>d(e)&&2===e.length))):"function"==typeof e?e():[];var t},b=e=>{const t=((e,t)=>{const r=m(e);r&&(t=[{name:f,characters:y(r)}]);const a=p(e);if(a){const e=g.grep(t,(e=>e.name===f));return e.length?(e[0].characters=[...e[0].characters,...y(a)],t):t.concat({name:f,characters:y(a)})}return t})(e,[{name:"Currency",characters:[[36,"dollar sign"],[162,"cent sign"],[8364,"euro sign"],[163,"pound sign"],[165,"yen sign"],[164,"currency sign"],[8352,"euro-currency sign"],[8353,"colon sign"],[8354,"cruzeiro sign"],[8355,"french franc sign"],[8356,"lira sign"],[8357,"mill sign"],[8358,"naira sign"],[8359,"peseta sign"],[8360,"rupee sign"],[8361,"won sign"],[8362,"new sheqel sign"],[8363,"dong sign"],[8365,"kip sign"],[8366,"tugrik sign"],[8367,"drachma sign"],[8368,"german penny symbol"],[8369,"peso sign"],[8370,"guarani sign"],[8371,"austral sign"],[8372,"hryvnia sign"],[8373,"cedi sign"],[8374,"livre tournois sign"],[8375,"spesmilo sign"],[8376,"tenge sign"],[8377,"indian rupee sign"],[8378,"turkish lira sign"],[8379,"nordic mark sign"],[8380,"manat sign"],[8381,"ruble sign"],[20870,"yen character"],[20803,"yuan character"],[22291,"yuan character, in hong kong and taiwan"],[22278,"yen/yuan character variant one"]]},{name:"Text",characters:[[169,"copyright sign"],[174,"registered sign"],[8482,"trade mark sign"],[8240,"per mille sign"],[181,"micro sign"],[183,"middle dot"],[8226,"bullet"],[8230,"three dot leader"],[8242,"minutes / feet"],[8243,"seconds / inches"],[167,"section sign"],[182,"paragraph sign"],[223,"sharp s / ess-zed"]]},{name:"Quotations",characters:[[8249,"single left-pointing angle quotation mark"],[8250,"single right-pointing angle quotation mark"],[171,"left pointing guillemet"],[187,"right pointing guillemet"],[8216,"left single quotation mark"],[8217,"right single quotation mark"],[8220,"left double quotation mark"],[8221,"right double quotation mark"],[8218,"single low-9 quotation mark"],[8222,"double low-9 quotation mark"],[60,"less-than sign"],[62,"greater-than sign"],[8804,"less-than or equal to"],[8805,"greater-than or equal to"],[8211,"en dash"],[8212,"em dash"],[175,"macron"],[8254,"overline"],[164,"currency sign"],[166,"broken bar"],[168,"diaeresis"],[161,"inverted exclamation mark"],[191,"turned question mark"],[710,"circumflex accent"],[732,"small tilde"],[176,"degree sign"],[8722,"minus sign"],[177,"plus-minus sign"],[247,"division sign"],[8260,"fraction slash"],[215,"multiplication sign"],[185,"superscript one"],[178,"superscript two"],[179,"superscript three"],[188,"fraction one quarter"],[189,"fraction one half"],[190,"fraction three quarters"]]},{name:"Mathematical",characters:[[402,"function / florin"],[8747,"integral"],[8721,"n-ary sumation"],[8734,"infinity"],[8730,"square root"],[8764,"similar to"],[8773,"approximately equal to"],[8776,"almost equal to"],[8800,"not equal to"],[8801,"identical to"],[8712,"element of"],[8713,"not an element of"],[8715,"contains as member"],[8719,"n-ary product"],[8743,"logical and"],[8744,"logical or"],[172,"not sign"],[8745,"intersection"],[8746,"union"],[8706,"partial differential"],[8704,"for all"],[8707,"there exists"],[8709,"diameter"],[8711,"backward difference"],[8727,"asterisk operator"],[8733,"proportional to"],[8736,"angle"]]},{name:"Extended Latin",characters:[[192,"A - grave"],[193,"A - acute"],[194,"A - circumflex"],[195,"A - tilde"],[196,"A - diaeresis"],[197,"A - ring above"],[256,"A - macron"],[198,"ligature AE"],[199,"C - cedilla"],[200,"E - grave"],[201,"E - acute"],[202,"E - circumflex"],[203,"E - diaeresis"],[274,"E - macron"],[204,"I - grave"],[205,"I - acute"],[206,"I - circumflex"],[207,"I - diaeresis"],[298,"I - macron"],[208,"ETH"],[209,"N - tilde"],[210,"O - grave"],[211,"O - acute"],[212,"O - circumflex"],[213,"O - tilde"],[214,"O - diaeresis"],[216,"O - slash"],[332,"O - macron"],[338,"ligature OE"],[352,"S - caron"],[217,"U - grave"],[218,"U - acute"],[219,"U - circumflex"],[220,"U - diaeresis"],[362,"U - macron"],[221,"Y - acute"],[376,"Y - diaeresis"],[562,"Y - macron"],[222,"THORN"],[224,"a - grave"],[225,"a - acute"],[226,"a - circumflex"],[227,"a - tilde"],[228,"a - diaeresis"],[229,"a - ring above"],[257,"a - macron"],[230,"ligature ae"],[231,"c - cedilla"],[232,"e - grave"],[233,"e - acute"],[234,"e - circumflex"],[235,"e - diaeresis"],[275,"e - macron"],[236,"i - grave"],[237,"i - acute"],[238,"i - circumflex"],[239,"i - diaeresis"],[299,"i - macron"],[240,"eth"],[241,"n - tilde"],[242,"o - grave"],[243,"o - acute"],[244,"o - circumflex"],[245,"o - tilde"],[246,"o - diaeresis"],[248,"o slash"],[333,"o macron"],[339,"ligature oe"],[353,"s - caron"],[249,"u - grave"],[250,"u - acute"],[251,"u - circumflex"],[252,"u - diaeresis"],[363,"u - macron"],[253,"y - acute"],[254,"thorn"],[255,"y - diaeresis"],[563,"y - macron"],[913,"Alpha"],[914,"Beta"],[915,"Gamma"],[916,"Delta"],[917,"Epsilon"],[918,"Zeta"],[919,"Eta"],[920,"Theta"],[921,"Iota"],[922,"Kappa"],[923,"Lambda"],[924,"Mu"],[925,"Nu"],[926,"Xi"],[927,"Omicron"],[928,"Pi"],[929,"Rho"],[931,"Sigma"],[932,"Tau"],[933,"Upsilon"],[934,"Phi"],[935,"Chi"],[936,"Psi"],[937,"Omega"],[945,"alpha"],[946,"beta"],[947,"gamma"],[948,"delta"],[949,"epsilon"],[950,"zeta"],[951,"eta"],[952,"theta"],[953,"iota"],[954,"kappa"],[955,"lambda"],[956,"mu"],[957,"nu"],[958,"xi"],[959,"omicron"],[960,"pi"],[961,"rho"],[962,"final sigma"],[963,"sigma"],[964,"tau"],[965,"upsilon"],[966,"phi"],[967,"chi"],[968,"psi"],[969,"omega"]]},{name:"Symbols",characters:[[8501,"alef symbol"],[982,"pi symbol"],[8476,"real part symbol"],[978,"upsilon - hook symbol"],[8472,"Weierstrass p"],[8465,"imaginary part"]]},{name:"Arrows",characters:[[8592,"leftwards arrow"],[8593,"upwards arrow"],[8594,"rightwards arrow"],[8595,"downwards arrow"],[8596,"left right arrow"],[8629,"carriage return"],[8656,"leftwards double arrow"],[8657,"upwards double arrow"],[8658,"rightwards double arrow"],[8659,"downwards double arrow"],[8660,"left right double arrow"],[8756,"therefore"],[8834,"subset of"],[8835,"superset of"],[8836,"not a subset of"],[8838,"subset of or equal to"],[8839,"superset of or equal to"],[8853,"circled plus"],[8855,"circled times"],[8869,"perpendicular"],[8901,"dot operator"],[8968,"left ceiling"],[8969,"right ceiling"],[8970,"left floor"],[8971,"right floor"],[9001,"left-pointing angle bracket"],[9002,"right-pointing angle bracket"],[9674,"lozenge"],[9824,"black spade suit"],[9827,"black club suit"],[9829,"black heart suit"],[9830,"black diamond suit"],[8194,"en space"],[8195,"em space"],[8201,"thin space"],[8204,"zero width non-joiner"],[8205,"zero width joiner"],[8206,"left-to-right mark"],[8207,"right-to-left mark"]]}]);return t.length>1?[{name:"All",characters:(r=t,n=e=>e.characters,(e=>{const t=[];for(let r=0,n=e.length;r{let t=e;return{get:()=>t,set:e=>{t=e}}},v=(e,t,r=0,a)=>{const n=e.indexOf(t,r);return-1!==n&&(!!i(a)||n+t.length<=a)},k=String.fromCodePoint,C=(e,t)=>{const r=[],a=t.toLowerCase();return((e,t)=>{for(let t=0,i=e.length;t!!v(k(e).toLowerCase(),r)||v(t.toLowerCase(),r)||v(t.toLowerCase().replace(/\s+/g,""),r))((n=e[t])[0],n[1],a)&&r.push(n);var n})(e.characters),u(r,(e=>({text:e[1],value:k(e[0]),icon:k(e[0])})))},x="pattern",A=(e,r)=>{const a=()=>[{label:"Search",type:"input",name:x},{type:"collection",name:"results"}],i=1===r.length?w(f):w("All"),o=((e,t)=>{let r=null;const a=()=>{n(r)||(clearTimeout(r),r=null)};return{cancel:a,throttle:(...t)=>{a(),r=setTimeout((()=>{r=null,e.apply(null,t)}),40)}}})((e=>{const t=e.getData().pattern;((e,t)=>{var a,n;(a=r,n=e=>e.name===i.get(),((e,t,r)=>{for(let a=0,n=e.length;a{const a=C(r,t);e.setData({results:a})}))})(e,t)})),c={title:"Special Character",size:"normal",body:1===r.length?{type:"panel",items:a()}:{type:"tabpanel",tabs:u(r,(e=>({title:e.name,name:e.name,items:a()})))},buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{pattern:"",results:C(r[0],"")},onAction:(r,a)=>{"results"===a.name&&(t(e,a.value),r.close())},onTabChange:(e,t)=>{i.set(t.newTabName),o.throttle(e)},onChange:(e,t)=>{t.name===x&&o.throttle(e)}};e.windowManager.open(c).focus(x)},q=e=>t=>{const r=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",r),r(),()=>{e.off("NodeChange",r)}};e.add("charmap",(e=>{(e=>{const t=e.options.register,r=e=>o(e)||a(e);t("charmap",{processor:r}),t("charmap_append",{processor:r})})(e);const r=b(e);return((e,t)=>{e.addCommand("mceShowCharmap",(()=>{A(e,t)}))})(e,r),(e=>{const t=()=>e.execCommand("mceShowCharmap");e.ui.registry.addButton("charmap",{icon:"insert-character",tooltip:"Special character",onAction:t,onSetup:q(e)}),e.ui.registry.addMenuItem("charmap",{icon:"insert-character",text:"Special character...",onAction:t,onSetup:q(e)})})(e),((e,t)=>{e.ui.registry.addAutocompleter("charmap",{trigger:":",columns:"auto",minChars:2,fetch:(e,r)=>new Promise(((r,a)=>{r(C(t,e))})),onAction:(t,r,a)=>{e.selection.setRng(r),e.insertContent(a),t.hide()}})})(e,r[0]),(e=>({getCharMap:()=>b(e),insertChar:r=>{t(e,r)}}))(e)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/code/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/code/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/code/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/code/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/code/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/code/plugin.js similarity index 98% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/code/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/code/plugin.js index 840619d8..eb2e3396 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/code/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/code/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/code/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/code/plugin.min.js similarity index 96% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/code/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/code/plugin.min.js index a32cc11f..ffb595cf 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/code/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/code/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const o=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:o},onSubmit:o=>{((e,o)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(o)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,o.getData().code),o.close()}})})(e)}))})(e),(e=>{const o=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:o}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:o})})(e),{})))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/plugin.js index 4310dcbc..9ee1d548 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/plugin.js @@ -1,7 +1,15 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT + * @author Lea Verou + * @namespace + * @public + */ (function () { 'use strict'; diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/plugin.min.js index b4201b3f..a6fde11f 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/codesample/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/codesample/plugin.min.js @@ -1,4 +1,13 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) + */ + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT + * @author Lea Verou + * @namespace + * @public */ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>!(e=>null==e)(e),n=()=>{};class a{constructor(e,t){this.tag=e,this.value=t}static some(e){return new a(!0,e)}static none(){return a.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?a.some(e(this.value)):a.none()}bind(e){return this.tag?e(this.value):a.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:a.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return t(e)?a.some(e):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);var s=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils");const r="undefined"!=typeof window?window:Function("return this;")(),i=function(e,t,n){const a=window.Prism;window.Prism={manual:!0};var s=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},s={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);x+=_.value.length,_=_.next){var F=_.value;if(t.length>e.length)return;if(!(F instanceof r)){var A,S=1;if(y){if(!(A=i(v,x,e,m))||A.index>=e.length)break;var $=A.index,z=A.index+A[0].length,E=x;for(E+=_.value.length;$>=E;)E+=(_=_.next).value.length;if(x=E-=_.value.length,_.value instanceof r)continue;for(var C=_;C!==t.tail&&(Ed.reach&&(d.reach=O);var P=_.prev;if(B&&(P=u(t,P,B),x+=B.length),c(t,P,S),_=u(t,P,new r(g,f?s.tokenize(j,f):j,w,j)),T&&u(t,_,T),S>1){var N={cause:g+","+b,reach:O};o(e,t,n,_.prev,x,N),d&&N.reach>d.reach&&(d.reach=N.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u(e,t,n){var a=t.next,s={value:n,prev:t,next:a};return t.next=s,a.prev=s,e.length++,s}function c(e,t,n){for(var a=t.next,s=0;s"+r.content+""},!e.document)return e.addEventListener?(s.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),a=n.language,r=n.code,i=n.immediateClose;e.postMessage(s.highlight(r,s.languages[a],a)),i&&e.close()}),!1),s):s;var d=s.util.currentScript();function g(){s.manual||s.highlightAll()}if(d&&(s.filename=d.src,d.hasAttribute("data-manual")&&(s.manual=!0)),!s.manual){var p=document.readyState;"loading"===p||"interactive"===p&&d&&d.defer?document.addEventListener("DOMContentLoaded",g):window.requestAnimationFrame?window.requestAnimationFrame(g):window.setTimeout(g,16)}return s}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});return s.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,s,r){if(n.language===a){var i=n.tokenStack=[];n.code=n.code.replace(s,(function(e){if("function"==typeof r&&!r(e))return e;for(var s,o=i.length;-1!==n.code.indexOf(s=t(a,o));)++o;return i[o]=e,s})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var s=0,r=Object.keys(n.tokenStack);!function i(o){for(var l=0;l=r.length);l++){var u=o[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=r[s],d=n.tokenStack[c],g="string"==typeof u?u:u.content,p=t(a,c),b=g.indexOf(p);if(b>-1){++s;var h=g.substring(0,b),f=new e.Token(a,e.tokenize(d,n.grammar),"language-"+a,d),m=g.substring(b+p.length),y=[];h&&y.push.apply(y,i([h])),y.push(f),m&&y.push.apply(y,i([m])),"string"==typeof u?o.splice.apply(o,[l,1].concat(y)):u.content=y}}else u.content&&i(u.content)}return o}(n.tokens)}}}})}(s),s.languages.c=s.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),s.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),s.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},s.languages.c.string],char:s.languages.c.char,comment:s.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:s.languages.c}}}}),s.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete s.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(s),function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,a){return RegExp(t(e,n),a||"")}function a(e,t){for(var n=0;n>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var s="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var u=l(r),c=RegExp(l(s+" "+r+" "+i+" "+o)),d=l(r+" "+i+" "+o),g=l(s+" "+r+" "+o),p=a(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),b=a(/\((?:[^()]|<>)*\)/.source,2),h=/@?\b[A-Za-z_]\w*\b/.source,f=t(/<<0>>(?:\s*<<1>>)?/.source,[h,p]),m=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,f]),y=/\[\s*(?:,\s*)*\]/.source,w=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[m,y]),k=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,b,y]),v=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[k]),_=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[v,m,y]),x={keyword:c,punctuation:/[<>()?,.:[\]]/},F=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,A=/"(?:\\.|[^\\"\r\n])*"/.source,S=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[S]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[A]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[m]),lookbehind:!0,inside:x},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[h,_]),lookbehind:!0,inside:x},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[h]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[u,f]),lookbehind:!0,inside:x},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[m]),lookbehind:!0,inside:x},{pattern:n(/(\bwhere\s+)<<0>>/.source,[h]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[w]),lookbehind:!0,inside:x},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[_,g,h]),inside:x}],keyword:c,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[b]),lookbehind:!0,alias:"class-name",inside:x},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[_,m]),inside:x,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[_]),lookbehind:!0,inside:x,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[h,p]),inside:{function:n(/^<<0>>/.source,[h]),generic:{pattern:RegExp(p),alias:"class-name",inside:x}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[u,f,h,_,c.source,b,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:c,"class-name":{pattern:RegExp(_),greedy:!0,inside:x},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var $=A+"|"+F,z=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[$]),E=a(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[z]),2),C=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,j=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[m,E]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[C,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[C]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[E]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var B=/:[^}\r\n]+/.source,T=a(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[z]),2),O=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[T,B]),P=a(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[$]),2),N=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[P,B]);function R(t,a){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[a,B]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[O]),lookbehind:!0,greedy:!0,inside:R(O,T)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[N]),lookbehind:!0,greedy:!0,inside:R(N,P)}],char:{pattern:RegExp(F),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(s),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(s),function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,a={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[a,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:a.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:a.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:a.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(s),s.languages.javascript=s.languages.extend("clike",{"class-name":[s.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),s.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,s.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:s.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:s.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:s.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:s.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:s.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),s.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:s.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),s.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),s.languages.markup&&(s.languages.markup.tag.addInlined("script","javascript"),s.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),s.languages.js=s.languages.javascript,s.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},s.languages.markup.tag.inside["attr-value"].inside.entity=s.languages.markup.entity,s.languages.markup.doctype.inside["internal-subset"].inside=s.languages.markup,s.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(s.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:s.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:s.languages[t]};var r={};r[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},s.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(s.languages.markup.tag,"addAttribute",{value:function(e,t){s.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:s.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),s.languages.html=s.languages.markup,s.languages.mathml=s.languages.markup,s.languages.svg=s.languages.markup,s.languages.xml=s.languages.extend("markup",{}),s.languages.ssml=s.languages.xml,s.languages.atom=s.languages.xml,s.languages.rss=s.languages.xml,function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,s=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,r=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:s,punctuation:r};var i={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},o=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:i}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:i}}];e.languages.insertBefore("php","variable",{string:o,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:o,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:a,operator:s,punctuation:r}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(s),s.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},s.languages.python["string-interpolation"].inside.interpolation.inside.rest=s.languages.python,s.languages.py=s.languages.python,function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",a=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+a),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+a+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(s),window.Prism=a,s}(),o=e=>t=>t.options.get(e),l=o("codesample_languages"),u=o("codesample_global_prismjs"),c=e=>r.Prism&&u(e)?r.Prism:i,d=e=>t(e)&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-"),g=e=>{const t=e.selection?e.selection.getNode():null;return d(t)?a.some(t):a.none()},p=e=>{const t=(e=>l(e)||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}])(e),n=(r=t,((e,t)=>0""),(e=>e.value));var r;const i=((e,t)=>g(e).fold((()=>t),(e=>{const n=e.className.match(/language-(\w+)/);return n?n[1]:t})))(e,n),o=(e=>g(e).bind((e=>a.from(e.textContent))).getOr(""))(e);e.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"listbox",name:"language",label:"Language",items:t},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:i,code:o},onSubmit:t=>{const n=t.getData();((e,t,n)=>{const a=e.dom;e.undoManager.transact((()=>{const r=g(e);return n=s.DOM.encode(n),r.fold((()=>{e.insertContent('
    '+n+"
    ");const s=a.select("#__new")[0];a.setAttrib(s,"id",null),e.selection.select(s)}),(s=>{a.setAttrib(s,"class","language-"+t),s.innerHTML=n,c(e).highlightElement(s),e.selection.select(s)}))}))})(e,n.language,n.code),t.close()}})},b=(h=/^\s+|\s+$/g,e=>e.replace(h,""));var h,f=tinymce.util.Tools.resolve("tinymce.util.Tools");const m=(e,t=n)=>n=>{const a=()=>{n.setEnabled(e.selection.isEditable()),t(n)};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("codesample",(e=>{(e=>{const t=e.options.register;t("codesample_languages",{processor:"object[]"}),t("codesample_global_prismjs",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreProcess",(t=>{const n=e.dom,a=n.select("pre[contenteditable=false]",t.node);f.each(f.grep(a,d),(e=>{const t=e.textContent;let a;for(n.setAttrib(e,"class",b(n.getAttrib(e,"class"))),n.setAttrib(e,"contentEditable",null),n.setAttrib(e,"data-mce-highlighted",null);a=e.firstChild;)e.removeChild(a);n.add(e,"code").textContent=t}))})),e.on("SetContent",(()=>{const t=e.dom,n=f.grep(t.select("pre"),(e=>d(e)&&"true"!==t.getAttrib(e,"data-mce-highlighted")));n.length&&e.undoManager.transact((()=>{f.each(n,(n=>{var a;f.each(t.select("br",n),(n=>{t.replace(e.getDoc().createTextNode("\n"),n)})),n.innerHTML=t.encode(null!==(a=n.textContent)&&void 0!==a?a:""),c(e).highlightElement(n),t.setAttrib(n,"data-mce-highlighted",!0),n.className=b(n.className)}))}))})),e.on("PreInit",(()=>{e.parser.addNodeFilter("pre",(e=>{var t;for(let n=0,a=e.length;n{const t=()=>e.execCommand("codesample");e.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:t,onSetup:m(e,(t=>{t.setActive((e=>{const t=e.selection.getStart();return e.dom.is(t,'pre[class*="language-"]')})(e))}))}),e.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:t,onSetup:m(e)})})(e),(e=>{e.addCommand("codesample",(()=>{const t=e.selection.getNode();e.selection.isCollapsed()||d(t)?p(e):e.formatter.toggle("code")}))})(e),e.on("dblclick",(t=>{d(t.target)&&p(e)}))}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/plugin.js index 998f8c9a..65007ece 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/plugin.min.js index fd6c6da3..46b21115 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/directionality/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/directionality/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=t=>e=>typeof e===t,o=t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(o=r=t,(n=String).prototype.isPrototypeOf(o)||(null===(i=r.constructor)||void 0===i?void 0:i.name)===n.name)?"string":e;var o,r,n,i})(t),r=e("boolean"),n=t=>!(t=>null==t)(t),i=e("function"),s=e("number"),l=(!1,()=>false);class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return n(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=(t,e)=>{for(let o=0,r=t.length;o{if(null==t)throw new Error("Node cannot be null or undefined");return{dom:t}},d=c,h=(t,e)=>{const o=t.dom;if(1!==o.nodeType)return!1;{const t=o;if(void 0!==t.matches)return t.matches(e);if(void 0!==t.msMatchesSelector)return t.msMatchesSelector(e);if(void 0!==t.webkitMatchesSelector)return t.webkitMatchesSelector(e);if(void 0!==t.mozMatchesSelector)return t.mozMatchesSelector(e);throw new Error("Browser lacks native selectors")}};"undefined"!=typeof window?window:Function("return this;")();const m=t=>e=>(t=>t.dom.nodeType)(e)===t,g=m(1),f=m(3),v=m(9),y=m(11),p=(t,e)=>{t.dom.removeAttribute(e)},w=i(Element.prototype.attachShadow)&&i(Node.prototype.getRootNode)?t=>d(t.dom.getRootNode()):t=>v(t)?t:d(t.dom.ownerDocument),b=t=>d(t.dom.host),N=t=>{const e=f(t)?t.dom.parentNode:t.dom;if(null==e||null===e.ownerDocument)return!1;const o=e.ownerDocument;return(t=>{const e=w(t);return y(o=e)&&n(o.dom.host)?a.some(e):a.none();var o})(d(e)).fold((()=>o.body.contains(e)),(r=N,i=b,t=>r(i(t))));var r,i},S=t=>"rtl"===((t,e)=>{const o=t.dom,r=window.getComputedStyle(o).getPropertyValue(e);return""!==r||N(t)?r:((t,e)=>(t=>void 0!==t.style&&i(t.style.getPropertyValue))(t)?t.style.getPropertyValue(e):"")(o,e)})(t,"direction")?"rtl":"ltr",A=(t,e)=>((t,o)=>((t,e)=>{const o=[];for(let r=0,n=t.length;r{const o=t.length,r=new Array(o);for(let n=0;nh(t,e))))(t),E=("li",t=>g(t)&&"li"===t.dom.nodeName.toLowerCase());const T=(t,e,n)=>{u(e,(e=>{const c=d(e),m=E(c),f=((t,e)=>{return(e?(o=t,r="ol,ul",((t,e,o)=>{let n=t.dom;const s=i(o)?o:l;for(;n.parentNode;){n=n.parentNode;const t=d(n);if(h(t,r))return a.some(t);if(s(t))break}return a.none()})(o,0,n)):a.some(t)).getOr(t);var o,r,n})(c,m);var v;(v=f,(t=>a.from(t.dom.parentNode).map(d))(v).filter(g)).each((e=>{if(t.setStyle(f.dom,"direction",null),S(e)===n?p(f,"dir"):((t,e,n)=>{((t,e,n)=>{if(!(o(n)||r(n)||s(n)))throw console.error("Invalid call to Attribute.set. Key ",e,":: Value ",n,":: Element ",t),new Error("Attribute value was not simple");t.setAttribute(e,n+"")})(t.dom,e,n)})(f,"dir",n),S(f)!==n&&t.setStyle(f.dom,"direction",n),m){const e=A(f,"li[dir],li[style]");u(e,(e=>{p(e,"dir"),t.setStyle(e.dom,"direction",null)}))}}))}))},C=(t,e)=>{t.selection.isEditable()&&(T(t.dom,t.selection.getSelectedBlocks(),e),t.nodeChanged())},D=(t,e)=>o=>{const r=r=>{const n=d(r.element);o.setActive(S(n)===e),o.setEnabled(t.selection.isEditable())};return t.on("NodeChange",r),o.setEnabled(t.selection.isEditable()),()=>t.off("NodeChange",r)};t.add("directionality",(t=>{(t=>{t.addCommand("mceDirectionLTR",(()=>{C(t,"ltr")})),t.addCommand("mceDirectionRTL",(()=>{C(t,"rtl")}))})(t),(t=>{t.ui.registry.addToggleButton("ltr",{tooltip:"Left to right",icon:"ltr",onAction:()=>t.execCommand("mceDirectionLTR"),onSetup:D(t,"ltr")}),t.ui.registry.addToggleButton("rtl",{tooltip:"Right to left",icon:"rtl",onAction:()=>t.execCommand("mceDirectionRTL"),onSetup:D(t,"rtl")})})(t)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojiimages.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojiimages.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojiimages.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojiimages.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojiimages.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojiimages.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojiimages.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojiimages.min.js index 37f3bcf8..5f462218 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojiimages.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojiimages.min.js @@ -1,3 +1 @@ -// Source: npm package: emojilib -// Images provided by twemoji: https://github.com/twitter/twemoji window.tinymce.Resource.add("tinymce.plugins.emoticons",{100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:'\u{1f4af}',fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:'\u{1f522}',fitzpatrick_scale:!1,category:"symbols"},grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:'\u{1f600}',fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:'\u{1f62c}',fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:'\u{1f601}',fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:'\u{1f602}',fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:'\u{1f923}',fitzpatrick_scale:!1,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:'\u{1f973}',fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:'\u{1f603}',fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:'\u{1f604}',fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:'\u{1f605}',fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:'\u{1f606}',fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:'\u{1f607}',fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:'\u{1f609}',fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:'\u{1f60a}',fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:'\u{1f642}',fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:'\u{1f643}',fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:'\u263a\ufe0f',fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:'\u{1f60b}',fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:'\u{1f60c}',fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:'\u{1f60d}',fitzpatrick_scale:!1,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:'\u{1f970}',fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'\u{1f618}',fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:'\u{1f617}',fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:'\u{1f619}',fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'\u{1f61a}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:'\u{1f61c}',fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],char:'\u{1f92a}',fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:'\u{1f928}',fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:'\u{1f9d0}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:'\u{1f61d}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:'\u{1f61b}',fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:'\u{1f911}',fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:'\u{1f913}',fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:'\u{1f60e}',fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:'\u{1f929}',fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],char:'\u{1f921}',fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:'\u{1f920}',fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],char:'\u{1f917}',fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:'\u{1f60f}',fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:'\u{1f636}',fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:'\u{1f610}',fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:'\u{1f611}',fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:'\u{1f612}',fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:'\u{1f644}',fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:'\u{1f914}',fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:'\u{1f925}',fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:'\u{1f92d}',fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:'\u{1f92b}',fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:'\u{1f92c}',fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:'\u{1f92f}',fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:'\u{1f633}',fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:'\u{1f61e}',fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:'\u{1f61f}',fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:'\u{1f620}',fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:'\u{1f621}',fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:'\u{1f614}',fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:'\u{1f615}',fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:'\u{1f641}',fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:'\u2639',fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:'\u{1f623}',fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:'\u{1f616}',fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:'\u{1f62b}',fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:'\u{1f629}',fitzpatrick_scale:!1,category:"people"},pleading:{keywords:["face","begging","mercy"],char:'\u{1f97a}',fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:'\u{1f624}',fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:'\u{1f62e}',fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:'\u{1f631}',fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:'\u{1f628}',fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:'\u{1f630}',fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],char:'\u{1f62f}',fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],char:'\u{1f626}',fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:'\u{1f627}',fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:'\u{1f622}',fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:'\u{1f625}',fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],char:'\u{1f924}',fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:'\u{1f62a}',fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:'\u{1f613}',fitzpatrick_scale:!1,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:'\u{1f975}',fitzpatrick_scale:!1,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:'\u{1f976}',fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:'\u{1f62d}',fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:'\u{1f635}',fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:'\u{1f632}',fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:'\u{1f910}',fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:'\u{1f922}',fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:'\u{1f927}',fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],char:'\u{1f92e}',fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:'\u{1f637}',fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:'\u{1f912}',fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:'\u{1f915}',fitzpatrick_scale:!1,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:'\u{1f974}',fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:'\u{1f634}',fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:'\u{1f4a4}',fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:'\u{1f4a9}',fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],char:'\u{1f608}',fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],char:'\u{1f47f}',fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:'\u{1f479}',fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:'\u{1f47a}',fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:'\u{1f480}',fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:'\u{1f47b}',fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:'\u{1f47d}',fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],char:'\u{1f916}',fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:'\u{1f63a}',fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:'\u{1f638}',fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:'\u{1f639}',fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:'\u{1f63b}',fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:'\u{1f63c}',fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:'\u{1f63d}',fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:'\u{1f640}',fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:'\u{1f63f}',fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],char:'\u{1f63e}',fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:'\u{1f932}',fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:'\u{1f64c}',fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:'\u{1f44f}',fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:'\u{1f44b}',fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:'\u{1f919}',fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:'\u{1f44d}',fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:'\u{1f44e}',fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:'\u{1f44a}',fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:'\u270a',fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],char:'\u{1f91b}',fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],char:'\u{1f91c}',fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:'\u270c',fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:'\u{1f44c}',fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:'\u270b',fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:'\u{1f91a}',fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:'\u{1f450}',fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:'\u{1f4aa}',fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:'\u{1f64f}',fitzpatrick_scale:!0,category:"people"},foot:{keywords:["kick","stomp"],char:'\u{1f9b6}',fitzpatrick_scale:!0,category:"people"},leg:{keywords:["kick","limb"],char:'\u{1f9b5}',fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],char:'\u{1f91d}',fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:'\u261d',fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:'\u{1f446}',fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:'\u{1f447}',fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:'\u{1f448}',fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:'\u{1f449}',fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:'\u{1f595}',fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:'\u{1f590}',fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:'\u{1f91f}',fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:'\u{1f918}',fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:'\u{1f91e}',fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:'\u{1f596}',fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:'\u270d',fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],char:'\u{1f933}',fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:'\u{1f485}',fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],char:'\u{1f444}',fitzpatrick_scale:!1,category:"people"},tooth:{keywords:["teeth","dentist"],char:'\u{1f9b7}',fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],char:'\u{1f445}',fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:'\u{1f442}',fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],char:'\u{1f443}',fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:'\u{1f441}',fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:'\u{1f440}',fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],char:'\u{1f9e0}',fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:'\u{1f464}',fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:'\u{1f465}',fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:'\u{1f5e3}',fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:'\u{1f476}',fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],char:'\u{1f9d2}',fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:'\u{1f466}',fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],char:'\u{1f467}',fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],char:'\u{1f9d1}',fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:'\u{1f468}',fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],char:'\u{1f469}',fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:'\u{1f471}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:'\u{1f471}',fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:'\u{1f9d4}',fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:'\u{1f9d3}',fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:'\u{1f474}',fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:'\u{1f475}',fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:'\u{1f472}',fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:'\u{1f9d5}',fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:'\u{1f473}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:'\u{1f473}',fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:'\u{1f46e}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:'\u{1f46e}',fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:'\u{1f477}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:'\u{1f477}',fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:'\u{1f482}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:'\u{1f482}',fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:'\u{1f575}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],char:'\u{1f575}',fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:'\u{1f469}\u200d\u2695\ufe0f',fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:'\u{1f468}\u200d\u2695\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:'\u{1f469}\u200d\u{1f33e}',fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:'\u{1f468}\u200d\u{1f33e}',fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:'\u{1f469}\u200d\u{1f373}',fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],char:'\u{1f468}\u200d\u{1f373}',fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:'\u{1f469}\u200d\u{1f393}',fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],char:'\u{1f468}\u200d\u{1f393}',fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:'\u{1f469}\u200d\u{1f3a4}',fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:'\u{1f468}\u200d\u{1f3a4}',fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:'\u{1f469}\u200d\u{1f3eb}',fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:'\u{1f468}\u200d\u{1f3eb}',fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:'\u{1f469}\u200d\u{1f3ed}',fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:'\u{1f468}\u200d\u{1f3ed}',fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:'\u{1f469}\u200d\u{1f4bb}',fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:'\u{1f468}\u200d\u{1f4bb}',fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:'\u{1f469}\u200d\u{1f4bc}',fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:'\u{1f468}\u200d\u{1f4bc}',fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:'\u{1f469}\u200d\u{1f527}',fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:'\u{1f468}\u200d\u{1f527}',fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:'\u{1f469}\u200d\u{1f52c}',fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:'\u{1f468}\u200d\u{1f52c}',fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:'\u{1f469}\u200d\u{1f3a8}',fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],char:'\u{1f468}\u200d\u{1f3a8}',fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:'\u{1f469}\u200d\u{1f692}',fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:'\u{1f468}\u200d\u{1f692}',fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:'\u{1f469}\u200d\u2708\ufe0f',fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:'\u{1f468}\u200d\u2708\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:'\u{1f469}\u200d\u{1f680}',fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:'\u{1f468}\u200d\u{1f680}',fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:'\u{1f469}\u200d\u2696\ufe0f',fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:'\u{1f468}\u200d\u2696\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:'\u{1f9b8}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:'\u{1f9b8}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:'\u{1f9b9}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:'\u{1f9b9}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:'\u{1f936}',fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:'\u{1f385}',fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:'\u{1f9d9}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:'\u{1f9d9}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],char:'\u{1f9dd}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],char:'\u{1f9dd}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],char:'\u{1f9db}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:'\u{1f9db}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:'\u{1f9df}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:'\u{1f9df}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],char:'\u{1f9de}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],char:'\u{1f9de}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:'\u{1f9dc}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],char:'\u{1f9dc}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],char:'\u{1f9da}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],char:'\u{1f9da}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],char:'\u{1f47c}',fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],char:'\u{1f930}',fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:'\u{1f931}',fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:'\u{1f478}',fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:'\u{1f934}',fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:'\u{1f470}',fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:'\u{1f935}',fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:'\u{1f3c3}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:'\u{1f3c3}',fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:'\u{1f6b6}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],char:'\u{1f6b6}',fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:'\u{1f483}',fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:'\u{1f57a}',fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:'\u{1f46f}',fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:'\u{1f46f}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:'\u{1f46b}',fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:'\u{1f46c}',fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:'\u{1f46d}',fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:'\u{1f647}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],char:'\u{1f647}',fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:'\u{1f926}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:'\u{1f926}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:'\u{1f937}',fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:'\u{1f937}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:'\u{1f481}',fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:'\u{1f481}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:'\u{1f645}',fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:'\u{1f645}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:'\u{1f646}',fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:'\u{1f646}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:'\u{1f64b}',fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:'\u{1f64b}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:'\u{1f64e}',fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],char:'\u{1f64e}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:'\u{1f64d}',fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:'\u{1f64d}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:'\u{1f487}',fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],char:'\u{1f487}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:'\u{1f486}',fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:'\u{1f486}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:'\u{1f9d6}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:'\u{1f9d6}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f491}',fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f469}',fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f468}',fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f48f}',fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f469}',fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f468}',fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:'\u{1f46a}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:'\u{1f469}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:'\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:'\u{1f468}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:'\u{1f468}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:'\u{1f9f6}',fitzpatrick_scale:!1,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:'\u{1f9f5}',fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],char:'\u{1f9e5}',fitzpatrick_scale:!1,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:'\u{1f97c}',fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:'\u{1f45a}',fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:'\u{1f455}',fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],char:'\u{1f456}',fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:'\u{1f454}',fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:'\u{1f457}',fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:'\u{1f459}',fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:'\u{1f458}',fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:'\u{1f484}',fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:'\u{1f48b}',fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:'\u{1f463}',fitzpatrick_scale:!1,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:'\u{1f97f}',fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:'\u{1f460}',fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:'\u{1f461}',fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],char:'\u{1f462}',fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],char:'\u{1f45e}',fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:'\u{1f45f}',fitzpatrick_scale:!1,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:'\u{1f97e}',fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],char:'\u{1f9e6}',fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:'\u{1f9e4}',fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:'\u{1f9e3}',fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:'\u{1f452}',fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:'\u{1f3a9}',fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],char:'\u{1f9e2}',fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:'\u26d1',fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:'\u{1f393}',fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:'\u{1f451}',fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:'\u{1f392}',fitzpatrick_scale:!1,category:"people"},luggage:{keywords:["packing","travel"],char:'\u{1f9f3}',fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:'\u{1f45d}',fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:'\u{1f45b}',fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:'\u{1f45c}',fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:'\u{1f4bc}',fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:'\u{1f453}',fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:'\u{1f576}',fitzpatrick_scale:!1,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:'\u{1f97d}',fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:'\u{1f48d}',fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:'\u{1f302}',fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:'\u{1f436}',fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:'\u{1f431}',fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:'\u{1f42d}',fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:'\u{1f439}',fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:'\u{1f430}',fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:'\u{1f98a}',fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:'\u{1f43b}',fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:'\u{1f43c}',fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:'\u{1f428}',fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:'\u{1f42f}',fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:'\u{1f981}',fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:'\u{1f42e}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:'\u{1f437}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:'\u{1f43d}',fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:'\u{1f438}',fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:'\u{1f991}',fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:'\u{1f419}',fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:'\u{1f990}',fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:'\u{1f435}',fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:'\u{1f98d}',fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:'\u{1f648}',fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:'\u{1f649}',fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:'\u{1f64a}',fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:'\u{1f412}',fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:'\u{1f414}',fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:'\u{1f427}',fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:'\u{1f426}',fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:'\u{1f424}',fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:'\u{1f423}',fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:'\u{1f425}',fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:'\u{1f986}',fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:'\u{1f985}',fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:'\u{1f989}',fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:'\u{1f987}',fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:'\u{1f43a}',fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:'\u{1f417}',fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:'\u{1f434}',fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:'\u{1f984}',fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:'\u{1f41d}',fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:'\u{1f41b}',fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:'\u{1f98b}',fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:'\u{1f40c}',fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:'\u{1f41e}',fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:'\u{1f41c}',fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:'\u{1f997}',fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:'\u{1f577}',fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:'\u{1f982}',fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:'\u{1f980}',fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:'\u{1f40d}',fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:'\u{1f98e}',fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:'\u{1f996}',fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:'\u{1f995}',fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:'\u{1f422}',fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:'\u{1f420}',fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:'\u{1f41f}',fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:'\u{1f421}',fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:'\u{1f42c}',fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:'\u{1f988}',fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:'\u{1f433}',fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:'\u{1f40b}',fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:'\u{1f40a}',fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:'\u{1f406}',fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:'\u{1f993}',fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:'\u{1f405}',fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:'\u{1f403}',fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:'\u{1f402}',fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:'\u{1f404}',fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:'\u{1f98c}',fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:'\u{1f42a}',fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:'\u{1f42b}',fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:'\u{1f992}',fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:'\u{1f418}',fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:'\u{1f98f}',fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:'\u{1f410}',fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:'\u{1f40f}',fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:'\u{1f411}',fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:'\u{1f40e}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:'\u{1f416}',fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:'\u{1f400}',fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:'\u{1f401}',fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:'\u{1f413}',fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:'\u{1f983}',fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:'\u{1f54a}',fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:'\u{1f415}',fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:'\u{1f429}',fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:'\u{1f408}',fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:'\u{1f407}',fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:'\u{1f43f}',fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:'\u{1f994}',fitzpatrick_scale:!1,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:'\u{1f99d}',fitzpatrick_scale:!1,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:'\u{1f999}',fitzpatrick_scale:!1,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:'\u{1f99b}',fitzpatrick_scale:!1,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:'\u{1f998}',fitzpatrick_scale:!1,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:'\u{1f9a1}',fitzpatrick_scale:!1,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:'\u{1f9a2}',fitzpatrick_scale:!1,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:'\u{1f99a}',fitzpatrick_scale:!1,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:'\u{1f99c}',fitzpatrick_scale:!1,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:'\u{1f99e}',fitzpatrick_scale:!1,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:'\u{1f99f}',fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:'\u{1f43e}',fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:'\u{1f409}',fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:'\u{1f432}',fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:'\u{1f335}',fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:'\u{1f384}',fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:'\u{1f332}',fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:'\u{1f333}',fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:'\u{1f334}',fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:'\u{1f331}',fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:'\u{1f33f}',fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:'\u2618',fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:'\u{1f340}',fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:'\u{1f38d}',fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:'\u{1f38b}',fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:'\u{1f343}',fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:'\u{1f342}',fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:'\u{1f341}',fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:'\u{1f33e}',fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:'\u{1f33a}',fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:'\u{1f33b}',fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:'\u{1f339}',fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:'\u{1f940}',fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:'\u{1f337}',fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:'\u{1f33c}',fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:'\u{1f338}',fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:'\u{1f490}',fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:'\u{1f344}',fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:'\u{1f330}',fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:'\u{1f383}',fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:'\u{1f41a}',fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:'\u{1f578}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:'\u{1f30e}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:'\u{1f30d}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:'\u{1f30f}',fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:'\u{1f315}',fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:'\u{1f316}',fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f317}',fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f318}',fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f311}',fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f312}',fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f313}',fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:'\u{1f314}',fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31a}',fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31d}',fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31b}',fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31c}',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:'\u{1f31e}',fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:'\u{1f319}',fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:'\u2b50',fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:'\u{1f31f}',fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:'\u{1f4ab}',fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:'\u2728',fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],char:'\u2604',fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:'\u2600\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:'\u{1f324}',fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:'\u26c5',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:'\u{1f325}',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:'\u{1f326}',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:'\u2601\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:'\u{1f327}',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:'\u26c8',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:'\u{1f329}',fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:'\u26a1',fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:'\u{1f525}',fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:'\u{1f4a5}',fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:'\u2744\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:'\u{1f328}',fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:'\u26c4',fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:'\u2603',fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:'\u{1f32c}',fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:'\u{1f4a8}',fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:'\u{1f32a}',fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],char:'\u{1f32b}',fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:'\u2602',fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:'\u2614',fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:'\u{1f4a7}',fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:'\u{1f4a6}',fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:'\u{1f30a}',fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:'\u{1f34f}',fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:'\u{1f34e}',fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:'\u{1f350}',fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:'\u{1f34a}',fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:'\u{1f34b}',fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:'\u{1f34c}',fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:'\u{1f349}',fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:'\u{1f347}',fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:'\u{1f353}',fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:'\u{1f348}',fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:'\u{1f352}',fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:'\u{1f351}',fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:'\u{1f34d}',fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:'\u{1f965}',fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:'\u{1f95d}',fitzpatrick_scale:!1,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:'\u{1f96d}',fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:'\u{1f951}',fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:'\u{1f966}',fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:'\u{1f345}',fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:'\u{1f346}',fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:'\u{1f952}',fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:'\u{1f955}',fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:'\u{1f336}',fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:'\u{1f954}',fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:'\u{1f33d}',fitzpatrick_scale:!1,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:'\u{1f96c}',fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:'\u{1f360}',fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:'\u{1f95c}',fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:'\u{1f36f}',fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:'\u{1f950}',fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:'\u{1f35e}',fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:'\u{1f956}',fitzpatrick_scale:!1,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:'\u{1f96f}',fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:'\u{1f968}',fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:'\u{1f9c0}',fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:'\u{1f95a}',fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:'\u{1f953}',fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:'\u{1f969}',fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:'\u{1f95e}',fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:'\u{1f357}',fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:'\u{1f356}',fitzpatrick_scale:!1,category:"food_and_drink"},bone:{keywords:["skeleton"],char:'\u{1f9b4}',fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:'\u{1f364}',fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:'\u{1f373}',fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:'\u{1f354}',fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:'\u{1f35f}',fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:'\u{1f959}',fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:'\u{1f32d}',fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],char:'\u{1f355}',fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:'\u{1f96a}',fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:'\u{1f96b}',fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:'\u{1f35d}',fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:'\u{1f32e}',fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:'\u{1f32f}',fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:'\u{1f957}',fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:'\u{1f958}',fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:'\u{1f35c}',fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:'\u{1f372}',fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:'\u{1f365}',fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:'\u{1f960}',fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:'\u{1f363}',fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:'\u{1f371}',fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:'\u{1f35b}',fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:'\u{1f359}',fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:'\u{1f35a}',fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:'\u{1f358}',fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:'\u{1f362}',fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:'\u{1f361}',fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:'\u{1f367}',fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:'\u{1f368}',fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:'\u{1f366}',fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:'\u{1f967}',fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:'\u{1f370}',fitzpatrick_scale:!1,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:'\u{1f9c1}',fitzpatrick_scale:!1,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:'\u{1f96e}',fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:'\u{1f382}',fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:'\u{1f36e}',fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:'\u{1f36c}',fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:'\u{1f36d}',fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:'\u{1f36b}',fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:'\u{1f37f}',fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:'\u{1f95f}',fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:'\u{1f369}',fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:'\u{1f36a}',fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:'\u{1f95b}',fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'\u{1f37a}',fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'\u{1f37b}',fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:'\u{1f942}',fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:'\u{1f377}',fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:'\u{1f943}',fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:'\u{1f378}',fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:'\u{1f379}',fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:'\u{1f37e}',fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:'\u{1f376}',fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:'\u{1f375}',fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:'\u{1f964}',fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:'\u2615',fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:'\u{1f37c}',fitzpatrick_scale:!1,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:'\u{1f9c2}',fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:'\u{1f944}',fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:'\u{1f374}',fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:'\u{1f37d}',fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:'\u{1f963}',fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:'\u{1f961}',fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],char:'\u{1f962}',fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:'\u26bd',fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:'\u{1f3c0}',fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],char:'\u{1f3c8}',fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],char:'\u26be',fitzpatrick_scale:!1,category:"activity"},softball:{keywords:["sports","balls"],char:'\u{1f94e}',fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],char:'\u{1f3be}',fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],char:'\u{1f3d0}',fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],char:'\u{1f3c9}',fitzpatrick_scale:!1,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:'\u{1f94f}',fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:'\u{1f3b1}',fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:'\u26f3',fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:'\u{1f3cc}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],char:'\u{1f3cc}',fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:'\u{1f3d3}',fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],char:'\u{1f3f8}',fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],char:'\u{1f945}',fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],char:'\u{1f3d2}',fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],char:'\u{1f3d1}',fitzpatrick_scale:!1,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:'\u{1f94d}',fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],char:'\u{1f3cf}',fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:'\u{1f3bf}',fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],char:'\u26f7',fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],char:'\u{1f3c2}',fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:'\u{1f93a}',fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:'\u{1f93c}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:'\u{1f93c}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:'\u{1f938}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:'\u{1f938}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],char:'\u{1f93e}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],char:'\u{1f93e}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],char:'\u26f8',fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],char:'\u{1f94c}',fitzpatrick_scale:!1,category:"activity"},skateboard:{keywords:["board"],char:'\u{1f6f9}',fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:'\u{1f6f7}',fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],char:'\u{1f3f9}',fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:'\u{1f3a3}',fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:'\u{1f94a}',fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:'\u{1f94b}',fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:'\u{1f6a3}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:'\u{1f6a3}',fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:'\u{1f9d7}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:'\u{1f9d7}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:'\u{1f3ca}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:'\u{1f3ca}',fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:'\u{1f93d}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:'\u{1f93d}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:'\u{1f9d8}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:'\u{1f9d8}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:'\u{1f3c4}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:'\u{1f3c4}',fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:'\u{1f6c0}',fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:'\u26f9\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],char:'\u26f9',fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:'\u{1f3cb}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:'\u{1f3cb}',fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:'\u{1f6b4}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:'\u{1f6b4}',fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:'\u{1f6b5}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:'\u{1f6b5}',fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:'\u{1f3c7}',fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:'\u{1f574}',fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:'\u{1f3c6}',fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:'\u{1f3bd}',fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],char:'\u{1f3c5}',fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],char:'\u{1f396}',fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:'\u{1f947}',fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:'\u{1f948}',fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:'\u{1f949}',fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:'\u{1f397}',fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:'\u{1f3f5}',fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],char:'\u{1f3ab}',fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:'\u{1f39f}',fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:'\u{1f3ad}',fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:'\u{1f3a8}',fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:'\u{1f3aa}',fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:'\u{1f939}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:'\u{1f939}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:'\u{1f3a4}',fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:'\u{1f3a7}',fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:'\u{1f3bc}',fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:'\u{1f3b9}',fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:'\u{1f941}',fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:'\u{1f3b7}',fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],char:'\u{1f3ba}',fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],char:'\u{1f3b8}',fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:'\u{1f3bb}',fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],char:'\u{1f3ac}',fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:'\u{1f3ae}',fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:'\u{1f47e}',fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:'\u{1f3af}',fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:'\u{1f3b2}',fitzpatrick_scale:!1,category:"activity"},chess_pawn:{keywords:["expendable"],char:"\u265f",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:'\u{1f3b0}',fitzpatrick_scale:!1,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:'\u{1f9e9}',fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],char:'\u{1f3b3}',fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:'\u{1f697}',fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:'\u{1f695}',fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:'\u{1f699}',fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:'\u{1f68c}',fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:'\u{1f68e}',fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:'\u{1f3ce}',fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:'\u{1f693}',fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:'\u{1f691}',fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:'\u{1f692}',fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:'\u{1f690}',fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:'\u{1f69a}',fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:'\u{1f69b}',fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:'\u{1f69c}',fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:'\u{1f6f4}',fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:'\u{1f3cd}',fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:'\u{1f6b2}',fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:'\u{1f6f5}',fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:'\u{1f6a8}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:'\u{1f694}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:'\u{1f68d}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:'\u{1f698}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:'\u{1f696}',fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:'\u{1f6a1}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:'\u{1f6a0}',fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:'\u{1f69f}',fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:'\u{1f683}',fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:'\u{1f68b}',fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:'\u{1f69d}',fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:'\u{1f684}',fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:'\u{1f685}',fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:'\u{1f688}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:'\u{1f69e}',fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:'\u{1f682}',fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:'\u{1f686}',fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:'\u{1f687}',fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:'\u{1f68a}',fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:'\u{1f689}',fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:'\u{1f6f8}',fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:'\u{1f681}',fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:'\u{1f6e9}',fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:'\u2708\ufe0f',fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:'\u{1f6eb}',fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:'\u{1f6ec}',fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:'\u26f5',fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:'\u{1f6e5}',fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:'\u{1f6a4}',fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:'\u26f4',fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:'\u{1f6f3}',fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:'\u{1f680}',fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:'\u{1f6f0}',fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:'\u{1f4ba}',fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:'\u{1f6f6}',fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:'\u2693',fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:'\u{1f6a7}',fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:'\u26fd',fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:'\u{1f68f}',fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:'\u{1f6a6}',fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:'\u{1f6a5}',fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:'\u{1f3c1}',fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:'\u{1f6a2}',fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:'\u{1f3a1}',fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:'\u{1f3a2}',fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:'\u{1f3a0}',fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:'\u{1f3d7}',fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:'\u{1f301}',fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:'\u{1f5fc}',fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:'\u{1f3ed}',fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:'\u26f2',fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:'\u{1f391}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:'\u26f0',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:'\u{1f3d4}',fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:'\u{1f5fb}',fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:'\u{1f30b}',fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:'\u{1f5fe}',fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:'\u{1f3d5}',fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:'\u26fa',fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:'\u{1f3de}',fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:'\u{1f6e3}',fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:'\u{1f6e4}',fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:'\u{1f305}',fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:'\u{1f304}',fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:'\u{1f3dc}',fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:'\u{1f3d6}',fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:'\u{1f3dd}',fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:'\u{1f307}',fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:'\u{1f306}',fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:'\u{1f3d9}',fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:'\u{1f303}',fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:'\u{1f309}',fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:'\u{1f30c}',fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],char:'\u{1f320}',fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:'\u{1f387}',fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:'\u{1f386}',fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:'\u{1f308}',fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:'\u{1f3d8}',fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:'\u{1f3f0}',fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:'\u{1f3ef}',fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:'\u{1f3df}',fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:'\u{1f5fd}',fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],char:'\u{1f3e0}',fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:'\u{1f3e1}',fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:'\u{1f3da}',fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:'\u{1f3e2}',fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:'\u{1f3ec}',fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:'\u{1f3e3}',fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:'\u{1f3e4}',fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:'\u{1f3e5}',fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:'\u{1f3e6}',fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:'\u{1f3e8}',fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:'\u{1f3ea}',fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:'\u{1f3eb}',fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:'\u{1f3e9}',fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:'\u{1f492}',fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:'\u{1f3db}',fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:'\u26ea',fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:'\u{1f54c}',fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:'\u{1f54d}',fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:'\u{1f54b}',fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:'\u26e9',fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:'\u231a',fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:'\u{1f4f1}',fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],char:'\u{1f4f2}',fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:'\u{1f4bb}',fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:'\u2328',fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:'\u{1f5a5}',fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],char:'\u{1f5a8}',fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],char:'\u{1f5b1}',fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],char:'\u{1f5b2}',fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],char:'\u{1f579}',fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],char:'\u{1f5dc}',fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:'\u{1f4bd}',fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:'\u{1f4be}',fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:'\u{1f4bf}',fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:'\u{1f4c0}',fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:'\u{1f4fc}',fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],char:'\u{1f4f7}',fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:'\u{1f4f8}',fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],char:'\u{1f4f9}',fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],char:'\u{1f3a5}',fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:'\u{1f4fd}',fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],char:'\u{1f39e}',fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:'\u{1f4de}',fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:'\u260e\ufe0f',fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:'\u{1f4df}',fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],char:'\u{1f4e0}',fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:'\u{1f4fa}',fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:'\u{1f4fb}',fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:'\u{1f399}',fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],char:'\u{1f39a}',fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],char:'\u{1f39b}',fitzpatrick_scale:!1,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:'\u{1f9ed}',fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],char:'\u23f1',fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],char:'\u23f2',fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],char:'\u23f0',fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],char:'\u{1f570}',fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:'\u23f3',fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:'\u231b',fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:'\u{1f4e1}',fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],char:'\u{1f50b}',fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],char:'\u{1f50c}',fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:'\u{1f4a1}',fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:'\u{1f526}',fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],char:'\u{1f56f}',fitzpatrick_scale:!1,category:"objects"},fire_extinguisher:{keywords:["quench"],char:'\u{1f9ef}',fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:'\u{1f5d1}',fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],char:'\u{1f6e2}',fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:'\u{1f4b8}',fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:'\u{1f4b5}',fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:'\u{1f4b4}',fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:'\u{1f4b6}',fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:'\u{1f4b7}',fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:'\u{1f4b0}',fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:'\u{1f4b3}',fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:'\u{1f48e}',fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:'\u2696',fitzpatrick_scale:!1,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:'\u{1f9f0}',fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:'\u{1f527}',fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],char:'\u{1f528}',fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:'\u2692',fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:'\u{1f6e0}',fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],char:'\u26cf',fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:'\u{1f529}',fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],char:'\u2699',fitzpatrick_scale:!1,category:"objects"},brick:{keywords:["bricks"],char:'\u{1f9f1}',fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],char:'\u26d3',fitzpatrick_scale:!1,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:'\u{1f9f2}',fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:'\u{1f52b}',fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:'\u{1f4a3}',fitzpatrick_scale:!1,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:'\u{1f9e8}',fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:'\u{1f52a}',fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],char:'\u{1f5e1}',fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],char:'\u2694',fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],char:'\u{1f6e1}',fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:'\u{1f6ac}',fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:'\u2620',fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:'\u26b0',fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:'\u26b1',fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],char:'\u{1f3fa}',fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:'\u{1f52e}',fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:'\u{1f4ff}',fitzpatrick_scale:!1,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:'\u{1f9ff}',fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],char:'\u{1f488}',fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:'\u2697',fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:'\u{1f52d}',fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:'\u{1f52c}',fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],char:'\u{1f573}',fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:'\u{1f48a}',fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:'\u{1f489}',fitzpatrick_scale:!1,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:'\u{1f9ec}',fitzpatrick_scale:!1,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:'\u{1f9a0}',fitzpatrick_scale:!1,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:'\u{1f9eb}',fitzpatrick_scale:!1,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:'\u{1f9ea}',fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:'\u{1f321}',fitzpatrick_scale:!1,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:'\u{1f9f9}',fitzpatrick_scale:!1,category:"objects"},basket:{keywords:["laundry"],char:'\u{1f9fa}',fitzpatrick_scale:!1,category:"objects"},toilet_paper:{keywords:["roll"],char:'\u{1f9fb}',fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],char:'\u{1f3f7}',fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:'\u{1f516}',fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:'\u{1f6bd}',fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:'\u{1f6bf}',fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:'\u{1f6c1}',fitzpatrick_scale:!1,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:'\u{1f9fc}',fitzpatrick_scale:!1,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:'\u{1f9fd}',fitzpatrick_scale:!1,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:'\u{1f9f4}',fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],char:'\u{1f511}',fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],char:'\u{1f5dd}',fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:'\u{1f6cb}',fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:'\u{1f6cc}',fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],char:'\u{1f6cf}',fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],char:'\u{1f6aa}',fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],char:'\u{1f6ce}',fitzpatrick_scale:!1,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:'\u{1f9f8}',fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],char:'\u{1f5bc}',fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],char:'\u{1f5fa}',fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:'\u26f1',fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:'\u{1f5ff}',fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:'\u{1f6cd}',fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],char:'\u{1f6d2}',fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:'\u{1f388}',fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:'\u{1f38f}',fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:'\u{1f380}',fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:'\u{1f381}',fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:'\u{1f38a}',fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:'\u{1f389}',fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:'\u{1f38e}',fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:'\u{1f390}',fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:'\u{1f38c}',fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:'\u{1f3ee}',fitzpatrick_scale:!1,category:"objects"},red_envelope:{keywords:["gift"],char:'\u{1f9e7}',fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:'\u2709\ufe0f',fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:'\u{1f4e9}',fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:'\u{1f4e8}',fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:'\u{1f4e7}',fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:'\u{1f48c}',fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:'\u{1f4ee}',fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:'\u{1f4ea}',fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:'\u{1f4eb}',fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:'\u{1f4ec}',fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:'\u{1f4ed}',fitzpatrick_scale:!1,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:'\u{1f4e6}',fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],char:'\u{1f4ef}',fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],char:'\u{1f4e5}',fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:'\u{1f4e4}',fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:'\u{1f4dc}',fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:'\u{1f4c3}',fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:'\u{1f4d1}',fitzpatrick_scale:!1,category:"objects"},receipt:{keywords:["accounting","expenses"],char:'\u{1f9fe}',fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:'\u{1f4ca}',fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:'\u{1f4c8}',fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:'\u{1f4c9}',fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:'\u{1f4c4}',fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],char:'\u{1f4c5}',fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:'\u{1f4c6}',fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:'\u{1f5d3}',fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],char:'\u{1f4c7}',fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],char:'\u{1f5c3}',fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],char:'\u{1f5f3}',fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:'\u{1f5c4}',fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],char:'\u{1f4cb}',fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:'\u{1f5d2}',fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],char:'\u{1f4c1}',fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],char:'\u{1f4c2}',fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:'\u{1f5c2}',fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:'\u{1f5de}',fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],char:'\u{1f4f0}',fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:'\u{1f4d3}',fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:'\u{1f4d5}',fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:'\u{1f4d7}',fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:'\u{1f4d8}',fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:'\u{1f4d9}',fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:'\u{1f4d4}',fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],char:'\u{1f4d2}',fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],char:'\u{1f4da}',fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:'\u{1f4d6}',fitzpatrick_scale:!1,category:"objects"},safety_pin:{keywords:["diaper"],char:'\u{1f9f7}',fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],char:'\u{1f517}',fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],char:'\u{1f4ce}',fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],char:'\u{1f587}',fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],char:'\u2702\ufe0f',fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:'\u{1f4d0}',fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:'\u{1f4cf}',fitzpatrick_scale:!1,category:"objects"},abacus:{keywords:["calculation"],char:'\u{1f9ee}',fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:'\u{1f4cc}',fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:'\u{1f4cd}',fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:'\u{1f6a9}',fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:'\u{1f3f3}',fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],char:'\u{1f3f4}',fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:'\u{1f3f3}\ufe0f\u200d\u{1f308}',fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:'\u{1f510}',fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],char:'\u{1f512}',fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],char:'\u{1f513}',fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:'\u{1f50f}',fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],char:'\u{1f58a}',fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:'\u{1f58b}',fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:'\u2712\ufe0f',fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:'\u{1f4dd}',fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:'\u270f\ufe0f',fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],char:'\u{1f58d}',fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:'\u{1f58c}',fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:'\u{1f50d}',fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:'\u{1f50e}',fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],char:'\u2764\ufe0f',fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f9e1}',fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49b}',fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49a}',fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f499}',fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49c}',fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],char:'\u{1f5a4}',fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:'\u{1f494}',fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:'\u2763',fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:'\u{1f495}',fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:'\u{1f49e}',fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:'\u{1f493}',fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:'\u{1f497}',fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f496}',fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:'\u{1f498}',fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:'\u{1f49d}',fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:'\u{1f49f}',fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],char:'\u262e',fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],char:'\u271d',fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],char:'\u262a',fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'\u{1f549}',fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'\u2638',fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],char:'\u2721',fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:'\u{1f52f}',fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:'\u{1f54e}',fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],char:'\u262f',fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:'\u2626',fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:'\u{1f6d0}',fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:'\u26ce',fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u2648',fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:'\u2649',fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264a',fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264b',fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u264c',fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264d',fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u264e',fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:'\u264f',fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u2650',fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u2651',fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u2652',fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:'\u2653',fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],char:'\u{1f194}',fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:'\u269b',fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:'\u{1f233}',fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:'\u{1f239}',fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:'\u2622',fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],char:'\u2623',fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:'\u{1f4f4}',fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:'\u{1f4f3}',fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:'\u{1f236}',fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:'\u{1f21a}',fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:'\u{1f238}',fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:'\u{1f23a}',fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:'\u{1f237}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:'\u2734\ufe0f',fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],char:'\u{1f19a}',fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:'\u{1f251}',fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:'\u{1f4ae}',fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:'\u{1f250}',fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:'\u3299\ufe0f',fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:'\u3297\ufe0f',fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:'\u{1f234}',fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:'\u{1f235}',fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:'\u{1f232}',fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:'\u{1f170}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:'\u{1f171}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:'\u{1f18e}',fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:'\u{1f191}',fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:'\u{1f17e}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:'\u{1f198}',fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:'\u26d4',fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:'\u{1f4db}',fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:'\u{1f6ab}',fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:'\u274c',fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],char:'\u2b55',fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],char:'\u{1f6d1}',fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],char:'\u{1f4a2}',fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:'\u2668\ufe0f',fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:'\u{1f6b7}',fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:'\u{1f6af}',fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:'\u{1f6b3}',fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:'\u{1f6b1}',fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:'\u{1f51e}',fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:'\u{1f4f5}',fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:'\u2757',fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:'\u2755',fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],char:'\u2753',fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:'\u2754',fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:'\u203c\ufe0f',fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:'\u2049\ufe0f',fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:'\u{1f505}',fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],char:'\u{1f506}',fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],char:'\u{1f531}',fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:'\u269c',fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:'\u303d\ufe0f',fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:'\u26a0\ufe0f',fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:'\u{1f6b8}',fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],char:'\u{1f530}',fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:'\u267b\ufe0f',fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:'\u{1f22f}',fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:'\u{1f4b9}',fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:'\u2747\ufe0f',fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:'\u2733\ufe0f',fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:'\u274e',fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:'\u2705',fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:'\u{1f4a0}',fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:'\u{1f300}',fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],char:'\u27bf',fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:'\u{1f310}',fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:'\u24c2\ufe0f',fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:'\u{1f3e7}',fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:'\u{1f202}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:'\u{1f6c2}',fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:'\u{1f6c3}',fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:'\u{1f6c4}',fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:'\u{1f6c5}',fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:'\u267f',fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:'\u{1f6ad}',fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:'\u{1f6be}',fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:'\u{1f17f}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:'\u{1f6b0}',fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:'\u{1f6b9}',fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:'\u{1f6ba}',fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:'\u{1f6bc}',fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:'\u{1f6bb}',fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:'\u{1f6ae}',fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:'\u{1f3a6}',fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:'\u{1f4f6}',fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:'\u{1f201}',fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:'\u{1f196}',fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:'\u{1f197}',fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],char:'\u{1f199}',fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],char:'\u{1f192}',fitzpatrick_scale:!1,category:"symbols"},new:{keywords:["blue-square","words","start"],char:'\u{1f195}',fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],char:'\u{1f193}',fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:'0\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:'1\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:'2\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:'3\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:'4\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:'5\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:'6\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:'7\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:'8\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:'9\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:'\u{1f51f}',fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],char:'*\u20e3',fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],char:'\u23cf\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:'\u25b6\ufe0f',fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:'\u23f8',fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:'\u23ed',fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],char:'\u23f9',fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],char:'\u23fa',fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:'\u23ef',fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],char:'\u23ee',fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:'\u23e9',fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],char:'\u23ea',fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:'\u{1f500}',fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],char:'\u{1f501}',fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:'\u{1f502}',fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:'\u25c0\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:'\u{1f53c}',fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:'\u{1f53d}',fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:'\u23eb',fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:'\u23ec',fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:'\u27a1\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:'\u2b05\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:'\u2b06\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:'\u2b07\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:'\u2197\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:'\u2198\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:'\u2199\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:'\u2196\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:'\u2195\ufe0f',fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:'\u2194\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:'\u{1f504}',fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:'\u21aa\ufe0f',fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:'\u21a9\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:'\u2934\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:'\u2935\ufe0f',fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:'#\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:'\u2139\ufe0f',fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:'\u{1f524}',fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:'\u{1f521}',fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:'\u{1f520}',fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:'\u{1f523}',fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:'\u{1f3b5}',fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],char:'\u{1f3b6}',fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:'\u3030\ufe0f',fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:'\u27b0',fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:'\u2714\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:'\u{1f503}',fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:'\u2795',fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:'\u2796',fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:'\u2797',fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:'\u2716\ufe0f',fitzpatrick_scale:!1,category:"symbols"},infinity:{keywords:["forever"],char:'\u267e',fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:'\u{1f4b2}',fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:'\u{1f4b1}',fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:'\xa9\ufe0f',fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],char:'\xae\ufe0f',fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:'\u2122\ufe0f',fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],char:'\u{1f51a}',fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],char:'\u{1f519}',fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],char:'\u{1f51b}',fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],char:'\u{1f51d}',fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],char:'\u{1f51c}',fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:'\u2611\ufe0f',fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:'\u{1f518}',fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],char:'\u26aa',fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:'\u26ab',fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:'\u{1f534}',fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:'\u{1f535}',fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f538}',fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f539}',fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f536}',fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f537}',fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:'\u{1f53a}',fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:'\u25aa\ufe0f',fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:'\u25ab\ufe0f',fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:'\u2b1b',fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:'\u2b1c',fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:'\u{1f53b}',fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:'\u25fc\ufe0f',fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:'\u25fb\ufe0f',fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:'\u25fe',fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:'\u25fd',fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:'\u{1f532}',fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],char:'\u{1f533}',fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:'\u{1f508}',fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:'\u{1f509}',fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:'\u{1f50a}',fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:'\u{1f507}',fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:'\u{1f4e3}',fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:'\u{1f4e2}',fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:'\u{1f514}',fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:'\u{1f515}',fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:'\u{1f0cf}',fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:'\u{1f004}',fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:'\u2660\ufe0f',fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:'\u2663\ufe0f',fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:'\u2665\ufe0f',fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:'\u2666\ufe0f',fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:'\u{1f3b4}',fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:'\u{1f4ad}',fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:'\u{1f5ef}',fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:'\u{1f4ac}',fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:'\u{1f5e8}',fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:'\u{1f550}',fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:'\u{1f551}',fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:'\u{1f552}',fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:'\u{1f553}',fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:'\u{1f554}',fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:'\u{1f555}',fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:'\u{1f556}',fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:'\u{1f557}',fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:'\u{1f558}',fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:'\u{1f559}',fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:'\u{1f55a}',fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:'\u{1f55b}',fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:'\u{1f55c}',fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:'\u{1f55d}',fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:'\u{1f55e}',fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:'\u{1f55f}',fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:'\u{1f560}',fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:'\u{1f561}',fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:'\u{1f562}',fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:'\u{1f563}',fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:'\u{1f564}',fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:'\u{1f565}',fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:'\u{1f566}',fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:'\u{1f567}',fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["\xc5land","islands","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:'\u{1f1e8}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["cura\xe7ao","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:'\u{1f1ea}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:'\u{1f1eb}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:'\u{1f1e9}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:'\u{1f1ef}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:'\u{1f1fd}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:'\u{1f1fe}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:'\u{1f1f0}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:'\u{1f1f4}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:'\u{1f1f6}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["r\xe9union","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barth\xe9lemy","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:'\u{1f1fc}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:'\u{1f1f0}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:'\u{1f1ec}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0065}\u{e006e}\u{e0067}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0073}\u{e0063}\u{e0074}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0077}\u{e006c}\u{e0073}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:'\u{1f1fc}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:'\u{1f1fe}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:'\u{1f1fa}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:'\u{1f3f4}\u200d\u2620\ufe0f',fitzpatrick_scale:!1,category:"flags"}}); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojis.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojis.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojis.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojis.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojis.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojis.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojis.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojis.min.js index 5a1c4916..950a6de1 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/js/emojis.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/js/emojis.min.js @@ -1,2 +1 @@ -// Source: npm package: emojilib, file:emojis.json window.tinymce.Resource.add("tinymce.plugins.emoticons",{grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"\u{1f600}",fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"\u{1f62c}",fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"\u{1f601}",fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"\u{1f602}",fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:"\u{1f923}",fitzpatrick_scale:!1,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:"\u{1f973}",fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"\u{1f603}",fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"\u{1f604}",fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"\u{1f605}",fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"\u{1f606}",fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"\u{1f607}",fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:"\u{1f609}",fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"\u{1f60a}",fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:"\u{1f642}",fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:"\u{1f643}",fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"\u263a\ufe0f",fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:"\u{1f60b}",fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"\u{1f60c}",fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"\u{1f60d}",fitzpatrick_scale:!1,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:"\u{1f970}",fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"\u{1f618}",fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"\u{1f617}",fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"\u{1f619}",fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"\u{1f61a}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"\u{1f61c}",fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],char:"\u{1f92a}",fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:"\u{1f928}",fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:"\u{1f9d0}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"\u{1f61d}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"\u{1f61b}",fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:"\u{1f911}",fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:"\u{1f913}",fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"\u{1f60e}",fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:"\u{1f929}",fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],char:"\u{1f921}",fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:"\u{1f920}",fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],char:"\u{1f917}",fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"\u{1f60f}",fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"\u{1f636}",fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"\u{1f610}",fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"\u{1f611}",fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:"\u{1f612}",fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:"\u{1f644}",fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"\u{1f914}",fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:"\u{1f925}",fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:"\u{1f92d}",fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:"\u{1f92b}",fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:"\u{1f92c}",fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:"\u{1f92f}",fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"\u{1f633}",fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"\u{1f61e}",fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"\u{1f61f}",fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"\u{1f620}",fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"\u{1f621}",fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:"\u{1f614}",fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"\u{1f615}",fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:"\u{1f641}",fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:"\u2639",fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"\u{1f623}",fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"\u{1f616}",fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"\u{1f62b}",fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"\u{1f629}",fitzpatrick_scale:!1,category:"people"},pleading:{keywords:["face","begging","mercy"],char:"\u{1f97a}",fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"\u{1f624}",fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"\u{1f62e}",fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"\u{1f631}",fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"\u{1f628}",fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"\u{1f630}",fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],char:"\u{1f62f}",fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],char:"\u{1f626}",fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"\u{1f627}",fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"\u{1f622}",fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"\u{1f625}",fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],char:"\u{1f924}",fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"\u{1f62a}",fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"\u{1f613}",fitzpatrick_scale:!1,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:"\u{1f975}",fitzpatrick_scale:!1,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:"\u{1f976}",fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"\u{1f62d}",fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"\u{1f635}",fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"\u{1f632}",fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:"\u{1f910}",fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:"\u{1f922}",fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:"\u{1f927}",fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],char:"\u{1f92e}",fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"\u{1f637}",fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:"\u{1f912}",fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:"\u{1f915}",fitzpatrick_scale:!1,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:"\u{1f974}",fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"\u{1f634}",fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:"\u{1f4a4}",fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:"\u{1f4a9}",fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],char:"\u{1f608}",fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],char:"\u{1f47f}",fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"\u{1f479}",fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"\u{1f47a}",fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:"\u{1f480}",fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"\u{1f47b}",fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"\u{1f47d}",fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],char:"\u{1f916}",fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"\u{1f63a}",fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"\u{1f638}",fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"\u{1f639}",fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"\u{1f63b}",fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"\u{1f63c}",fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"\u{1f63d}",fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"\u{1f640}",fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"\u{1f63f}",fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],char:"\u{1f63e}",fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:"\u{1f932}",fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"\u{1f64c}",fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"\u{1f44f}",fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:"\u{1f44b}",fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:"\u{1f919}",fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"\u{1f44d}",fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:"\u{1f44e}",fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"\u{1f44a}",fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"\u270a",fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],char:"\u{1f91b}",fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],char:"\u{1f91c}",fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"\u270c",fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:"\u{1f44c}",fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:"\u270b",fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:"\u{1f91a}",fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"\u{1f450}",fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"\u{1f4aa}",fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"\u{1f64f}",fitzpatrick_scale:!0,category:"people"},foot:{keywords:["kick","stomp"],char:"\u{1f9b6}",fitzpatrick_scale:!0,category:"people"},leg:{keywords:["kick","limb"],char:"\u{1f9b5}",fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],char:"\u{1f91d}",fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"\u261d",fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"\u{1f446}",fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"\u{1f447}",fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"\u{1f448}",fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"\u{1f449}",fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:"\u{1f595}",fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:"\u{1f590}",fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:"\u{1f91f}",fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:"\u{1f918}",fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:"\u{1f91e}",fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"\u{1f596}",fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:"\u270d",fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],char:"\u{1f933}",fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"\u{1f485}",fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],char:"\u{1f444}",fitzpatrick_scale:!1,category:"people"},tooth:{keywords:["teeth","dentist"],char:"\u{1f9b7}",fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],char:"\u{1f445}",fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"\u{1f442}",fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],char:"\u{1f443}",fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"\u{1f441}",fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"\u{1f440}",fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],char:"\u{1f9e0}",fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"\u{1f464}",fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"\u{1f465}",fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:"\u{1f5e3}",fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"\u{1f476}",fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],char:"\u{1f9d2}",fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"\u{1f466}",fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],char:"\u{1f467}",fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],char:"\u{1f9d1}",fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"\u{1f468}",fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],char:"\u{1f469}",fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:"\u{1f471}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:"\u{1f471}",fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:"\u{1f9d4}",fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:"\u{1f9d3}",fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"\u{1f474}",fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"\u{1f475}",fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"\u{1f472}",fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:"\u{1f9d5}",fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:"\u{1f473}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"\u{1f473}",fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:"\u{1f46e}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"\u{1f46e}",fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:"\u{1f477}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"\u{1f477}",fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:"\u{1f482}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"\u{1f482}",fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:"\u{1f575}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],char:"\u{1f575}",fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:"\u{1f469}\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:"\u{1f468}\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:"\u{1f469}\u200d\u{1f33e}",fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:"\u{1f468}\u200d\u{1f33e}",fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:"\u{1f469}\u200d\u{1f373}",fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],char:"\u{1f468}\u200d\u{1f373}",fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:"\u{1f469}\u200d\u{1f393}",fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],char:"\u{1f468}\u200d\u{1f393}",fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:"\u{1f469}\u200d\u{1f3a4}",fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:"\u{1f468}\u200d\u{1f3a4}",fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:"\u{1f469}\u200d\u{1f3eb}",fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:"\u{1f468}\u200d\u{1f3eb}",fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:"\u{1f469}\u200d\u{1f3ed}",fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:"\u{1f468}\u200d\u{1f3ed}",fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:"\u{1f469}\u200d\u{1f4bb}",fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:"\u{1f468}\u200d\u{1f4bb}",fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:"\u{1f469}\u200d\u{1f4bc}",fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:"\u{1f468}\u200d\u{1f4bc}",fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:"\u{1f469}\u200d\u{1f527}",fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:"\u{1f468}\u200d\u{1f527}",fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:"\u{1f469}\u200d\u{1f52c}",fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:"\u{1f468}\u200d\u{1f52c}",fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:"\u{1f469}\u200d\u{1f3a8}",fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],char:"\u{1f468}\u200d\u{1f3a8}",fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:"\u{1f469}\u200d\u{1f692}",fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:"\u{1f468}\u200d\u{1f692}",fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:"\u{1f469}\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:"\u{1f468}\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:"\u{1f469}\u200d\u{1f680}",fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:"\u{1f468}\u200d\u{1f680}",fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:"\u{1f469}\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:"\u{1f468}\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:"\u{1f9b8}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:"\u{1f9b8}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:"\u{1f9b9}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:"\u{1f9b9}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:"\u{1f936}",fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"\u{1f385}",fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:"\u{1f9d9}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:"\u{1f9d9}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],char:"\u{1f9dd}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],char:"\u{1f9dd}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],char:"\u{1f9db}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:"\u{1f9db}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:"\u{1f9df}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:"\u{1f9df}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],char:"\u{1f9de}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],char:"\u{1f9de}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:"\u{1f9dc}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],char:"\u{1f9dc}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],char:"\u{1f9da}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],char:"\u{1f9da}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],char:"\u{1f47c}",fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],char:"\u{1f930}",fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:"\u{1f931}",fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"\u{1f478}",fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:"\u{1f934}",fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"\u{1f470}",fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:"\u{1f935}",fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:"\u{1f3c3}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:"\u{1f3c3}",fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:"\u{1f6b6}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],char:"\u{1f6b6}",fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"\u{1f483}",fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:"\u{1f57a}",fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:"\u{1f46f}",fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:"\u{1f46f}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"\u{1f46b}",fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"\u{1f46c}",fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"\u{1f46d}",fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:"\u{1f647}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],char:"\u{1f647}",fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:"\u{1f926}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:"\u{1f926}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:"\u{1f937}",fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:"\u{1f937}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:"\u{1f481}",fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:"\u{1f481}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:"\u{1f645}",fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:"\u{1f645}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"\u{1f646}",fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:"\u{1f646}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:"\u{1f64b}",fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:"\u{1f64b}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:"\u{1f64e}",fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],char:"\u{1f64e}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"\u{1f64d}",fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:"\u{1f64d}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:"\u{1f487}",fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],char:"\u{1f487}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:"\u{1f486}",fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:"\u{1f486}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:"\u{1f9d6}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:"\u{1f9d6}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f491}",fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f469}",fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f468}",fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f48f}",fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f469}",fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f468}",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"\u{1f46a}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:"\u{1f469}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:"\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:"\u{1f468}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:"\u{1f468}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:"\u{1f9f6}",fitzpatrick_scale:!1,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:"\u{1f9f5}",fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],char:"\u{1f9e5}",fitzpatrick_scale:!1,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:"\u{1f97c}",fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:"\u{1f45a}",fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:"\u{1f455}",fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],char:"\u{1f456}",fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"\u{1f454}",fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"\u{1f457}",fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"\u{1f459}",fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"\u{1f458}",fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"\u{1f484}",fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"\u{1f48b}",fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"\u{1f463}",fitzpatrick_scale:!1,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:"\u{1f97f}",fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"\u{1f460}",fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"\u{1f461}",fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],char:"\u{1f462}",fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],char:"\u{1f45e}",fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"\u{1f45f}",fitzpatrick_scale:!1,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:"\u{1f97e}",fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],char:"\u{1f9e6}",fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:"\u{1f9e4}",fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:"\u{1f9e3}",fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"\u{1f452}",fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"\u{1f3a9}",fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],char:"\u{1f9e2}",fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:"\u26d1",fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"\u{1f393}",fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"\u{1f451}",fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"\u{1f392}",fitzpatrick_scale:!1,category:"people"},luggage:{keywords:["packing","travel"],char:"\u{1f9f3}",fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"\u{1f45d}",fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"\u{1f45b}",fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"\u{1f45c}",fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:"\u{1f4bc}",fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"\u{1f453}",fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"\u{1f576}",fitzpatrick_scale:!1,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:"\u{1f97d}",fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"\u{1f48d}",fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"\u{1f302}",fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"\u{1f436}",fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"\u{1f431}",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:"\u{1f42d}",fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"\u{1f439}",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"\u{1f430}",fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:"\u{1f98a}",fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"\u{1f43b}",fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"\u{1f43c}",fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"\u{1f428}",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"\u{1f42f}",fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:"\u{1f981}",fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"\u{1f42e}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"\u{1f437}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"\u{1f43d}",fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"\u{1f438}",fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:"\u{1f991}",fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"\u{1f419}",fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:"\u{1f990}",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"\u{1f435}",fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:"\u{1f98d}",fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"\u{1f648}",fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"\u{1f649}",fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"\u{1f64a}",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"\u{1f412}",fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"\u{1f414}",fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"\u{1f427}",fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"\u{1f426}",fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"\u{1f424}",fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"\u{1f423}",fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"\u{1f425}",fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:"\u{1f986}",fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:"\u{1f985}",fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:"\u{1f989}",fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:"\u{1f987}",fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"\u{1f43a}",fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"\u{1f417}",fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"\u{1f434}",fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:"\u{1f984}",fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"\u{1f41d}",fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"\u{1f41b}",fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:"\u{1f98b}",fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"\u{1f40c}",fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"\u{1f41e}",fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"\u{1f41c}",fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:"\u{1f997}",fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"\u{1f577}",fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"\u{1f982}",fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"\u{1f980}",fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"\u{1f40d}",fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:"\u{1f98e}",fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:"\u{1f996}",fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:"\u{1f995}",fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"\u{1f422}",fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"\u{1f420}",fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"\u{1f41f}",fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"\u{1f421}",fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"\u{1f42c}",fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:"\u{1f988}",fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"\u{1f433}",fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"\u{1f40b}",fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"\u{1f40a}",fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"\u{1f406}",fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:"\u{1f993}",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"\u{1f405}",fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"\u{1f403}",fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"\u{1f402}",fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"\u{1f404}",fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:"\u{1f98c}",fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"\u{1f42a}",fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"\u{1f42b}",fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:"\u{1f992}",fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:"\u{1f418}",fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:"\u{1f98f}",fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"\u{1f410}",fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"\u{1f40f}",fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"\u{1f411}",fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"\u{1f40e}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"\u{1f416}",fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"\u{1f400}",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"\u{1f401}",fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"\u{1f413}",fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"\u{1f983}",fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:"\u{1f54a}",fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"\u{1f415}",fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"\u{1f429}",fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"\u{1f408}",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"\u{1f407}",fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"\u{1f43f}",fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:"\u{1f994}",fitzpatrick_scale:!1,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:"\u{1f99d}",fitzpatrick_scale:!1,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:"\u{1f999}",fitzpatrick_scale:!1,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:"\u{1f99b}",fitzpatrick_scale:!1,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:"\u{1f998}",fitzpatrick_scale:!1,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:"\u{1f9a1}",fitzpatrick_scale:!1,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:"\u{1f9a2}",fitzpatrick_scale:!1,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:"\u{1f99a}",fitzpatrick_scale:!1,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:"\u{1f99c}",fitzpatrick_scale:!1,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:"\u{1f99e}",fitzpatrick_scale:!1,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:"\u{1f99f}",fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:"\u{1f43e}",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"\u{1f409}",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"\u{1f432}",fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"\u{1f335}",fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"\u{1f384}",fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"\u{1f332}",fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"\u{1f333}",fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"\u{1f334}",fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"\u{1f331}",fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"\u{1f33f}",fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"\u2618",fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"\u{1f340}",fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"\u{1f38d}",fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"\u{1f38b}",fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"\u{1f343}",fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"\u{1f342}",fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:"\u{1f341}",fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"\u{1f33e}",fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"\u{1f33a}",fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"\u{1f33b}",fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"\u{1f339}",fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:"\u{1f940}",fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"\u{1f337}",fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"\u{1f33c}",fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"\u{1f338}",fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"\u{1f490}",fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"\u{1f344}",fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"\u{1f330}",fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"\u{1f383}",fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"\u{1f41a}",fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"\u{1f578}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"\u{1f30e}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"\u{1f30d}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"\u{1f30f}",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"\u{1f315}",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"\u{1f316}",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f317}",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f318}",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f311}",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f312}",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f313}",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"\u{1f314}",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31a}",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31d}",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31b}",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31c}",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"\u{1f31e}",fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"\u{1f319}",fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"\u2b50",fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"\u{1f31f}",fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"\u{1f4ab}",fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"\u2728",fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],char:"\u2604",fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"\u2600\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:"\u{1f324}",fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"\u26c5",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:"\u{1f325}",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:"\u{1f326}",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"\u2601\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"\u{1f327}",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:"\u26c8",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"\u{1f329}",fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"\u26a1",fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"\u{1f525}",fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"\u{1f4a5}",fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"\u2744\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"\u{1f328}",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"\u26c4",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"\u2603",fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:"\u{1f32c}",fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"\u{1f4a8}",fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:"\u{1f32a}",fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],char:"\u{1f32b}",fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:"\u2602",fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"\u2614",fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"\u{1f4a7}",fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"\u{1f4a6}",fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"\u{1f30a}",fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"\u{1f34f}",fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"\u{1f34e}",fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"\u{1f350}",fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"\u{1f34a}",fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"\u{1f34b}",fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"\u{1f34c}",fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"\u{1f349}",fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"\u{1f347}",fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"\u{1f353}",fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"\u{1f348}",fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"\u{1f352}",fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"\u{1f351}",fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"\u{1f34d}",fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:"\u{1f965}",fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:"\u{1f95d}",fitzpatrick_scale:!1,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:"\u{1f96d}",fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:"\u{1f951}",fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:"\u{1f966}",fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"\u{1f345}",fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"\u{1f346}",fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:"\u{1f952}",fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:"\u{1f955}",fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"\u{1f336}",fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:"\u{1f954}",fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"\u{1f33d}",fitzpatrick_scale:!1,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:"\u{1f96c}",fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"\u{1f360}",fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:"\u{1f95c}",fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"\u{1f36f}",fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:"\u{1f950}",fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"\u{1f35e}",fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:"\u{1f956}",fitzpatrick_scale:!1,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:"\u{1f96f}",fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:"\u{1f968}",fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:"\u{1f9c0}",fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:"\u{1f95a}",fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:"\u{1f953}",fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:"\u{1f969}",fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:"\u{1f95e}",fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"\u{1f357}",fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"\u{1f356}",fitzpatrick_scale:!1,category:"food_and_drink"},bone:{keywords:["skeleton"],char:"\u{1f9b4}",fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"\u{1f364}",fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:"\u{1f373}",fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"\u{1f354}",fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"\u{1f35f}",fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:"\u{1f959}",fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:"\u{1f32d}",fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],char:"\u{1f355}",fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:"\u{1f96a}",fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:"\u{1f96b}",fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"\u{1f35d}",fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"\u{1f32e}",fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"\u{1f32f}",fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:"\u{1f957}",fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:"\u{1f958}",fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"\u{1f35c}",fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"\u{1f372}",fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:"\u{1f365}",fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:"\u{1f960}",fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"\u{1f363}",fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"\u{1f371}",fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"\u{1f35b}",fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"\u{1f359}",fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"\u{1f35a}",fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"\u{1f358}",fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"\u{1f362}",fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"\u{1f361}",fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"\u{1f367}",fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"\u{1f368}",fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"\u{1f366}",fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:"\u{1f967}",fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"\u{1f370}",fitzpatrick_scale:!1,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:"\u{1f9c1}",fitzpatrick_scale:!1,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:"\u{1f96e}",fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"\u{1f382}",fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"\u{1f36e}",fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"\u{1f36c}",fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"\u{1f36d}",fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"\u{1f36b}",fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"\u{1f37f}",fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:"\u{1f95f}",fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"\u{1f369}",fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"\u{1f36a}",fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:"\u{1f95b}",fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"\u{1f37a}",fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"\u{1f37b}",fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:"\u{1f942}",fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"\u{1f377}",fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:"\u{1f943}",fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"\u{1f378}",fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"\u{1f379}",fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:"\u{1f37e}",fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"\u{1f376}",fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"\u{1f375}",fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:"\u{1f964}",fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"\u2615",fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"\u{1f37c}",fitzpatrick_scale:!1,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:"\u{1f9c2}",fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:"\u{1f944}",fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"\u{1f374}",fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"\u{1f37d}",fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:"\u{1f963}",fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:"\u{1f961}",fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],char:"\u{1f962}",fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"\u26bd",fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"\u{1f3c0}",fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],char:"\u{1f3c8}",fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],char:"\u26be",fitzpatrick_scale:!1,category:"activity"},softball:{keywords:["sports","balls"],char:"\u{1f94e}",fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],char:"\u{1f3be}",fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],char:"\u{1f3d0}",fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],char:"\u{1f3c9}",fitzpatrick_scale:!1,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:"\u{1f94f}",fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"\u{1f3b1}",fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"\u26f3",fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:"\u{1f3cc}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],char:"\u{1f3cc}",fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:"\u{1f3d3}",fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],char:"\u{1f3f8}",fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],char:"\u{1f945}",fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],char:"\u{1f3d2}",fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],char:"\u{1f3d1}",fitzpatrick_scale:!1,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:"\u{1f94d}",fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],char:"\u{1f3cf}",fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"\u{1f3bf}",fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],char:"\u26f7",fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],char:"\u{1f3c2}",fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:"\u{1f93a}",fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:"\u{1f93c}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:"\u{1f93c}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:"\u{1f938}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:"\u{1f938}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],char:"\u{1f93e}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],char:"\u{1f93e}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],char:"\u26f8",fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],char:"\u{1f94c}",fitzpatrick_scale:!1,category:"activity"},skateboard:{keywords:["board"],char:"\u{1f6f9}",fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:"\u{1f6f7}",fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],char:"\u{1f3f9}",fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"\u{1f3a3}",fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:"\u{1f94a}",fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:"\u{1f94b}",fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:"\u{1f6a3}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:"\u{1f6a3}",fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:"\u{1f9d7}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:"\u{1f9d7}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:"\u{1f3ca}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:"\u{1f3ca}",fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:"\u{1f93d}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:"\u{1f93d}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:"\u{1f9d8}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:"\u{1f9d8}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:"\u{1f3c4}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:"\u{1f3c4}",fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"\u{1f6c0}",fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:"\u26f9\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],char:"\u26f9",fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:"\u{1f3cb}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:"\u{1f3cb}",fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:"\u{1f6b4}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:"\u{1f6b4}",fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:"\u{1f6b5}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:"\u{1f6b5}",fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"\u{1f3c7}",fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"\u{1f574}",fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"\u{1f3c6}",fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"\u{1f3bd}",fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],char:"\u{1f3c5}",fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],char:"\u{1f396}",fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:"\u{1f947}",fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:"\u{1f948}",fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:"\u{1f949}",fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"\u{1f397}",fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"\u{1f3f5}",fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],char:"\u{1f3ab}",fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:"\u{1f39f}",fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"\u{1f3ad}",fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"\u{1f3a8}",fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"\u{1f3aa}",fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:"\u{1f939}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:"\u{1f939}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:"\u{1f3a4}",fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"\u{1f3a7}",fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:"\u{1f3bc}",fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:"\u{1f3b9}",fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:"\u{1f941}",fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"\u{1f3b7}",fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],char:"\u{1f3ba}",fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],char:"\u{1f3b8}",fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"\u{1f3bb}",fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],char:"\u{1f3ac}",fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"\u{1f3ae}",fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"\u{1f47e}",fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:"\u{1f3af}",fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"\u{1f3b2}",fitzpatrick_scale:!1,category:"activity"},chess_pawn:{keywords:["expendable"],char:"\u265f",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"\u{1f3b0}",fitzpatrick_scale:!1,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:"\u{1f9e9}",fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],char:"\u{1f3b3}",fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:"\u{1f697}",fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"\u{1f695}",fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"\u{1f699}",fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"\u{1f68c}",fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"\u{1f68e}",fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"\u{1f3ce}",fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"\u{1f693}",fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"\u{1f691}",fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"\u{1f692}",fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"\u{1f690}",fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"\u{1f69a}",fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"\u{1f69b}",fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"\u{1f69c}",fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:"\u{1f6f4}",fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:"\u{1f3cd}",fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"\u{1f6b2}",fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:"\u{1f6f5}",fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"\u{1f6a8}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"\u{1f694}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"\u{1f68d}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"\u{1f698}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"\u{1f696}",fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"\u{1f6a1}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"\u{1f6a0}",fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"\u{1f69f}",fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"\u{1f683}",fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"\u{1f68b}",fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"\u{1f69d}",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"\u{1f684}",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"\u{1f685}",fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"\u{1f688}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"\u{1f69e}",fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"\u{1f682}",fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"\u{1f686}",fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"\u{1f687}",fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"\u{1f68a}",fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"\u{1f689}",fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:"\u{1f6f8}",fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"\u{1f681}",fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"\u{1f6e9}",fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"\u2708\ufe0f",fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:"\u{1f6eb}",fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:"\u{1f6ec}",fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:"\u26f5",fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"\u{1f6e5}",fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"\u{1f6a4}",fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"\u26f4",fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"\u{1f6f3}",fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"\u{1f680}",fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"\u{1f6f0}",fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"\u{1f4ba}",fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:"\u{1f6f6}",fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"\u2693",fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"\u{1f6a7}",fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"\u26fd",fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"\u{1f68f}",fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"\u{1f6a6}",fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"\u{1f6a5}",fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"\u{1f3c1}",fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"\u{1f6a2}",fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"\u{1f3a1}",fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"\u{1f3a2}",fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"\u{1f3a0}",fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"\u{1f3d7}",fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"\u{1f301}",fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"\u{1f5fc}",fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"\u{1f3ed}",fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"\u26f2",fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"\u{1f391}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"\u26f0",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:"\u{1f3d4}",fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"\u{1f5fb}",fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"\u{1f30b}",fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"\u{1f5fe}",fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"\u{1f3d5}",fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"\u26fa",fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"\u{1f3de}",fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"\u{1f6e3}",fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"\u{1f6e4}",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"\u{1f305}",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"\u{1f304}",fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"\u{1f3dc}",fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"\u{1f3d6}",fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"\u{1f3dd}",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"\u{1f307}",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"\u{1f306}",fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"\u{1f3d9}",fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"\u{1f303}",fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"\u{1f309}",fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"\u{1f30c}",fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],char:"\u{1f320}",fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"\u{1f387}",fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"\u{1f386}",fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:"\u{1f308}",fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:"\u{1f3d8}",fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"\u{1f3f0}",fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"\u{1f3ef}",fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"\u{1f3df}",fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"\u{1f5fd}",fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],char:"\u{1f3e0}",fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"\u{1f3e1}",fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"\u{1f3da}",fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"\u{1f3e2}",fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"\u{1f3ec}",fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:"\u{1f3e3}",fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"\u{1f3e4}",fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"\u{1f3e5}",fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"\u{1f3e6}",fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"\u{1f3e8}",fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"\u{1f3ea}",fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"\u{1f3eb}",fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"\u{1f3e9}",fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"\u{1f492}",fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:"\u{1f3db}",fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"\u26ea",fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"\u{1f54c}",fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"\u{1f54d}",fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"\u{1f54b}",fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"\u26e9",fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"\u231a",fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"\u{1f4f1}",fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],char:"\u{1f4f2}",fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"\u{1f4bb}",fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"\u2328",fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"\u{1f5a5}",fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],char:"\u{1f5a8}",fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],char:"\u{1f5b1}",fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],char:"\u{1f5b2}",fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],char:"\u{1f579}",fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],char:"\u{1f5dc}",fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"\u{1f4bd}",fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"\u{1f4be}",fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"\u{1f4bf}",fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"\u{1f4c0}",fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"\u{1f4fc}",fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],char:"\u{1f4f7}",fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:"\u{1f4f8}",fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],char:"\u{1f4f9}",fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],char:"\u{1f3a5}",fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"\u{1f4fd}",fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],char:"\u{1f39e}",fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"\u{1f4de}",fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"\u260e\ufe0f",fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"\u{1f4df}",fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],char:"\u{1f4e0}",fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"\u{1f4fa}",fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"\u{1f4fb}",fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:"\u{1f399}",fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],char:"\u{1f39a}",fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],char:"\u{1f39b}",fitzpatrick_scale:!1,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:"\u{1f9ed}",fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],char:"\u23f1",fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],char:"\u23f2",fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],char:"\u23f0",fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],char:"\u{1f570}",fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"\u23f3",fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"\u231b",fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"\u{1f4e1}",fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],char:"\u{1f50b}",fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],char:"\u{1f50c}",fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"\u{1f4a1}",fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"\u{1f526}",fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],char:"\u{1f56f}",fitzpatrick_scale:!1,category:"objects"},fire_extinguisher:{keywords:["quench"],char:"\u{1f9ef}",fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"\u{1f5d1}",fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],char:"\u{1f6e2}",fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"\u{1f4b8}",fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"\u{1f4b5}",fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"\u{1f4b4}",fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"\u{1f4b6}",fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"\u{1f4b7}",fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"\u{1f4b0}",fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"\u{1f4b3}",fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"\u{1f48e}",fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:"\u2696",fitzpatrick_scale:!1,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:"\u{1f9f0}",fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"\u{1f527}",fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],char:"\u{1f528}",fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"\u2692",fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"\u{1f6e0}",fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],char:"\u26cf",fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"\u{1f529}",fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],char:"\u2699",fitzpatrick_scale:!1,category:"objects"},brick:{keywords:["bricks"],char:"\u{1f9f1}",fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],char:"\u26d3",fitzpatrick_scale:!1,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:"\u{1f9f2}",fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"\u{1f52b}",fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"\u{1f4a3}",fitzpatrick_scale:!1,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:"\u{1f9e8}",fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"\u{1f52a}",fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],char:"\u{1f5e1}",fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],char:"\u2694",fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],char:"\u{1f6e1}",fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"\u{1f6ac}",fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:"\u2620",fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:"\u26b0",fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"\u26b1",fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],char:"\u{1f3fa}",fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"\u{1f52e}",fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"\u{1f4ff}",fitzpatrick_scale:!1,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:"\u{1f9ff}",fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],char:"\u{1f488}",fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:"\u2697",fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:"\u{1f52d}",fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"\u{1f52c}",fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],char:"\u{1f573}",fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"\u{1f48a}",fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"\u{1f489}",fitzpatrick_scale:!1,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:"\u{1f9ec}",fitzpatrick_scale:!1,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:"\u{1f9a0}",fitzpatrick_scale:!1,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:"\u{1f9eb}",fitzpatrick_scale:!1,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:"\u{1f9ea}",fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"\u{1f321}",fitzpatrick_scale:!1,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:"\u{1f9f9}",fitzpatrick_scale:!1,category:"objects"},basket:{keywords:["laundry"],char:"\u{1f9fa}",fitzpatrick_scale:!1,category:"objects"},toilet_paper:{keywords:["roll"],char:"\u{1f9fb}",fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],char:"\u{1f3f7}",fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"\u{1f516}",fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"\u{1f6bd}",fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"\u{1f6bf}",fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"\u{1f6c1}",fitzpatrick_scale:!1,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:"\u{1f9fc}",fitzpatrick_scale:!1,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:"\u{1f9fd}",fitzpatrick_scale:!1,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:"\u{1f9f4}",fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],char:"\u{1f511}",fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],char:"\u{1f5dd}",fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"\u{1f6cb}",fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:"\u{1f6cc}",fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],char:"\u{1f6cf}",fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],char:"\u{1f6aa}",fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],char:"\u{1f6ce}",fitzpatrick_scale:!1,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:"\u{1f9f8}",fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],char:"\u{1f5bc}",fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],char:"\u{1f5fa}",fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:"\u26f1",fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"\u{1f5ff}",fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:"\u{1f6cd}",fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],char:"\u{1f6d2}",fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"\u{1f388}",fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"\u{1f38f}",fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"\u{1f380}",fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"\u{1f381}",fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"\u{1f38a}",fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:"\u{1f389}",fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"\u{1f38e}",fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"\u{1f390}",fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"\u{1f38c}",fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"\u{1f3ee}",fitzpatrick_scale:!1,category:"objects"},red_envelope:{keywords:["gift"],char:"\u{1f9e7}",fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:"\u2709\ufe0f",fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"\u{1f4e9}",fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"\u{1f4e8}",fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:"\u{1f4e7}",fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"\u{1f48c}",fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"\u{1f4ee}",fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"\u{1f4ea}",fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"\u{1f4eb}",fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"\u{1f4ec}",fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"\u{1f4ed}",fitzpatrick_scale:!1,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"\u{1f4e6}",fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],char:"\u{1f4ef}",fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],char:"\u{1f4e5}",fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"\u{1f4e4}",fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"\u{1f4dc}",fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"\u{1f4c3}",fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"\u{1f4d1}",fitzpatrick_scale:!1,category:"objects"},receipt:{keywords:["accounting","expenses"],char:"\u{1f9fe}",fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"\u{1f4ca}",fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"\u{1f4c8}",fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"\u{1f4c9}",fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"\u{1f4c4}",fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],char:"\u{1f4c5}",fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"\u{1f4c6}",fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:"\u{1f5d3}",fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],char:"\u{1f4c7}",fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],char:"\u{1f5c3}",fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],char:"\u{1f5f3}",fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"\u{1f5c4}",fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],char:"\u{1f4cb}",fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:"\u{1f5d2}",fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],char:"\u{1f4c1}",fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],char:"\u{1f4c2}",fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"\u{1f5c2}",fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:"\u{1f5de}",fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],char:"\u{1f4f0}",fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"\u{1f4d3}",fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"\u{1f4d5}",fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"\u{1f4d7}",fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"\u{1f4d8}",fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"\u{1f4d9}",fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"\u{1f4d4}",fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],char:"\u{1f4d2}",fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],char:"\u{1f4da}",fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:"\u{1f4d6}",fitzpatrick_scale:!1,category:"objects"},safety_pin:{keywords:["diaper"],char:"\u{1f9f7}",fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],char:"\u{1f517}",fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],char:"\u{1f4ce}",fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],char:"\u{1f587}",fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],char:"\u2702\ufe0f",fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"\u{1f4d0}",fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"\u{1f4cf}",fitzpatrick_scale:!1,category:"objects"},abacus:{keywords:["calculation"],char:"\u{1f9ee}",fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"\u{1f4cc}",fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"\u{1f4cd}",fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"\u{1f6a9}",fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"\u{1f3f3}",fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],char:"\u{1f3f4}",fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:"\u{1f3f3}\ufe0f\u200d\u{1f308}",fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"\u{1f510}",fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],char:"\u{1f512}",fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],char:"\u{1f513}",fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"\u{1f50f}",fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],char:"\u{1f58a}",fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:"\u{1f58b}",fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"\u2712\ufe0f",fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:"\u{1f4dd}",fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"\u270f\ufe0f",fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],char:"\u{1f58d}",fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:"\u{1f58c}",fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"\u{1f50d}",fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"\u{1f50e}",fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],char:"\u2764\ufe0f",fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f9e1}",fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49b}",fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49a}",fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f499}",fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49c}",fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],char:"\u{1f5a4}",fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"\u{1f494}",fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:"\u2763",fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"\u{1f495}",fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"\u{1f49e}",fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"\u{1f493}",fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"\u{1f497}",fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f496}",fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"\u{1f498}",fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"\u{1f49d}",fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"\u{1f49f}",fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],char:"\u262e",fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],char:"\u271d",fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],char:"\u262a",fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"\u{1f549}",fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"\u2638",fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],char:"\u2721",fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"\u{1f52f}",fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:"\u{1f54e}",fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],char:"\u262f",fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"\u2626",fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"\u{1f6d0}",fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"\u26ce",fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u2648",fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"\u2649",fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264a",fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264b",fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u264c",fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264d",fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u264e",fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"\u264f",fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u2650",fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u2651",fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u2652",fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"\u2653",fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],char:"\u{1f194}",fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:"\u269b",fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"\u{1f233}",fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"\u{1f239}",fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:"\u2622",fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],char:"\u2623",fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"\u{1f4f4}",fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"\u{1f4f3}",fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"\u{1f236}",fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"\u{1f21a}",fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"\u{1f238}",fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"\u{1f23a}",fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"\u{1f237}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"\u2734\ufe0f",fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],char:"\u{1f19a}",fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"\u{1f251}",fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"\u{1f4ae}",fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"\u{1f250}",fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"\u3299\ufe0f",fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"\u3297\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"\u{1f234}",fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"\u{1f235}",fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"\u{1f232}",fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"\u{1f170}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"\u{1f171}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"\u{1f18e}",fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"\u{1f191}",fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"\u{1f17e}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"\u{1f198}",fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"\u26d4",fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"\u{1f4db}",fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"\u{1f6ab}",fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:"\u274c",fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],char:"\u2b55",fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],char:"\u{1f6d1}",fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],char:"\u{1f4a2}",fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"\u2668\ufe0f",fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"\u{1f6b7}",fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"\u{1f6af}",fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"\u{1f6b3}",fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"\u{1f6b1}",fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"\u{1f51e}",fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"\u{1f4f5}",fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"\u2757",fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"\u2755",fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],char:"\u2753",fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"\u2754",fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"\u203c\ufe0f",fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"\u2049\ufe0f",fitzpatrick_scale:!1,category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"\u{1f4af}",fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"\u{1f505}",fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],char:"\u{1f506}",fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],char:"\u{1f531}",fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"\u269c",fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"\u303d\ufe0f",fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"\u26a0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"\u{1f6b8}",fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],char:"\u{1f530}",fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"\u267b\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"\u{1f22f}",fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"\u{1f4b9}",fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"\u2747\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"\u2733\ufe0f",fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"\u274e",fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:"\u2705",fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"\u{1f4a0}",fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:"\u{1f300}",fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],char:"\u27bf",fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"\u{1f310}",fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"\u24c2\ufe0f",fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"\u{1f3e7}",fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"\u{1f202}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"\u{1f6c2}",fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"\u{1f6c3}",fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"\u{1f6c4}",fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"\u{1f6c5}",fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"\u267f",fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"\u{1f6ad}",fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"\u{1f6be}",fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"\u{1f17f}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"\u{1f6b0}",fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"\u{1f6b9}",fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"\u{1f6ba}",fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"\u{1f6bc}",fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"\u{1f6bb}",fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"\u{1f6ae}",fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"\u{1f3a6}",fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"\u{1f4f6}",fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"\u{1f201}",fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"\u{1f196}",fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"\u{1f197}",fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],char:"\u{1f199}",fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],char:"\u{1f192}",fitzpatrick_scale:!1,category:"symbols"},new:{keywords:["blue-square","words","start"],char:"\u{1f195}",fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],char:"\u{1f193}",fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"\u{1f51f}",fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],char:"*\u20e3",fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"\u{1f522}",fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],char:"\u23cf\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"\u25b6\ufe0f",fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:"\u23f8",fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:"\u23ed",fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],char:"\u23f9",fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],char:"\u23fa",fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:"\u23ef",fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],char:"\u23ee",fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"\u23e9",fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],char:"\u23ea",fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"\u{1f500}",fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],char:"\u{1f501}",fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"\u{1f502}",fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"\u25c0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"\u{1f53c}",fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"\u{1f53d}",fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"\u23eb",fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"\u23ec",fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"\u27a1\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"\u2b05\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"\u2b06\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"\u2b07\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"\u2197\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"\u2198\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"\u2199\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"\u2196\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"\u2195\ufe0f",fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"\u2194\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"\u{1f504}",fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"\u21aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"\u21a9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"\u2934\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"\u2935\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"\u2139\ufe0f",fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"\u{1f524}",fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"\u{1f521}",fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"\u{1f520}",fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"\u{1f523}",fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"\u{1f3b5}",fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],char:"\u{1f3b6}",fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"\u3030\ufe0f",fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"\u27b0",fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"\u2714\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"\u{1f503}",fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"\u2795",fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"\u2796",fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"\u2797",fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"\u2716\ufe0f",fitzpatrick_scale:!1,category:"symbols"},infinity:{keywords:["forever"],char:"\u267e",fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"\u{1f4b2}",fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"\u{1f4b1}",fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"\xa9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],char:"\xae\ufe0f",fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"\u2122\ufe0f",fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],char:"\u{1f51a}",fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],char:"\u{1f519}",fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],char:"\u{1f51b}",fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],char:"\u{1f51d}",fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],char:"\u{1f51c}",fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:"\u2611\ufe0f",fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"\u{1f518}",fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],char:"\u26aa",fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"\u26ab",fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"\u{1f534}",fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"\u{1f535}",fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f538}",fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f539}",fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f536}",fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f537}",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"\u{1f53a}",fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"\u25aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"\u25ab\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"\u2b1b",fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"\u2b1c",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"\u{1f53b}",fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"\u25fc\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"\u25fb\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"\u25fe",fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"\u25fd",fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"\u{1f532}",fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],char:"\u{1f533}",fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"\u{1f508}",fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"\u{1f509}",fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"\u{1f50a}",fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"\u{1f507}",fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"\u{1f4e3}",fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"\u{1f4e2}",fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"\u{1f514}",fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"\u{1f515}",fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"\u{1f0cf}",fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"\u{1f004}",fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"\u2660\ufe0f",fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"\u2663\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"\u2665\ufe0f",fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"\u2666\ufe0f",fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"\u{1f3b4}",fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:"\u{1f4ad}",fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"\u{1f5ef}",fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"\u{1f4ac}",fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"\u{1f5e8}",fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"\u{1f550}",fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"\u{1f551}",fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"\u{1f552}",fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"\u{1f553}",fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"\u{1f554}",fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"\u{1f555}",fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"\u{1f556}",fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"\u{1f557}",fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"\u{1f558}",fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"\u{1f559}",fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"\u{1f55a}",fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"\u{1f55b}",fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"\u{1f55c}",fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"\u{1f55d}",fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"\u{1f55e}",fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"\u{1f55f}",fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"\u{1f560}",fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"\u{1f561}",fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"\u{1f562}",fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"\u{1f563}",fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"\u{1f564}",fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"\u{1f565}",fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"\u{1f566}",fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"\u{1f567}",fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["\xc5land","islands","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"\u{1f1e8}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["cura\xe7ao","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"\u{1f1ea}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"\u{1f1eb}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"\u{1f1e9}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"\u{1f1ef}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:"\u{1f1fd}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:"\u{1f1fe}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:"\u{1f1f0}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:"\u{1f1f4}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:"\u{1f1f6}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["r\xe9union","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barth\xe9lemy","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:"\u{1f1fc}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"\u{1f1f0}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"\u{1f1ec}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0065}\u{e006e}\u{e0067}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0073}\u{e0063}\u{e0074}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0077}\u{e006c}\u{e0073}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"\u{1f1fc}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:"\u{1f1fe}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:"\u{1f1fa}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:"\u{1f3f4}\u200d\u2620\ufe0f",fitzpatrick_scale:!1,category:"flags"}}); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/plugin.js index 6ce68e88..c89e27c2 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/plugin.min.js index 84db6908..576ec27e 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/emoticons/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/emoticons/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=t=>e=>t===e,o=e(null),n=e(void 0),s=()=>{},r=()=>!1;class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return null==t?a.none():a.some(t)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const i=(t,e)=>{const o=t.length,n=new Array(o);for(let s=0;s{let e=t;return{get:()=>e,set:t=>{e=t}}},c=Object.keys,u=Object.hasOwnProperty,g=(t,e)=>{const o=c(t);for(let n=0,s=o.length;nu.call(t,e),d=(h=(t,e)=>e,(...t)=>{if(0===t.length)throw new Error("Can't merge zero objects");const e={};for(let o=0;o{const t=(t=>{const e=l(a.none()),o=()=>e.get().each(t);return{clear:()=>{o(),e.set(a.none())},isSet:()=>e.get().isSome(),get:()=>e.get(),set:t=>{o(),e.set(a.some(t))}}})(s);return{...t,on:e=>t.get().each(e)}},v=(t,e,o=0,s)=>{const r=t.indexOf(e,o);return-1!==r&&(!!n(s)||r+e.length<=s)};var y=tinymce.util.Tools.resolve("tinymce.Resource");const f=t=>e=>e.options.get(t),b=f("emoticons_database"),w=f("emoticons_database_url"),C=f("emoticons_database_id"),_=f("emoticons_append"),j=f("emoticons_images_url"),k="All",A={symbols:"Symbols",people:"People",animals_and_nature:"Animals and Nature",food_and_drink:"Food and Drink",activity:"Activity",travel_and_places:"Travel and Places",objects:"Objects",flags:"Flags",user:"User Defined"},O=(t,e)=>m(t,e)?t[e]:e,x=t=>{const e=_(t);return o=t=>({keywords:[],category:"user",...t}),((t,e)=>{const o={};return g(t,((t,n)=>{const s=e(t,n);o[s.k]=s.v})),o})(e,((t,e)=>({k:e,v:o(t)})));var o},E=(t,e)=>v(t.title.toLowerCase(),e)||((t,o)=>{for(let o=0,s=t.length;o{const n=[],s=e.toLowerCase(),a=o.fold((()=>r),(t=>e=>e>=t));for(let o=0;o{const n={pattern:"",results:S(e.listAll(),"",a.some(300))},s=l(k),r=((t,e)=>{let n=null;const s=()=>{o(n)||(clearTimeout(n),n=null)};return{cancel:s,throttle:(...e)=>{s(),n=setTimeout((()=>{n=null,t.apply(null,e)}),200)}}})((t=>{(t=>{const o=t.getData(),n=s.get(),r=e.listCategory(n),i=S(r,o[L],n===k?a.some(300):a.none());t.setData({results:i})})(t)})),c={label:"Search",type:"input",name:L},u={type:"collection",name:"results"},g=()=>({title:"Emojis",size:"normal",body:{type:"tabpanel",tabs:i(e.listCategories(),(t=>({title:t,name:t,items:[c,u]})))},initialData:n,onTabChange:(t,e)=>{s.set(e.newTabName),r.throttle(t)},onChange:r.throttle,onAction:(e,o)=>{"results"===o.name&&(((t,e)=>{t.insertContent(e)})(t,o.value),e.close())},buttons:[{type:"cancel",text:"Close",primary:!0}]}),m=t.windowManager.open(g());m.focus(L),e.hasLoaded()||(m.block("Loading emojis..."),e.waitForLoad().then((()=>{m.redial(g()),r.throttle(m),m.focus(L),m.unblock()})).catch((t=>{m.redial({title:"Emojis",body:{type:"panel",items:[{type:"alertbanner",level:"error",icon:"warning",text:"Could not load emojis"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),m.focus(L),m.unblock()})))},T=t=>e=>{const o=()=>{e.setEnabled(t.selection.isEditable())};return t.on("NodeChange",o),o(),()=>{t.off("NodeChange",o)}};t.add("emoticons",((t,e)=>{((t,e)=>{const o=t.options.register;o("emoticons_database",{processor:"string",default:"emojis"}),o("emoticons_database_url",{processor:"string",default:`${e}/js/${b(t)}${t.suffix}.js`}),o("emoticons_database_id",{processor:"string",default:"tinymce.plugins.emoticons"}),o("emoticons_append",{processor:"object",default:{}}),o("emoticons_images_url",{processor:"string",default:"https://twemoji.maxcdn.com/v/13.0.1/72x72/"})})(t,e);const o=((t,e,o)=>{const n=p(),s=p(),r=j(t),i=t=>{return o="=4&&e.substr(0,4)===o?t.char.replace(/src="([^"]+)"/,((t,e)=>`src="${r}${e}"`)):t.char;var e,o};t.on("init",(()=>{y.load(o,e).then((e=>{const o=x(t);(t=>{const e={},o=[];g(t,((t,n)=>{const s={title:n,keywords:t.keywords,char:i(t),category:O(A,t.category)},r=void 0!==e[s.category]?e[s.category]:[];e[s.category]=r.concat([s]),o.push(s)})),n.set(e),s.set(o)})(d(e,o))}),(t=>{console.log(`Failed to load emojis: ${t}`),n.set({}),s.set([])}))}));const l=()=>s.get().getOr([]),u=()=>n.isSet()&&s.isSet();return{listCategories:()=>[k].concat(c(n.get().getOr({}))),hasLoaded:u,waitForLoad:()=>u()?Promise.resolve(!0):new Promise(((t,o)=>{let n=15;const s=setInterval((()=>{u()?(clearInterval(s),t(!0)):(n--,n<0&&(console.log("Could not load emojis from url: "+e),clearInterval(s),o(!1)))}),100)})),listAll:l,listCategory:t=>t===k?l():n.get().bind((e=>a.from(e[t]))).getOr([])}})(t,w(t),C(t));((t,e)=>{t.addCommand("mceEmoticons",(()=>N(t,e)))})(t,o),(t=>{const e=()=>t.execCommand("mceEmoticons");t.ui.registry.addButton("emoticons",{tooltip:"Emojis",icon:"emoji",onAction:e,onSetup:T(t)}),t.ui.registry.addMenuItem("emoticons",{text:"Emojis...",icon:"emoji",onAction:e,onSetup:T(t)})})(t),((t,e)=>{t.ui.registry.addAutocompleter("emoticons",{trigger:":",columns:"auto",minChars:2,fetch:(t,o)=>e.waitForLoad().then((()=>{const n=e.listAll();return S(n,t,a.some(o))})),onAction:(e,o,n)=>{t.selection.setRng(o),t.insertContent(n),e.hide()}})})(t,o),(t=>{t.on("PreInit",(()=>{t.parser.addAttributeFilter("data-emoticon",(t=>{((t,e)=>{for(let e=0,n=t.length;e{let t=e;return{get:()=>t,set:e=>{t=e}}};var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const n=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=r=e,(o=String).prototype.isPrototypeOf(n)||(null===(s=r.constructor)||void 0===s?void 0:s.name)===o.name)?"string":t;var n,r,o,s})(t)===e,r=e=>t=>typeof t===e,o=e=>t=>e===t,s=n("string"),i=n("object"),l=n("array"),a=o(null),c=r("boolean"),u=o(void 0),d=e=>!(e=>null==e)(e),m=r("function"),h=r("number"),g=()=>{},p=e=>()=>e;function f(e,...t){return(...n)=>{const r=t.concat(n);return e.apply(null,r)}}const v=p(!1),w=p(!0);class b{constructor(e,t){this.tag=e,this.value=t}static some(e){return new b(!0,e)}static none(){return b.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?b.some(e(this.value)):b.none()}bind(e){return this.tag?e(this.value):b.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:b.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?b.some(e):b.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}b.singletonNone=new b(!1);const y=Array.prototype.push,S=(e,t)=>{const n=e.length,r=new Array(n);for(let o=0;o{for(let n=0,r=e.length;n{const n=[];for(let r=0,o=e.length;r((e,t,n)=>{for(let r=0,o=e.length;r{const n=e(b.none()),r=()=>n.get().each(t);return{clear:()=>{r(),n.set(b.none())},isSet:()=>n.get().isSome(),get:()=>n.get(),set:e=>{r(),n.set(b.some(e))}}},k=()=>O((e=>e.unbind())),T=Object.keys,C="undefined"!=typeof window?window:Function("return this;")(),A=(e,t)=>((e,t)=>{let n=null!=t?t:C;for(let t=0;t{const t=A("ownerDocument.defaultView",e);return i(e)&&((e=>((e,t)=>{const n=((e,t)=>A(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(R(e).constructor.name))},M=e=>t=>(e=>e.dom.nodeType)(t)===e,P=M(1),D=M(3),N=M(9),H=M(11),W=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},q=(e,t)=>{e.dom.removeAttribute(t)},I=(e,t,n=0,r)=>{const o=e.indexOf(t,n);return-1!==o&&(!!u(r)||o+t.length<=r)},V=e=>void 0!==e.style&&m(e.style.getPropertyValue),j=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},B=j,_=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},z=e=>B(e.dom.ownerDocument),$=e=>S(e.dom.childNodes,B),U=m(Element.prototype.attachShadow)&&m(Node.prototype.getRootNode),K=p(U),X=U?e=>B(e.dom.getRootNode()):e=>N(e)?e:z(e),Y=e=>{const t=X(e);return H(n=t)&&d(n.dom.host)?b.some(t):b.none();var n},G=e=>B(e.dom.host),J=e=>{const t=D(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return Y(B(t)).fold((()=>n.body.contains(t)),(r=J,o=G,e=>r(o(e))));var r,o},Q=(e,t,n)=>{if(!s(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);V(e)&&e.style.setProperty(t,n)},Z=(e,t,n)=>{const r=e.dom;Q(r,t,n)},ee=(e,t)=>{const n=e.dom;((e,t)=>{const n=T(e);for(let r=0,o=n.length;r{Q(n,t,e)}))},te=(e,t)=>{const n=e.dom,r=window.getComputedStyle(n).getPropertyValue(t);return""!==r||J(e)?r:ne(n,t)},ne=(e,t)=>V(e)?e.style.getPropertyValue(t):"",re=e=>{const t=B((e=>{if(K()&&d(e.target)){const t=B(e.target);if(P(t)&&d(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return((e,t)=>0e.stopPropagation(),r=()=>e.preventDefault(),o=(s=r,i=n,(...e)=>s(i.apply(null,e)));var s,i;return((e,t,n,r,o,s,i)=>({target:e,x:t,y:n,stop:r,prevent:o,kill:s,raw:i}))(t,e.clientX,e.clientY,n,r,o,e)},oe=(e,t,n,r)=>{e.dom.removeEventListener(t,n,r)},se=w,ie=(e,t,n)=>((e,t,n,r)=>((e,t,n,r,o)=>{const s=((e,t)=>n=>{e(n)&&t(re(n))})(n,r);return e.dom.addEventListener(t,s,o),{unbind:f(oe,e,t,s,o)}})(e,t,n,r,!1))(e,t,se,n),le=()=>ae(0,0),ae=(e,t)=>({major:e,minor:t}),ce={nu:ae,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?le():((e,t)=>{const n=((e,t)=>{for(let n=0;nNumber(t.replace(n,"$"+e));return ae(r(1),r(2))})(e,n)},unknown:le},ue=(e,t)=>{const n=String(t).toLowerCase();return F(e,(e=>e.search(n)))},de=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,me=e=>t=>I(t,e),he=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>I(e,"edge/")&&I(e,"chrome")&&I(e,"safari")&&I(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,de],search:e=>I(e,"chrome")&&!I(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>I(e,"msie")||I(e,"trident")},{name:"Opera",versionRegexes:[de,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:me("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:me("firefox")},{name:"Safari",versionRegexes:[de,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(I(e,"safari")||I(e,"mobile/"))&&I(e,"applewebkit")}],ge=[{name:"Windows",search:me("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>I(e,"iphone")||I(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:me("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:me("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:me("linux"),versionRegexes:[]},{name:"Solaris",search:me("sunos"),versionRegexes:[]},{name:"FreeBSD",search:me("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:me("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],pe={browsers:p(he),oses:p(ge)},fe="Edge",ve="Chromium",we="Opera",be="Firefox",ye="Safari",Se=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isEdge:r(fe),isChromium:r(ve),isIE:r("IE"),isOpera:r(we),isFirefox:r(be),isSafari:r(ye)}},xe=()=>Se({current:void 0,version:ce.unknown()}),Ee=Se,Fe=(p(fe),p(ve),p("IE"),p(we),p(be),p(ye),"Windows"),Oe="Android",ke="Linux",Te="macOS",Ce="Solaris",Ae="FreeBSD",Re="ChromeOS",Le=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isWindows:r(Fe),isiOS:r("iOS"),isAndroid:r(Oe),isMacOS:r(Te),isLinux:r(ke),isSolaris:r(Ce),isFreeBSD:r(Ae),isChromeOS:r(Re)}},Me=()=>Le({current:void 0,version:ce.unknown()}),Pe=Le,De=(p(Fe),p("iOS"),p(Oe),p(ke),p(Te),p(Ce),p(Ae),p(Re),(e,t,n)=>{const r=pe.browsers(),o=pe.oses(),s=t.bind((e=>((e,t)=>((e,t)=>{for(let n=0;n{const n=t.brand.toLowerCase();return F(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:ce.nu(parseInt(t.version,10),0)})))})))(r,e))).orThunk((()=>((e,t)=>ue(e,t).map((e=>{const n=ce.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e))).fold(xe,Ee),i=((e,t)=>ue(e,t).map((e=>{const n=ce.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e).fold(Me,Pe),l=((e,t,n,r)=>{const o=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!o,i=e.isiOS()||e.isAndroid(),l=i||r("(pointer:coarse)"),a=o||!s&&i&&r("(min-device-width:768px)"),c=s||i&&!a,u=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),d=!c&&!a&&!u;return{isiPad:p(o),isiPhone:p(s),isTablet:p(a),isPhone:p(c),isTouch:p(l),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:p(u),isDesktop:p(d)}})(i,s,e,n);return{browser:s,os:i,deviceType:l}}),Ne=e=>window.matchMedia(e).matches;let He=(e=>{let t,n=!1;return(...r)=>(n||(n=!0,t=e.apply(null,r)),t)})((()=>De(navigator.userAgent,b.from(navigator.userAgentData),Ne)));const We=(e,t)=>({left:e,top:t,translate:(n,r)=>We(e+n,t+r)}),qe=We,Ie=e=>{const t=void 0===e?window:e;return He().browser.isFirefox()?b.none():b.from(t.visualViewport)},Ve=(e,t,n,r)=>({x:e,y:t,width:n,height:r,right:e+n,bottom:t+r}),je=e=>{const t=void 0===e?window:e,n=t.document,r=(e=>{const t=void 0!==e?e.dom:document,n=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop;return qe(n,r)})(B(n));return Ie(t).fold((()=>{const e=t.document.documentElement,n=e.clientWidth,o=e.clientHeight;return Ve(r.left,r.top,n,o)}),(e=>Ve(Math.max(e.pageLeft,r.left),Math.max(e.pageTop,r.top),e.width,e.height)))},Be=(e,t,n)=>Ie(n).map((n=>{const r=e=>t(re(e));return n.addEventListener(e,r),{unbind:()=>n.removeEventListener(e,r)}})).getOrThunk((()=>({unbind:g})));var _e=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),ze=tinymce.util.Tools.resolve("tinymce.Env");const $e=(e,t)=>{e.dispatch("FullscreenStateChanged",{state:t}),e.dispatch("ResizeEditor")},Ue=("fullscreen_native",e=>e.options.get("fullscreen_native"));const Ke=e=>{return e.dom===(void 0!==(t=z(e).dom).fullscreenElement?t.fullscreenElement:void 0!==t.msFullscreenElement?t.msFullscreenElement:void 0!==t.webkitFullscreenElement?t.webkitFullscreenElement:null);var t},Xe=(e,t,n)=>((e,t,n)=>E(((e,t)=>{const n=m(t)?t:v;let r=e.dom;const o=[];for(;null!==r.parentNode&&void 0!==r.parentNode;){const e=r.parentNode,t=B(e);if(o.push(t),!0===n(t))break;r=e}return o})(e,n),t))(e,(e=>_(e,t)),n),Ye=(e,t)=>((e,n)=>{return E((e=>b.from(e.dom.parentNode).map(B))(r=e).map($).map((e=>E(e,(e=>{return t=e,!(r.dom===t.dom);var t})))).getOr([]),(e=>_(e,t)));var r})(e),Ge="data-ephox-mobile-fullscreen-style",Je="position:absolute!important;",Qe="top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;",Ze=ze.os.isAndroid(),et=(e,t,n)=>{const r=t=>n=>{const r=W(n,"style"),o=void 0===r?"no-styles":r.trim();o!==t&&(((e,t,n)=>{((e,t,n)=>{if(!(s(n)||c(n)||h(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(e.dom,t,n)})(n,Ge,o),ee(n,e.parseStyle(t)))},o=Xe(t,"*"),i=(e=>{const t=[];for(let n=0,r=e.length;nYe(e,"*:not(.tox-silver-sink)")))),a=(e=>{const t=te(e,"background-color");return void 0!==t&&""!==t?"background-color:"+t+"!important":"background-color:rgb(255,255,255)!important;"})(n);x(i,r("display:none!important;")),x(o,r(Je+Qe+a)),r((!0===Ze?"":Je)+Qe+a)(t)},tt=_e.DOM,nt=Ie().fold((()=>({bind:g,unbind:g})),(e=>{const t=(()=>{const e=O(g);return{...e,on:t=>e.get().each(t)}})(),n=k(),r=k(),o=((e,t)=>{let n=null;return{cancel:()=>{a(n)||(clearTimeout(n),n=null)},throttle:(...t)=>{a(n)&&(n=setTimeout((()=>{n=null,e.apply(null,t)}),50))}}})((()=>{document.body.scrollTop=0,document.documentElement.scrollTop=0,window.requestAnimationFrame((()=>{t.on((t=>ee(t,{top:e.offsetTop+"px",left:e.offsetLeft+"px",height:e.height+"px",width:e.width+"px"})))}))}));return{bind:e=>{t.set(e),o.throttle(),n.set(Be("resize",o.throttle)),r.set(Be("scroll",o.throttle))},unbind:()=>{t.on((()=>{n.clear(),r.clear()})),t.clear()}}})),rt=(e,t)=>{const n=document.body,r=document.documentElement,o=e.getContainer(),s=B(o),i=(l=s,b.from(l.dom.nextSibling).map(B)).filter((e=>(e=>P(e)&&L(e.dom))(e)&&((e,t)=>(e=>void 0!==e.dom.classList)(e)&&e.dom.classList.contains("tox-silver-sink"))(e)));var l;const a=(e=>{const t=B(e.getElement());return Y(t).map(G).getOrThunk((()=>(e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return B(t)})(z(t))))})(e),c=t.get(),u=B(e.getBody()),d=ze.deviceType.isTouch(),m=o.style,h=e.iframeElement,g=null==h?void 0:h.style,p=e=>{e(n,"tox-fullscreen"),e(r,"tox-fullscreen"),e(o,"tox-fullscreen"),Y(s).map((e=>G(e).dom)).each((t=>{e(t,"tox-fullscreen"),e(t,"tox-shadowhost")}))},f=()=>{d&&(e=>{const t=((e,t)=>{const n=document;return 1!==(r=n).nodeType&&9!==r.nodeType&&11!==r.nodeType||0===r.childElementCount?[]:S(n.querySelectorAll(e),B);var r})("["+Ge+"]");x(t,(t=>{const n=W(t,Ge);n&&"no-styles"!==n?ee(t,e.parseStyle(n)):q(t,"style"),q(t,Ge)}))})(e.dom),p(tt.removeClass),nt.unbind(),b.from(t.get()).each((e=>e.fullscreenChangeHandler.unbind()))};if(c)c.fullscreenChangeHandler.unbind(),Ue(e)&&Ke(a)&&(e=>{const t=e.dom;t.exitFullscreen?t.exitFullscreen():t.msExitFullscreen?t.msExitFullscreen():t.webkitCancelFullScreen&&t.webkitCancelFullScreen()})(z(a)),g.width=c.iframeWidth,g.height=c.iframeHeight,m.width=c.containerWidth,m.height=c.containerHeight,m.top=c.containerTop,m.left=c.containerLeft,w=i,y=c.sinkCssPosition,E=(e,t)=>{Z(e,"position",t)},w.isSome()&&y.isSome()?b.some(E(w.getOrDie(),y.getOrDie())):b.none(),f(),v=c.scrollPos,window.scrollTo(v.x,v.y),t.set(null),$e(e,!1),e.off("remove",f);else{const n=ie(z(a),void 0!==document.fullscreenElement?"fullscreenchange":void 0!==document.msFullscreenElement?"MSFullscreenChange":void 0!==document.webkitFullscreenElement?"webkitfullscreenchange":"fullscreenchange",(n=>{Ue(e)&&(Ke(a)||null===t.get()||rt(e,t))})),r={scrollPos:je(window),containerWidth:m.width,containerHeight:m.height,containerTop:m.top,containerLeft:m.left,iframeWidth:g.width,iframeHeight:g.height,fullscreenChangeHandler:n,sinkCssPosition:i.map((e=>te(e,"position")))};d&&et(e.dom,s,u),g.width=g.height="100%",m.width=m.height="",p(tt.addClass),i.each((e=>{Z(e,"position","fixed")})),nt.bind(s),e.on("remove",f),t.set(r),Ue(e)&&(e=>{const t=e.dom;t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.webkitRequestFullScreen&&t.webkitRequestFullScreen()})(a),$e(e,!0)}var v,w,y,E},ot=(e,t)=>n=>{n.setActive(null!==t.get());const r=e=>n.setActive(e.state);return e.on("FullscreenStateChanged",r),()=>e.off("FullscreenStateChanged",r)};t.add("fullscreen",(t=>{const n=e(null);return t.inline||((e=>{(0,e.options.register)("fullscreen_native",{processor:"boolean",default:!1})})(t),((e,t)=>{e.addCommand("mceFullScreen",(()=>{rt(e,t)}))})(t,n),((e,t)=>{const n=()=>e.execCommand("mceFullScreen");e.ui.registry.addToggleMenuItem("fullscreen",{text:"Fullscreen",icon:"fullscreen",shortcut:"Meta+Shift+F",onAction:n,onSetup:ot(e,t)}),e.ui.registry.addToggleButton("fullscreen",{tooltip:"Fullscreen",icon:"fullscreen",onAction:n,onSetup:ot(e,t)})})(t,n),t.addShortcut("Meta+Shift+F","","mceFullScreen")),(e=>({isFullscreen:()=>null!==e.get()}))(n)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ar.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ar.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ar.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ar.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/bg_BG.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/bg_BG.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/bg_BG.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/bg_BG.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ca.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ca.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ca.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ca.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/cs.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/cs.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/cs.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/cs.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/da.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/da.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/da.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/da.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/de.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/de.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/de.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/de.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/el.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/el.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/el.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/el.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/en.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/en.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/en.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/en.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/es.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/es.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/es.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/es.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/eu.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/eu.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/eu.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/eu.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/fa.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/fa.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/fa.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/fa.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/fi.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/fi.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/fi.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/fi.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/fr_FR.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/fr_FR.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/fr_FR.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/fr_FR.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/he_IL.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/he_IL.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/he_IL.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/he_IL.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/hi.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/hi.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/hi.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/hi.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/hr.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/hr.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/hr.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/hr.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/hu_HU.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/hu_HU.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/hu_HU.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/hu_HU.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/id.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/id.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/id.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/id.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/it.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/it.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/it.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/it.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ja.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ja.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ja.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ja.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/kk.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/kk.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/kk.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/kk.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ko_KR.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ko_KR.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ko_KR.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ko_KR.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ms.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ms.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ms.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ms.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/nb_NO.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/nb_NO.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/nb_NO.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/nb_NO.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/nl.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/nl.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/nl.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/nl.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/pl.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/pl.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/pl.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/pl.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/pt_BR.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/pt_BR.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/pt_BR.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/pt_BR.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/pt_PT.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/pt_PT.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/pt_PT.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/pt_PT.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ro.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ro.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ro.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ro.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ru.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ru.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/ru.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/ru.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/sk.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/sk.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/sk.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/sk.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/sl_SI.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/sl_SI.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/sl_SI.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/sl_SI.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/sv_SE.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/sv_SE.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/sv_SE.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/sv_SE.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/th_TH.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/th_TH.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/th_TH.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/th_TH.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/tr.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/tr.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/tr.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/tr.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/uk.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/uk.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/uk.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/uk.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/vi.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/vi.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/vi.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/vi.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/zh_CN.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/zh_CN.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/zh_CN.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/zh_CN.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/zh_TW.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/zh_TW.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/js/i18n/keynav/zh_TW.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/js/i18n/keynav/zh_TW.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/plugin.js index 036575de..84fd76fa 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/help/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/help/plugin.min.js index 1aa8031e..77c8b549 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/help/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/help/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");let t=0;const n=e=>{const n=(new Date).getTime(),a=Math.floor(1e9*Math.random());return t++,e+"_"+a+t+String(n)},a=e=>t=>t.options.get(e),r=a("help_tabs"),o=a("forced_plugins"),i=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=a=e,(r=String).prototype.isPrototypeOf(n)||(null===(o=a.constructor)||void 0===o?void 0:o.name)===r.name)?"string":t;var n,a,r,o})(e));const s=(void 0,e=>undefined===e);const l=e=>"function"==typeof e,c=(!1,()=>false);class m{constructor(e,t){this.tag=e,this.value=t}static some(e){return new m(!0,e)}static none(){return m.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?m.some(e(this.value)):m.none()}bind(e){return this.tag?e(this.value):m.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:m.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?m.none():m.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}m.singletonNone=new m(!1);const u=Array.prototype.slice,p=Array.prototype.indexOf,y=(e,t)=>{const n=e.length,a=new Array(n);for(let r=0;r{const n=[];for(let a=0,r=e.length;a{const n=u.call(e,0);return n.sort(t),n},g=Object.keys,k=Object.hasOwnProperty,v=(e,t)=>k.call(e,t);var b=tinymce.util.Tools.resolve("tinymce.Resource"),f=tinymce.util.Tools.resolve("tinymce.util.I18n");const A=(e,t)=>b.load(`tinymce.html-i18n.help-keynav.${t}`,`${e}/js/i18n/keynav/${t}.js`),C=e=>A(e,f.getCode()).catch((()=>A(e,"en")));var w=tinymce.util.Tools.resolve("tinymce.Env");const S=e=>{const t=w.os.isMacOS()||w.os.isiOS(),n=t?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl ",access:"Shift + Alt "},a=e.split("+"),r=y(a,(e=>{const t=e.toLowerCase().trim();return v(n,t)?n[t]:e}));return t?r.join("").replace(/\s/,""):r.join("+")},_=[{shortcuts:["Meta + B"],action:"Bold"},{shortcuts:["Meta + I"],action:"Italic"},{shortcuts:["Meta + U"],action:"Underline"},{shortcuts:["Meta + A"],action:"Select all"},{shortcuts:["Meta + Y","Meta + Shift + Z"],action:"Redo"},{shortcuts:["Meta + Z"],action:"Undo"},{shortcuts:["Access + 1"],action:"Heading 1"},{shortcuts:["Access + 2"],action:"Heading 2"},{shortcuts:["Access + 3"],action:"Heading 3"},{shortcuts:["Access + 4"],action:"Heading 4"},{shortcuts:["Access + 5"],action:"Heading 5"},{shortcuts:["Access + 6"],action:"Heading 6"},{shortcuts:["Access + 7"],action:"Paragraph"},{shortcuts:["Access + 8"],action:"Div"},{shortcuts:["Access + 9"],action:"Address"},{shortcuts:["Alt + 0"],action:"Open help dialog"},{shortcuts:["Alt + F9"],action:"Focus to menubar"},{shortcuts:["Alt + F10"],action:"Focus to toolbar"},{shortcuts:["Alt + F11"],action:"Focus to element path"},{shortcuts:["Ctrl + F9"],action:"Focus to contextual toolbar"},{shortcuts:["Shift + Enter"],action:"Open popup menu for split buttons"},{shortcuts:["Meta + K"],action:"Insert link (if link plugin activated)"},{shortcuts:["Meta + S"],action:"Save (if save plugin activated)"},{shortcuts:["Meta + F"],action:"Find (if searchreplace plugin activated)"},{shortcuts:["Meta + Shift + F"],action:"Switch to or from fullscreen mode"}],M=()=>({name:"shortcuts",title:"Handy Shortcuts",items:[{type:"table",header:["Action","Shortcut"],cells:y(_,(e=>{const t=y(e.shortcuts,S).join(" or ");return[e.action,t]}))}]}),T=y([{key:"accordion",name:"Accordion"},{key:"advlist",name:"Advanced List"},{key:"anchor",name:"Anchor"},{key:"autolink",name:"Autolink"},{key:"autoresize",name:"Autoresize"},{key:"autosave",name:"Autosave"},{key:"charmap",name:"Character Map"},{key:"code",name:"Code"},{key:"codesample",name:"Code Sample"},{key:"colorpicker",name:"Color Picker"},{key:"directionality",name:"Directionality"},{key:"emoticons",name:"Emoticons"},{key:"fullscreen",name:"Full Screen"},{key:"help",name:"Help"},{key:"image",name:"Image"},{key:"importcss",name:"Import CSS"},{key:"insertdatetime",name:"Insert Date/Time"},{key:"link",name:"Link"},{key:"lists",name:"Lists"},{key:"media",name:"Media"},{key:"nonbreaking",name:"Nonbreaking"},{key:"pagebreak",name:"Page Break"},{key:"preview",name:"Preview"},{key:"quickbars",name:"Quick Toolbars"},{key:"save",name:"Save"},{key:"searchreplace",name:"Search and Replace"},{key:"table",name:"Table"},{key:"template",name:"Template"},{key:"textcolor",name:"Text Color"},{key:"visualblocks",name:"Visual Blocks"},{key:"visualchars",name:"Visual Characters"},{key:"wordcount",name:"Word Count"},{key:"a11ychecker",name:"Accessibility Checker",type:"premium"},{key:"advcode",name:"Advanced Code Editor",type:"premium"},{key:"advtable",name:"Advanced Tables",type:"premium"},{key:"advtemplate",name:"Advanced Templates",type:"premium",slug:"advanced-templates"},{key:"ai",name:"AI Assistant",type:"premium"},{key:"casechange",name:"Case Change",type:"premium"},{key:"checklist",name:"Checklist",type:"premium"},{key:"editimage",name:"Enhanced Image Editing",type:"premium"},{key:"footnotes",name:"Footnotes",type:"premium"},{key:"typography",name:"Advanced Typography",type:"premium",slug:"advanced-typography"},{key:"mediaembed",name:"Enhanced Media Embed",type:"premium",slug:"introduction-to-mediaembed"},{key:"export",name:"Export",type:"premium"},{key:"formatpainter",name:"Format Painter",type:"premium"},{key:"inlinecss",name:"Inline CSS",type:"premium",slug:"inline-css"},{key:"linkchecker",name:"Link Checker",type:"premium"},{key:"mentions",name:"Mentions",type:"premium"},{key:"mergetags",name:"Merge Tags",type:"premium"},{key:"pageembed",name:"Page Embed",type:"premium"},{key:"permanentpen",name:"Permanent Pen",type:"premium"},{key:"powerpaste",name:"PowerPaste",type:"premium",slug:"introduction-to-powerpaste"},{key:"rtc",name:"Real-Time Collaboration",type:"premium",slug:"rtc-introduction"},{key:"tinymcespellchecker",name:"Spell Checker Pro",type:"premium",slug:"introduction-to-tiny-spellchecker"},{key:"autocorrect",name:"Spelling Autocorrect",type:"premium"},{key:"tableofcontents",name:"Table of Contents",type:"premium"},{key:"tinycomments",name:"Tiny Comments",type:"premium",slug:"introduction-to-tiny-comments"},{key:"tinydrive",name:"Tiny Drive",type:"premium",slug:"tinydrive-introduction"}],(e=>({...e,type:e.type||"opensource",slug:e.slug||e.key}))),x=e=>{const t=e=>`${e.name}`,n=(e,n)=>{return(a=T,r=e=>e.key===n,((e,t,n)=>{for(let a=0,r=e.length;a((e,n)=>{const a=e.plugins[n].getMetadata;if(l(a)){const e=a();return{name:e.name,html:t(e)}}return{name:n,html:n}})(e,n)),(e=>{const n="premium"===e.type?`${e.name}*`:e.name;return{name:n,html:t({name:n,url:`https://www.tiny.cloud/docs/tinymce/6/${e.slug}/`})}}));var a,r},a=e=>{const t=(e=>{const t=g(e.plugins),n=o(e);return s(n)?t:h(t,(e=>!(((e,t)=>p.call(e,t))(n,e)>-1)))})(e),a=d(y(t,(t=>n(e,t))),((e,t)=>e.name.localeCompare(t.name))),r=y(a,(e=>"
  • "+e.html+"
  • ")),i=r.length,l=r.join("");return"

    "+f.translate(["Plugins installed ({0}):",i])+"

      "+l+"
    "},r={type:"htmlpanel",presets:"document",html:[(e=>null==e?"":"
    "+a(e)+"
    ")(e),(()=>{const e=h(T,(({type:e})=>"premium"===e)),t=d(y(e,(e=>e.name)),((e,t)=>e.localeCompare(t))),n=y(t,(e=>`
  • ${e}
  • `)).join("");return"

    "+f.translate("Premium plugins:")+"

    "})()].join("")};return{name:"plugins",title:"Plugins",items:[r]}};var O=tinymce.util.Tools.resolve("tinymce.EditorManager");const P=(e,t,a)=>()=>{(async(e,t,a)=>{const o=M(),s=await(async e=>({name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",presets:"document",html:await C(e)}]}))(a),l=x(e),c=(()=>{var e,t;const n='TinyMCE '+(e=O.majorVersion,t=O.minorVersion,(0===e.indexOf("@")?"X.X.X":e+"."+t)+"");return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"

    "+f.translate(["You are using {0}",n])+"

    ",presets:"document"}]}})(),u={[o.name]:o,[s.name]:s,[l.name]:l,[c.name]:c,...t.get()};return m.from(r(e)).fold((()=>(e=>{const t=g(e),n=t.indexOf("versions");return-1!==n&&(t.splice(n,1),t.push("versions")),{tabs:e,names:t}})(u)),(e=>((e,t)=>{const a={},r=y(e,(e=>{var r;if(i(e))return v(t,e)&&(a[e]=t[e]),e;{const t=null!==(r=e.name)&&void 0!==r?r:n("tab-name");return a[t]=e,t}}));return{tabs:a,names:r}})(e,u)))})(e,t,a).then((({tabs:t,names:n})=>{const a={type:"tabpanel",tabs:(e=>{const t=[],n=e=>{t.push(e)};for(let t=0;t{return v(n=t,a=e)?m.from(n[a]):m.none();var n,a})))};e.windowManager.open({title:"Help",size:"medium",body:a,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}))};e.add("help",((e,t)=>{const a=(e=>{let t={};return{get:()=>t,set:e=>{t=e}}})(),r=(e=>({addTab:t=>{var a;const r=null!==(a=t.name)&&void 0!==a?a:n("tab-name"),o=e.get();o[r]=t,e.set(o)}}))(a);(e=>{(0,e.options.register)("help_tabs",{processor:"array"})})(e);const o=P(e,a,t);return((e,t)=>{e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:t}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:t})})(e,o),((e,t)=>{e.addCommand("mceHelp",t)})(e,o),e.shortcuts.add("Alt+0","Open help dialog","mceHelp"),((e,t)=>{e.on("init",(()=>{C(t)}))})(e,t),r}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/image/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/image/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/image/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/image/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/image/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/image/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/image/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/image/plugin.js index b0207dca..c149e2d3 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/image/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/image/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/image/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/image/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/image/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/image/plugin.min.js index 4923237d..ba5e80c5 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/image/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/image/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=Object.getPrototypeOf,a=(e,t,a)=>{var i;return!!a(e,t.prototype)||(null===(i=e.constructor)||void 0===i?void 0:i.name)===t.name},i=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&a(e,String,((e,t)=>t.isPrototypeOf(e)))?"string":t})(t)===e,s=e=>t=>typeof t===e,r=i("string"),o=i("object"),n=e=>((e,i)=>o(e)&&a(e,i,((e,a)=>t(e)===a)))(e,Object),l=i("array"),c=(null,e=>null===e);const m=s("boolean"),d=e=>!(e=>null==e)(e),g=s("function"),u=s("number"),p=()=>{};class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const b=Object.keys,v=Object.hasOwnProperty,y=(e,t)=>v.call(e,t),f=Array.prototype.push,w=e=>{const t=[];for(let a=0,i=e.length;a{((e,t,a)=>{if(!(r(a)||m(a)||u(a)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",a,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,a+"")})(e.dom,t,a)},D=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},_=D;var C=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),I=tinymce.util.Tools.resolve("tinymce.util.URI");const U=e=>e.length>0,x=e=>t=>t.options.get(e),S=x("image_dimensions"),N=x("image_advtab"),T=x("image_uploadtab"),O=x("image_prepend_url"),E=x("image_class_list"),L=x("image_description"),j=x("image_title"),M=x("image_caption"),R=x("image_list"),k=x("a11y_advanced_options"),z=x("automatic_uploads"),B=(e,t)=>Math.max(parseInt(e,10),parseInt(t,10)),P=e=>(e&&(e=e.replace(/px$/,"")),e),F=e=>(e.length>0&&/^[0-9]+$/.test(e)&&(e+="px"),e),H=e=>"IMG"===e.nodeName&&(e.hasAttribute("data-mce-object")||e.hasAttribute("data-mce-placeholder")),G=(e,t)=>{const a=e.options.get;return I.isDomSafe(t,"img",{allow_html_data_urls:a("allow_html_data_urls"),allow_script_urls:a("allow_script_urls"),allow_svg_data_urls:a("allow_svg_data_urls")})},W=C.DOM,$=e=>e.style.marginLeft&&e.style.marginRight&&e.style.marginLeft===e.style.marginRight?P(e.style.marginLeft):"",V=e=>e.style.marginTop&&e.style.marginBottom&&e.style.marginTop===e.style.marginBottom?P(e.style.marginTop):"",K=e=>e.style.borderWidth?P(e.style.borderWidth):"",Z=(e,t)=>{var a;return e.hasAttribute(t)&&null!==(a=e.getAttribute(t))&&void 0!==a?a:""},q=e=>null!==e.parentNode&&"FIGURE"===e.parentNode.nodeName,J=(e,t,a)=>{""===a||null===a?e.removeAttribute(t):e.setAttribute(t,a)},Q=(e,t)=>{const a=e.getAttribute("style"),i=t(null!==a?a:"");i.length>0?(e.setAttribute("style",i),e.setAttribute("data-mce-style",i)):e.removeAttribute("style")},X=(e,t)=>(e,a,i)=>{const s=e.style;s[a]?(s[a]=F(i),Q(e,t)):J(e,a,i)},Y=(e,t)=>e.style[t]?P(e.style[t]):Z(e,t),ee=(e,t)=>{const a=F(t);e.style.marginLeft=a,e.style.marginRight=a},te=(e,t)=>{const a=F(t);e.style.marginTop=a,e.style.marginBottom=a},ae=(e,t)=>{const a=F(t);e.style.borderWidth=a},ie=(e,t)=>{e.style.borderStyle=t},se=e=>{var t;return null!==(t=e.style.borderStyle)&&void 0!==t?t:""},re=e=>d(e)&&"FIGURE"===e.nodeName,oe=e=>0===W.getAttrib(e,"alt").length&&"presentation"===W.getAttrib(e,"role"),ne=e=>oe(e)?"":Z(e,"alt"),le=(e,t)=>{var a;const i=document.createElement("img");return J(i,"style",t.style),($(i)||""!==t.hspace)&&ee(i,t.hspace),(V(i)||""!==t.vspace)&&te(i,t.vspace),(K(i)||""!==t.border)&&ae(i,t.border),(se(i)||""!==t.borderStyle)&&ie(i,t.borderStyle),e(null!==(a=i.getAttribute("style"))&&void 0!==a?a:"")},ce=(e,t)=>({src:Z(t,"src"),alt:ne(t),title:Z(t,"title"),width:Y(t,"width"),height:Y(t,"height"),class:Z(t,"class"),style:e(Z(t,"style")),caption:q(t),hspace:$(t),vspace:V(t),border:K(t),borderStyle:se(t),isDecorative:oe(t)}),me=(e,t,a,i,s)=>{a[i]!==t[i]&&s(e,i,String(a[i]))},de=(e,t,a)=>{if(a){W.setAttrib(e,"role","presentation");const t=_(e);A(t,"alt","")}else{if(c(t)){"alt",_(e).dom.removeAttribute("alt")}else{const a=_(e);A(a,"alt",t)}"presentation"===W.getAttrib(e,"role")&&W.setAttrib(e,"role","")}},ge=(e,t)=>(a,i,s)=>{e(a,s),Q(a,t)},ue=(e,t,a)=>{const i=ce(e,a);me(a,i,t,"caption",((e,t,a)=>(e=>{q(e)?(e=>{const t=e.parentNode;d(t)&&(W.insertAfter(e,t),W.remove(t))})(e):(e=>{const t=W.create("figure",{class:"image"});W.insertAfter(t,e),t.appendChild(e),t.appendChild(W.create("figcaption",{contentEditable:"true"},"Caption")),t.contentEditable="false"})(e)})(e))),me(a,i,t,"src",J),me(a,i,t,"title",J),me(a,i,t,"width",X(0,e)),me(a,i,t,"height",X(0,e)),me(a,i,t,"class",J),me(a,i,t,"style",ge(((e,t)=>J(e,"style",t)),e)),me(a,i,t,"hspace",ge(ee,e)),me(a,i,t,"vspace",ge(te,e)),me(a,i,t,"border",ge(ae,e)),me(a,i,t,"borderStyle",ge(ie,e)),((e,t,a)=>{a.alt===t.alt&&a.isDecorative===t.isDecorative||de(e,a.alt,a.isDecorative)})(a,i,t)},pe=(e,t)=>{const a=(e=>{if(e.margin){const t=String(e.margin).split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e})(e.dom.styles.parse(t)),i=e.dom.styles.parse(e.dom.styles.serialize(a));return e.dom.styles.serialize(i)},he=e=>{const t=e.selection.getNode(),a=e.dom.getParent(t,"figure.image");return a?e.dom.select("img",a)[0]:t&&("IMG"!==t.nodeName||H(t))?null:t},be=(e,t)=>{var a;const i=e.dom,s=((t,a)=>{const i={};var s;return((e,t,a,i)=>{((e,t)=>{const a=b(e);for(let i=0,s=a.length;i{(t(e,s)?a:i)(e,s)}))})(t,((t,a)=>!e.schema.isValidChild(a,"figure")),(s=i,(e,t)=>{s[t]=e}),p),i})(e.schema.getTextBlockElements()),r=i.getParent(t.parentNode,(e=>{return t=s,a=e.nodeName,y(t,a)&&void 0!==t[a]&&null!==t[a];var t,a}),e.getBody());return r&&null!==(a=i.split(r,t))&&void 0!==a?a:t},ve=(e,t)=>{const a=((t,a)=>{const i=document.createElement("img");if(ue((t=>pe(e,t)),{...a,caption:!1},i),de(i,a.alt,a.isDecorative),a.caption){const e=W.create("figure",{class:"image"});return e.appendChild(i),e.appendChild(W.create("figcaption",{contentEditable:"true"},"Caption")),e.contentEditable="false",e}return i})(0,t);e.dom.setAttrib(a,"data-mce-id","__mcenew"),e.focus(),e.selection.setContent(a.outerHTML);const i=e.dom.select('*[data-mce-id="__mcenew"]')[0];if(e.dom.setAttrib(i,"data-mce-id",null),re(i)){const t=be(e,i);e.selection.select(t)}else e.selection.select(i)},ye=(e,t)=>{const a=he(e);if(a){const i={...ce((t=>pe(e,t)),a),...t},s=((e,t)=>{const a=t.src;return{...t,src:G(e,a)?a:""}})(e,i);i.src?((e,t)=>{const a=he(e);if(a)if(ue((t=>pe(e,t)),t,a),((e,t)=>{e.dom.setAttrib(t,"src",t.getAttribute("src"))})(e,a),re(a.parentNode)){const t=a.parentNode;be(e,t),e.selection.select(a.parentNode)}else e.selection.select(a),((e,t,a)=>{const i=()=>{a.onload=a.onerror=null,e.selection&&(e.selection.select(a),e.nodeChanged())};a.onload=()=>{t.width||t.height||!S(e)||e.dom.setAttribs(a,{width:String(a.clientWidth),height:String(a.clientHeight)}),i()},a.onerror=i})(e,t,a)})(e,s):((e,t)=>{if(t){const a=e.dom.is(t.parentNode,"figure.image")?t.parentNode:t;e.dom.remove(a),e.focus(),e.nodeChanged(),e.dom.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}})(e,a)}else t.src&&ve(e,{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1,...t})},fe=(we=(e,t)=>n(e)&&n(t)?fe(e,t):t,(...e)=>{if(0===e.length)throw new Error("Can't merge zero objects");const t={};for(let a=0;ar(e.value)?e.value:"",Ce=(e,t)=>{const a=[];return De.each(e,(e=>{const i=(e=>r(e.text)?e.text:r(e.title)?e.title:"")(e);if(void 0!==e.menu){const s=Ce(e.menu,t);a.push({text:i,items:s})}else{const s=t(e);a.push({text:i,value:s})}})),a},Ie=(e=_e)=>t=>t?h.from(t).map((t=>Ce(t,e))):h.none(),Ue=(e,t)=>((e,a)=>{for(let a=0;ay(e,"items"))(i=e[a])?Ue(i.items,t):i.value===t?h.some(i):h.none();if(s.isSome())return s}var i;return h.none()})(e),xe=Ie,Se=(e,t)=>e.bind((e=>Ue(e,t))),Ne=e=>{const t=xe((t=>e.convertURL(t.value||t.url||"","src"))),a=new Promise((a=>{((e,t)=>{const a=R(e);r(a)?fetch(a).then((e=>{e.ok&&e.json().then(t)})):g(a)?a(t):t(a)})(e,(e=>{a(t(e).map((e=>w([[{text:"None",value:""}],e]))))}))})),i=(A=E(e),Ie(_e)(A)),s=N(e),o=T(e),n=(e=>U(e.options.get("images_upload_url")))(e),l=(e=>d(e.options.get("images_upload_handler")))(e),c=(e=>{const t=he(e);return t?ce((t=>pe(e,t)),t):{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1}})(e),m=L(e),u=j(e),p=S(e),b=M(e),v=k(e),y=z(e),f=h.some(O(e)).filter((e=>r(e)&&e.length>0));var A;return a.then((e=>({image:c,imageList:e,classList:i,hasAdvTab:s,hasUploadTab:o,hasUploadUrl:n,hasUploadHandler:l,hasDescription:m,hasImageTitle:u,hasDimensions:p,hasImageCaption:b,prependURL:f,hasAccessibilityOptions:v,automaticUploads:y})))},Te=e=>{const t=e.imageList.map((e=>({name:"images",type:"listbox",label:"Image list",items:e}))),a={name:"alt",type:"input",label:"Alternative description",enabled:!(e.hasAccessibilityOptions&&e.image.isDecorative)},i=e.classList.map((e=>({name:"classes",type:"listbox",label:"Class",items:e})));return w([[{name:"src",type:"urlinput",filetype:"image",label:"Source",picker_text:"Browse files"}],t.toArray(),e.hasAccessibilityOptions&&e.hasDescription?[{type:"label",label:"Accessibility",items:[{name:"isDecorative",type:"checkbox",label:"Image is decorative"}]}]:[],e.hasDescription?[a]:[],e.hasImageTitle?[{name:"title",type:"input",label:"Image title"}]:[],e.hasDimensions?[{name:"dimensions",type:"sizeinput"}]:[],[{...(s=e.classList.isSome()&&e.hasImageCaption,s?{type:"grid",columns:2}:{type:"panel"}),items:w([i.toArray(),e.hasImageCaption?[{type:"label",label:"Caption",items:[{type:"checkbox",name:"caption",label:"Show caption"}]}]:[]])}]]);var s},Oe=e=>({title:"General",name:"general",items:Te(e)}),Ee=Te,Le=e=>({src:{value:e.src,meta:{}},images:e.src,alt:e.alt,title:e.title,dimensions:{width:e.width,height:e.height},classes:e.class,caption:e.caption,style:e.style,vspace:e.vspace,border:e.border,hspace:e.hspace,borderstyle:e.borderStyle,fileinput:[],isDecorative:e.isDecorative}),je=(e,t)=>({src:e.src.value,alt:null!==e.alt&&0!==e.alt.length||!t?e.alt:null,title:e.title,width:e.dimensions.width,height:e.dimensions.height,class:e.classes,style:e.style,caption:e.caption,hspace:e.hspace,vspace:e.vspace,border:e.border,borderStyle:e.borderstyle,isDecorative:e.isDecorative}),Me=(e,t,a,i)=>{((e,t)=>{const a=t.getData();((e,t)=>/^(?:[a-zA-Z]+:)?\/\//.test(t)?h.none():e.prependURL.bind((e=>t.substring(0,e.length)!==e?h.some(e+t):h.none())))(e,a.src.value).each((e=>{t.setData({src:{value:e,meta:a.src.meta}})}))})(t,i),((e,t)=>{const a=t.getData(),i=a.src.meta;if(void 0!==i){const s=fe({},a);((e,t,a)=>{e.hasDescription&&r(a.alt)&&(t.alt=a.alt),e.hasAccessibilityOptions&&(t.isDecorative=a.isDecorative||t.isDecorative||!1),e.hasImageTitle&&r(a.title)&&(t.title=a.title),e.hasDimensions&&(r(a.width)&&(t.dimensions.width=a.width),r(a.height)&&(t.dimensions.height=a.height)),r(a.class)&&Se(e.classList,a.class).each((e=>{t.classes=e.value})),e.hasImageCaption&&m(a.caption)&&(t.caption=a.caption),e.hasAdvTab&&(r(a.style)&&(t.style=a.style),r(a.vspace)&&(t.vspace=a.vspace),r(a.border)&&(t.border=a.border),r(a.hspace)&&(t.hspace=a.hspace),r(a.borderstyle)&&(t.borderstyle=a.borderstyle))})(e,s,i),t.setData(s)}})(t,i),((e,t,a,i)=>{const s=i.getData(),r=s.src.value,o=s.src.meta||{};o.width||o.height||!t.hasDimensions||(U(r)?e.imageSize(r).then((e=>{a.open&&i.setData({dimensions:e})})).catch((e=>console.error(e))):i.setData({dimensions:{width:"",height:""}}))})(e,t,a,i),((e,t,a)=>{const i=a.getData(),s=Se(e.imageList,i.src.value);t.prevImage=s,a.setData({images:s.map((e=>e.value)).getOr("")})})(t,a,i)},Re=(e,t,a,i)=>{const s=i.getData();var r;i.block("Uploading image"),(r=s.fileinput,((e,t)=>0{i.unblock()}),(s=>{const r=URL.createObjectURL(s),o=()=>{i.unblock(),URL.revokeObjectURL(r)},n=s=>{i.setData({src:{value:s,meta:{}}}),i.showTab("general"),Me(e,t,a,i)};var l;(l=s,new Promise(((e,t)=>{const a=new FileReader;a.onload=()=>{e(a.result)},a.onerror=()=>{var e;t(null===(e=a.error)||void 0===e?void 0:e.message)},a.readAsDataURL(l)}))).then((a=>{const l=e.createBlobCache(s,r,a);t.automaticUploads?e.uploadImage(l).then((e=>{n(e.url),o()})).catch((t=>{o(),e.alertErr(t)})):(e.addToBlobCache(l),n(l.blobUri()),i.unblock())}))}))},ke=(e,t,a)=>(i,s)=>{"src"===s.name?Me(e,t,a,i):"images"===s.name?((e,t,a,i)=>{const s=i.getData(),r=Se(t.imageList,s.images);r.each((e=>{const t=""===s.alt||a.prevImage.map((e=>e.text===s.alt)).getOr(!1);t?""===e.value?i.setData({src:e,alt:a.prevAlt}):i.setData({src:e,alt:e.text}):i.setData({src:e})})),a.prevImage=r,Me(e,t,a,i)})(e,t,a,i):"alt"===s.name?a.prevAlt=i.getData().alt:"fileinput"===s.name?Re(e,t,a,i):"isDecorative"===s.name&&i.setEnabled("alt",!i.getData().isDecorative)},ze=e=>()=>{e.open=!1},Be=e=>e.hasAdvTab||e.hasUploadUrl||e.hasUploadHandler?{type:"tabpanel",tabs:w([[Oe(e)],e.hasAdvTab?[{title:"Advanced",name:"advanced",items:[{type:"grid",columns:2,items:[{type:"input",label:"Vertical space",name:"vspace",inputMode:"numeric"},{type:"input",label:"Horizontal space",name:"hspace",inputMode:"numeric"},{type:"input",label:"Border width",name:"border",inputMode:"numeric"},{type:"listbox",name:"borderstyle",label:"Border style",items:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]}]}]}]:[],e.hasUploadTab&&(e.hasUploadUrl||e.hasUploadHandler)?[{title:"Upload",name:"upload",items:[{type:"dropzone",name:"fileinput"}]}]:[]])}:{type:"panel",items:Ee(e)},Pe=(e,t,a)=>i=>{const s=fe(Le(t.image),i.getData()),r={...s,style:le(a.normalizeCss,je(s,!1))};e.execCommand("mceUpdateImage",!1,je(r,t.hasAccessibilityOptions)),e.editorUpload.uploadImagesAuto(),i.close()},Fe=e=>t=>G(e,t)?(e=>new Promise((t=>{const a=document.createElement("img"),i=e=>{a.onload=a.onerror=null,a.parentNode&&a.parentNode.removeChild(a),t(e)};a.onload=()=>{const e={width:B(a.width,a.clientWidth),height:B(a.height,a.clientHeight)};i(Promise.resolve(e))},a.onerror=()=>{i(Promise.reject(`Failed to get image dimensions for: ${e}`))};const s=a.style;s.visibility="hidden",s.position="fixed",s.bottom=s.left="0px",s.width=s.height="auto",document.body.appendChild(a),a.src=e})))(e.documentBaseURI.toAbsolute(t)).then((e=>({width:String(e.width),height:String(e.height)}))):Promise.resolve({width:"",height:""}),He=e=>(t,a,i)=>{var s;return e.editorUpload.blobCache.create({blob:t,blobUri:a,name:null===(s=t.name)||void 0===s?void 0:s.replace(/\.[^\.]+$/,""),filename:t.name,base64:i.split(",")[1]})},Ge=e=>t=>{e.editorUpload.blobCache.add(t)},We=e=>t=>{e.windowManager.alert(t)},$e=e=>t=>pe(e,t),Ve=e=>t=>e.dom.parseStyle(t),Ke=e=>(t,a)=>e.dom.serializeStyle(t,a),Ze=e=>t=>Ae(e).upload([t],!1).then((e=>{var t;return 0===e.length?Promise.reject("Failed to upload image"):!1===e[0].status?Promise.reject(null===(t=e[0].error)||void 0===t?void 0:t.message):e[0]})),qe=e=>{const t={imageSize:Fe(e),addToBlobCache:Ge(e),createBlobCache:He(e),alertErr:We(e),normalizeCss:$e(e),parseStyle:Ve(e),serializeStyle:Ke(e),uploadImage:Ze(e)};return{open:()=>{Ne(e).then((a=>{const i=(e=>({prevImage:Se(e.imageList,e.image.src),prevAlt:e.image.alt,open:!0}))(a);return{title:"Insert/Edit Image",size:"normal",body:Be(a),buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:Le(a.image),onSubmit:Pe(e,a,t),onChange:ke(t,a,i),onClose:ze(i)}})).then(e.windowManager.open)}}},Je=e=>{const t=e.attr("class");return d(t)&&/\bimage\b/.test(t)},Qe=e=>t=>{let a=t.length;const i=t=>{t.attr("contenteditable",e?"true":null)};for(;a--;){const s=t[a];Je(s)&&(s.attr("contenteditable",e?"false":null),De.each(s.getAll("figcaption"),i))}},Xe=e=>t=>{const a=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("image",(e=>{(e=>{const t=e.options.register;t("image_dimensions",{processor:"boolean",default:!0}),t("image_advtab",{processor:"boolean",default:!1}),t("image_uploadtab",{processor:"boolean",default:!0}),t("image_prepend_url",{processor:"string",default:""}),t("image_class_list",{processor:"object[]"}),t("image_description",{processor:"boolean",default:!0}),t("image_title",{processor:"boolean",default:!1}),t("image_caption",{processor:"boolean",default:!1}),t("image_list",{processor:e=>{const t=!1===e||r(e)||((e,t)=>{if(l(e)){for(let a=0,i=e.length;a{e.on("PreInit",(()=>{e.parser.addNodeFilter("figure",Qe(!0)),e.serializer.addNodeFilter("figure",Qe(!1))}))})(e),(e=>{e.ui.registry.addToggleButton("image",{icon:"image",tooltip:"Insert/edit image",onAction:qe(e).open,onSetup:t=>{t.setActive(d(he(e)));const a=e.selection.selectorChangedWithUnbind("img:not([data-mce-object]):not([data-mce-placeholder]),figure.image",t.setActive).unbind,i=Xe(e)(t);return()=>{a(),i()}}}),e.ui.registry.addMenuItem("image",{icon:"image",text:"Image...",onAction:qe(e).open,onSetup:Xe(e)}),e.ui.registry.addContextMenu("image",{update:t=>e.selection.isEditable()&&(re(t)||"IMG"===t.nodeName&&!H(t))?["image"]:[]})})(e),(e=>{e.addCommand("mceImage",qe(e).open),e.addCommand("mceUpdateImage",((t,a)=>{e.undoManager.transact((()=>ye(e,a)))}))})(e)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/plugin.js index 9ff3844f..a3d0cb2b 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/plugin.min.js index c36e3373..038a8438 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/importcss/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/importcss/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(s=r=e,(o=String).prototype.isPrototypeOf(s)||(null===(n=r.constructor)||void 0===n?void 0:n.name)===o.name)?"string":t;var s,r,o,n})(t)===e,s=t("string"),r=t("object"),o=t("array"),n=("function",e=>"function"==typeof e);var c=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),i=tinymce.util.Tools.resolve("tinymce.EditorManager"),l=tinymce.util.Tools.resolve("tinymce.Env"),a=tinymce.util.Tools.resolve("tinymce.util.Tools");const p=e=>t=>t.options.get(e),u=p("importcss_merge_classes"),m=p("importcss_exclusive"),f=p("importcss_selector_converter"),y=p("importcss_selector_filter"),d=p("importcss_groups"),h=p("importcss_append"),_=p("importcss_file_filter"),g=p("skin"),v=p("skin_url"),b=Array.prototype.push,x=/^\.(?:ephox|tiny-pageembed|mce)(?:[.-]+\w+)+$/,T=e=>s(e)?t=>-1!==t.indexOf(e):e instanceof RegExp?t=>e.test(t):e,S=(e,t)=>{let s={};const r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(!r)return;const o=r[1],n=r[2].substr(1).split(".").join(" "),c=a.makeMap("a,img");return r[1]?(s={title:t},e.schema.getTextBlockElements()[o]?s.block=o:e.schema.getBlockElements()[o]||c[o.toLowerCase()]?s.selector=o:s.inline=o):r[2]&&(s={inline:"span",title:t.substr(1),classes:n}),u(e)?s.classes=n:s.attributes={class:n},s},k=(e,t)=>null===t||m(e),w=e=>{e.on("init",(()=>{const t=(()=>{const e=[],t=[],s={};return{addItemToGroup:(e,r)=>{s[e]?s[e].push(r):(t.push(e),s[e]=[r])},addItem:t=>{e.push(t)},toFormats:()=>{return(r=t,n=e=>{const t=s[e];return 0===t.length?[]:[{title:e,items:t}]},(e=>{const t=[];for(let s=0,r=e.length;s{const s=e.length,r=new Array(s);for(let o=0;oa.map(e,(e=>a.extend({},e,{original:e,selectors:{},filter:T(e.filter)}))))(d(e)),u=(t,s)=>{if(((e,t,s,r)=>!(k(e,s)?t in r:t in s.selectors))(e,t,s,r)){((e,t,s,r)=>{k(e,s)?r[t]=!0:s.selectors[t]=!0})(e,t,s,r);const o=((e,t,s,r)=>{let o;const n=f(e);return o=r&&r.selector_converter?r.selector_converter:n||(()=>S(e,s)),o.call(t,s,r)})(e,e.plugins.importcss,t,s);if(o){const t=o.name||c.DOM.uniqueId();return e.formatter.register(t,o),{title:o.title,format:t}}}return null};a.each(((e,t,r)=>{const o=[],n={},c=(t,n)=>{let p,u=t.href;if(u=(e=>{const t=l.cacheSuffix;return s(e)&&(e=e.replace("?"+t,"").replace("&"+t,"")),e})(u),u&&(!r||r(u,n))&&!((e,t)=>{const s=g(e);if(s){const r=v(e),o=r?e.documentBaseURI.toAbsolute(r):i.baseURL+"/skins/ui/"+s,n=i.baseURL+"/skins/content/";return t===o+"/content"+(e.inline?".inline":"")+".min.css"||-1!==t.indexOf(n)}return!1})(e,u)){a.each(t.imports,(e=>{c(e,!0)}));try{p=t.cssRules||t.rules}catch(e){}a.each(p,(e=>{e.styleSheet&&e.styleSheet?c(e.styleSheet,!0):e.selectorText&&a.each(e.selectorText.split(","),(e=>{o.push(a.trim(e))}))}))}};a.each(e.contentCSS,(e=>{n[e]=!0})),r||(r=(e,t)=>t||n[e]);try{a.each(t.styleSheets,(e=>{c(e)}))}catch(e){}return o})(e,e.getDoc(),T(_(e))),(e=>{if(!x.test(e)&&(!n||n(e))){const s=((e,t)=>a.grep(e,(e=>!e.filter||e.filter(t))))(p,e);if(s.length>0)a.each(s,(s=>{const r=u(e,s);r&&t.addItemToGroup(s.title,r)}));else{const s=u(e,null);s&&t.addItem(s)}}}));const m=t.toFormats();e.dispatch("addStyleModifications",{items:m,replace:!h(e)})}))};e.add("importcss",(e=>((e=>{const t=e.options.register,o=e=>s(e)||n(e)||r(e);t("importcss_merge_classes",{processor:"boolean",default:!0}),t("importcss_exclusive",{processor:"boolean",default:!0}),t("importcss_selector_converter",{processor:"function"}),t("importcss_selector_filter",{processor:o}),t("importcss_file_filter",{processor:o}),t("importcss_groups",{processor:"object[]"}),t("importcss_append",{processor:"boolean",default:!1})})(e),w(e),(e=>({convertSelectorToFormat:t=>S(e,t)}))(e))))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/plugin.js index 49b4906e..c2b50c91 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/plugin.min.js similarity index 98% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/plugin.min.js index dd93a344..42e4b74a 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/insertdatetime/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/insertdatetime/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),a=t("insertdatetime_dateformat"),n=t("insertdatetime_timeformat"),r=t("insertdatetime_formats"),s=t("insertdatetime_element"),i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),l="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),m="January February March April May June July August September October November December".split(" "),c=(e,t)=>{if((e=""+e).length(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+a.getFullYear())).replace("%y",""+a.getYear())).replace("%m",c(a.getMonth()+1,2))).replace("%d",c(a.getDate(),2))).replace("%H",""+c(a.getHours(),2))).replace("%M",""+c(a.getMinutes(),2))).replace("%S",""+c(a.getSeconds(),2))).replace("%I",""+((a.getHours()+11)%12+1))).replace("%p",a.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(m[a.getMonth()]))).replace("%b",""+e.translate(l[a.getMonth()]))).replace("%A",""+e.translate(o[a.getDay()]))).replace("%a",""+e.translate(i[a.getDay()]))).replace("%%","%"),u=(e,t)=>{if(s(e)){const a=d(e,t);let n;n=/%[HMSIp]/.test(t)?d(e,"%Y-%m-%dT%H:%M"):d(e,"%Y-%m-%d");const r=e.dom.getParent(e.selection.getStart(),"time");r?((e,t,a,n)=>{const r=e.dom.create("time",{datetime:a},n);e.dom.replace(r,t),e.selection.select(r,!0),e.selection.collapse(!1)})(e,r,n,a):e.insertContent('")}else e.insertContent(d(e,t))};var p=tinymce.util.Tools.resolve("tinymce.util.Tools");const g=e=>t=>{const a=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("insertdatetime",(e=>{(e=>{const t=e.options.register;t("insertdatetime_dateformat",{processor:"string",default:e.translate("%Y-%m-%d")}),t("insertdatetime_timeformat",{processor:"string",default:e.translate("%H:%M:%S")}),t("insertdatetime_formats",{processor:"string[]",default:["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"]}),t("insertdatetime_element",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mceInsertDate",((t,n)=>{u(e,null!=n?n:a(e))})),e.addCommand("mceInsertTime",((t,a)=>{u(e,null!=a?a:n(e))}))})(e),(e=>{const t=r(e),a=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})((e=>{const t=r(e);return t.length>0?t[0]:n(e)})(e)),s=t=>e.execCommand("mceInsertDate",!1,t);e.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:e=>e===a.get(),fetch:a=>{a(p.map(t,(t=>({type:"choiceitem",text:d(e,t),value:t}))))},onAction:e=>{s(a.get())},onItemAction:(e,t)=>{a.set(t),s(t)},onSetup:g(e)});const i=e=>()=>{a.set(e),s(e)};e.ui.registry.addNestedMenuItem("insertdatetime",{icon:"insert-time",text:"Date/time",getSubmenuItems:()=>p.map(t,(t=>({type:"menuitem",text:d(e,t),onAction:i(t)}))),onSetup:g(e)})})(e)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/link/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/link/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/link/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/link/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/link/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/link/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/link/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/link/plugin.js index e77e926e..5e400f5e 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/link/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/link/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/link/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/link/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/link/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/link/plugin.min.js index 96192bb8..81b37c81 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/link/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/link/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(l=o.constructor)||void 0===l?void 0:l.name)===r.name)?"string":t;var n,o,r,l})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),l=t("array"),i=(null,e=>null===e);const a=n("boolean"),s=e=>!(e=>null==e)(e),c=n("function"),u=(e,t)=>{if(l(e)){for(let n=0,o=e.length;n{},d=(e,t)=>e===t;class m{constructor(e,t){this.tag=e,this.value=t}static some(e){return new m(!0,e)}static none(){return m.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?m.some(e(this.value)):m.none()}bind(e){return this.tag?e(this.value):m.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:m.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return s(e)?m.some(e):m.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}m.singletonNone=new m(!1);const h=Array.prototype.indexOf,f=Array.prototype.push,p=e=>{const t=[];for(let n=0,o=e.length;n{for(let n=0;ne.exists((e=>n(e,t))),x=e=>{const t=[],n=e=>{t.push(e)};for(let t=0;te?m.some(t):m.none(),b=e=>t=>t.options.get(e),_=b("link_assume_external_targets"),w=b("link_context_toolbar"),C=b("link_list"),O=b("link_default_target"),N=b("link_default_protocol"),A=b("link_target_list"),S=b("link_rel_list"),E=b("link_class_list"),T=b("link_title"),R=b("allow_unsafe_link_target"),P=b("link_quicklink");var L=tinymce.util.Tools.resolve("tinymce.util.Tools");const M=e=>o(e.value)?e.value:"",D=(e,t)=>{const n=[];return L.each(e,(e=>{const r=(e=>o(e.text)?e.text:o(e.title)?e.title:"")(e);if(void 0!==e.menu){const o=D(e.menu,t);n.push({text:r,items:o})}else{const o=t(e);n.push({text:r,value:o})}})),n},B=(e=M)=>t=>m.from(t).map((t=>D(t,e))),I=e=>B(M)(e),j=B,K=(e,t)=>n=>({name:e,type:"listbox",label:t,items:n}),U=M,q=Object.keys,F=Object.hasOwnProperty,V=(e,t)=>F.call(e,t);var $=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),z=tinymce.util.Tools.resolve("tinymce.util.URI");const G=e=>s(e)&&"a"===e.nodeName.toLowerCase(),H=e=>G(e)&&!!Q(e),J=(e,t)=>{if(e.collapsed)return[];{const n=e.cloneContents(),o=n.firstChild,r=new $(o,n),l=[];let i=o;do{t(i)&&l.push(i)}while(i=r.next());return l}},W=e=>/^\w+:/i.test(e),Q=e=>{var t,n;return null!==(n=null!==(t=e.getAttribute("data-mce-href"))&&void 0!==t?t:e.getAttribute("href"))&&void 0!==n?n:""},X=(e,t)=>{const n=["noopener"],o=e?e.split(/\s+/):[],r=e=>e.filter((e=>-1===L.inArray(n,e))),l=t?(e=>(e=r(e)).length>0?e.concat(n):n)(o):r(o);return l.length>0?(e=>L.trim(e.sort().join(" ")))(l):""},Y=(e,t)=>(t=t||te(e.selection.getRng())[0]||e.selection.getNode(),le(t)?m.from(e.dom.select("a[href]",t)[0]):m.from(e.dom.getParent(t,"a[href]"))),Z=(e,t)=>Y(e,t).isSome(),ee=(e,t)=>t.fold((()=>e.getContent({format:"text"})),(e=>e.innerText||e.textContent||"")).replace(/\uFEFF/g,""),te=e=>J(e,H),ne=e=>L.grep(e,H),oe=e=>ne(e).length>0,re=e=>{const t=e.schema.getTextInlineElements();if(Y(e).exists((e=>e.hasAttribute("data-mce-block"))))return!1;const n=e.selection.getRng();return!!n.collapsed||0===J(n,(e=>1===e.nodeType&&!G(e)&&!V(t,e.nodeName.toLowerCase()))).length},le=e=>s(e)&&"FIGURE"===e.nodeName&&/\bimage\b/i.test(e.className),ie=(e,t,n)=>{const o=e.selection.getNode(),r=Y(e,o),l=((e,t)=>{const n={...t};if(0===S(e).length&&!R(e)){const e=X(n.rel,"_blank"===n.target);n.rel=e||null}return m.from(n.target).isNone()&&!1===A(e)&&(n.target=O(e)),n.href=((e,t)=>"http"!==t&&"https"!==t||W(e)?e:t+"://"+e)(n.href,_(e)),n})(e,(e=>{return t=["title","rel","class","target"],n=(t,n)=>(e[n].each((e=>{t[n]=e.length>0?e:null})),t),o={href:e.href},((e,t)=>{for(let n=0,o=e.length;n{o=n(o,e)})),o;var t,n,o})(n));e.undoManager.transact((()=>{n.href===t.href&&t.attach(),r.fold((()=>{((e,t,n,o)=>{const r=e.dom;le(t)?ge(r,t,o):n.fold((()=>{e.execCommand("mceInsertLink",!1,o)}),(t=>{e.insertContent(r.createHTML("a",o,r.encode(t)))}))})(e,o,n.text,l)}),(t=>{e.focus(),((e,t,n,o)=>{n.each((e=>{V(t,"innerText")?t.innerText=e:t.textContent=e})),e.dom.setAttribs(t,o),e.selection.select(t)})(e,t,n.text,l)}))}))},ae=e=>{const{class:t,href:n,rel:o,target:r,text:l,title:a}=e;return((e,t)=>{const n={};var o;return((e,t,n,o)=>{((e,t)=>{const n=q(e);for(let o=0,r=n.length;o{(t(e,r)?n:o)(e,r)}))})(e,((e,t)=>!1===i(e)),(o=n,(e,t)=>{o[t]=e}),g),n})({class:t.getOrNull(),href:n,rel:o.getOrNull(),target:r.getOrNull(),text:l.getOrNull(),title:a.getOrNull()})},se=(e,t,n)=>{const o=((e,t)=>{const n=e.options.get,o={allow_html_data_urls:n("allow_html_data_urls"),allow_script_urls:n("allow_script_urls"),allow_svg_data_urls:n("allow_svg_data_urls")},r=t.href;return{...t,href:z.isDomSafe(r,"a",o)?r:""}})(e,n);e.hasPlugin("rtc",!0)?e.execCommand("createlink",!1,ae(o)):ie(e,t,o)},ce=e=>{e.hasPlugin("rtc",!0)?e.execCommand("unlink"):(e=>{e.undoManager.transact((()=>{const t=e.selection.getNode();le(t)?ue(e,t):(e=>{const t=e.dom,n=e.selection,o=n.getBookmark(),r=n.getRng().cloneRange(),l=t.getParent(r.startContainer,"a[href]",e.getBody()),i=t.getParent(r.endContainer,"a[href]",e.getBody());l&&r.setStartBefore(l),i&&r.setEndAfter(i),n.setRng(r),e.execCommand("unlink"),n.moveToBookmark(o)})(e),e.focus()}))})(e)},ue=(e,t)=>{var n;const o=e.dom.select("img",t)[0];if(o){const r=e.dom.getParents(o,"a[href]",t)[0];r&&(null===(n=r.parentNode)||void 0===n||n.insertBefore(o,r),e.dom.remove(r))}},ge=(e,t,n)=>{var o;const r=e.select("img",t)[0];if(r){const t=e.create("a",n);null===(o=r.parentNode)||void 0===o||o.insertBefore(t,r),t.appendChild(r)}},de=(e,t)=>k(t,(t=>(e=>{return V(t=e,n="items")&&void 0!==t[n]&&null!==t[n];var t,n})(t)?de(e,t.items):y(t.value===e,t))),me=(e,t)=>{const n={text:e.text,title:e.title},o=(e,o)=>{const r=(l=t,i=o,"link"===i?l.link:"anchor"===i?l.anchor:m.none()).getOr([]);var l,i;return((e,t,n,o)=>{const r=o[t],l=e.length>0;return void 0!==r?de(r,n).map((t=>({url:{value:t.value,meta:{text:l?e:t.text,attach:g}},text:l?e:t.text}))):m.none()})(n.text,o,r,e)};return{onChange:(e,t)=>{const r=t.name;return"url"===r?(e=>{const t=(o=e.url,y(n.text.length<=0,m.from(null===(r=o.meta)||void 0===r?void 0:r.text).getOr(o.value)));var o,r;const l=(e=>{var t;return y(n.title.length<=0,m.from(null===(t=e.meta)||void 0===t?void 0:t.title).getOr(""))})(e.url);return t.isSome()||l.isSome()?m.some({...t.map((e=>({text:e}))).getOr({}),...l.map((e=>({title:e}))).getOr({})}):m.none()})(e()):((e,t)=>h.call(e,t))(["anchor","link"],r)>-1?o(e(),r):"text"===r||"title"===r?(n[r]=e()[r],m.none()):m.none()}}};var he=tinymce.util.Tools.resolve("tinymce.util.Delay");const fe=e=>{const t=e.href;return t.indexOf("@")>0&&-1===t.indexOf("/")&&-1===t.indexOf("mailto:")?m.some({message:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",preprocess:e=>({...e,href:"mailto:"+t})}):m.none()},pe=(e,t)=>n=>{const o=n.href;return 1===e&&!W(o)||0===e&&/^\s*www(\.|\d\.)/i.test(o)?m.some({message:`The URL you entered seems to be an external link. Do you want to add the required ${t}:// prefix?`,preprocess:e=>({...e,href:t+"://"+o})}):m.none()},ke=e=>{const t=e.dom.select("a:not([href])"),n=p(((e,t)=>{const n=e.length,o=new Array(n);for(let r=0;r{const t=e.name||e.id;return t?[{text:t,value:"#"+t}]:[]})));return n.length>0?m.some([{text:"None",value:""}].concat(n)):m.none()},ve=e=>{const t=E(e);return t.length>0?I(t):m.none()},xe=e=>{try{return m.some(JSON.parse(e))}catch(e){return m.none()}},ye=(e,t)=>{const n=S(e);if(n.length>0){const o=v(t,"_blank"),r=e=>X(U(e),o);return(!1===R(e)?j(r):I)(n)}return m.none()},be=[{text:"Current window",value:""},{text:"New window",value:"_blank"}],_e=e=>{const t=A(e);return l(t)?I(t).orThunk((()=>m.some(be))):!1===t?m.none():m.some(be)},we=(e,t,n)=>{const o=e.getAttrib(t,n);return null!==o&&o.length>0?m.some(o):m.none()},Ce=(e,t)=>(e=>{const t=t=>e.convertURL(t.value||t.url||"","href"),n=C(e);return new Promise((e=>{o(n)?fetch(n).then((e=>e.ok?e.text().then(xe):Promise.reject())).then(e,(()=>e(m.none()))):c(n)?n((t=>e(m.some(t)))):e(m.from(n))})).then((e=>e.bind(j(t)).map((e=>e.length>0?[{text:"None",value:""}].concat(e):e))))})(e).then((n=>{const o=((e,t)=>{const n=e.dom,o=re(e)?m.some(ee(e.selection,t)):m.none(),r=t.bind((e=>m.from(n.getAttrib(e,"href")))),l=t.bind((e=>m.from(n.getAttrib(e,"target")))),i=t.bind((e=>we(n,e,"rel"))),a=t.bind((e=>we(n,e,"class")));return{url:r,text:o,title:t.bind((e=>we(n,e,"title"))),target:l,rel:i,linkClass:a}})(e,t);return{anchor:o,catalogs:{targets:_e(e),rels:ye(e,o.target),classes:ve(e),anchor:ke(e),link:n},optNode:t,flags:{titleEnabled:T(e)}}})),Oe=e=>{const t=(e=>{const t=Y(e);return Ce(e,t)})(e);t.then((t=>{const n=((e,t)=>n=>{const o=n.getData();if(!o.url.value)return ce(e),void n.close();const r=e=>m.from(o[e]).filter((n=>!v(t.anchor[e],n))),l={href:o.url.value,text:r("text"),target:r("target"),rel:r("rel"),class:r("linkClass"),title:r("title")},i={href:o.url.value,attach:void 0!==o.url.meta&&o.url.meta.attach?o.url.meta.attach:g};((e,t)=>k([fe,pe(_(e),N(e))],(e=>e(t))).fold((()=>Promise.resolve(t)),(n=>new Promise((o=>{((e,t,n)=>{const o=e.selection.getRng();he.setEditorTimeout(e,(()=>{e.windowManager.confirm(t,(t=>{e.selection.setRng(o),n(t)}))}))})(e,n.message,(e=>{o(e?n.preprocess(t):t)}))})))))(e,l).then((t=>{se(e,i,t)})),n.close()})(e,t);return((e,t,n)=>{const o=e.anchor.text.map((()=>({name:"text",type:"input",label:"Text to display"}))).toArray(),r=e.flags.titleEnabled?[{name:"title",type:"input",label:"Title"}]:[],l=((e,t)=>{const n=e.anchor,o=n.url.getOr("");return{url:{value:o,meta:{original:{value:o}}},text:n.text.getOr(""),title:n.title.getOr(""),anchor:o,link:o,rel:n.rel.getOr(""),target:n.target.or(t).getOr(""),linkClass:n.linkClass.getOr("")}})(e,m.from(O(n))),i=e.catalogs,a=me(l,i);return{title:"Insert/Edit Link",size:"normal",body:{type:"panel",items:p([[{name:"url",type:"urlinput",filetype:"file",label:"URL",picker_text:"Browse links"}],o,r,x([i.anchor.map(K("anchor","Anchors")),i.rels.map(K("rel","Rel")),i.targets.map(K("target","Open link in...")),i.link.map(K("link","Link list")),i.classes.map(K("linkClass","Class"))])])},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:l,onChange:(e,{name:t})=>{a.onChange(e.getData,{name:t}).each((t=>{e.setData(t)}))},onSubmit:t}})(t,n,e)})).then((t=>{e.windowManager.open(t)}))};var Ne=tinymce.util.Tools.resolve("tinymce.util.VK");const Ae=(e,t)=>e.dom.getParent(t,"a[href]"),Se=e=>Ae(e,e.selection.getStart()),Ee=(e,t)=>{if(t){const n=Q(t);if(/^#/.test(n)){const t=e.dom.select(n);t.length&&e.selection.scrollIntoView(t[0],!0)}else(e=>{const t=document.createElement("a");t.target="_blank",t.href=e,t.rel="noreferrer noopener";const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),((e,t)=>{document.body.appendChild(e),e.dispatchEvent(t),document.body.removeChild(e)})(t,n)})(t.href)}},Te=e=>()=>{e.execCommand("mceLink",!1,{dialog:!0})},Re=e=>()=>{Ee(e,Se(e))},Pe=(e,t)=>(e.on("NodeChange",t),()=>e.off("NodeChange",t)),Le=e=>t=>{const n=()=>{t.setActive(!e.mode.isReadOnly()&&Z(e,e.selection.getNode())),t.setEnabled(e.selection.isEditable())};return n(),Pe(e,n)},Me=e=>t=>{const n=()=>{t.setEnabled(e.selection.isEditable())};return n(),Pe(e,n)},De=e=>t=>{const n=()=>t.setEnabled((e=>1===(e.selection.isCollapsed()?ne(e.dom.getParents(e.selection.getStart())):te(e.selection.getRng())).length)(e));return n(),Pe(e,n)},Be=e=>t=>{const n=e.dom.getParents(e.selection.getStart()),o=n=>{t.setEnabled((t=>{return oe(t)||(n=e.selection.getRng(),te(n).length>0);var n})(n)&&e.selection.isEditable())};return o(n),Pe(e,(e=>o(e.parents)))};e.add("link",(e=>{(e=>{const t=e.options.register;t("link_assume_external_targets",{processor:e=>{const t=o(e)||a(e);return t?!0===e?{value:1,valid:t}:"http"===e||"https"===e?{value:e,valid:t}:{value:0,valid:t}:{valid:!1,message:"Must be a string or a boolean."}},default:!1}),t("link_context_toolbar",{processor:"boolean",default:!1}),t("link_list",{processor:e=>o(e)||c(e)||u(e,r)}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"}),t("link_target_list",{processor:e=>a(e)||u(e,r),default:!0}),t("link_rel_list",{processor:"object[]",default:[]}),t("link_class_list",{processor:"object[]",default:[]}),t("link_title",{processor:"boolean",default:!0}),t("allow_unsafe_link_target",{processor:"boolean",default:!1}),t("link_quicklink",{processor:"boolean",default:!1})})(e),(e=>{e.ui.registry.addToggleButton("link",{icon:"link",tooltip:"Insert/edit link",onAction:Te(e),onSetup:Le(e)}),e.ui.registry.addButton("openlink",{icon:"new-tab",tooltip:"Open link",onAction:Re(e),onSetup:De(e)}),e.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:()=>ce(e),onSetup:Be(e)})})(e),(e=>{e.ui.registry.addMenuItem("openlink",{text:"Open link",icon:"new-tab",onAction:Re(e),onSetup:De(e)}),e.ui.registry.addMenuItem("link",{icon:"link",text:"Link...",shortcut:"Meta+K",onSetup:Me(e),onAction:Te(e)}),e.ui.registry.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onAction:()=>ce(e),onSetup:Be(e)})})(e),(e=>{e.ui.registry.addContextMenu("link",{update:t=>e.dom.isEditable(t)?oe(e.dom.getParents(t,"a"))?"link unlink openlink":"link":""})})(e),(e=>{const t=t=>{const n=e.selection.getNode();return t.setEnabled(Z(e,n)),g};e.ui.registry.addContextForm("quicklink",{launch:{type:"contextformtogglebutton",icon:"link",tooltip:"Link",onSetup:Le(e)},label:"Link",predicate:t=>w(e)&&Z(e,t),initValue:()=>Y(e).fold((()=>""),Q),commands:[{type:"contextformtogglebutton",icon:"link",tooltip:"Link",primary:!0,onSetup:t=>{const n=e.selection.getNode();return t.setActive(Z(e,n)),Le(e)(t)},onAction:t=>{const n=t.getValue(),o=(t=>{const n=Y(e),o=re(e);if(n.isNone()&&o){const o=ee(e.selection,n);return y(0===o.length,t)}return m.none()})(n);se(e,{href:n,attach:g},{href:n,text:o,title:m.none(),rel:m.none(),target:m.none(),class:m.none()}),(e=>{e.selection.collapse(!1)})(e),t.hide()}},{type:"contextformbutton",icon:"unlink",tooltip:"Remove link",onSetup:t,onAction:t=>{ce(e),t.hide()}},{type:"contextformbutton",icon:"new-tab",tooltip:"Open link",onSetup:t,onAction:t=>{Re(e)(),t.hide()}}]})})(e),(e=>{e.on("click",(t=>{const n=Ae(e,t.target);n&&Ne.metaKeyPressed(t)&&(t.preventDefault(),Ee(e,n))})),e.on("keydown",(t=>{if(!t.isDefaultPrevented()&&13===t.keyCode&&(e=>!0===e.altKey&&!1===e.shiftKey&&!1===e.ctrlKey&&!1===e.metaKey)(t)){const n=Se(e);n&&(t.preventDefault(),Ee(e,n))}}))})(e),(e=>{e.addCommand("mceLink",((t,n)=>{!0!==(null==n?void 0:n.dialog)&&P(e)?e.dispatch("contexttoolbar-show",{toolbarKey:"quicklink"}):Oe(e)}))})(e),(e=>{e.addShortcut("Meta+K","",(()=>{e.execCommand("mceLink")}))})(e)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/plugin.js index f3c3f326..3fd82ccc 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/plugin.min.js index ec84ae7a..ce4fe6bc 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/lists/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/lists/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var n,o,r,s})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),s=t("array"),i=n("boolean"),l=e=>!(e=>null==e)(e),a=n("function"),d=n("number"),c=()=>{},m=e=>()=>e,u=(e,t)=>e===t,p=e=>t=>!e(t),g=m(!1);class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return l(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const f=Array.prototype.slice,y=Array.prototype.indexOf,v=Array.prototype.push,C=(e,t)=>{return n=e,o=t,y.call(n,o)>-1;var n,o},b=(e,t)=>{for(let n=0,o=e.length;n{const n=e.length,o=new Array(n);for(let r=0;r{for(let n=0,o=e.length;n{const n=[];for(let o=0,r=e.length;o(S(e,((e,o)=>{n=t(n,e,o)})),n),A=(e,t,n)=>{for(let o=0,r=e.length;oA(e,t,g),x=(e,t)=>(e=>{const t=[];for(let n=0,o=e.length;n{const t=f.call(e,0);return t.reverse(),t},w=(e,t)=>t>=0&&tw(e,0),D=e=>w(e,e.length-1),B=(e,t)=>{const n=[],o=a(t)?e=>b(n,(n=>t(n,e))):e=>C(n,e);for(let t=0,r=e.length;te.exists((e=>n(e,t))),P=(e,t,n)=>e.isSome()&&t.isSome()?h.some(n(e.getOrDie(),t.getOrDie())):h.none(),I=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},R=(e,t)=>{const n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return I(n.childNodes[0])},U=(e,t)=>{const n=(t||document).createElement(e);return I(n)},$=I,_=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},H=(e,t)=>e.dom===t.dom,F=_,V="undefined"!=typeof window?window:Function("return this;")(),j=(e,t)=>((e,t)=>{let n=null!=t?t:V;for(let t=0;t{const t=j("ownerDocument.defaultView",e);return r(e)&&((e=>((e,t)=>{const n=((e,t)=>j(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(K(e).constructor.name))},Q=e=>e.dom.nodeName.toLowerCase(),W=e=>e.dom.nodeType,q=e=>t=>W(t)===e,Z=e=>G(e)&&z(e.dom),G=q(1),J=q(3),X=q(9),Y=q(11),ee=e=>t=>G(t)&&Q(t)===e,te=e=>h.from(e.dom.parentNode).map($),ne=e=>N(e.dom.childNodes,$),oe=(e,t)=>{const n=e.dom.childNodes;return h.from(n[t]).map($)},re=e=>oe(e,0),se=e=>oe(e,e.dom.childNodes.length-1),ie=a(Element.prototype.attachShadow)&&a(Node.prototype.getRootNode)?e=>$(e.dom.getRootNode()):e=>X(e)?e:$(e.dom.ownerDocument),le=e=>$(e.dom.host),ae=e=>{const t=J(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=ie(e);return Y(n=t)&&l(n.dom.host)?h.some(t):h.none();var n})($(t)).fold((()=>n.body.contains(t)),(o=ae,r=le,e=>o(r(e))));var o,r};var de=(e,t,n,o,r)=>e(n,o)?h.some(n):a(r)&&r(n)?h.none():t(n,o,r);const ce=(e,t,n)=>{let o=e.dom;const r=a(n)?n:g;for(;o.parentNode;){o=o.parentNode;const e=$(o);if(t(e))return h.some(e);if(r(e))break}return h.none()},me=(e,t,n)=>de(((e,t)=>t(e)),ce,e,t,n),ue=(e,t,n)=>ce(e,(e=>_(e,t)),n),pe=(e,t)=>{te(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},ge=(e,t)=>{e.dom.appendChild(t.dom)},he=(e,t)=>{S(t,(t=>{ge(e,t)}))},fe=e=>{e.dom.textContent="",S(ne(e),(e=>{ye(e)}))},ye=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)};var ve=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),Ce=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),be=tinymce.util.Tools.resolve("tinymce.util.VK");const Ne=e=>N(e,$),Se=Object.keys,Le=(e,t)=>{const n=Se(e);for(let o=0,r=n.length;o{const n=e.dom;Le(t,((e,t)=>{((e,t,n)=>{if(!(o(n)||i(n)||d(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(n,t,e)}))},Ae=e=>O(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),Te=e=>((e,t)=>$(e.dom.cloneNode(!0)))(e),xe=(e,t)=>{const n=((e,t)=>{const n=U(t),o=Ae(e);return Oe(n,o),n})(e,t);var o,r;r=n,(e=>h.from(e.dom.nextSibling).map($))(o=e).fold((()=>{te(o).each((e=>{ge(e,r)}))}),(e=>{pe(e,r)}));const s=ne(e);return he(n,s),ye(e),n};var Ee=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),we=tinymce.util.Tools.resolve("tinymce.util.Tools");const ke=e=>t=>l(t)&&t.nodeName.toLowerCase()===e,De=e=>t=>l(t)&&e.test(t.nodeName),Be=e=>l(e)&&3===e.nodeType,Me=e=>l(e)&&1===e.nodeType,Pe=De(/^(OL|UL|DL)$/),Ie=De(/^(OL|UL)$/),Re=ke("ol"),Ue=De(/^(LI|DT|DD)$/),$e=De(/^(DT|DD)$/),_e=De(/^(TH|TD)$/),He=ke("br"),Fe=(e,t)=>l(t)&&t.nodeName in e.schema.getTextBlockElements(),Ve=(e,t)=>l(e)&&e.nodeName in t,je=(e,t)=>l(t)&&t.nodeName in e.schema.getVoidElements(),Ke=(e,t,n)=>{const o=e.isEmpty(t);return!(n&&e.select("span[data-mce-type=bookmark]",t).length>0)&&o},ze=(e,t)=>e.isChildOf(t,e.getRoot()),Qe=e=>t=>t.options.get(e),We=Qe("lists_indent_on_tab"),qe=Qe("forced_root_block"),Ze=Qe("forced_root_block_attrs"),Ge=(e,t)=>{const n=e.dom,o=e.schema.getBlockElements(),r=n.createFragment(),s=qe(e),i=Ze(e);let l,a,d=!1;for(a=n.create(s,i),Ve(t.firstChild,o)||r.appendChild(a);l=t.firstChild;){const e=l.nodeName;d||"SPAN"===e&&"bookmark"===l.getAttribute("data-mce-type")||(d=!0),Ve(l,o)?(r.appendChild(l),a=null):(a||(a=n.create(s,i),r.appendChild(a)),a.appendChild(l))}return!d&&a&&a.appendChild(n.create("br",{"data-mce-bogus":"1"})),r},Je=Ee.DOM,Xe=ee("dd"),Ye=ee("dt"),et=(e,t)=>{var n;Xe(t)?xe(t,"dt"):Ye(t)&&(n=t,h.from(n.dom.parentElement).map($)).each((n=>((e,t,n)=>{const o=Je.select('span[data-mce-type="bookmark"]',t),r=Ge(e,n),s=Je.createRng();s.setStartAfter(n),s.setEndAfter(t);const i=s.extractContents();for(let t=i.firstChild;t;t=t.firstChild)if("LI"===t.nodeName&&e.dom.isEmpty(t)){Je.remove(t);break}e.dom.isEmpty(i)||Je.insertAfter(i,t),Je.insertAfter(r,t);const l=n.parentElement;l&&Ke(e.dom,l)&&(e=>{const t=e.parentNode;t&&we.each(o,(e=>{t.insertBefore(e,n.parentNode)})),Je.remove(e)})(l),Je.remove(n),Ke(e.dom,t)&&Je.remove(t)})(e,n.dom,t.dom)))},tt=e=>{Ye(e)&&xe(e,"dd")},nt=(e,t)=>{if(Be(e))return{container:e,offset:t};const n=ve.getNode(e,t);return Be(n)?{container:n,offset:t>=e.childNodes.length?n.data.length:0}:n.previousSibling&&Be(n.previousSibling)?{container:n.previousSibling,offset:n.previousSibling.data.length}:n.nextSibling&&Be(n.nextSibling)?{container:n.nextSibling,offset:0}:{container:e,offset:t}},ot=e=>{const t=e.cloneRange(),n=nt(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);const o=nt(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},rt=["OL","UL","DL"],st=rt.join(","),it=(e,t)=>{const n=t||e.selection.getStart(!0);return e.dom.getParent(n,st,dt(e,n))},lt=e=>{const t=e.selection.getSelectedBlocks();return L(((e,t)=>{const n=we.map(t,(t=>e.dom.getParent(t,"li,dd,dt",dt(e,t))||t));return B(n)})(e,t),Ue)},at=(e,t)=>{const n=e.dom.getParents(t,"TD,TH");return n.length>0?n[0]:e.getBody()},dt=(e,t)=>{const n=e.dom.getParents(t,e.dom.isBlock),o=T(n,(t=>{return n=e.schema,!Pe(o=t)&&!Ue(o)&&b(rt,(e=>n.isValidChild(o.nodeName,e)));var n,o}));return o.getOr(e.getBody())},ct=(e,t)=>{const n=e.dom.getParents(t,"ol,ul",dt(e,t));return D(n)},mt=(e,t)=>{const n=N(t,(t=>ct(e,t).getOr(t)));return B(n)},ut=e=>/\btox\-/.test(e.className),pt=(e,t)=>A(e,Pe,_e).exists((e=>e.nodeName===t&&!ut(e))),gt=(e,t)=>null!==t&&!e.dom.isEditable(t),ht=(e,t)=>{const n=e.dom.getParent(t,"ol,ul,dl");return gt(e,n)},ft=(e,t)=>{const n=e.selection.getNode();return t({parents:e.dom.getParents(n),element:n}),e.on("NodeChange",t),()=>e.off("NodeChange",t)},yt=(e,t)=>{const n=(t||document).createDocumentFragment();return S(e,(e=>{n.appendChild(e.dom)})),$(n)},vt=(e,t,n)=>e.dispatch("ListMutation",{action:t,element:n}),Ct=(bt=/^\s+|\s+$/g,e=>e.replace(bt,""));var bt;const Nt=(e,t,n)=>{((e,t,n)=>{if(!o(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);(e=>void 0!==e.style&&a(e.style.getPropertyValue))(e)&&e.style.setProperty(t,n)})(e.dom,t,n)},St=e=>F(e,"OL,UL"),Lt=e=>re(e).exists(St),Ot=e=>"listAttributes"in e,At=e=>"isComment"in e,Tt=e=>e.depth>0,xt=e=>e.isSelected,Et=e=>{const t=ne(e),n=se(e).exists(St)?t.slice(0,-1):t;return N(n,Te)},wt=(e,t)=>{ge(e.item,t.list)},kt=(e,t)=>{const n={list:U(t,e),item:U("li",e)};return ge(n.list,n.item),n},Dt=(e,t,n)=>{const o=t.slice(0,n.depth);return D(o).each((t=>{if(Ot(n)){const o=((e,t,n)=>{const o=U("li",e);return Oe(o,t),he(o,n),o})(e,n.itemAttributes,n.content);((e,t)=>{ge(e.list,t),e.item=t})(t,o),((e,t)=>{Q(e.list)!==t.listType&&(e.list=xe(e.list,t.listType)),Oe(e.list,t.listAttributes)})(t,n)}else if((e=>"isFragment"in e)(n))he(t.item,n.content);else{const e=R(`\x3c!--${n.content}--\x3e`);ge(t.list,e)}})),o},Bt=(e,t)=>{let n=h.none();const o=O(t,((t,o,r)=>At(o)?0===r?(n=h.some(o),t):Dt(e,t,o):o.depth>t.length?((e,t,n)=>{const o=((e,t,n)=>{const o=[];for(let r=0;r{for(let t=1;t{for(let t=0;t{Ot(t)&&(Oe(e.list,t.listAttributes),Oe(e.item,t.itemAttributes)),he(e.item,t.content)}))})(o,n),r=o,P(D(t),k(r),wt),t.concat(o)})(e,t,o):Dt(e,t,o)),[]);return n.each((e=>{const t=R(`\x3c!--${e.content}--\x3e`);k(o).each((e=>{((e,t)=>{re(e).fold((()=>{ge(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))})(e.list,t)}))})),k(o).map((e=>e.list))},Mt=e=>(S(e,((t,n)=>{((e,t)=>{const n=e[t].depth,o=e=>e.depth===n&&!e.dirty,r=e=>e.depthA(e.slice(t+1),o,r)))})(e,n).fold((()=>{t.dirty&&Ot(t)&&(e=>{e.listAttributes=((e,t)=>{const n={};var o;return((e,t,n,o)=>{Le(e,((e,r)=>{(t(e,r)?n:o)(e,r)}))})(e,t,(o=n,(e,t)=>{o[t]=e}),c),n})(e.listAttributes,((e,t)=>"start"!==t))})(t)}),(e=>{return o=e,void(Ot(n=t)&&Ot(o)&&(n.listType=o.listType,n.listAttributes={...o.listAttributes}));var n,o}))})),e),Pt=(e,t,n,o)=>{var r,s;if(8===W(s=o)||"#comment"===Q(s))return[{depth:e+1,content:null!==(r=o.dom.nodeValue)&&void 0!==r?r:"",dirty:!1,isSelected:!1,isComment:!0}];t.each((e=>{H(e.start,o)&&n.set(!0)}));const i=((e,t,n)=>te(e).filter(G).map((o=>({depth:t,dirty:!1,isSelected:n,content:Et(e),itemAttributes:Ae(e),listAttributes:Ae(o),listType:Q(o),isInPreviousLi:!1}))))(o,e,n.get());t.each((e=>{H(e.end,o)&&n.set(!1)}));const l=se(o).filter(St).map((o=>Rt(e,t,n,o))).getOr([]);return i.toArray().concat(l)},It=(e,t,n,o)=>re(o).filter(St).fold((()=>Pt(e,t,n,o)),(r=>{const s=O(ne(o),((o,s,i)=>{if(0===i)return o;if(F(s,"LI"))return o.concat(Pt(e,t,n,s));{const t={isFragment:!0,depth:e,content:[s],isSelected:!1,dirty:!1,parentListType:Q(r)};return o.concat(t)}}),[]);return Rt(e,t,n,r).concat(s)})),Rt=(e,t,n,o)=>x(ne(o),(o=>(St(o)?Rt:It)(e+1,t,n,o))),Ut=(e,t,n)=>{const o=((e,t)=>{const n=(e=>{let t=!1;return{get:()=>t,set:e=>{t=e}}})();return N(e,(e=>({sourceList:e,entries:Rt(0,t,n,e)})))})(t,(e=>{const t=N(lt(e),$);return P(T(t,p(Lt)),T(E(t),p(Lt)),((e,t)=>({start:e,end:t})))})(e));S(o,(t=>{((e,t)=>{S(L(e,xt),(e=>((e,t)=>{switch(e){case"Indent":t.depth++;break;case"Outdent":t.depth--;break;case"Flatten":t.depth=0}t.dirty=!0})(t,e)))})(t.entries,n);const o=((e,t)=>x(((e,t)=>{if(0===e.length)return[];{let n=t(e[0]);const o=[];let r=[];for(let s=0,i=e.length;sk(t).exists(Tt)?((e,t)=>{const n=Mt(t);return Bt(e.contentDocument,n).toArray()})(e,t):((e,t)=>{const n=Mt(t);return N(n,(t=>{const n=At(t)?yt([R(`\x3c!--${t.content}--\x3e`)]):yt(t.content);return $(Ge(e,n.dom))}))})(e,t))))(e,t.entries);var r;S(o,(t=>{vt(e,"Indent"===n?"IndentList":"OutdentList",t.dom)})),r=t.sourceList,S(o,(e=>{pe(r,e)})),ye(t.sourceList)}))},$t=(e,t)=>{const n=Ne((e=>{const t=(e=>{const t=ct(e,e.selection.getStart()),n=L(e.selection.getSelectedBlocks(),Ie);return t.toArray().concat(n)})(e),n=(e=>{const t=e.selection.getStart();return e.dom.getParents(t,"ol,ul",dt(e,t))})(e);return T(n,(e=>{return t=$(e),te(t).exists((e=>Ue(e.dom)&&re(e).exists((e=>!Pe(e.dom)))&&se(e).exists((e=>!Pe(e.dom)))));var t})).fold((()=>mt(e,t)),(e=>[e]))})(e)),o=Ne((e=>L(lt(e),$e))(e));let r=!1;if(n.length||o.length){const s=e.selection.getBookmark();Ut(e,n,t),((e,t,n)=>{S(n,"Indent"===t?tt:t=>et(e,t))})(e,t,o),e.selection.moveToBookmark(s),e.selection.setRng(ot(e.selection.getRng())),e.nodeChanged(),r=!0}return r},_t=(e,t)=>!(e=>{const t=it(e);return gt(e,t)})(e)&&$t(e,t),Ht=e=>_t(e,"Indent"),Ft=e=>_t(e,"Outdent"),Vt=e=>_t(e,"Flatten"),jt=e=>"\ufeff"===e;var Kt=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager");const zt=Ee.DOM,Qt=e=>{const t={},n=n=>{let o=e[n?"startContainer":"endContainer"],r=e[n?"startOffset":"endOffset"];if(Me(o)){const e=zt.create("span",{"data-mce-type":"bookmark"});o.hasChildNodes()?(r=Math.min(r,o.childNodes.length-1),n?o.insertBefore(e,o.childNodes[r]):zt.insertAfter(e,o.childNodes[r])):o.appendChild(e),o=e,r=0}t[n?"startContainer":"endContainer"]=o,t[n?"startOffset":"endOffset"]=r};return n(!0),e.collapsed||n(),t},Wt=e=>{const t=t=>{let n=e[t?"startContainer":"endContainer"],o=e[t?"startOffset":"endOffset"];if(n){if(Me(n)&&n.parentNode){const e=n;o=(e=>{var t;let n=null===(t=e.parentNode)||void 0===t?void 0:t.firstChild,o=0;for(;n;){if(n===e)return o;Me(n)&&"bookmark"===n.getAttribute("data-mce-type")||o++,n=n.nextSibling}return-1})(n),n=n.parentNode,zt.remove(e),!n.hasChildNodes()&&zt.isBlock(n)&&n.appendChild(zt.create("br"))}e[t?"startContainer":"endContainer"]=n,e[t?"startOffset":"endOffset"]=o}};t(!0),t();const n=zt.createRng();return n.setStart(e.startContainer,e.startOffset),e.endContainer&&n.setEnd(e.endContainer,e.endOffset),ot(n)},qt=e=>{switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Zt=(e,t)=>{we.each(t,((t,n)=>{e.setAttribute(n,t)}))},Gt=(e,t,n)=>{((e,t,n)=>{const o=n["list-style-type"]?n["list-style-type"]:null;e.setStyle(t,"list-style-type",o)})(e,t,n),((e,t,n)=>{Zt(t,n["list-attributes"]),we.each(e.select("li",t),(e=>{Zt(e,n["list-item-attributes"])}))})(e,t,n)},Jt=(e,t)=>l(t)&&!Ve(t,e.schema.getBlockElements()),Xt=(e,t,n,o)=>{let r=t[n?"startContainer":"endContainer"];const s=t[n?"startOffset":"endOffset"];Me(r)&&(r=r.childNodes[Math.min(s,r.childNodes.length-1)]||r),!n&&He(r.nextSibling)&&(r=r.nextSibling);const i=(t,n)=>{var r;const s=new Ce(t,(t=>{for(;!e.dom.isBlock(t)&&t.parentNode&&o!==t;)t=t.parentNode;return t})(t)),i=n?"next":"prev";let l;for(;l=s[i]();)if(!je(e,l)&&!jt(l.textContent)&&0!==(null===(r=l.textContent)||void 0===r?void 0:r.length))return h.some(l);return h.none()};if(n&&Be(r))if(jt(r.textContent))r=i(r,!1).getOr(r);else for(null!==r.parentNode&&Jt(e,r.parentNode)&&(r=r.parentNode);null!==r.previousSibling&&(Jt(e,r.previousSibling)||Be(r.previousSibling));)r=r.previousSibling;if(!n&&Be(r))if(jt(r.textContent))r=i(r,!0).getOr(r);else for(null!==r.parentNode&&Jt(e,r.parentNode)&&(r=r.parentNode);null!==r.nextSibling&&(Jt(e,r.nextSibling)||Be(r.nextSibling));)r=r.nextSibling;for(;r.parentNode!==o;){const t=r.parentNode;if(Fe(e,r))return r;if(/^(TD|TH)$/.test(t.nodeName))return r;r=t}return r},Yt=(e,t,n)=>{const o=e.selection.getRng();let r="LI";const s=dt(e,((e,t)=>{const n=e.selection.getStart(!0),o=Xt(e,t,!0,e.getBody());return r=$(o),s=$(t.commonAncestorContainer),i=r,l=function(e,...t){return(...n)=>{const o=t.concat(n);return e.apply(null,o)}}(H,s),ce(i,l,void 0).isSome()?t.commonAncestorContainer:n;var r,s,i,l})(e,o)),i=e.dom;if("false"===i.getContentEditable(e.selection.getNode()))return;"DL"===(t=t.toUpperCase())&&(r="DT");const l=Qt(o),a=L(((e,t,n)=>{const o=[],r=e.dom,s=Xt(e,t,!0,n),i=Xt(e,t,!1,n);let l;const a=[];for(let e=s;e&&(a.push(e),e!==i);e=e.nextSibling);return we.each(a,(t=>{var s;if(Fe(e,t))return o.push(t),void(l=null);if(r.isBlock(t)||He(t))return He(t)&&r.remove(t),void(l=null);const i=t.nextSibling;Kt.isBookmarkNode(t)&&(Pe(i)||Fe(e,i)||!i&&t.parentNode===n)?l=null:(l||(l=r.create("p"),null===(s=t.parentNode)||void 0===s||s.insertBefore(l,t),o.push(l)),l.appendChild(t))})),o})(e,o,s),e.dom.isEditable);we.each(a,(o=>{let s;const l=o.previousSibling,a=o.parentNode;Ue(a)||(l&&Pe(l)&&l.nodeName===t&&((e,t,n)=>{const o=e.getStyle(t,"list-style-type");let r=n?n["list-style-type"]:"";return r=null===r?"":r,o===r})(i,l,n)?(s=l,o=i.rename(o,r),l.appendChild(o)):(s=i.create(t),a.insertBefore(s,o),s.appendChild(o),o=i.rename(o,r)),((e,t,n)=>{we.each(["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],(n=>e.setStyle(t,n,"")))})(i,o),Gt(i,s,n),tn(e.dom,s))})),e.selection.setRng(Wt(l))},en=(e,t,n)=>{return((e,t)=>Pe(e)&&e.nodeName===(null==t?void 0:t.nodeName))(t,n)&&((e,t,n)=>e.getStyle(t,"list-style-type",!0)===e.getStyle(n,"list-style-type",!0))(e,t,n)&&(o=n,t.className===o.className);var o},tn=(e,t)=>{let n,o=t.nextSibling;if(en(e,t,o)){const r=o;for(;n=r.firstChild;)t.appendChild(n);e.remove(r)}if(o=t.previousSibling,en(e,t,o)){const r=o;for(;n=r.lastChild;)t.insertBefore(n,t.firstChild);e.remove(r)}},nn=(e,t,n,o)=>{if(t.nodeName!==n){const r=e.dom.rename(t,n);Gt(e.dom,r,o),vt(e,qt(n),r)}else Gt(e.dom,t,o),vt(e,qt(n),t)},on=(e,t,n,o)=>{if(t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),t.nodeName!==n){const r=e.dom.rename(t,n);Gt(e.dom,r,o),vt(e,qt(n),r)}else Gt(e.dom,t,o),vt(e,qt(n),t)},rn=e=>"list-style-type"in e,sn=(e,t,n)=>{const o=it(e);if(ht(e,o))return;const s=(e=>{const t=it(e),n=e.selection.getSelectedBlocks();return((e,t)=>l(e)&&1===t.length&&t[0]===e)(t,n)?(e=>L(e.querySelectorAll(st),Pe))(t):L(n,(e=>Pe(e)&&t!==e))})(e),i=r(n)?n:{};s.length>0?((e,t,n,o,r)=>{const s=Pe(t);if(!s||t.nodeName!==o||rn(r)||ut(t)){Yt(e,o,r);const i=Qt(e.selection.getRng()),l=s?[t,...n]:n,a=s&&ut(t)?on:nn;we.each(l,(t=>{a(e,t,o,r)})),e.selection.setRng(Wt(i))}else Vt(e)})(e,o,s,t,i):((e,t,n,o)=>{if(t!==e.getBody())if(t)if(t.nodeName!==n||rn(o)||ut(t)){const r=Qt(e.selection.getRng());ut(t)&&t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),Gt(e.dom,t,o);const s=e.dom.rename(t,n);tn(e.dom,s),e.selection.setRng(Wt(r)),Yt(e,n,o),vt(e,qt(n),s)}else Vt(e);else Yt(e,n,o),vt(e,qt(n),t)})(e,o,t,i)},ln=Ee.DOM,an=(e,t)=>{const n=we.grep(e.select("ol,ul",t));we.each(n,(t=>{((e,t)=>{const n=t.parentElement;if(n&&"LI"===n.nodeName&&n.firstChild===t){const o=n.previousSibling;o&&"LI"===o.nodeName?(o.appendChild(t),Ke(e,n)&&ln.remove(n)):ln.setStyle(n,"listStyleType","none")}if(Pe(n)){const e=n.previousSibling;e&&"LI"===e.nodeName&&e.appendChild(t)}})(e,t)}))},dn=(e,t,n,o)=>{let r=t.startContainer;const s=t.startOffset;if(Be(r)&&(n?s0))return r;const i=e.schema.getNonEmptyElements();Me(r)&&(r=ve.getNode(r,s));const l=new Ce(r,o);n&&((e,t)=>!!He(t)&&e.isBlock(t.nextSibling)&&!He(t.previousSibling))(e.dom,r)&&l.next();const a=n?l.next.bind(l):l.prev2.bind(l);for(;r=a();){if("LI"===r.nodeName&&!r.hasChildNodes())return r;if(i[r.nodeName])return r;if(Be(r)&&r.data.length>0)return r}return null},cn=(e,t)=>{const n=t.childNodes;return 1===n.length&&!Pe(n[0])&&e.isBlock(n[0])},mn=e=>h.from(e).map($).filter(Z).exists((e=>((e,t=!1)=>{return ae(e)?e.dom.isContentEditable:(n=e,de(((e,t)=>_(e,t)),ue,n,"[contenteditable]",void 0)).fold(m(t),(e=>"true"===(e=>e.dom.contentEditable)(e)));var n})(e)&&!C(["details"],Q(e)))),un=(e,t,n)=>{let o;const r=cn(e,n)?n.firstChild:n;if(((e,t)=>{cn(e,t)&&mn(t.firstChild)&&e.remove(t.firstChild,!0)})(e,t),!Ke(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},pn=(e,t,n)=>{let o;const r=t.parentNode;if(!ze(e,t)||!ze(e,n))return;Pe(n.lastChild)&&(o=n.lastChild),r===n.lastChild&&He(r.previousSibling)&&e.remove(r.previousSibling);const s=n.lastChild;s&&He(s)&&t.hasChildNodes()&&e.remove(s),Ke(e,n,!0)&&fe($(n)),un(e,t,n),o&&n.appendChild(o);const i=((e,t)=>{const n=e.dom,o=t.dom;return n!==o&&n.contains(o)})($(n),$(t))?e.getParents(t,Pe,n):[];e.remove(t),S(i,(t=>{Ke(e,t)&&t!==e.getRoot()&&e.remove(t)}))},gn=(e,t)=>{const n=e.dom,o=e.selection,r=o.getStart(),s=at(e,r),i=n.getParent(o.getStart(),"LI",s);if(i){const r=i.parentElement;if(r===e.getBody()&&Ke(n,r))return!0;const l=ot(o.getRng()),a=n.getParent(dn(e,l,t,s),"LI",s),d=a&&(t?n.isChildOf(i,a):n.isChildOf(a,i));if(a&&a!==i&&!d)return e.undoManager.transact((()=>{var n,o;t?((e,t,n,o)=>{const r=e.dom;if(r.isEmpty(o))((e,t,n)=>{fe($(n)),pn(e.dom,t,n),e.selection.setCursorLocation(n,0)})(e,n,o);else{const s=Qt(t);pn(r,n,o),e.selection.setRng(Wt(s))}})(e,l,a,i):(null===(o=(n=i).parentNode)||void 0===o?void 0:o.firstChild)===n?Ft(e):((e,t,n,o)=>{const r=Qt(t);pn(e.dom,n,o);const s=Wt(r);e.selection.setRng(s)})(e,l,i,a)})),!0;if(d&&!t&&a!==i)return e.undoManager.transact((()=>{if(l.commonAncestorContainer.parentElement){const t=Qt(l),o=l.commonAncestorContainer.parentElement;un(n,l.commonAncestorContainer.parentElement,a),o.remove();const r=Wt(t);e.selection.setRng(r)}})),!0;if(!a&&!t&&0===l.startOffset&&0===l.endOffset)return e.undoManager.transact((()=>{Vt(e)})),!0}return!1},hn=e=>{const t=e.selection.getStart(),n=at(e,t);return e.dom.getParent(t,"LI,DT,DD",n)||lt(e).length>0},fn=(e,t)=>{const n=e.selection;return!ht(e,n.getNode())&&(n.isCollapsed()?((e,t)=>gn(e,t)||((e,t)=>{const n=e.dom,o=e.selection.getStart(),r=at(e,o),s=n.getParent(o,n.isBlock,r);if(s&&n.isEmpty(s)){const o=ot(e.selection.getRng()),i=n.getParent(dn(e,o,t,r),"LI",r);if(i){const l=e=>C(["td","th","caption"],Q(e)),a=e=>e.dom===r;return!!((e,t,n=u)=>P(e,t,n).getOr(e.isNone()&&t.isNone()))(me($(i),l,a),me($(o.startContainer),l,a),H)&&(e.undoManager.transact((()=>{const o=i.parentNode;((e,t,n)=>{const o=e.getParent(t.parentNode,e.isBlock,n);e.remove(t),o&&e.isEmpty(o)&&e.remove(o)})(n,s,r),tn(n,o),e.selection.select(i,!0),e.selection.collapse(t)})),!0)}}return!1})(e,t))(e,t):(e=>!!hn(e)&&(e.undoManager.transact((()=>{e.execCommand("Delete"),an(e.dom,e.getBody())})),!0))(e))},yn=e=>{const t=E(Ct(e).split("")),n=N(t,((e,t)=>{const n=e.toUpperCase().charCodeAt(0)-"A".charCodeAt(0)+1;return Math.pow(26,t)*n}));return O(n,((e,t)=>e+t),0)},vn=e=>{if(--e<0)return"";{const t=e%26,n=Math.floor(e/26);return vn(n)+String.fromCharCode("A".charCodeAt(0)+t)}},Cn=e=>{const t=parseInt(e.start,10);return M(e.listStyleType,"upper-alpha")?vn(t):M(e.listStyleType,"lower-alpha")?vn(t).toLowerCase():e.start},bn=(e,t)=>()=>{const n=it(e);return l(n)&&n.nodeName===t},Nn=e=>{e.addCommand("mceListProps",(()=>{(e=>{const t=it(e);Re(t)&&!ht(e,t)&&e.windowManager.open({title:"List Properties",body:{type:"panel",items:[{type:"input",name:"start",label:"Start list at number",inputMode:"numeric"}]},initialData:{start:Cn({start:e.dom.getAttrib(t,"start","1"),listStyleType:h.from(e.dom.getStyle(t,"list-style-type"))})},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{(e=>{switch((e=>/^[0-9]+$/.test(e)?2:/^[A-Z]+$/.test(e)?0:/^[a-z]+$/.test(e)?1:e.length>0?4:3)(e)){case 2:return h.some({listStyleType:h.none(),start:e});case 0:return h.some({listStyleType:h.some("upper-alpha"),start:yn(e).toString()});case 1:return h.some({listStyleType:h.some("lower-alpha"),start:yn(e).toString()});case 3:return h.some({listStyleType:h.none(),start:""});case 4:return h.none()}})(t.getData().start).each((t=>{e.execCommand("mceListUpdate",!1,{attrs:{start:"1"===t.start?"":t.start},styles:{"list-style-type":t.listStyleType.getOr("")}})})),t.close()}})})(e)}))};var Sn=tinymce.util.Tools.resolve("tinymce.html.Node");const Ln=e=>3===e.type,On=e=>0===e.length,An=e=>{const t=(t,n)=>{const o=Sn.create("li");S(t,(e=>o.append(e))),n?e.insert(o,n,!0):e.append(o)},n=O(e.children(),((e,n)=>Ln(n)?[...e,n]:On(e)||Ln(n)?e:(t(e,n),[])),[]);On(n)||t(n)},Tn=(e,t)=>n=>(n.setEnabled(e.selection.isEditable()),ft(e,(o=>{n.setActive(pt(o.parents,t)),n.setEnabled(!ht(e,o.element)&&e.selection.isEditable())}))),xn=(e,t)=>n=>ft(e,(o=>n.setEnabled(pt(o.parents,t)&&!ht(e,o.element))));e.add("lists",(e=>((e=>{(0,e.options.register)("lists_indent_on_tab",{processor:"boolean",default:!0})})(e),(e=>{e.on("PreInit",(()=>{const{parser:t}=e;t.addNodeFilter("ul,ol",(e=>S(e,An)))}))})(e),e.hasPlugin("rtc",!0)?Nn(e):((e=>{We(e)&&(e=>{e.on("keydown",(t=>{t.keyCode!==be.TAB||be.metaKeyPressed(t)||e.undoManager.transact((()=>{(t.shiftKey?Ft(e):Ht(e))&&t.preventDefault()}))}))})(e),(e=>{e.on("ExecCommand",(t=>{const n=t.command.toLowerCase();"delete"!==n&&"forwarddelete"!==n||!hn(e)||an(e.dom,e.getBody())})),e.on("keydown",(t=>{t.keyCode===be.BACKSPACE?fn(e,!1)&&t.preventDefault():t.keyCode===be.DELETE&&fn(e,!0)&&t.preventDefault()}))})(e)})(e),(e=>{e.on("BeforeExecCommand",(t=>{const n=t.command.toLowerCase();"indent"===n?Ht(e):"outdent"===n&&Ft(e)})),e.addCommand("InsertUnorderedList",((t,n)=>{sn(e,"UL",n)})),e.addCommand("InsertOrderedList",((t,n)=>{sn(e,"OL",n)})),e.addCommand("InsertDefinitionList",((t,n)=>{sn(e,"DL",n)})),e.addCommand("RemoveList",(()=>{Vt(e)})),Nn(e),e.addCommand("mceListUpdate",((t,n)=>{r(n)&&((e,t)=>{const n=it(e);null===n||ht(e,n)||e.undoManager.transact((()=>{r(t.styles)&&e.dom.setStyles(n,t.styles),r(t.attrs)&&Le(t.attrs,((t,o)=>e.dom.setAttrib(n,o,t)))}))})(e,n)})),e.addQueryStateHandler("InsertUnorderedList",bn(e,"UL")),e.addQueryStateHandler("InsertOrderedList",bn(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",bn(e,"DL"))})(e)),(e=>{const t=t=>()=>e.execCommand(t);e.hasPlugin("advlist")||(e.ui.registry.addToggleButton("numlist",{icon:"ordered-list",active:!1,tooltip:"Numbered list",onAction:t("InsertOrderedList"),onSetup:Tn(e,"OL")}),e.ui.registry.addToggleButton("bullist",{icon:"unordered-list",active:!1,tooltip:"Bullet list",onAction:t("InsertUnorderedList"),onSetup:Tn(e,"UL")}))})(e),(e=>{const t={text:"List properties...",icon:"ordered-list",onAction:()=>e.execCommand("mceListProps"),onSetup:xn(e,"OL")};e.ui.registry.addMenuItem("listprops",t),e.ui.registry.addContextMenu("lists",{update:t=>{const n=it(e,t);return Re(n)?["listprops"]:[]}})})(e),(e=>({backspaceDelete:t=>{fn(e,t)}}))(e))))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/media/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/media/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/media/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/media/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/media/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/media/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/media/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/media/plugin.js index 2956da2a..362adf1e 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/media/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/media/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/media/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/media/plugin.min.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/media/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/media/plugin.min.js index 7792c707..0558efe2 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/media/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/media/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(r=o=e,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":t;var r,o,a,s})(t)===e,r=t("string"),o=t("object"),a=t("array"),s=e=>!(e=>null==e)(e);class i{constructor(e,t){this.tag=e,this.value=t}static some(e){return new i(!0,e)}static none(){return i.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?i.some(e(this.value)):i.none()}bind(e){return this.tag?e(this.value):i.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:i.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return s(e)?i.some(e):i.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}i.singletonNone=new i(!1);const n=Array.prototype.push,l=(e,t)=>{for(let r=0,o=e.length;r{const t=[];for(let r=0,o=e.length;rh(e,t)?i.from(e[t]):i.none(),h=(e,t)=>u.call(e,t),p=e=>t=>t.options.get(e),g=p("audio_template_callback"),b=p("video_template_callback"),w=p("iframe_template_callback"),v=p("media_live_embeds"),f=p("media_filter_html"),y=p("media_url_resolver"),x=p("media_alt_source"),_=p("media_poster"),k=p("media_dimensions");var j=tinymce.util.Tools.resolve("tinymce.util.Tools"),O=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),A=tinymce.util.Tools.resolve("tinymce.html.DomParser");const S=O.DOM,$=e=>e.replace(/px$/,""),C=e=>{const t=e.attr("style"),r=t?S.parseStyle(t):{};return{type:"ephox-embed-iri",source:e.attr("data-ephox-embed-iri"),altsource:"",poster:"",width:d(r,"max-width").map($).getOr(""),height:d(r,"max-height").map($).getOr("")}},T=(e,t)=>{let r={};for(let o=A({validate:!1,forced_root_block:!1},t).parse(e);o;o=o.walk())if(1===o.type){const e=o.name;if(o.attr("data-ephox-embed-iri")){r=C(o);break}r.source||"param"!==e||(r.source=o.attr("movie")),"iframe"!==e&&"object"!==e&&"embed"!==e&&"video"!==e&&"audio"!==e||(r.type||(r.type=e),r=j.extend(o.attributes.map,r)),"source"===e&&(r.source?r.altsource||(r.altsource=o.attr("src")):r.source=o.attr("src")),"img"!==e||r.poster||(r.poster=o.attr("src"))}return r.source=r.source||r.src||"",r.altsource=r.altsource||"",r.poster=r.poster||"",r},z=e=>{var t;const r=null!==(t=e.toLowerCase().split(".").pop())&&void 0!==t?t:"";return d({mp3:"audio/mpeg",m4a:"audio/x-m4a",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"},r).getOr("")};var D=tinymce.util.Tools.resolve("tinymce.html.Node"),F=tinymce.util.Tools.resolve("tinymce.html.Serializer");const M=(e,t={})=>A({forced_root_block:!1,validate:!1,allow_conditional_comments:!0,...t},e),N=O.DOM,R=e=>/^[0-9.]+$/.test(e)?e+"px":e,E=(e,t)=>{const r=t.attr("style"),o=r?N.parseStyle(r):{};s(e.width)&&(o["max-width"]=R(e.width)),s(e.height)&&(o["max-height"]=R(e.height)),t.attr("style",N.serializeStyle(o))},U=["source","altsource"],P=(e,t,r,o)=>{let a=0,s=0;const i=M(o);i.addNodeFilter("source",(e=>a=e.length));const n=i.parse(e);for(let e=n;e;e=e.walk())if(1===e.type){const o=e.name;if(e.attr("data-ephox-embed-iri")){E(t,e);break}switch(o){case"video":case"object":case"embed":case"img":case"iframe":void 0!==t.height&&void 0!==t.width&&(e.attr("width",t.width),e.attr("height",t.height))}if(r)switch(o){case"video":e.attr("poster",t.poster),e.attr("src",null);for(let r=a;r<2;r++)if(t[U[r]]){const o=new D("source",1);o.attr("src",t[U[r]]),o.attr("type",t[U[r]+"mime"]||null),e.append(o)}break;case"iframe":e.attr("src",t.source);break;case"object":const r=e.getAll("img").length>0;if(t.poster&&!r){e.attr("src",t.poster);const r=new D("img",1);r.attr("src",t.poster),r.attr("width",t.width),r.attr("height",t.height),e.append(r)}break;case"source":if(s<2&&(e.attr("src",t[U[s]]),e.attr("type",t[U[s]+"mime"]||null),!t[U[s]])){e.remove();continue}s++;break;case"img":t.poster||e.remove()}}return F({},o).serialize(n)},L=[{regex:/youtu\.be\/([\w\-_\?&=.]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$2?$4",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?h=$3&title=0&byline=0",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?title=0&byline=0",allowFullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0},{regex:/dai\.ly\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0}],I=(e,t)=>{const r=(e=>{const t=e.match(/^(https?:\/\/|www\.)(.+)$/i);return t&&t.length>1?"www."===t[1]?"https://":t[1]:"https://"})(t),o=e.regex.exec(t);let a=r+e.url;if(s(o))for(let e=0;eo[e]?o[e]:""));return a.replace(/\?$/,"")},B=e=>{const t=L.filter((t=>t.regex.test(e)));return t.length>0?j.extend({},t[0],{url:I(t[0],e)}):null},G=(e,t)=>{var r;const o=j.extend({},t);if(!o.source&&(j.extend(o,T(null!==(r=o.embed)&&void 0!==r?r:"",e.schema)),!o.source))return"";o.altsource||(o.altsource=""),o.poster||(o.poster=""),o.source=e.convertURL(o.source,"source"),o.altsource=e.convertURL(o.altsource,"source"),o.sourcemime=z(o.source),o.altsourcemime=z(o.altsource),o.poster=e.convertURL(o.poster,"poster");const a=B(o.source);if(a&&(o.source=a.url,o.type=a.type,o.allowfullscreen=a.allowFullscreen,o.width=o.width||String(a.w),o.height=o.height||String(a.h)),o.embed)return P(o.embed,o,!0,e.schema);{const t=g(e),r=b(e),a=w(e);return o.width=o.width||"300",o.height=o.height||"150",j.each(o,((t,r)=>{o[r]=e.dom.encode(""+t)})),"iframe"===o.type?((e,t)=>{if(t)return t(e);{const t=e.allowfullscreen?' allowFullscreen="1"':"";return'"}})(o,a):"application/x-shockwave-flash"===o.sourcemime?(e=>{let t='';return e.poster&&(t+=''),t+="",t})(o):-1!==o.sourcemime.indexOf("audio")?((e,t)=>t?t(e):'")(o,t):((e,t)=>t?t(e):'")(o,r)}},W=e=>e.hasAttribute("data-mce-object")||e.hasAttribute("data-ephox-embed-iri"),q={},H=e=>t=>G(e,t),J=(e,t)=>{const r=y(e);return r?((e,t,r)=>new Promise(((o,a)=>{const s=r=>(r.html&&(q[e.source]=r),o({url:e.source,html:r.html?r.html:t(e)}));q[e.source]?s(q[e.source]):r({url:e.source},s,a)})))(t,H(e),r):((e,t)=>Promise.resolve({html:t(e),url:e.source}))(t,H(e))},K=(e,t)=>{const r={};return d(e,"dimensions").each((e=>{l(["width","height"],(o=>{d(t,o).orThunk((()=>d(e,o))).each((e=>r[o]=e))}))})),r},Q=(e,t)=>{const r=t&&"dimensions"!==t?((e,t)=>d(t,e).bind((e=>d(e,"meta"))))(t,e).getOr({}):{},a=((e,t,r)=>a=>{const s=()=>d(e,a),n=()=>d(t,a),l=e=>d(e,"value").bind((e=>e.length>0?i.some(e):i.none()));return{[a]:(a===r?s().bind((e=>o(e)?l(e).orThunk(n):n().orThunk((()=>i.from(e))))):n().orThunk((()=>s().bind((e=>o(e)?l(e):i.from(e)))))).getOr("")}})(e,r,t);return{...a("source"),...a("altsource"),...a("poster"),...a("embed"),...K(e,r)}},V=e=>{const t={...e,source:{value:d(e,"source").getOr("")},altsource:{value:d(e,"altsource").getOr("")},poster:{value:d(e,"poster").getOr("")}};return l(["width","height"],(r=>{d(e,r).each((e=>{const o=t.dimensions||{};o[r]=e,t.dimensions=o}))})),t},X=e=>t=>{const r=t&&t.msg?"Media embed handler error: "+t.msg:"Media embed handler threw unknown error.";e.notificationManager.open({type:"error",text:r})},Y=(e,t)=>o=>{if(r(o.url)&&o.url.trim().length>0){const r=o.html,a={...T(r,t.schema),source:o.url,embed:r};e.setData(V(a))}},Z=(e,t)=>{const r=e.dom.select("*[data-mce-object]");e.insertContent(t),((e,t)=>{const r=e.dom.select("*[data-mce-object]");for(let e=0;e=0;o--)t[e]===r[o]&&r.splice(o,1);e.selection.select(r[0])})(e,r),e.nodeChanged()},ee=(e,t)=>s(t)&&"ephox-embed-iri"===t&&s(B(e)),te=(e,t)=>((e,t)=>e.width!==t.width||e.height!==t.height)(e,t)&&ee(t.source,e.type),re=e=>{const t=(e=>{const t=e.selection.getNode(),r=W(t)?e.serializer.serialize(t,{selection:!0}):"",o=T(r,e.schema),a=(()=>{if(ee(o.source,o.type)){const r=e.dom.getRect(t);return{width:r.w.toString().replace(/px$/,""),height:r.h.toString().replace(/px$/,"")}}return{}})();return{embed:r,...o,...a}})(e),r=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})(t),o=V(t),a=k(e)?[{type:"sizeinput",name:"dimensions",label:"Constrain proportions",constrain:!0}]:[],s={title:"General",name:"general",items:c([[{name:"source",type:"urlinput",filetype:"media",label:"Source",picker_text:"Browse files"}],a])},i=[];x(e)&&i.push({name:"altsource",type:"urlinput",filetype:"media",label:"Alternative source URL"}),_(e)&&i.push({name:"poster",type:"urlinput",filetype:"image",label:"Media poster (Image URL)"});const n={title:"Advanced",name:"advanced",items:i},l=[s,{title:"Embed",items:[{type:"textarea",name:"embed",label:"Paste your embed code below:"}]}];i.length>0&&l.push(n);const m={type:"tabpanel",tabs:l},u=e.windowManager.open({title:"Insert/Edit Media",size:"normal",body:m,buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{const o=Q(t.getData());((e,t,r)=>{var o,a;t.embed=te(e,t)&&k(r)?G(r,{...t,embed:""}):P(null!==(o=t.embed)&&void 0!==o?o:"",t,!1,r.schema),t.embed&&(e.source===t.source||(a=t.source,h(q,a)))?Z(r,t.embed):J(r,t).then((e=>{Z(r,e.html)})).catch(X(r))})(r.get(),o,e),t.close()},onChange:(t,o)=>{switch(o.name){case"source":((t,r)=>{const o=Q(r.getData(),"source");t.source!==o.source&&(Y(u,e)({url:o.source,html:""}),J(e,o).then(Y(u,e)).catch(X(e)))})(r.get(),t);break;case"embed":(t=>{var r;const o=Q(t.getData()),a=T(null!==(r=o.embed)&&void 0!==r?r:"",e.schema);t.setData(V(a))})(t);break;case"dimensions":case"altsource":case"poster":((t,r,o)=>{const a=Q(t.getData(),r),s=te(o,a)&&k(e)?{...a,embed:""}:a,i=G(e,s);t.setData(V({...s,embed:i}))})(t,o.name,r.get())}r.set(Q(t.getData()))},initialData:o})};var oe=tinymce.util.Tools.resolve("tinymce.Env");const ae=e=>{const t=e.name;return"iframe"===t||"video"===t||"audio"===t},se=(e,t,r,o=null)=>{const a=e.attr(r);return s(a)?a:h(t,r)?null:o},ie=(e,t,r)=>{const o="img"===t.name||"video"===e.name,a=o?"300":null,s="audio"===e.name?"30":"150",i=o?s:null;t.attr({width:se(e,r,"width",a),height:se(e,r,"height",i)})},ne=(e,t)=>{const r=t.name,o=new D("img",1);return ce(e,t,o),ie(t,o,{}),o.attr({style:t.attr("style"),src:oe.transparentSrc,"data-mce-object":r,class:"mce-object mce-object-"+r}),o},le=(e,t)=>{var r;const o=t.name,a=new D("span",1);a.attr({contentEditable:"false",style:t.attr("style"),"data-mce-object":o,class:"mce-preview-object mce-object-"+o}),ce(e,t,a);const i=e.dom.parseStyle(null!==(r=t.attr("style"))&&void 0!==r?r:""),n=new D(o,1);if(ie(t,n,i),n.attr({src:t.attr("src"),style:t.attr("style"),class:t.attr("class")}),"iframe"===o)n.attr({allowfullscreen:t.attr("allowfullscreen"),frameborder:"0",sandbox:t.attr("sandbox")});else{l(["controls","crossorigin","currentTime","loop","muted","poster","preload"],(e=>{n.attr(e,t.attr(e))}));const r=a.attr("data-mce-html");s(r)&&((e,t,r,o)=>{const a=M(e.schema).parse(o,{context:t});for(;a.firstChild;)r.append(a.firstChild)})(e,o,n,unescape(r))}const c=new D("span",1);return c.attr("class","mce-shim"),a.append(n),a.append(c),a},ce=(e,t,r)=>{var o;const a=null!==(o=t.attributes)&&void 0!==o?o:[];let s=a.length;for(;s--;){const t=a[s].name;let o=a[s].value;"width"===t||"height"===t||"style"===t||(n="data-mce-",(i=t).length>=9&&i.substr(0,9)===n)||("data"!==t&&"src"!==t||(o=e.convertURL(o,t)),r.attr("data-mce-p-"+t,o))}var i,n;const c=F({inner:!0},e.schema),m=new D("div",1);l(t.children(),(e=>m.append(e)));const u=c.serialize(m);u&&(r.attr("data-mce-html",escape(u)),r.empty())},me=e=>{const t=e.attr("class");return r(t)&&/\btiny-pageembed\b/.test(t)},ue=e=>{let t=e;for(;t=t.parent;)if(t.attr("data-ephox-embed-iri")||me(t))return!0;return!1},de=(e,t,r)=>{const o=(0,e.options.get)("xss_sanitization"),a=f(e);return M(e.schema,{sanitize:o,validate:a}).parse(r,{context:t})},he=e=>t=>{const r=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",r),r(),()=>{e.off("NodeChange",r)}};e.add("media",(e=>((e=>{const t=e.options.register;t("audio_template_callback",{processor:"function"}),t("video_template_callback",{processor:"function"}),t("iframe_template_callback",{processor:"function"}),t("media_live_embeds",{processor:"boolean",default:!0}),t("media_filter_html",{processor:"boolean",default:!0}),t("media_url_resolver",{processor:"function"}),t("media_alt_source",{processor:"boolean",default:!0}),t("media_poster",{processor:"boolean",default:!0}),t("media_dimensions",{processor:"boolean",default:!0})})(e),(e=>{e.addCommand("mceMedia",(()=>{re(e)}))})(e),(e=>{const t=()=>e.execCommand("mceMedia");e.ui.registry.addToggleButton("media",{tooltip:"Insert/edit media",icon:"embed",onAction:t,onSetup:t=>{const r=e.selection;t.setActive(W(r.getNode()));const o=r.selectorChangedWithUnbind("img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]",t.setActive).unbind,a=he(e)(t);return()=>{o(),a()}}}),e.ui.registry.addMenuItem("media",{icon:"embed",text:"Media...",onAction:t,onSetup:he(e)})})(e),(e=>{e.on("ResolveName",(e=>{let t;1===e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)}))})(e),(e=>{e.on("PreInit",(()=>{const{schema:t,serializer:r,parser:o}=e,a=t.getBoolAttrs();l("webkitallowfullscreen mozallowfullscreen".split(" "),(e=>{a[e]={}})),((e,t)=>{const r=m(e);for(let o=0,a=r.length;o{const o=t.getElementRule(r);o&&l(e,(e=>{o.attributes[e]={},o.attributesOrder.push(e)}))})),o.addNodeFilter("iframe,video,audio,object,embed",(e=>t=>{let r,o=t.length;for(;o--;)r=t[o],r.parent&&(r.parent.attr("data-mce-object")||(ae(r)&&v(e)?ue(r)||r.replace(le(e,r)):ue(r)||r.replace(ne(e,r))))})(e)),r.addAttributeFilter("data-mce-object",((t,r)=>{var o;let a=t.length;for(;a--;){const s=t[a];if(!s.parent)continue;const i=s.attr(r),n=new D(i,1);if("audio"!==i){const e=s.attr("class");e&&-1!==e.indexOf("mce-preview-object")&&s.firstChild?n.attr({width:s.firstChild.attr("width"),height:s.firstChild.attr("height")}):n.attr({width:s.attr("width"),height:s.attr("height")})}n.attr({style:s.attr("style")});const c=null!==(o=s.attributes)&&void 0!==o?o:[];let m=c.length;for(;m--;){const e=c[m].name;0===e.indexOf("data-mce-p-")&&n.attr(e.substr(11),c[m].value)}const u=s.attr("data-mce-html");if(u){const t=de(e,i,unescape(u));l(t.children(),(e=>n.append(e)))}s.replace(n)}}))})),e.on("SetContent",(()=>{const t=e.dom;l(t.select("span.mce-preview-object"),(e=>{0===t.select("span.mce-shim",e).length&&t.add(e,"span",{class:"mce-shim"})}))}))})(e),(e=>{e.on("click keyup touchend",(()=>{const t=e.selection.getNode();t&&e.dom.hasClass(t,"mce-preview-object")&&e.dom.getAttrib(t,"data-mce-selected")&&t.setAttribute("data-mce-selected","2")})),e.on("ObjectResized",(t=>{const r=t.target;if(r.getAttribute("data-mce-object")){let o=r.getAttribute("data-mce-html");o&&(o=unescape(o),r.setAttribute("data-mce-html",escape(P(o,{width:String(t.width),height:String(t.height)},!1,e.schema))))}}))})(e),(e=>({showDialog:()=>{re(e)}}))(e))))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/plugin.js index 3cf91a82..cd71d8d2 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/plugin.min.js similarity index 97% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/plugin.min.js index d0a5fa98..d3fc20dd 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/nonbreaking/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/nonbreaking/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=n=>e=>typeof e===n,o=e("boolean"),a=e("number"),t=n=>e=>e.options.get(n),i=t("nonbreaking_force_tab"),s=t("nonbreaking_wrap"),r=(n,e)=>{let o="";for(let a=0;a{const o=s(n)||n.plugins.visualchars?`${r(" ",e)}`:r(" ",e);n.undoManager.transact((()=>n.insertContent(o)))};var l=tinymce.util.Tools.resolve("tinymce.util.VK");const u=n=>e=>{const o=()=>{e.setEnabled(n.selection.isEditable())};return n.on("NodeChange",o),o(),()=>{n.off("NodeChange",o)}};n.add("nonbreaking",(n=>{(n=>{const e=n.options.register;e("nonbreaking_force_tab",{processor:n=>o(n)?{value:n?3:0,valid:!0}:a(n)?{value:n,valid:!0}:{valid:!1,message:"Must be a boolean or number."},default:!1}),e("nonbreaking_wrap",{processor:"boolean",default:!0})})(n),(n=>{n.addCommand("mceNonBreaking",(()=>{c(n,1)}))})(n),(n=>{const e=()=>n.execCommand("mceNonBreaking");n.ui.registry.addButton("nonbreaking",{icon:"non-breaking",tooltip:"Nonbreaking space",onAction:e,onSetup:u(n)}),n.ui.registry.addMenuItem("nonbreaking",{icon:"non-breaking",text:"Nonbreaking space",onAction:e,onSetup:u(n)})})(n),(n=>{const e=i(n);e>0&&n.on("keydown",(o=>{if(o.keyCode===l.TAB&&!o.isDefaultPrevented()){if(o.shiftKey)return;o.preventDefault(),o.stopImmediatePropagation(),c(n,e)}}))})(n)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/plugin.js index b571ed48..4d23efe4 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/plugin.min.js similarity index 98% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/plugin.min.js index ca635000..d50088a6 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/pagebreak/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/pagebreak/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.Env");const t=e=>a=>a.options.get(e),n=t("pagebreak_separator"),o=t("pagebreak_split_block"),r="mce-pagebreak",s=e=>{const t=``;return e?`

    ${t}

    `:t},c=e=>a=>{const t=()=>{a.setEnabled(e.selection.isEditable())};return e.on("NodeChange",t),t(),()=>{e.off("NodeChange",t)}};e.add("pagebreak",(e=>{(e=>{const a=e.options.register;a("pagebreak_separator",{processor:"string",default:"\x3c!-- pagebreak --\x3e"}),a("pagebreak_split_block",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mcePageBreak",(()=>{e.insertContent(s(o(e)))}))})(e),(e=>{const a=()=>e.execCommand("mcePageBreak");e.ui.registry.addButton("pagebreak",{icon:"page-break",tooltip:"Page break",onAction:a,onSetup:c(e)}),e.ui.registry.addMenuItem("pagebreak",{text:"Page break",icon:"page-break",onAction:a,onSetup:c(e)})})(e),(e=>{const a=n(e),t=()=>o(e),c=new RegExp(a.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,(e=>"\\"+e)),"gi");e.on("BeforeSetContent",(e=>{e.content=e.content.replace(c,s(t()))})),e.on("PreInit",(()=>{e.serializer.addNodeFilter("img",(n=>{let o,s,c=n.length;for(;c--;)if(o=n[c],s=o.attr("class"),s&&-1!==s.indexOf(r)){const n=o.parent;if(n&&e.schema.getBlockElements()[n.name]&&t()){n.type=3,n.value=a,n.raw=!0,o.remove();continue}o.type=3,o.value=a,o.raw=!0}}))}))})(e),(e=>{e.on("ResolveName",(a=>{"IMG"===a.target.nodeName&&e.dom.hasClass(a.target,r)&&(a.name="pagebreak")}))})(e)}))}(); \ No newline at end of file diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/index.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/index.js similarity index 100% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/index.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/index.js diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/plugin.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/plugin.js similarity index 99% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/plugin.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/plugin.js index 894be093..cbcf8676 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/plugin.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/plugin.js @@ -1,5 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ (function () { diff --git a/src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/plugin.min.js b/src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/plugin.min.js similarity index 98% rename from src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/plugin.min.js rename to src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/plugin.min.js index d85dbab6..fef9ec07 100644 --- a/src/main/webapp/javascript/tinymce-6.8.5/plugins/preview/plugin.min.js +++ b/src/main/webapp/javascript/tinymce-6.8.6/plugins/preview/plugin.min.js @@ -1,4 +1,5 @@ /** - * TinyMCE version 6.8.5 (TBD) + * TinyMCE version 6.8.6 (TBD) */ + !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=e=>t=>t.options.get(e),i=n("content_style"),s=n("content_css_cors"),c=n("body_class"),r=n("body_id");e.add("preview",(e=>{(e=>{e.addCommand("mcePreview",(()=>{(e=>{const n=(e=>{var n;let l="";const a=e.dom.encode,d=null!==(n=i(e))&&void 0!==n?n:"";l+='';const m=s(e)?' crossorigin="anonymous"':"";o.each(e.contentCSS,(t=>{l+='"})),d&&(l+='");const y=r(e),u=c(e),v='