unicode-input-toolconverter 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +8 -0
- package/browser_action/index.iife.min.js +1 -1
- package/browser_action/index.iife.min.js.map +1 -1
- package/browser_action/index.instrumented.iife.min.js +1 -1
- package/browser_action/index.instrumented.iife.min.js.map +1 -1
- package/package.json +2 -1
- package/sw.js +9 -1
- package/tools/fix-sw-resources-vendor-paths.js +3 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
!function(){"use strict";var e="undefined"!=typeof document?document.currentScript:null;function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function n(e,t,n,i,a,r,o){try{var s=e[r](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,a)}function i(e){return function(){var t=this,i=arguments;return new Promise(function(a,r){var o=e.apply(t,i);function s(e){n(o,a,r,s,l,"next",e)}function l(e){n(o,a,r,s,l,"throw",e)}s(void 0)})}}function a(e,t,n){return t=c(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,d()?Reflect.construct(t,[],c(e).constructor):t.apply(e,n))}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,v(i.key),i)}}function s(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function l(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}function d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(d=function(){return!!e})()}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach(function(t){l(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function f(){
|
|
2
2
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
var e,t,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function r(n,i,a,r){var l=i&&i.prototype instanceof s?i:s,c=Object.create(l.prototype);return b(c,"_invoke",function(n,i,a){var r,s,l,c=0,u=a||[],d=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,n){return r=t,s=0,l=e,p.n=n,o}};function h(n,i){for(s=n,l=i,t=0;!d&&c&&!a&&t<u.length;t++){var a,r=u[t],h=p.p,f=r[2];n>3?(a=f===i)&&(l=r[(s=r[4])?5:(s=3,3)],r[4]=r[5]=e):r[0]<=h&&((a=n<2&&h<r[1])?(s=0,p.v=i,p.n=r[1]):h<f&&(a=n<3||r[0]>i||i>f)&&(r[4]=n,r[5]=i,p.n=f,s=0))}if(a||n>1)return o;throw d=!0,i}return function(a,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&h(u,f),s=u,l=f;(t=s<2?e:l)||!d;){r||(s?s<3?(s>1&&(p.n=-1),h(s,l)):p.n=l:p.v=l);try{if(c=2,r){if(s||(a="next"),t=r[a]){if(!(t=t.call(r,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=r.return)&&t.call(r),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);r=e}else if((t=(d=p.n<0)?l:n.call(i,p))!==o)break}catch(t){r=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,r),!0),c}var o={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][i]?t(t([][i]())):(b(t={},i,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,b(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,b(d,"constructor",c),b(c,"constructor",l),l.displayName="GeneratorFunction",b(c,a,"GeneratorFunction"),b(d),b(d,a,"Generator"),b(d,i,function(){return this}),b(d,"toString",function(){return"[object Generator]"}),(f=function(){return{w:r,m:p}})()}function b(e,t,n,i){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}b=function(e,t,n,i){function r(t,n){b(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!i,configurable:!i,writable:!i}):e[t]=n:(r("next",0),r("throw",1),r("return",2))},b(e,t,n,i)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,a,r,o,s=[],l=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=r.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||F(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function y(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function F(e,n){if(e){if("string"==typeof e)return t(e,n);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}function A(){A=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,i,a){var r=RegExp(e,i);return t.set(r,a||t.get(e)),m(r,n.prototype)}function i(e,n){var i=t.get(n);return Object.keys(i).reduce(function(t,n){var a=i[n];if("number"==typeof a)t[n]=e[a];else{for(var r=0;void 0===e[a[r]]&&r+1<a.length;)r++;t[n]=e[a[r]]}return t},Object.create(null))}return u(n,RegExp),n.prototype.exec=function(t){var n=e.exec.call(this,t);if(n){n.groups=i(n,this);var a=n.indices;a&&(a.groups=i(a,this))}return n},n.prototype[Symbol.replace]=function(n,a){if("string"==typeof a){var r=t.get(this);return e[Symbol.replace].call(this,n,a.replace(/\$<([^>]+)(>|$)/g,function(e,t,n){if(""===n)return e;var i=r[t];return Array.isArray(i)?"$"+i.join("$"):"number"==typeof i?"$"+i:""}))}if("function"==typeof a){var o=this;return e[Symbol.replace].call(this,n,function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(i(e,o)),a.apply(this,e)})}return e[Symbol.replace].call(this,n,a)},A.apply(this,arguments)}var x,C=globalThis.jsonExtra,k=function(e){return e.replaceAll(/\\+/g,function(e){return e.slice(0,e.length/2)})},E=function(e){return C.parse("{"+(e||"").replace(/^\{/,"").replace(/\}$/,"")+"}")},S=function(e,t,n){var i,a=n.onMatch,r=n.extra,o=n.betweenMatches,s=n.afterMatch,l=n.escapeAtOne;if(r&&(o=r,s=r,l=r),!o||!s)throw new Error("You must have `extra` or `betweenMatches` and `afterMatch` arguments.");for(var c=0;null!==(i=e.exec(t));){var u=_(i,2),d=u[0],p=u[1],h=e.lastIndex,f=h-d.length;f>c&&o(t.slice(c,f)),l&&p.length%2?(c=h,l(d)):(a.apply(void 0,y(i)),c=h)}c!==t.length&&s(t.slice(c))},D="undefined"!=typeof fetch?fetch:null,T=function(){return D},$="undefined"!=typeof document?document:null,O=function(){return $};var N,B,P,U,M=function(e,t,n){return t.sort(new Intl.Collator(e,n).compare)},j=function(e,t,n){return new Intl.ListFormat(e,n).format(t)},L=function(e,t,n,i,a){if("function"!=typeof n)return function(e,t,n,i){return M(e,t,i),j(e,t,n)}(e,t,n,i);M(e,t,a);var r,o=(r=Date.now(),"undefined"!=typeof performance&&"function"==typeof performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replaceAll(/[xy]/g,function(e){var t=Math.trunc((r+16*Math.random())%16);return r=Math.floor(r/16),("x"===e?t:3&t|8).toString(16)})),s=y(t).map(function(e,t){return"<<".concat(o).concat(t,">>")}),l=[],c=function(e){l.push(e)};S(new RegExp(String.raw(x||(x=g(["<<","(d)>>"],["<<","(\\d)>>"])),o),"gv"),j(e,s,i),{betweenMatches:c,afterMatch:c,onMatch:function(e,i){c(n(t[Number(i)],Number(i)))}});var u=O().createDocumentFragment();return u.append.apply(u,l),u},I=function(e){var t=e.object;if(Array.isArray(t)){if("function"==typeof t[1]){var n=_(t,4);return{value:n[0],callback:n[1],options:n[2],extraOpts:n[3]}}var i=_(t,3);return{value:i[0],options:i[1],extraOpts:i[2]}}return{value:t}},R=function(e){var t,n=e.value,i=e.arg,a=e.locale;if("string"==typeof n||n&&"object"===w(n)&&"nodeType"in n)return n;var r=function(e){var n=e.type,a=e.options,r=void 0===a?t:a,o=e.checkArgOptions,s=void 0!==o&&o;if("string"==typeof i){var l=_(i.split("|",3),3),c=l[0],u=l[1],d=l[2];"DATE"===c&&(c="DATETIME"),c===n&&(u?s&&!d||(r=h(h({},r),E(s&&d?d:u))):r={})}return r},o=!1;if(n&&"object"===w(n)&&!Array.isArray(n)){var s=Object.keys(n)[0];if(["number","date","datetime","dateRange","datetimeRange","relative","region","language","script","currency","list","plural"].includes(s)){var l,c,u=n[s],d=I({object:u});switch(n=d.value,t=d.options,l=d.extraOpts,c=d.callback,s){case"date":case"datetime":o=!0;break;case"dateRange":case"datetimeRange":var p=new Intl.DateTimeFormat(a,r({type:"DATERANGE",options:l}));return p.formatRange.apply(p,y([n,t].map(function(e){return"number"==typeof e?new Date(e):e})));case"region":case"language":case"script":case"currency":return new Intl.DisplayNames(a,h(h({},r({type:s.toUpperCase()})),{},{type:s})).of(n);case"relative":var f=[t,l];return l=f[0],t=f[1],new Intl.RelativeTimeFormat(a,r({type:"RELATIVE"})).format(n,l);case"list":return c?L(a,n,c,r({type:"LIST"}),r({type:"LIST",options:l,checkArgOptions:!0})):L(a,n,r({type:"LIST"}),r({type:"LIST",options:l,checkArgOptions:!0}))}}}if(n&&("number"==typeof n&&(o||/^DATE(?:TIME)(?:\||$)/.test(i))&&(n=new Date(n)),"object"===w(n)&&"getTime"in n&&"function"==typeof n.getTime))return new Intl.DateTimeFormat(a,r({type:"DATETIME"})).format(n);if(Array.isArray(n)){var b,m=n[2];return(b=new Intl.DateTimeFormat(a,r({type:"DATERANGE",options:m}))).formatRange.apply(b,y(n.slice(0,2).map(function(e){return"number"==typeof e?new Date(e):e})))}if("number"==typeof n)return new Intl.NumberFormat(a,r({type:"NUMBER"})).format(n);throw new TypeError("Unknown formatter")},J=s(function e(){r(this,e)}),K=function(e){var t=e.key,n=e.body,i=e.type,a=e.messageStyle,r=X({messageStyle:void 0===a?"richNested":a})({body:n},t);if(!r)throw new Error("Key value not found for ".concat(i," key: (").concat(t,")"));return r.value},V=function(e){function t(e){var n;return r(this,t),(n=a(this,t)).locals=e,n}return u(t,e),s(t,[{key:"getSubstitution",value:function(e){return K({key:e.slice(1),body:this.locals,type:"local"})}},{key:"isMatch",value:function(e){var t=e.slice(1).split("."),n=this.locals;return this.constructor.isMatchingKey(e)&&t.every(function(e){var t=Object.hasOwn(n,e);return n=n[e],t})}}],[{key:"isMatchingKey",value:function(e){return e.startsWith("-")}}])}(J),H=function(e){function t(e){var n;return r(this,t),(n=a(this,t)).substitutions=e,n}return u(t,e),s(t,[{key:"isMatch",value:function(e){return this.constructor.isMatchingKey(e)&&Object.hasOwn(this.substitutions,e)}}],[{key:"isMatchingKey",value:function(e){return/^[0-9A-Z_a-z]/.test(e)}}])}(J),G=function(e){function t(e,n){var i,o=n.substitutions;return r(this,t),(i=a(this,t)).switches=e,i.substitutions=o,i}return u(t,e),s(t,[{key:"getSubstitution",value:function(e,t){var n,i,a=t.locale,r=t.usedKeys,o=t.arg,s=t.missingSuppliedFormatters,l=this.constructor.getKey(e).slice(1),c=_(this.getMatch(l),3),u=c[0],d=c[1],p=c[2];if(r.push(p),u&&u.includes("|")){var f=_(u.split("|",3),3);n=f[1],i=f[2]}if(!d)return s({key:e,formatter:this}),String.raw(N||(N=g(["{"],["\\{"])))+e+"}";var b=function(e,t){var n=E(i);return new Intl.NumberFormat(a,h(h({},t),n)).format(e)},m=function(e,t){var n=E(i);return new Intl.PluralRules(a,h(h({},t),n)).select(e)},y=this.substitutions[p],v=y;if("number"==typeof y)switch(n){case"NUMBER":v=b(y);break;case"PLURAL":v=m(y);break;default:v=new Intl.PluralRules(a).select(y)}else if(y&&"object"===w(y)){var F=Object.keys(y)[0];if(["number","plural"].includes(F)){var A=I({object:y[F]}),x=A.value,C=A.options;if(n||(n=F.toUpperCase()),!(F.toUpperCase()===n))throw new TypeError('Expecting type "'.concat(n.toLowerCase(),'"; instead found "').concat(F,'".'));switch(n){case"NUMBER":v=b(x,C);break;case"PLURAL":v=m(x,C)}}}var k="richNested",S=function(e){return e.replaceAll("\\","\\\\").replaceAll(".",String.raw(B||(B=g(["."],["\\."]))))};try{return K({messageStyle:k,key:v?S(v):o,body:d,type:"switch"})}catch(e){try{return K({messageStyle:k,key:"*"+S(v),body:d,type:"switch"})}catch(e){var D=Object.keys(d).find(function(e){return e.startsWith("*")});if(!D)throw new Error("No defaults found for switch ".concat(l),{cause:e});return K({messageStyle:k,key:S(D),body:d,type:"switch"})}}}},{key:"isMatch",value:function(e){return Boolean(e&&this.constructor.isMatchingKey(e)&&this.getMatch(e.slice(1)).length)}},{key:"getMatch",value:function(e){var t=this,n=e.split("."),i=n.reduce(function(i,a,r){if(Array.isArray(i))return i;if(r<n.length-1){if(!Object.hasOwn(i,a))throw new Error('Switch key "'.concat(a,'" not found (from "~').concat(e,'")'));return i[a]}var o=Object.entries(i).find(function(e){var n=_(e,1)[0];return a===t.constructor.getKey(n)});return o?[].concat(y(o),[a]):[]},this.switches);return i}}],[{key:"isMatchingKey",value:function(e){return e.startsWith("~")}},{key:"getKey",value:function(e){var t=e.match(/^(?:[\0-\{\}-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);return t&&t[0]}}])}(J),W=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Reached end of values array.";if(!Array.isArray(e))throw new TypeError("The `values` argument to `promiseChainForValues` must be an array.");if("function"!=typeof t)throw new TypeError("The `errBack` argument to `promiseChainForValues` must be a function.");return i(f().m(function i(){var a,r,o,s,l;return f().w(function(i){for(;;)switch(i.p=i.n){case 0:r=Promise.reject(new Error("Intentionally reject so as to begin checking chain"));case 1:return s=e.shift(),i.p=2,i.n=3,r;case 3:return a=i.v,i.a(3,7);case 4:if(i.p=4,l=i.v,!o){i.n=5;break}throw new Error(n,{cause:l});case 5:e.length||(o=!0),r=t(s);case 6:i.n=1;break;case 7:return i.a(2,a)}},i,null,[[2,4]])}))()},z=function(e,t){if("string"!=typeof e)throw new TypeError("`defaultLocaleResolver` expects a string `localesBasePath`.");if("string"!=typeof t)throw new TypeError("`defaultLocaleResolver` expects a string `locale`.");if(/[\.\/\\]/.test(t))throw new TypeError("Locales cannot use file-reserved characters, `.`, `/` or `\\`");return"".concat(e.replace(/\/$/,""),"/_locales/").concat(t,"/messages.json")},q=function(e){var t=e.string,n=e.dom,i=e.usedKeys,a=e.substitutions,r=e.allSubstitutions,o=e.locale,s=e.locals,l=e.switches,c=e.maximumLocalNestingDepth,u=void 0===c?3:c,d=e.missingSuppliedFormatters,p=e.checkExtraSuppliedFormatters;if("number"!=typeof u)throw new TypeError("`maximumLocalNestingDepth` must be a number.");var f=function(){Object.entries(a).forEach(function(e){var t=_(e,2),n=t[0];"function"==typeof t[1]&&i.push(n)})};f();var b=new V(s),m=new H(a),g=new G(l,{substitutions:a}),v=/(\\*)\{((?:(?:[\0-\|~-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])|\\\})*?)(?:(\|)((?:[\0-\|~-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*))?\}/g;r&&(r=Array.isArray(r)?r:[r]);var F=function(e){var t,n=e.key,a=e.arg,s=e.substs;return b.constructor.isMatchingKey(n)?t=b.getSubstitution(n):g.constructor.isMatchingKey(n)?t=g.getSubstitution(n,{locale:o,usedKeys:i,arg:a,missingSuppliedFormatters:d}):"function"==typeof(t=s[n])&&(t=t({arg:a,key:n})),r?t=r.reduce(function(e,t){return t({value:e,arg:a,key:n,locale:o})},t):a&&/^(?:NUMBER|DATE(?:TIME|RANGE|TIMERANGE)?|REGION|LANGUAGE|SCRIPT|CURRENCY|RELATIVE|LIST)(?:\||$)/.test(a)&&(t=R({value:t,arg:a,locale:o})),t},A=1,x=function(e){var t=e.substitution,n=e.ky,i=e.arg,r=e.processSubsts,o=t;if("string"==typeof t&&t.includes("{")){if(A++>u)throw new TypeError("Too much recursion in local variables.");if(b.constructor.isMatchingKey(n)){var s,l=a;i&&(s=E(i),l=h(h({},a),s)),o=r({str:t,substs:l,formatter:b}),s&&p({substitutions:s})}else g.constructor.isMatchingKey(n)&&(o=r({str:t}))}return o};if(!n){var C=!1,D=function(e){var t=e.str,n=e.substs,r=void 0===n?a:n,o=e.formatter,s=void 0===o?m:o;return t.replaceAll(v,function(e,t,n,a,o){if(t.length%2)return e;if(d({key:n,formatter:s}))return e;var l=F({key:n,arg:o,substs:r});return l=x({substitution:l,ky:n,arg:o,processSubsts:D}),C||(C=null!==l&&"object"===w(l)&&"nodeType"in l),i.push(n),t+l})},T=D({str:t});if(!C)return p({substitutions:a}),i.length=0,f(),k(T);i.length=0,f()}A=1;var $=function(e){var t=e.str,n=e.substs,r=void 0===n?a:n,o=e.formatter,s=void 0===o?m:o,l=[],c=new RegExp(v,"gv"),u=function(){l.push.apply(l,arguments)};return S(c,t,{extra:u,onMatch:function(e,t,n,a,o){if(d({key:n,formatter:s}))u(e);else{t.length&&u(t);var l=F({key:n,arg:o,substs:r});l=x({substitution:l,ky:n,arg:o,processSubsts:$}),Array.isArray(l)?u.apply(void 0,y(l)):l&&"object"===w(l)&&"nodeType"in l?u(l.cloneNode(!0)):u(l)}i.push(n)}}),l},O=$({str:t});return p({substitutions:a}),i.length=0,O.map(function(e){return"string"==typeof e?k(e):e})},Y=function(e,t){if("string"==typeof t&&Array.isArray(e)&&e.every(function(e){return"string"==typeof e})&&t.endsWith("Nested"))return e.map(function(e){return e.replaceAll(A(/(\\+)/g,{backslashes:1}),String.raw(P||(P=g(["$<backslashes>"],["\\$<backslashes>"])))).replaceAll(".",String.raw(U||(U=g(["."],["\\."]))))}).join(".");if("string"!=typeof e)throw new TypeError("`key` is expected to be a string (or array of strings for nested style)");return e},X=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).messageStyle,t=void 0===e?"richNested":e;return"function"==typeof t?t:"richNested"===t?function(e,t){var n=e&&"object"===w(e)&&e.body,i=[],a=function(e){i.length||(i[0]=""),i[i.length-1]+=e};S(/(\\*)\./g,t,{extra:a,onMatch:function(e,t){a(t),i.push("")}});var r=i.map(function(e){return k(e)}),o=!1,s=n;return r.some(function(e,t,n){return!s||"object"!==w(s)||(t===n.length-1&&Object.hasOwn(s,e)&&null!==s[e]&&"object"===w(s[e])&&"message"in s[e]&&"string"==typeof s[e].message&&(o={value:s[e].message,info:s[e]}),s=s[e],!1)}),o}:"rich"===t?function(e,t){var n=e&&"object"===w(e)&&e.body;return!!(n&&"object"===w(n)&&Object.hasOwn(n,t)&&null!==n[t]&&"object"===w(n[t])&&"message"in n[t]&&"string"==typeof n[t].message)&&{value:n[t].message,info:n[t]}}:"plain"===t?function(e,t){var n=e&&"object"===w(e)&&e.body;return!(!n||"object"!==w(n)||!Object.hasOwn(n,t)||null===n[t]||"string"!=typeof n[t])&&{value:n[t]}}:"plainNested"===t?function(e,t){var n=e&&"object"===w(e)&&e.body;if(n&&"object"===w(n)){var i=t.split(/(?<!\\)\./).reduce(function(e,t){return e&&"object"===w(e)&&e[t]?e[t]:null},n);if(i&&"string"==typeof i)return{value:i}}return!1}:function(){throw new TypeError("Unknown `messageStyle` ".concat(t))}()},Z=function(e){if(!e.includes("-"))throw new Error("Locale not available");return e.replace(/-(?:[\0-,\.-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*$/,"")},Q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.locales,n=e.defaultLocales,i=e.localeResolver,a=e.localesBasePath,r=e.localeMatcher;return ee({locales:t,defaultLocales:n,localeResolver:i,localesBasePath:a,localeMatcher:r})},ee=function(){var e=i(f().m(function e(t){var n,a,r,o,s,l,c,u,d,p,h,b,m,_;return f().w(function(e){for(;;)switch(e.n){case 0:if(_=function(){return _=i(f().m(function e(t){var n,i,a,r,o,s;return f().w(function(e){for(;;)switch(e.p=e.n){case 0:if("string"==typeof t){e.n=1;break}throw new TypeError("Non-string locale type");case 1:if("string"==typeof(n=l(u,t))){e.n=2;break}throw new TypeError("`localeResolver` expected to resolve to (URL) string.");case 2:return e.p=2,i=T(),e.n=3,b?i(n,{method:"HEAD"}):i(n);case 3:if(404!==(a=e.v).status){e.n=4;break}throw new Error("Trying again");case 4:if(!b){e.n=5;break}return e.a(2,t);case 5:return e.n=6,a.json();case 6:return r=e.v,e.a(2,{locale:t,strings:r});case 7:if(e.p=7,"SyntaxError"!==(s=e.v).name){e.n=8;break}throw s;case 8:return e.n=9,p(t);case 9:return o=e.v,e.a(2,m(o))}},e,null,[[2,7]])})),_.apply(this,arguments)},m=function(e){return _.apply(this,arguments)},n=t.locales,a=void 0===n?"undefined"!=typeof intlDomLocale?[intlDomLocale]:"undefined"==typeof navigator?[]:navigator.languages:n,r=t.defaultLocales,o=void 0===r?["en-US"]:r,s=t.localeResolver,l=void 0===s?z:s,c=t.localesBasePath,u=void 0===c?".":c,d=t.localeMatcher,p=void 0===d?"lookup":d,h=t.headOnly,b=void 0!==h&&h,"lookup"!==p){e.n=1;break}p=Z,e.n=2;break;case 1:if("function"==typeof p){e.n=2;break}throw new TypeError('`localeMatcher` must be "lookup" or a function!');case 2:return e.n=3,W([].concat(y(a),y(o)),m,"No matching locale found for "+[].concat(y(a),y(o)).join(", "));case 3:return e.a(2,e.v)}},e)}));return function(t){return e.apply(this,arguments)}}(),te=function(e){var t=e.strings,n=e.resolvedLocale,i=e.messageStyle,a=void 0===i?"richNested":i,r=e.allSubstitutions,o=e.insertNodes,s=e.keyCheckerConverter,l=void 0===s?Y:s,c=e.defaults,u=e.substitutions,d=e.dom,p=void 0!==d&&d,f=e.forceNodeReturn,b=void 0!==f&&f,m=e.throwOnMissingSuppliedFormatters,_=void 0===m||m,g=e.throwOnExtraSuppliedFormatters,v=void 0===g||g;if(!t||"object"!==w(t))throw new TypeError("Locale strings must be an object!");var F=X({messageStyle:a}),A=function(e,i){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},d=s.allSubstitutions,f=void 0===d?r:d,m=s.defaults,g=void 0===m?c:m,A=s.dom,x=void 0===A?p:A,C=s.forceNodeReturn,k=void 0===C?b:C,E=s.throwOnMissingSuppliedFormatters,S=void 0===E?_:E,D=s.throwOnExtraSuppliedFormatters,T=void 0===D?v:D;e=l(e,a);var $=F(t,e),N=function(e){var t,n=e.message,i=e.defaults,a=e.messageStyle,r=e.messageForKey,o=void 0===r?X({messageStyle:a}):r,s=e.key;if("string"==typeof n)t=n;else if(!1===i||null==i)t=!1;else{if(!i||"object"!==w(i))throw new TypeError("Default locale strings must resolve to `false`, nullish, or an object!");var l=o(i,s);t=l?l.value:l}if(!1===t)throw new Error("Key value not found for key: (".concat(s,")"));return t}({message:!(!$||"string"!=typeof $.value)&&$.value,defaults:g,messageForKey:F,key:e});return function(e){var t=e.string,n=e.locale,i=e.locals,a=e.switches,r=e.allSubstitutions,o=void 0===r?[R]:r,s=e.insertNodes,l=void 0===s?q:s,c=e.substitutions,u=void 0!==c&&c,d=e.dom,p=void 0!==d&&d,h=e.forceNodeReturn,f=void 0!==h&&h,b=e.throwOnMissingSuppliedFormatters,m=void 0===b||b,_=e.throwOnExtraSuppliedFormatters,g=void 0===_||_;if("string"!=typeof t)throw new TypeError("An options object with a `string` property set to a string must be provided for `getDOMForLocaleString`.");var v=function(e){var t=O();return f?t.createTextNode(e):e};if(!u&&!o&&!m)return v(t);u||(u={});var w=[],F=l({string:t,dom:p,usedKeys:w,substitutions:u,allSubstitutions:o,locale:n,locals:i,switches:a,missingSuppliedFormatters:function(e){var t=e.key,n=e.formatter;if(!n.isMatch(t)&&n.constructor.isMatchingKey(t)){if(m)throw new Error("Missing formatting key: ".concat(t));return!0}return!1},checkExtraSuppliedFormatters:function(e){var t=e.substitutions;g&&Object.keys(t).forEach(function(e){if(!w.includes(e))throw new Error("Extra formatting key: ".concat(e))})}});if("string"==typeof F)return v(F);var A=O().createDocumentFragment();return A.append.apply(A,y(F)),A}({string:N,locals:t.head&&t.head.locals,switches:t.head&&t.head.switches,locale:n,allSubstitutions:f,insertNodes:o,substitutions:h(h({},u),i),dom:x,forceNodeReturn:k,throwOnMissingSuppliedFormatters:S,throwOnExtraSuppliedFormatters:T})};return A.resolvedLocale=n,A.strings=t,A.sort=function(e,t){return M(n,e,t)},A.sortList=function(e,t,i,a){return L(n,e,t,i,a)},A.list=function(e,t){return j(n,e,t)},A},ne=function(){var e=i(f().m(function e(){var t,n,i,a,r,o,s,l,c,u,d,p,h,b,m,_,g,y,v,w,F,A,x=arguments;return f().w(function(e){for(;;)switch(e.n){case 0:return n=(t=x.length>0&&void 0!==x[0]?x[0]:{}).locales,i=t.defaultLocales,a=t.localeStringFinder,r=void 0===a?Q:a,o=t.localesBasePath,s=t.localeResolver,l=t.localeMatcher,c=t.messageStyle,u=t.allSubstitutions,d=t.insertNodes,p=t.keyCheckerConverter,h=t.defaults,b=t.substitutions,t.maximumLocalNestingDepth,m=t.dom,_=t.forceNodeReturn,g=t.throwOnMissingSuppliedFormatters,y=t.throwOnExtraSuppliedFormatters,e.n=1,r({locales:n,defaultLocales:i,localeResolver:s,localesBasePath:o,localeMatcher:l});case 1:if(v=e.v,w=v.strings,F=v.locale,h||!i){e.n=3;break}return e.n=2,r({locales:i,defaultLocales:[],localeResolver:s,localesBasePath:o,localeMatcher:l});case 2:A=e.v,h=A.strings,A.locale===F&&(h=null);case 3:return e.a(2,te({strings:w,resolvedLocale:F,messageStyle:c,allSubstitutions:u,insertNodes:d,keyCheckerConverter:p,defaults:h,substitutions:b,dom:m,forceNodeReturn:_,throwOnMissingSuppliedFormatters:g,throwOnExtraSuppliedFormatters:y}))}},e)}));return function(){return e.apply(this,arguments)}}();var ie,ae,re=(ie=function(e,t){const n=31,i=[];function a(){return i.pop()||{context:0,elements:null,element_array:null}}function r(e){i.push(e)}const o=[];function s(e){o.push(e)}const l=t;l.escape=function(e){let t="";if(!e)return e;for(let n=0;n<e.length;n++){const i=e[n];'"'!=i&&"\\"!=i&&"`"!=i&&"'"!=i||(t+="\\"),t+=i}return t},l.begin=function(e,t){const i={name:null,value_type:0,string:"",contains:null},l={line:1,col:1};let c,u=0,d=0,p=!0,h=!1,f=null,b=[],m=0,_=0,g=!1,y=!1,v=!1,w=!1,F=!1,A=null,x=!1,C=!1,k=!1,E=!1,S=!1,D=!1,T=!1,$=0,O=0,N=!1;const B={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last||(this.first=t),this.last=t},pop(){const e=this.last;return(this.last=e.prior)||(this.first=null),e.next=this.saved,this.saved=e,e.node}},P={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last?this.last.next=t:this.first=t,this.last=t},shift(){const e=this.first;return e?(this.first=e.next,this.first||(this.last=null),e.next=this.saved,this.saved=e,e.node):null},unshift(e){const t=this.saved;this.saved=t.next,t.node=e,t.next=this.first,t.prior=null,this.first||(this.last=t),this.first=t}};function U(e){throw new Error(`${e} at ${u} [${l.line}:${l.col}]`)}return{finalError(){if(0!==_)switch(_){case 1:return U("Comment began at end of document");case 2:console.log("Warning: '//' comment without end of line ended document");break;case 3:return U("Open comment '/*' is missing close at end of document");case 4:return U("Incomplete '/* *' close at end of document")}x&&U("Incomplete string")},value(){this.finalError();const e=f;return f=void 0,e},reset(){d=0,p=!0,P.last&&(P.last.next=P.save),P.save=P.first,P.first=P.last=null,B.last&&(B.last.next=B.save),B.save=P.first,B.first=B.last=null,b=null,c=void 0,m=0,i.value_type=0,i.name=null,i.string="",l.line=1,l.col=1,h=!1,_=0,N=!1,x=!1,k=!1,E=!1},write(n){let i;if(void 0!==n&&"string"!=typeof n&&(n=String(n)),!p)throw new Error("Parser is in an error state, please reset.");for(i=this._write(n,!1);i>0&&(this.finalError(),"function"==typeof t&&function e(n,i){const a=n[i];if(a&&"object"==typeof a)for(const t in a)if(Object.prototype.hasOwnProperty.call(a,t)){const n=e(a,t);void 0!==n?a[t]=n:delete a[t]}return t.call(n,i,a)}({"":f},""),e(f),f=void 0,!(i<2));i=this._write());i&&this.finalError()},_write(e,t){let U,M,j=0;function L(e,t){throw new Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${u} (near '${M.substr(u>4?u-4:0,u>4?3:u-1)}[${String.fromCodePoint(t)}]${M.substr(u,10)}') [${l.line}:${l.col}]`)}function I(){i.value_type=0,i.string=""}function R(){switch(i.value_type){case 5:b.push((h?-1:1)*Number(i.string));break;case 4:b.push(i.string);break;case 2:b.push(!0);break;case 3:b.push(!1);break;case 8:case 9:b.push(NaN);break;case 10:b.push(-1/0);break;case 11:b.push(1/0);break;case 1:b.push(null);break;case-1:b.push(void 0);break;case 13:b.push(void 0),delete b[b.length-1];break;case 6:case 7:b.push(i.contains)}}function J(){switch(i.value_type){case 5:c[i.name]=(h?-1:1)*Number(i.string);break;case 4:c[i.name]=i.string;break;case 2:c[i.name]=!0;break;case 3:c[i.name]=!1;break;case 8:case 9:c[i.name]=NaN;break;case 10:c[i.name]=-1/0;break;case 11:c[i.name]=1/0;break;case 1:c[i.name]=null;break;case-1:c[i.name]=void 0;break;case 6:case 7:c[i.name]=i.contains}}function K(e){let t=0;for(;0==t&&u<M.length;){let n=M.charAt(u);const a=M.codePointAt(u++);if(a>=65536&&(n+=M.charAt(u),u++),l.col++,a==e)k?(T?L("Incomplete hexidecimal sequence",a):S?L("Incomplete long unicode sequence",a):D&&L("Incomplete unicode sequence",a),E?(E=!1,t=1):i.string+=n,k=!1):t=1;else if(k){if(S){if(125==a){i.string+=String.fromCodePoint($),S=!1,D=!1,k=!1;continue}$*=16,a>=48&&a<=57?$+=a-48:a>=65&&a<=70?$+=a-65+10:a>=97&&a<=102?$+=a-97+10:L("(escaped character, parsing hex of \\u)",a);continue}if(T||D){if(0===O&&123===a){S=!0;continue}$*=16,a>=48&&a<=57?$+=a-48:a>=65&&a<=70?$+=a-65+10:a>=97&&a<=102?$+=a-97+10:L(D?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",a),O++,D?4==O&&(i.string+=String.fromCodePoint($),D=!1,k=!1):2==O&&(i.string+=String.fromCodePoint($),T=!1,k=!1);continue}switch(a){case 13:E=!0,l.col=1;continue;case 8232:case 8233:l.col=1;case 10:E?E=!1:l.col=1,l.line++;break;case 116:i.string+="\t";break;case 98:i.string+="\b";break;case 48:i.string+="\0";break;case 110:i.string+="\n";break;case 114:i.string+="\r";break;case 102:i.string+="\f";break;case 118:i.string+="\v";break;case 120:T=!0,O=0,$=0;continue;case 117:D=!0,O=0,$=0;continue;default:i.string+=n}k=!1}else 92===a?k=!0:(E&&(E=!1,l.line++,l.col=2),i.string+=n)}return t}function V(){let e;for(;(e=u)<M.length;){const n=M.charAt(e),a=M.codePointAt(u++);if(a>=65536&&L("fault while parsing number;",a),95!=a)if(l.col++,a>=48&&a<=57)v&&(F=!0),i.string+=n;else if(45==a||43==a)0==i.string.length||v&&!w&&!F?(i.string+=n,w=!0):(p=!1,L("fault while parsing number;",a));else if(46==a)y||g||v?(p=!1,L("fault while parsing number;",a)):(i.string+=n,y=!0);else if(g&&(a>=95&&a<=102||a>=65&&a<=70))i.string+=n;else if(120==a||98==a||111==a||88==a||66==a||79==a)g||"0"!=i.string?(p=!1,L("fault while parsing number;",a)):(g=!0,i.string+=n);else{if(101!=a&&69!=a){if(32==a||160==a||13==a||10==a||9==a||65279==a||44==a||125==a||93==a||58==a)break;t&&(p=!1,L("fault while parsing number;",a));break}v?(p=!1,L("fault while parsing number;",a)):(i.string+=n,v=!0)}}u=e,t||u!=M.length?(C=!1,i.value_type=5,0==m&&(N=!0)):C=!0}if(!p)return-1;if(e&&e.length)U=function(){let e=o.pop();return e?e.n=0:e={buf:null,n:0},e}(),U.buf=e,P.push(U);else if(C){if(C=!1,i.value_type=5,0!=m)throw new Error("context stack is not empty at flush");N=!0,j=1}for(;p&&(U=P.shift());){for(u=U.n,M=U.buf,x&&K(A)>0&&(x=!1,i.value_type=4),C&&V();!N&&p&&u<M.length;){let e=M.charAt(u);const t=M.codePointAt(u++);if(t>=65536&&(e+=M.charAt(u),u++),l.col++,_)1==_?42==t?_=3:47!=t?L("fault while parsing;",t):_=2:2==_?10!=t&&13!=t||(_=0):3==_?42==t&&(_=4):_=47==t?0:3;else{switch(t){case 47:_=1;break;case 123:(29==d||30==d||3==m&&0==d)&&L("fault while parsing; getting field name unexpected ",t);{const e=a();i.value_type=6;const t={};0==m&&(f=c=t),e.context=m,e.elements=c,e.element_array=b,e.name=i.name,c=t,B.push(e),I(),m=3}break;case 91:if(3!=m&&29!=d&&30!=d||L("Fault while parsing; while getting field name unexpected",t),0==i.value_type||-1==i.value_type){const e=a();i.value_type=7;const t=[];0==m?f=b=t:4==m&&(c[i.name]=t),e.context=m,e.elements=c,e.element_array=b,e.name=i.name,b=t,B.push(e),I(),m=1}else L("Unexpected array open after previous value",t);break;case 58:3==m?(d=0,i.name=i.string,i.string="",m=4,i.value_type=0):L(1==m?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",t);break;case 125:if(d==n&&(d=0),3==m){i.value_type=6,i.contains=c;const e=B.pop();i.name=e.name,m=e.context,c=e.elements,b=e.element_array,r(e),0==m&&(N=!0)}else if(4==m){0!=i.value_type?J():L("Fault while parsing field value, close with no value",t),i.value_type=6,i.contains=c;const e=B.pop();i.name=e.name,m=e.context,c=e.elements,b=e.element_array,r(e),0==m&&(N=!0)}else L("Fault while parsing; unexpected",t);h=!1;break;case 93:if(d==n&&(d=0),1==m){0!=i.value_type&&R(),i.value_type=7,i.contains=b;{const e=B.pop();i.name=e.name,m=e.context,c=e.elements,b=e.element_array,r(e)}0==m&&(N=!0)}else L(`bad context ${m}; fault while parsing`,t);h=!1;break;case 44:d==n&&(d=0),1==m?(0==i.value_type&&(i.value_type=13),R(),I()):4==m?(m=3,0!=i.value_type?(J(),I()):L("Unexpected comma after object field name",t)):(p=!1,L("bad context; excessive commas while parsing;",t)),h=!1;break;default:if(3==m)switch(t){case 96:case 34:case 39:0==d?(0!=i.value_type&&L("String begin after previous value",t),K(t)?i.value_type=4:(A=t,x=!0)):L("fault while parsing; quote not at start of field name",t);break;case 10:l.line++,l.col=1;case 13:case 32:case 160:case 9:case 65279:d==n?d=0:29==d&&(d=30);break;default:30==d&&(p=!1,L("fault while parsing; character unexpected",t)),0==d&&(d=29),i.string+=e}else switch(t){case 96:case 34:case 39:0===i.value_type?K(t)?(i.value_type=4,d=n):(A=t,x=!0):L("String unexpected",t);break;case 10:l.line++,l.col=1;case 32:case 160:case 9:case 13:case 65279:if(d==n){d=0,0==m&&(N=!0);break}0!==d&&(p=!1,L("fault parsing whitespace",t));break;case 116:0==d?d=1:27==d?d=28:(p=!1,L("fault parsing",t));break;case 114:1==d?d=2:(p=!1,L("fault parsing",t));break;case 117:2==d?d=3:9==d?d=10:0==d?d=12:(p=!1,L("fault parsing",t));break;case 101:3==d?(i.value_type=2,d=n):8==d?(i.value_type=3,d=n):14==d?d=15:18==d?d=19:(p=!1,L("fault parsing",t));break;case 110:0==d?d=9:12==d?d=13:17==d?d=18:22==d?d=23:25==d?d=26:(p=!1,L("fault parsing",t));break;case 100:13==d?d=14:19==d?(i.value_type=-1,d=n):(p=!1,L("fault parsing",t));break;case 105:16==d?d=17:24==d?d=25:26==d?d=27:(p=!1,L("fault parsing",t));break;case 108:10==d?d=11:11==d?(i.value_type=1,d=n):6==d?d=7:(p=!1,L("fault parsing",t));break;case 102:0==d?d=5:15==d?d=16:23==d?d=24:(p=!1,L("fault parsing",t));break;case 97:5==d?d=6:20==d?d=21:(p=!1,L("fault parsing",t));break;case 115:7==d?d=8:(p=!1,L("fault parsing",t));break;case 73:0==d?d=22:(p=!1,L("fault parsing",t));break;case 78:0==d?d=20:21==d?(i.value_type=h?8:9,h=!1,d=n):(p=!1,L("fault parsing",t));break;case 121:28==d?(i.value_type=h?10:11,h=!1,d=n):(p=!1,L("fault parsing",t));break;case 45:0==d?h=!h:(p=!1,L("fault parsing",t));break;case 43:0!==d&&(p=!1,L("fault parsing",t));break;default:t>=48&&t<=57||43==t||46==t||45==t?(g=!1,v=!1,w=!1,F=!1,y=!1,i.string=e,U.n=u,V()):(p=!1,L("fault parsing",t))}}if(N){d==n&&(d=0);break}}}if(u==M.length?(s(U),x||C||3==m?j=0:0!=m||0==i.value_type&&!f||(N=!0,j=1)):(U.n=u,P.unshift(U),j=2),N)break}if(N&&0!=i.value_type){switch(i.value_type){case 5:f=(h?-1:1)*Number(i.string);break;case 4:f=i.string;break;case 2:f=!0;break;case 3:f=!1;break;case 1:f=null;break;case-1:f=void 0;break;case 9:case 8:f=NaN;break;case 11:f=1/0;break;case 10:f=-1/0;break;case 6:case 7:f=i.contains}h=!1,i.string="",i.value_type=0}return N=!1,j}}};const c=[Object.freeze(l.begin())];let u=0;l.parse=function(e,t){const n=u++;c.length<=n&&c.push(Object.freeze(l.begin()));const i=c[n];if("string"!=typeof e&&(e=String(e)),i.reset(),i._write(e,!0)>0){const e=i.value();return"function"==typeof t&&function e(n,i){const a=n[i];if(a&&"object"==typeof a)for(const t in a)if(Object.prototype.hasOwnProperty.call(a,t)){const n=e(a,t);void 0!==n?a[t]=n:delete a[t]}return t.call(n,i,a)}({"":e},""),u--,e}i.finalError()},l.stringify=JSON.stringify,l.stringifierActive=null,l.stringifier=function(){const e={true:!0,false:!1,null:null,NaN:NaN,Infinity:1/0,undefined:void 0};let t='"',n=!1;return{stringify(e,t,a,r){return function(e,t,a,r,o){if(void 0===t)return"undefined";if(null===t)return"null";let s,c,u;const d=typeof r,p=typeof a;s="",c="";const h=l.stringifierActive;if(l.stringifierActive=e,o||(o=""),"number"===d)for(u=0;u<r;u+=1)c+=" ";else"string"===d&&(c=r);const f=a;if(a&&"function"!==p&&("object"!==p||"number"!=typeof a.length))throw new Error("JSON6.stringify unknown replacer type.");const b=m(o,{[o]:t});return l.stringifierActive=h,b;function m(e,t){let a,r,o,l;const u=s;let d,p=t[e];switch("string"==typeof p&&(p=i(p)),null!=p&&"object"==typeof p&&"function"==typeof toJSOX&&(s+=c,s=u),"function"==typeof f&&(p=f.call(t,e,p)),typeof p){case"string":return p;case"number":return""+p;case"boolean":return String(p);case"object":if(!p)return"null";if(s+=c,d=[],f&&"object"==typeof f)for(l=f.length,a=0;a<l;a+=1)"string"==typeof f[a]&&(r=f[a],o=m(r,p),o&&d.push(i(r)+(s?": ":":")+o));else{const e=[];for(r in p)if((!n||Object.prototype.propertyIsEnumerable.call(p,r))&&Object.prototype.hasOwnProperty.call(p,r)){let t;for(t=0;t<e.length;t++)if(e[t]>r){e.splice(t,0,r);break}t===e.length&&e.push(r)}for(let t=0;t<e.length;t++)r=e[t],Object.prototype.hasOwnProperty.call(p,r)&&(o=m(r,p),o&&d.push(i(r)+(s?": ":":")+o))}return o=0===d.length?"{}":s?"{\n"+s+d.join(",\n"+s)+"\n"+u+"}":"{"+d.join(",")+"}",s=u,o}}}(this,e,t,a,r)},setQuote(e){t=e},get ignoreNonEnumerable(){return n},set ignoreNonEnumerable(e){n=e}};function i(n){return"number"!=typeof n||isNaN(n)?n.length?n in e||/([0-9-])/.test(n[0])||/((\n|\r|\t)|[ #{}()<>!+\-*/.:,])/.test(n)?t+l.escape(n)+t:n:t+t:["'",n.toString(),"'"].join()}},l.stringify=function(e,t,n){return l.stringifier().stringify(e,t,n)},l.version="1.1.1"},ie(ae={exports:{}},ae.exports),ae.exports),oe=re;const se=["$plugins","$Map"],le=Symbol("validateJamilih.failFast"),ce=["$state","$mode"],ue=["#","$text","$document","$DOCTYPE","$attribute"],de=["$on","$symbol","$define","$data","$custom","$shadow","$attribute","$text","$document","$DOCTYPE"],pe=["string","number","boolean"],he=["function","symbol","bigint"],fe={"!":1,"&":1,"#":1,"#x":1,"?":2,"![":1};function be(e){return Boolean(e&&"object"==typeof e&&"number"==typeof e.nodeType)}function me(e){return/^\[object (?:Weak)?Map\]$/u.test(Object.prototype.toString.call(e))}function _e(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function ge(e){return e.startsWith("$_")}function ye(e){return null==e}let ve;"undefined"!=typeof window&&window&&(ve=window);let we="undefined"!=typeof document&&document||ve?.document;const Fe=new WeakSet,Ae="http://www.w3.org/1999/xhtml",xe=/-([a-z])/gu,Ce=new Map([["maxlength","maxLength"],["minlength","minLength"],["readonly","readOnly"]]),ke=new Set(["checked","defaultChecked","defaultSelected","disabled","indeterminate","open","readOnly","selected","accessKey","async","autocapitalize","autofocus","contentEditable","defaultValue","defer","draggable","formnovalidate","hidden","innerText","inputMode","ismap","multiple","novalidate","pattern","required","spellcheck","translate","value","willvalidate"]),Ee=new Set(["autocomplete","dir","integrity","lang","max","min","minLength","maxLength","title"]),Se=e=>{if(!we)throw new Error("No document object");return we.querySelector(e)},De=e=>{if(!we)throw new Error("No document object");return[...we.querySelectorAll(e)]};function Te(e,t){const n=e.nodeName?.toLowerCase();"template"!==n?e.append(t):e.content.append(t)}function $e(e,t,n,i){e.addEventListener(t,n,Boolean(i))}function Oe(e,t,n){if(!we)throw new Error("No document defined");if(!/^\w+$/u.test(n))throw new TypeError(`Bad ${e} reference; with prefix "${t}" and arg "${n}"`);const i=we.createElement("div");return i.innerHTML="&"+t+n+";",we.createTextNode(i.innerHTML)}function Ne(e,t){return t.toUpperCase()}function Be(e){return null==e}function Pe(e){return Boolean(e&&"object"==typeof e&&"nodeType"in e&&1===e.nodeType)}function Ue(e){if("string"==typeof e||void 0===e)return"string";const t=typeof e;if("object"===t){if(null===e)return"null";if(Array.isArray(e))return"array";if("nodeType"in e)switch(e.nodeType){case 1:return"element";case 7:return"processing-instruction";case 9:return"document";case 11:return"fragment";default:return"non-container node"}}return t}function Me(e,t){return e.append(t),e}function je(e){return e.replaceAll("$","$$$$")}function Le(e){return function(...t){const n=t[0];let i=e[""]?' xmlns="'+je(e[""])+'"':n;for(const[t,n]of Object.entries(e))""!==t&&(i+=" xmlns:"+t+'="'+je(n)+'"');return i}}function Ie(e){return function(t,n){const i=e.childNodes[n],a=Array.isArray(t)?He(...t):He(t);i.replaceWith(a)}}function Re(e){return function(t){if("string"==typeof t||"number"==typeof t)throw new TypeError("Unexpected text string/number in the head");Array.isArray(t)?e.append(He(...t)):"object"==typeof t&&"nodeType"in t?e.append(t):e.append(He(t))}}function Je(e){return function(t){"string"==typeof t||"number"==typeof t?e.append(String(t)):Array.isArray(t)?e.append(He(...t)):"object"==typeof t&&"nodeType"in t?e.append(t):e.append(He(t))}}function Ke(e,t,n,i,a){if(i.$state=a??"attributeValue",n&&"object"==typeof n){const a=Ve(i,Object.keys(n)[0]);if(a)return a.set({opts:i,element:e,attribute:{name:t,value:n}})}return n}function Ve(e,t){return e.$plugins&&e.$plugins.find(e=>e.name===t)}const He=function e(...t){if(!ve)throw new Error("No window object");if(!we)throw new Error("No document object");let n=we.createDocumentFragment();function i(i){if(!we)throw new Error("No document object");for(let[s,l]of Object.entries(i))if(s=Ce.has(s)?String(Ce.get(s)):s,Ee.has(s))l=Ke(n,s,l,o),Be(l)||(n[s]=l);else if(ke.has(s))l=Ke(n,s,l,o),n[s]=l;else switch(s){case"#":o.$state="fragmentChildren",a[a.length]=e(o,l);break;case"$shadow":{const{open:t,closed:i}=l;let{content:a,template:r}=l;const o=n.attachShadow({mode:i||!1===t?"closed":"open"});r?(Array.isArray(r)?r="object"===Ue(r[0])?e("template",...r,we.body):e("template",r,we.body):"string"==typeof r&&(r=Se(r)),e(r.content.cloneNode(!0),o)):(a||!0!==t&&(a=t||"boolean"==typeof i?a:i),a&&"boolean"!=typeof a&&(Array.isArray(a)?e({"#":a},o):e(a,o)));break}case"$state":if(!Fe.has(i))throw new TypeError(`\`$state\` is set internally by Jamilih and may not be supplied; args: ${JSON.stringify(t)}`);break;case"$mode":throw new TypeError(`\`$mode\` is reserved for future use and not yet implemented; args: ${JSON.stringify(t)}`);case"is":case"xmlns":break;case"$custom":if(null!==l&&("object"==typeof l||"function"==typeof l)&&Object.prototype.propertyIsEnumerable.call(l,"__proto__"))throw new TypeError("`$custom` may not define `__proto__`");Object.assign(n,l);break;case"$define":{if(!("localName"in n))throw new Error("Element expected for `$define`");const e=n.localName.toLowerCase(),a=!e.includes("-");let r;if(a&&(r=n.getAttribute("is"),!r)){if(!Object.hasOwn(i,"is"))throw new TypeError(`Expected \`is\` with \`$define\` on built-in; args: ${JSON.stringify(t)}`);i.is=Ke(n,"is",i.is,o),n.setAttribute("is",i.is),({is:r}=i)}const s=a?r:e;if(window.customElements.get(s))break;const c=t=>{if(!we)throw new Error("No document object");const n="object"==typeof d&&"string"==typeof d.extends?we.createElement(d.extends).constructor:a?we.createElement(e).constructor:window.HTMLElement;return t?class extends n{constructor(){super(),t.call(this)}}:class extends n{}};let u,d,p;const h=l;Array.isArray(h)?h.length<=2?([u]=h,d=h[1],"string"==typeof d?d={extends:d}:d&&!Object.hasOwn(d,"extends")&&(p=d),"object"==typeof u&&(p=u,u=c())):([u,p,d]=h,"string"==typeof d&&(d={extends:d})):"function"==typeof h?u=h:(p=h,u=c()),u.toString().startsWith("class")||(u=c(u)),!d&&a&&(d={extends:e}),p&&Object.entries(p).forEach(([e,t])=>{Reflect.set(u.prototype,e,t)}),window.customElements.define(s,u,"object"==typeof d?d:void 0);break}case"$symbol":{if(!Pe(n))throw new TypeError("Element expected for `$symbol`");const e=n,[t,i]=l;if("function"==typeof i){const a=i.bind(e);"string"==typeof t?n[Symbol.for(t)]=a:n[t]=a}else{const a=i;a.elem=e,"string"==typeof t?n[Symbol.for(t)]=a:n[t]=a}break}case"$data":d(l);break;case"$attribute":{const e=l,t=3===e.length?we.createAttributeNS(e[0],e[1]):we.createAttribute(e[0]);t.value=e.at(-1),a[a.length]=t;break}case"$text":{const e=we.createTextNode(l);a[a.length]=e;break}case"$document":{if(!l)throw new Error("Bad attribute value");const t=we.implementation.createHTMLDocument(),n=l;if(n.childNodes){const e=n.childNodes.length;for(;Object.hasOwn(t.childNodes,e);){t.childNodes[e].remove()}n.childNodes.forEach(Ie(t))}else{if(n.$DOCTYPE){const i={$DOCTYPE:n.$DOCTYPE},a=e(i);t.firstChild?.replaceWith(a)}const i=t.querySelector("html"),a=i?.querySelector("head"),r=i?.querySelector("body");if(n.title||n.head){const e=we.createElement("meta");e.setAttribute("charset","utf-8"),a?.append(e),n.title&&(t.title=n.title),a&&n.head&&n.head.forEach(Re(a))}r&&n.body&&n.body.forEach(Je(r))}if(n.xmlDeclaration){const{version:e,encoding:i,standalone:a}=n.xmlDeclaration,r=`${e?` version="${e}"`:""}${i?` encoding="${i}"`:""}${a?' standalone="yes"':""}`.slice(1),o=we.createProcessingInstruction("xml",r);t.insertBefore(o,t.firstChild)}a[a.length]=t;break}case"$DOCTYPE":{const e=l,t=we.implementation.createDocumentType(e.name,e.publicId||"",e.systemId||"");a[a.length]=t;break}case"$on":{const e=n;for(let[n,i]of Object.entries(l||{})){if("function"==typeof i&&(i=[i,!1]),"function"!=typeof i[0])throw new TypeError(`Expect a function for \`$on\`; args: ${JSON.stringify(t)}`);$e(e,n,i[0],i[1])}break}case"className":case"class":l=Ke(n,s,l,o),Be(l)||(n.className=l);break;case"dataset":{const e=(t,i)=>{let a="";const r=""!==i;Object.keys(t).forEach(o=>{const s=t[o];if(a=i+(r?o.replaceAll(xe,Ne).replace(/^([a-z])/u,Ne):o.replaceAll(xe,Ne)),null===s||"object"!=typeof s)return Be(s)||(n.dataset[a]=s),void(a=i);e(s,a)})};e(l,"");break}case"innerHTML":Be(l)||(n.innerHTML=l);break;case"htmlFor":case"for":if("label"===r){l=Ke(n,s,l,o),Be(l)||(n.htmlFor=l);break}l=Ke(n,s,l,o),n.setAttribute(s,l);break;default:{if(s.startsWith("on")){l=Ke(n,s,l,o),n[s]=l;break}if("style"===s){if(l=Ke(n,s,l,o),Be(l))break;if("object"==typeof l){for(const[e,t]of Object.entries(l))Be(t)||("float"===e?(n.style.cssFloat=t,n.style.styleFloat=t):n.style[e.replaceAll(xe,Ne)]=t);break}n.setAttribute(s,l);break}const e=s,t=Ve(o,e);if(t){t.set({opts:o,element:a[0],attribute:{name:e,value:l}});break}if(s.startsWith("$"))break;l=Ke(n,s,l,o),n.setAttribute(s,l);break}}}const a=[];let r,o,s=!1,l=0;if("object"===Ue(t[0])&&Object.keys(t[0]).some(e=>se.includes(e))){if(o=t[0],!Fe.has(o)){if(Object.hasOwn(o,"$mode"))throw new TypeError(`\`$mode\` is reserved for future use and not yet implemented; args: ${JSON.stringify(t)}`);if(Object.hasOwn(o,"$state"))throw new TypeError(`\`$state\` is set internally by Jamilih and may not be supplied; args: ${JSON.stringify(t)}`);if(Object.keys(o).some(e=>!e.startsWith("$")))throw new TypeError(`Attributes may not be supplied before an element; args: ${JSON.stringify(t)}`);Fe.add(o)}if(void 0===o.$state&&(s=!0,o.$state="root"),Array.isArray(o.$Map)&&(o.$Map={root:o.$Map}),"$plugins"in o){if(!Array.isArray(o.$plugins))throw new TypeError(`\`$plugins\` must be an array; args: ${JSON.stringify(t)}`);o.$plugins.forEach(e=>{if(!e||"object"!=typeof e)throw new TypeError(`Plugin must be an object; args: ${JSON.stringify(t)}`);if(!e.name||!e.name.startsWith("$_"))throw new TypeError(`Plugin object name must be present and begin with \`$_\`; args: ${JSON.stringify(t)}`);if("function"!=typeof e.set)throw new TypeError(`Plugin object must have a \`set\` method; args: ${JSON.stringify(t)}`)})}l=1}else{o={$state:void 0},Fe.add(o);const e=t[0];if("object"===Ue(t[0])&&!Fe.has(e)){if(Object.hasOwn(e,"$mode"))throw new TypeError(`\`$mode\` is reserved for future use and not yet implemented; args: ${JSON.stringify(t)}`);if(Object.hasOwn(e,"$state"))throw new TypeError(`\`$state\` is set internally by Jamilih and may not be supplied; args: ${JSON.stringify(t)}`);const n=Object.keys(e);if(!n.some(e=>["#","$text","$document","$DOCTYPE","$attribute"].includes(e))){if(!n.every(e=>e.startsWith("$")))throw new TypeError(`Attributes may not be supplied before an element; args: ${JSON.stringify(t)}`);l=1}}}const c=t.length,u=o.$Map&&o.$Map.root,d=e=>{let t,i;const a=u;if(!0===e)[t,i]=a;else if(Array.isArray(e)){if("string"==typeof e[0])return void e.forEach(e=>{d(o.$Map[e])});t=e[0]||a[0],i=e[1]||a[1]}else/^\[object (?:Weak)?Map\]$/u.test([].toString.call(e))?(t=e,i=a[1]):(t=a[0],i=e);t.set(n,i)};for(let s=l;s<c;s++){let l=t[s];const u=Ue(l);switch(u){case"null":if(s===c-1)return a.length<=1?a[0]:a.reduce(Me,we.createDocumentFragment());throw new TypeError(`\`null\` values not allowed except as final Jamilih argument; index ${s} on args: ${JSON.stringify(t)}`);case"string":switch(l){case"!":a[a.length]=we.createComment(t[++s]);break;case"?":{l=t[++s];let e=t[++s];const n=e;if(n&&"object"==typeof n){const t=[];for(const[e,i]of Object.entries(n))t.push(e+'="'+i.replaceAll('"',""")+'"');e=t.join(" ")}try{a[a.length]=we.createProcessingInstruction(l,e)}catch(t){a[a.length]=we.createComment("?"+l+" "+e+"?")}break}case"&":a[a.length]=Oe("entity","",t[++s]);break;case"#":a[a.length]=Oe("decimal",l,String(t[++s]));break;case"#x":a[a.length]=Oe("hexadecimal",l,t[++s]);break;case"![":try{a[a.length]=we.createCDATASection(t[++s])}catch(e){a[a.length]=we.createTextNode(t[s])}break;case"":a[a.length]=n=we.createDocumentFragment(),o.$state="fragment";break;default:{r=l;const e=t[s+1];if(e&&"object"===Ue(e)&&e.is){const{is:t}=e;n=we.createElementNS?we.createElementNS(Ae,r,{is:t}):we.createElement(r,{is:t})}else n=we.createElementNS?we.createElementNS(Ae,r):we.createElement(r);o.$state="element",a[a.length]=n;break}}break;case"object":{if(!l||"object"!=typeof l)throw new Error("Null should not reach here");const e=l;if("xmlns"in e){const t=e,i=t.xmlns&&"object"==typeof t.xmlns?Le(t.xmlns):' xmlns="'+je(t.xmlns)+'"';n=a[a.length-1]=(new ve.DOMParser).parseFromString((new ve.XMLSerializer).serializeToString(n).replace(' xmlns="'+je(Ae)+'"',i),"application/xml").documentElement,o.$state="element"}i(e);break}case"processing-instruction":case"document":case"fragment":case"element":if(0===s&&(n=l,o.$state="element"),s===c-1||s===c-2&&null===t[s+1]){const e=a.length;for(let t=0;t<e;t++)Te(l,a[t])}else a[a.length]=l;break;case"array":{const i=l,a=i.length,r=e=>new TypeError(`Bad children (parent array: ${JSON.stringify(t)}; index ${e} of child: ${JSON.stringify(i)})`);for(let t=0;t<a;t++){const a=i[t],s=typeof a;if(null===a||Be(a))throw r(t);switch(s){case"string":case"number":case"boolean":Te(n,we.createTextNode(String(a)));break;default:if("object"!=typeof a)throw r(t);if(Array.isArray(a)){const i=typeof a[0];if(0===a.length||"string"!==i&&"object"!==i||null===a[0])throw r(t);o.$state="children";const s=[o,...a];Te(n,e(...s))}else if("#"in a)o.$state="fragmentChildren",Te(n,e(o,a["#"]));else{let e;if(!("nodeType"in a)){e=Ke(n,null,a,o,"children");const t=void 0!==e&&e!==a,i=Object.keys(a);if(!t&&i.length>0&&i.every(e=>e.startsWith("$")))break}Te(n,e||a)}}}break}default:throw new TypeError(`Unexpected type: ${u}; arg: ${l}; index ${s} on args: ${JSON.stringify(t)}`)}}const p=a[0]||n;return s&&o.$Map&&o.$Map.root&&d(!0),p};class Ge extends Error{constructor(e,t){super(e),this.code=0,this.name=t}}const We=function(e,{stringOutput:t=!1,reportInvalidState:n=!0,stripWhitespace:i=!1}={}){if(!ve)throw new Error("No window object set");"string"==typeof e&&(e=(new ve.DOMParser).parseFromString(e,"text/html"));const a=[];let r=a,o=0;function s(e){if(!n)return;const t=new Ge(e,"INVALID_STATE_ERR");throw t.code=11,t}function l(e){r[o]=e,o++}function c(){l([]),r=r[o-1],o=0}function u(e,t){r=r[o-1][e],o=0,t&&(r=r[t])}return function e(t,n){const a="nodeType"in t?t.nodeType:null;if(!a)throw new TypeError("Not an XML type");if(5===a)return void l(["&",t.nodeName]);n={...n};const d=t.nodeValue;let p,h;function f(){p=r,h=o}function b(){r=p,o=h,o++}switch([2,3,4,7,8].includes(a)&&d&&!/^([\u{9}\u{A}\u{D}\u{20}-\u{D7FF}\u{E000}-\u{FFFD}]|[\uD800-\uDBFF][\uDC00-\uDFFF])*$/u.test(d)&&s("Node has bad XML character value"),a){case 1:{const i=t;f();const a=i.nodeName.toLowerCase();c(),l(a);const r={};let o=!1;n[i.prefix||""]!==i.namespaceURI&&(n[i.prefix||""]=i.namespaceURI,i.prefix?r["xmlns:"+i.prefix]=i.namespaceURI:i.namespaceURI?r.xmlns=i.namespaceURI:r.xmlns=null,o=!0),i.attributes.length?l([...i.attributes].reduce(function(e,t){return e[t.name]=t.value,e},r)):o&&l(r);const{childNodes:s}=i;s.length&&(c(),[...s].forEach(function(t){e(t,n)})),b();break}case 2:{const e=t;l({$attribute:[e.namespaceURI,e.name,e.value]});break}case 3:{const e=t;if(!e.nodeValue)throw new Error("Unexpected null comment value");if(i&&/^\s+$/u.test(e.nodeValue))return void l("");l(e.nodeValue);break}case 4:{const e=t;e.nodeValue?.includes("]]>")&&s("CDATA cannot end with closing ]]>"),l(["![",e.nodeValue]);break}case 7:{const e=t;/^xml$/iu.test(e.target)&&s('Processing instructions cannot be "xml".'),e.target.includes("?>")&&s("Processing instruction targets cannot include ?>"),e.target.includes(":")&&s('The processing instruction target cannot include ":"'),e.data.includes("?>")&&s("Processing instruction data cannot include ?>"),l(["?",e.target,e.data]);break}case 8:{const e=t;if(!e.nodeValue)throw new Error("Unexpected null comment value");(e.nodeValue.includes("--")||e.nodeValue.length&&e.nodeValue.lastIndexOf("-")===e.nodeValue.length-1)&&s("Comments cannot include --"),l(["!",e.nodeValue]);break}case 9:{const i=t;f();l({$document:{childNodes:[]}}),u("$document","childNodes");const{childNodes:a}=i;a.length||s("Documents must have a child node"),[...a].forEach(function(t){e(t,n)}),b();break}case 10:{const e=t;f();const n={$DOCTYPE:{name:e.name}};/^(\u{20}|\u{D}|\u{A}|[a-zA-Z0-9]|[-'()+,./:=?;!*#@$_%])*$/u.test(e.publicId)||s("A publicId must have valid characters."),function(e,t){t.systemId.includes('"')&&t.systemId.includes("'")&&s("systemId cannot have both single and double quotes.");const{publicId:n,systemId:i}=t;i&&(e.systemId=i),n&&(e.publicId=n)}(n.$DOCTYPE,e),l(n),b();break}case 11:{const i=t;f(),l({"#":[]}),u("#");const{childNodes:a}=i;[...a].forEach(function(t){e(t,n)}),b();break}default:throw new TypeError("Not an XML type")}}(e,{}),t?JSON.stringify(a[0]):a[0]};He.toJML=We;He.toJMLString=function(e,t){return We(e,Object.assign(t||{},{stringOutput:!0}))};He.toDOM=function(...e){return He(...e)};const ze=function(...e){const t=He(...e);switch(t.nodeType){case 1:return t.outerHTML;case 2:return`${t.name}="${t.value.replaceAll('"',""")}"`;case 3:{const e=t.nodeValue;if(!e)throw new TypeError("Unexpected null Text node");return e}case 7:{const e=t;return`<?${e.target} ${e.data}?>`}case 9:case 11:return[...t.childNodes].map(e=>ze(e)).join("");case 10:{const e=t;return`<!DOCTYPE ${e.name}${e.publicId?` PUBLIC "${e.publicId}" "${e.systemId}"`:e.systemId?` SYSTEM "${e.systemId}"`:""}>`}default:throw new Error("Unexpected node type")}};He.toHTML=ze;He.toDOMString=function(...e){return ze(...e)};const qe=function(...e){if(!ve)throw new Error("No window object set");const t=He(...e);return(new ve.XMLSerializer).serializeToString(t)};He.toXML=qe;He.toXMLDOMString=function(...e){return qe(...e)};class Ye extends Map{get(e){const t="string"==typeof e?Se(e):e;return super.get.call(this,t)}set(e,t){const n="string"==typeof e?Se(e):e;return super.set.call(this,n,t),this}invoke(e,t,...n){const i="string"==typeof e?Se(e):e;return this.get(i)[t](i,...n)}}class Xe extends WeakMap{get(e){const t="string"==typeof e?Se(e):e;if(!t)throw new Error("Can't find the element");return super.get.call(this,t)}set(e,t){const n="string"==typeof e?Se(e):e;if(!n)throw new Error("Can't find the element");return super.set.call(this,n,t),this}invoke(e,t,...n){const i="string"==typeof e?Se(e):e;if(!i)throw new Error("Can't find the element");return this.get(i)[t](i,...n)}}He.Map=Ye,He.WeakMap=Xe,He.weak=function(e,...t){const n=new Xe;return[n,He({$Map:[n,e]},...t)]},He.strong=function(e,...t){const n=new Ye;return[n,He({$Map:[n,e]},...t)]},He.symbol=He.sym=He.for=function(e,t){return("string"==typeof e?Se(e):e)["symbol"==typeof t?t:Symbol.for(t)]},He.command=function(e,t,n,...i){if(!(e="string"==typeof e?Se(e):e))throw new Error("No element found");let a;if(["symbol","string"].includes(typeof t))return a=He.sym(e,t),"function"==typeof a?a(n,...i):a[n](...i);if(a=t.get(e),!a)throw new Error("No map found");return"function"==typeof a?a.call(e,n,...i):a[n](e,...i)};He.setWindow=e=>{ve=e,we=ve?.document,we&&we.body&&(Ze=we.body)};let Ze;He.getWindow=()=>{if(!ve)throw new Error("No window object set");return ve},He.validateJamilih=(e,t={})=>{const n=t.format??"javascript";if("javascript"!==n&&"json"!==n)throw new TypeError(`Unknown \`format\`: ${JSON.stringify(n)}`);const i=!1!==t.allowInnerHTML,a=!0===t.failFast,{allowAny:r,allowable:o,emptyPolicy:s}=function(e){const t=Object.hasOwn(e,"allowableOptions"),n=t?e.allowableOptions:["default"];if(!Array.isArray(n))throw new TypeError("`allowableOptions` must be an array of strings");let i=!1;const a=new Set;for(const e of n)if("any"===e||"*"===e)i=!0;else if("default"===e)for(const e of se)a.add(e);else a.add(e);return{allowAny:i,allowable:a,emptyPolicy:t&&0===n.length}}(t),l="json"===n&&!0===t.allowDOM,c="json"!==n&&!1!==t.allowDOM,u=[],d=(e,t,n)=>{if(u.push({code:e,message:t,path:n.length?"/"+n.join("/"):"/"}),a)throw le},p=e=>ce.includes(e),h=e=>se.includes(e),f=(e,t)=>{if(null===e)return;const n=typeof e;if("string"!==n&&"boolean"!==n)if("number"!==n)if("undefined"!==n)if(he.includes(n))d("NON_JSON_VALUE",`A ${n} value is not valid JSON`,t);else if(be(e))d("NON_JSON_VALUE","A DOM node is not valid JSON",t);else if(me(e))d("NON_JSON_VALUE","A Map/WeakMap is not valid JSON",t);else if(Array.isArray(e))e.forEach((e,n)=>f(e,[...t,n]));else if(_e(e))for(const[n,i]of Object.entries(e))f(i,[...t,n]);else d("NON_JSON_VALUE","A non-plain object (Date/RegExp/class instance) is not valid JSON",t);else d("NON_JSON_VALUE","`undefined` is not valid JSON",t);else Number.isFinite(e)||d("NON_JSON_VALUE","`NaN`/`Infinity` is not valid JSON",t)},b=(e,t,i)=>{r||o.has(e)?"json"===n&&f(t,i):d("UNKNOWN_MAGIC_PROPERTY",`Unknown \`$\`-prefixed property \`${e}\` is not permitted by \`allowableOptions\``,i)},m=(e,t)=>{Array.isArray(e)?e.forEach((e,i)=>{if(!e||"object"!=typeof e)return void d("BAD_ATTRIBUTES_OBJECT","`$plugins` entries must be objects",[...t,i]);const a=e;"string"==typeof a.name&&a.name.startsWith("$_")||d("BAD_ATTRIBUTES_OBJECT","Plugin `name` must be a string beginning with `$_`",[...t,i,"name"]),"json"===n?d("NON_JSON_CONSTRUCT",'Plugins require a `set` function; not valid in `format: "json"`',[...t,i,"set"]):"function"!=typeof a.set&&d("BAD_ATTRIBUTES_OBJECT","Plugin `set` must be a function",[...t,i,"set"])}):d("BAD_ATTRIBUTES_OBJECT","`$plugins` must be an array",t)},_=(e,t)=>{if("json"===n)return void d("NON_JSON_CONSTRUCT",'`$Map` carries a Map/WeakMap; not valid in `format: "json"`',t);me(e)||Array.isArray(e)&&(void 0===e[0]||me(e[0]))||_e(e)&&Object.hasOwn(e,"root")||d("BAD_DATA","`$Map` must be `[map, value]` or `{root: [...], ...}`",t)},g=(e,t)=>{if(!_e(e))return void d("BAD_ON_HANDLER","`$on` must be an object of event handlers",t);const i=Object.entries(e);if(0!==i.length)if("json"!==n)for(const[e,n]of i){"function"==typeof n||Array.isArray(n)&&"function"==typeof n[0]||d("BAD_ON_HANDLER",`\`$on.${e}\` must be a function or \`[function, capturing]\``,[...t,e])}else d("NON_JSON_CONSTRUCT",'`$on` handlers are functions; not valid in `format: "json"`',t)},y=(e,t)=>{if(!_e(e))return void d("BAD_SHADOW","`$shadow` must be an object",t);const n=e;for(const e of["template","content"]){if(!Object.hasOwn(n,e))continue;const i=n[e];Array.isArray(i)?F(i,[...t,e]):be(i)?c||d("DOM_NODE_NOT_ALLOWED",`\`$shadow.${e}\` DOM node is not allowed`,[...t,e]):"string"==typeof i||"boolean"==typeof i||ye(i)||d("BAD_SHADOW",`\`$shadow.${e}\` must be a Jamilih array, selector string, or DOM node`,[...t,e])}},v=(e,t)=>{if(!_e(e))return void d("BAD_ATTRIBUTES_OBJECT","`$document` must be an object",t);const n=e;for(const e of["childNodes","head","body"])Array.isArray(n[e])&&F(n[e],[...t,e])},w=(e,t,a)=>{for(const[r,o]of Object.entries(e)){const e=[...t,r];if("#"!==r)if(p(r))d("RESERVED_OPTION",`\`${r}\` is reserved by Jamilih and may not be supplied`,e);else if(h(r))d("MISPLACED_OPTIONS_OBJECT",`\`${r}\` is a root-only option and cannot appear ${a?"on a nested array head":"in an attributes object"}`,e);else if("innerHTML"!==r)if("$text"!==r){if("$attribute"===r){(!Array.isArray(o)||o.length<2||o.length>3||o.slice(1).some(e=>!ye(e)&&"string"!=typeof e))&&d("BAD_ATTRIBUTE_NODE","`$attribute` must be `[namespace, name, value?]`",e);continue}if("$DOCTYPE"!==r)if("$document"!==r)if("$on"!==r)if("$symbol"!==r)"$define"!==r?"$data"!==r?"$custom"!==r?"$shadow"!==r?ge(r)?"json"===n&&f(o,e):r.startsWith("$")||!r.startsWith("on")?r.startsWith("$")?b(r,o,e):"json"===n&&f(o,e):"json"===n&&"function"==typeof o&&d("NON_JSON_CONSTRUCT",`\`${r}\` handler function is not valid in \`format: "json"\``,e):y(o,e):(o&&("object"==typeof o||"function"==typeof o)&&Object.prototype.propertyIsEnumerable.call(o,"__proto__")&&d("BAD_CUSTOM_PROTO","`$custom` may not define `__proto__`",e),"json"===n&&f(o,e)):"json"===n?d("NON_JSON_CONSTRUCT",'`$data` requires an options `Map`; not valid in `format: "json"`',e):!0===o||Array.isArray(o)||me(o)||_e(o)||d("BAD_DATA","`$data` must be `true`, an array, a Map, or a data object",e):"json"===n?d("NON_JSON_CONSTRUCT",'`$define` is not valid in `format: "json"`',e):"function"==typeof o||_e(o)||Array.isArray(o)||d("BAD_DEFINE","`$define` must be a function, mixin object, or array",e);else if("json"===n)d("NON_JSON_CONSTRUCT",'`$symbol` is not valid in `format: "json"`',e);else{(!Array.isArray(o)||2!==o.length||"string"!=typeof o[0]&&"symbol"!=typeof o[0]||"function"!=typeof o[1]&&!_e(o[1]))&&d("BAD_SYMBOL","`$symbol` must be `[symbol|string, function|object]`",e)}else g(o,e);else v(o,e);else _e(o)&&"string"==typeof o.name||d("BAD_DOCTYPE","`$DOCTYPE` must be an object with a string `name`",e)}else"string"!=typeof o&&d("BAD_ATTRIBUTES_OBJECT","`$text` must be a string",e);else i?"string"==typeof o||ye(o)||d("BAD_ATTRIBUTES_OBJECT","`innerHTML` must be a string",e):d("INNERHTML_NOT_ALLOWED","`innerHTML` is not allowed (`allowInnerHTML: false`)",e);else Array.isArray(o)?F(o,e):d("BAD_ATTRIBUTES_OBJECT","`#` must hold an array of children",e)}},F=(e,t)=>{e.forEach((e,i)=>{const a=[...t,i];if(ye(e))return void d("BAD_CHILD","`null`/`undefined` is not a valid child",a);const r=typeof e;if(pe.includes(r))"json"!==n||"number"!==r||Number.isFinite(e)||d("NON_JSON_VALUE","`NaN`/`Infinity` text child is not valid JSON",a);else if(he.includes(r))d("BAD_CHILD",`A bare ${r} is not a valid child`,a);else if(be(e))c||d("DOM_NODE_NOT_ALLOWED","Raw DOM node children are not allowed",a);else{if(Array.isArray(e)){if(0===e.length)return void d("BAD_CHILD","A child array must not be empty",a);const t=e[0];return"string"==typeof t||_e(t)?void x(e,0,a,!0):void d("BAD_CHILD","A child array must be headed by a string or object",a)}if(_e(e)){const t=e;if(Object.hasOwn(t,"#"))return void(Array.isArray(t["#"])?F(t["#"],[...a,"#"]):d("BAD_CHILD","A `#` fragment child must hold an array",[...a,"#"]));const n=Object.keys(t);if(n.length>0&&n.every(e=>e.startsWith("$"))){((e,t)=>{for(const n of Object.keys(e))("$state"===n||h(n))&&d("MISPLACED_OPTIONS_OBJECT",`\`${n}\` is a root-only option and cannot appear on a nested array head`,[...t,n])})(t,a);for(const e of n)de.includes(e)?d("BAD_CHILD",`\`${e}\` produces a node and must be array-wrapped (\`[{${e}: ...}]\`), not a bare object child`,[...a,e]):p(e)||h(e)||b(e,t[e],[...a,e]);return}return void d("BAD_CHILD","A plain object child must be a `#` fragment or `$`-magic placeholder",a)}me(e)?d("BAD_CHILD","A Map/WeakMap is not a valid child",a):d("BAD_CHILD","Unrecognized child value",a)}})},A=(e,t,n)=>{const i=e[t];if(""===i||!Object.hasOwn(fe,i))return 0;const a=fe[i];for(let r=1;r<=a;r++){const o=e[t+r];if(ye(o)||"string"!=typeof o&&"number"!=typeof o)return d("?"===i?"BAD_PROCESSING_INSTRUCTION":"BAD_SPECIAL_ARG",`\`${i}\` must be followed by ${a} string argument${a>1?"s":""}`,[...n,t]),0}return a},x=(e,t,n,i=!1)=>{let a=t;for(;a<e.length;){const r=e[a],o=[...n,a];if(null===r){a!==e.length-1&&d("MISPLACED_NULL","`null` is only allowed as the final argument",o),a+=1;continue}if(void 0===r){d("BAD_FIRST_ARG","`undefined` is not a valid Jamilih argument",o),a+=1;continue}const s=typeof r;"string"!==s?"object"===s?(be(r)?c||d("DOM_NODE_NOT_ALLOWED","Raw DOM nodes are not allowed here",o):Array.isArray(r)?F(r,o):me(r)?d("DOM_NODE_NOT_ALLOWED","A Map/WeakMap is not a valid Jamilih argument",o):_e(r)?w(r,o,i&&a===t):d("UNKNOWN_TYPE","Unrecognized argument type",o),a+=1):(d("UNKNOWN_TYPE",`Unexpected ${s} in argument position`,o),a+=1):a+=1+A(e,a,n)}},C=e=>{if(!Array.isArray(e))return void d("NOT_ARRAY","Jamilih structure must be an array",[]);if(0===e.length)return void d("EMPTY_ARRAY","Jamilih structure must not be empty",[]);let t=0;const n=e[0];if(_e(n)&&!be(n)){const e=n,i=Object.keys(e);if(se.some(e=>i.includes(e)))((e,t)=>{if(s)d("OPTIONS_OBJECT_NOT_ALLOWED","A leading options object is not permitted (`allowableOptions: []`)",t);else for(const[n,i]of Object.entries(e))p(n)?d("RESERVED_OPTION",`\`${n}\` is reserved by Jamilih and may not be supplied`,[...t,n]):h(n)?r||o.has(n)?"$plugins"===n?m(i,[...t,n]):"$Map"===n&&_(i,[...t,n]):d("DISALLOWED_OPTION",`Option \`${n}\` is not permitted by \`allowableOptions\``,[...t,n]):n.startsWith("$")?b(n,i,[...t,n]):d("ATTRIBUTES_BEFORE_ELEMENT","A genuine attribute may not appear on an object before an element",[...t,n])})(e,["0"]),t=1;else if(i.some(e=>ce.includes(e))){for(const e of i)ce.includes(e)&&d("RESERVED_OPTION",`\`${e}\` is reserved by Jamilih and may not be supplied`,["0",e]);t=1}else i.some(e=>ue.includes(e))||(i.every(e=>e.startsWith("$"))||d("ATTRIBUTES_BEFORE_ELEMENT","A genuine attribute may not appear on an object before an element",["0"]),t=1)}x(e,t,[])};try{l&&d("OPTION_CONFLICT",'`allowDOM: true` conflicts with `format: "json"`; DOM nodes stay rejected',[]),C(e)}catch(e){if(e!==le)throw e}return{valid:0===u.length,errors:u}},we&&we.body&&(Ze=we.body);const Qe=" ",et=function({arg:e}){return He("code",[e])},tt=function({arg:e}){return He("a",{href:e,target:"_blank"},[e])};function nt(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function it(e,t,n){try{var i=Promise.resolve(e());return t?i.then(t):i}catch(e){return Promise.reject(e)}}class at{constructor(e){this.configurePrefs(e),this.listeners=[]}configurePrefs({namespace:e,defaults:t,prefDefaults:n=ot(t)}){this.namespace=e??"",this.prefDefaults=n}getPref(e){const t=this;return it(function(){const n=localStorage.getItem(t.namespace+e);return nt(nt(null===n?t.prefDefaults.getPrefDefault(e):JSON.parse(n),void 0,!(null===n)))})}setPref(e,t){const n=this;return it(function(){return nt(localStorage.setItem(n.namespace+e,JSON.stringify(t)))})}bind(){return{getPref:this.getPref.bind(this),setPref:this.setPref.bind(this)}}listen(e,t){"function"==typeof e&&(t=e,e=void 0);const n=n=>{if(null===n.key){if(void 0===e)return}else{if(!n.key.startsWith(this.namespace))return;if(void 0!==e&&!n.key.startsWith(this.namespace+e))return}t(n)};return globalThis.addEventListener("storage",n),this.listeners.push(n),n}unlisten(e){if(e)for(let t=0;t<this.listeners.length;t++)if(e===this.listeners[t])return this.listeners.splice(t,1),void globalThis.removeEventListener("storage",e);this.listeners.forEach(e=>{globalThis.removeEventListener("storage",e)})}}class rt{constructor({defaults:e}){this.defaults=e}getPrefDefault(e){const t=this;return it(function(){return nt(t.defaults[e],function(e){return e??null})})}setPrefDefault(e,t){const n=this;return it(function(){const i=n.defaults[e]??null;return n.defaults[e]=t,nt(i)})}}function ot(e={}){return new rt({defaults:e})}let st;const lt=()=>new at({namespace:"unicode-input-toolconverter-",defaults:ct()}).bind(),ct=()=>({hexLettersUpper:!1,onlyentsyes:!1,asciiLt128:!1,startCharInMiddleOfChart:!1,multiline:!1,xhtmlentmode:!1,showImg:!1,ampspace:!1,hexyes:!0,decyes:!0,unicodeyes:!0,buttonyes:!0,entyes:!0,xmlentkeep:!0,ampkeep:!0,showAllDetailedView:!0,showAllDetailedCJKView:!0,cssUnambiguous:!0,appendtohtmldtd:!0,outerWidth:0,fontsizetextbox:13,tblrowsset:4,tblcolsset:3,tblfontsize:13,DTDtextbox:"",font:"",cssWhitespace:" ",initialTab:"charts",defaultStartCharCode:st("startCharCode").codePointAt(0)-1,currentStartCharCode:st("startCharCode").codePointAt(0)-1,lang:st("langCode"),dropdownArr:[]}),ut=/[\p{Lu}]/u,dt=/[\p{Ll}]/u,pt=/^[\p{Lu}](?![\p{Lu}])/u,ht=/[_.\- ]+/,ft=/([\p{Alpha}\p{N}_]|$)/u,bt=new RegExp("^"+ht.source),mt=new RegExp(ht.source+ft.source,"gu"),_t=new RegExp(String.raw`\d+`+ft.source,"gu");function gt(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,capitalizeAfterNumber:!0,...t},0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length>0).join("-"):e.trim()).length)return"";const n=e.match(/^[_$]*/)[0];if(0===(e=e.slice(n.length)).length)return n;const i=!1===t.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t.locale),a=!1===t.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t.locale);if(1===e.length)return ht.test(e)?n:n+(t.pascalCase?a(e):i(e));return e!==i(e)&&(e=((e,t,n,i)=>{let a=!1,r=!1,o=!1,s=!1;for(let l=0;l<e.length;l++){const c=e[l];s=!(l>2)||"-"===e[l-3],a&&ut.test(c)?(e=e.slice(0,l)+"-"+e.slice(l),a=!1,o=r,r=!0,l++):r&&o&&dt.test(c)&&(!s||i)?(e=e.slice(0,l-1)+"-"+e.slice(l-1),o=r,r=!1,a=!0):(a=t(c)===c&&n(c)!==c,o=r,r=n(c)===c&&t(c)!==c)}return e})(e,i,a,t.preserveConsecutiveUppercase)),e=e.replace(bt,""),e=t.capitalizeAfterNumber?t.preserveConsecutiveUppercase?((e,t)=>e.replace(pt,e=>t(e)))(e,i):i(e):((e,t,n)=>{let i="",a=!1,r=!1;const o=[...e];for(let e=0;e<o.length;e++){const s=o[e],l=ut.test(s),c=e+1<o.length&&ut.test(o[e+1]);a&&/[\p{Alpha}]/u.test(s)?(i+=s,a=!1,r=l):n&&l&&(r||c)?(i+=s,r=!0):/\d/.test(s)?(i+=s,a=!0,r=!1):ht.test(s)?(i+=s,r=!1):(i+=t(s),a=!1,r=!1)}return i})(e,i,t.preserveConsecutiveUppercase),t.pascalCase&&e.length>0&&(e=a(e[0])+e.slice(1)),n+((e,t,{capitalizeAfterNumber:n})=>{const i=n?(e,n,i,a)=>{const r=a.charAt(i+e.length);return ht.test(r)?e:n?e.slice(0,-n.length)+t(n):e}:e=>e;return e.replaceAll(_t,i).replaceAll(mt,(e,n)=>t(n))})(e,a,t)}const yt=["G","GG","N","D","DD","R","M","B","BB","S","SS","","J","JJ","C","K","T","P","H"],vt=["A","AE","YA","YAE","EO","E","YEO","YE","O","WA","WAE","OE","YO","U","WEO","WE","WI","YU","EU","YI","I"],wt=["","G","GG","GS","N","NJ","NH","D","L","LG","LM","LB","LS","LT","LP","LH","M","B","BS","S","SS","NG","J","C","K","T","P","H"],Ft=44032,At=28;function xt(e){let t,n,i,a=1;if(e.charAt(0)===e.charAt(1)?(t=yt.indexOf(e.slice(0,2)),a++):t=yt.indexOf(e.slice(0,1)),n=vt.indexOf(e.substr(a,3)),-1!==n?a+=3:(n=vt.indexOf(e.substr(a,2)),-1!==n?a+=2:(n=vt.indexOf(e.substr(a,1)),a++)),i=wt.indexOf(e.substr(a,2).padStart(2,"0")),-1!==i?a+=2:(i=wt.indexOf(e.substr(a,1)),a++),-1===t||-1===n||i&&a<e.length)return!1;return function(e){if(0===e.length)return"";const t=[],n=[...e];let i=n[0];return t.push(i),n.slice(1).forEach(e=>{const n=i.codePointAt(0)-4352;if(n>0&&n<19){const a=e.codePointAt(0)-4449;if(a>0&&a<21)return i=String.fromCodePoint(Ft+(21*n+a)*At),void(t[t.length-1]=i)}const a=i.codePointAt(0)-Ft;if(a>0&&a<11172&&a%At===0){const n=e.codePointAt(0)-4519;if(n>=0&&n<At)return i=String.fromCodePoint(i.codePointAt(0)+n),void(t[t.length-1]=i)}i=e,t.push(e)}),t}(Ct(t,"l")+Ct(n,"v")+(i?Ct(i,"t"):"")).join("")}function Ct(e,t){switch(t){case"l":return String.fromCodePoint(4352+e);case"v":return String.fromCodePoint(4449+e);case"t":return String.fromCodePoint(4519+e);default:throw new TypeError("Unexpected type passed to getJamoCodePointForName")}}function kt(e){const t=e-Ft;if(t<0||t>=11172)throw new Error("Not a hangul syllable "+e);const n=Math.floor(t/588),i=Math.floor(t%588/At),a=t%At;return yt[n]+vt[i]+wt[a]}class Et{constructor({name:e="unicode",version:t=1}={}){this.name=e,this.version=t,this.db=null}close(){this.db?.close()}getAll(e,t){const n=this.db.transaction(e,"readonly").objectStore(e).getAll(t);return new Promise((e,t)=>{n.addEventListener("success",()=>{e(n.result)}),n.addEventListener("error",()=>{t(n.error)})})}upgradeneeded(e){throw new Error("`UnicodeDB.upgradeneeded` is an abstract method")}connect({updateUnicodeData:e,versionchange:t}={}){return new Promise((n,i)=>{const a=indexedDB.open(this.name,e?this.version:void 0);e&&a.addEventListener("upgradeneeded",t=>{const n=t.target?.result;this.db=n,this.upgradeneeded({updateUnicodeData:e})}),a.addEventListener("success",e=>{const i=e.target?.result;this.db=i,t&&this.db.addEventListener("versionchange",e=>{t(e)}),n(this.db)}),a.addEventListener("error",()=>{i(a.error)}),a.addEventListener("blocked",()=>{i(new Error("blocked"))})})}}class St extends Et{constructor({version:e}={}){super({name:"unicode-input-toolconverter-Unihan",version:e})}getUnicodeFields(e){const t=this.db.transaction(["Unihan"],"readonly").objectStore("Unihan").get(e);return new Promise((e,n)=>{t.addEventListener("success",()=>{e(t.result?.columns)}),t.addEventListener("error",()=>{n(t.error)})})}getAll(e){return super.getAll("Unihan",e)}upgradeneeded(e){const t=e.updateUnicodeData,n=this.db.createObjectStore("Unihan",{keyPath:"codePoint"});n.createIndex("code-point","codePoint",{unique:!0}),t.forEach(([e,...t])=>{n.put({codePoint:e,columns:t})})}}class Dt extends Et{constructor({version:e}={}){super({name:"unicode-input-toolconverter",version:e})}getAll(e){return super.getAll("UnicodeData",e)}upgradeneeded(e){const t=e.updateUnicodeData,n=this.db.createObjectStore("UnicodeData",{keyPath:"codePoint"});n.createIndex("code-point","codePoint",{unique:!0}),t.forEach(e=>{const[t,i,a,r,o,s,l,c,u,d,p,h,f,b,m]=e,_=/<(?<decompositionType>[^>]*)>\s+(?<decompositionMapping>.*)/v.exec(s)?.groups??{},{decompositionType:g,decompositionMapping:y}=_;let v="None";l?v="Decimal":c?v="Digit":u&&(v="Numeric");const w=v?u:NaN;n.put({codePoint:t,name:i,generalCategory:a,canonicalCombiningClass:r,bidiClass:o,decompositionType:g,decompositionMapping:y,numericType:v,numericValue:w,bidiMirrored:d,unicode1Name:p,isoComment:h,simpleUppercaseMapping:f,simpleLowercaseMapping:b,simpleTitlecaseMapping:m})})}getUnicodeFields(e){const t=this.db.transaction(["UnicodeData"],"readonly").objectStore("UnicodeData").get(e);return new Promise((e,n)=>{t.addEventListener("success",()=>{t.result?e(t.result):n(new Error("Unexpected code point"))}),t.addEventListener("error",()=>{n(t.error)})})}}const Tt=new Dt;var $t=Uint8Array,Ot=Uint16Array,Nt=Int32Array,Bt=new $t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Pt=new $t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ut=function(e,t){for(var n=new Ot(31),i=0;i<31;++i)n[i]=t+=1<<e[i-1];var a=new Nt(n[30]);for(i=1;i<30;++i)for(var r=n[i];r<n[i+1];++r)a[r]=r-n[i]<<5|i;return{b:n,r:a}},Mt=Ut(Bt,2),jt=Mt.b,Lt=Mt.r;jt[28]=258,Lt[258]=28,Ut(Pt,0);for(var It=new Ot(32768),Rt=0;Rt<32768;++Rt){var Jt=(43690&Rt)>>1|(21845&Rt)<<1;Jt=(61680&(Jt=(52428&Jt)>>2|(13107&Jt)<<2))>>4|(3855&Jt)<<4,It[Rt]=((65280&Jt)>>8|(255&Jt)<<8)>>1}var Kt=new $t(288);for(Rt=0;Rt<144;++Rt)Kt[Rt]=8;for(Rt=144;Rt<256;++Rt)Kt[Rt]=9;for(Rt=256;Rt<280;++Rt)Kt[Rt]=7;for(Rt=280;Rt<288;++Rt)Kt[Rt]=8;var Vt=new $t(32);for(Rt=0;Rt<32;++Rt)Vt[Rt]=5;var Ht=function(e,t,n){return(null==t||t<0)&&(t=0),(null==n||n>e.length)&&(n=e.length),new $t(e.subarray(t,n))},Gt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Wt=function(e,t,n){var i=new Error(t||Gt[e]);if(i.code=e,Error.captureStackTrace&&Error.captureStackTrace(i,Wt),!n)throw i;return i},zt=new $t(0),qt="undefined"!=typeof TextDecoder&&new TextDecoder;try{qt.decode(zt,{stream:!0})}catch(e){}function Yt(e,t){if(qt)return qt.decode(e);var n=function(e){for(var t="",n=0;;){var i=e[n++],a=(i>127)+(i>223)+(i>239);if(n+a>e.length)return{s:t,r:Ht(e,n-1)};a?3==a?(i=((15&i)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,t+=String.fromCharCode(55296|i>>10,56320|1023&i)):t+=1&a?String.fromCharCode((31&i)<<6|63&e[n++]):String.fromCharCode((15&i)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(i)}}(e),i=n.s;return n.r.length&&Wt(8),i}const Xt=(e,t=null)=>Array.from({length:e}).fill(t);let Zt=0;let Qt,en,tn,nn,an;let rn;const on=async function e({descripts:t}={}){const{getPref:n,setPref:i}=lt(),[a,r,o,s,l,c,u,d,p,h,f,b,m]=await Promise.all([n("startCharInMiddleOfChart"),n("tblcolsset"),n("onlyentsyes"),n("entyes"),n("buttonyes"),n("decyes"),n("hexyes"),n("unicodeyes"),n("hexLettersUpper"),n("font"),n("lang"),n("tblrowsset"),n("currentStartCharCode")]),_={startCharCode:m};let g=b;rn=_.startCharCode;const y=()=>{_.startCharCode<0?_.startCharCode+=1114112:_.startCharCode>1114111&&(_.startCharCode=0)};let v,w,F,A,x,C;a&&(_.startCharCode=Math.round(_.startCharCode-g*r/2)),y();if((o||Boolean(t))&&(F=t?tn.descripts:tn.numericCharacterReferences),F){const e=F.length;if(g*r>e){const t=e/r;g=Math.ceil(t),x=g-1,A=g*r-e;C=A>0&&r-A}v=F.indexOf(_.startCharCode),-1===v&&(v=0,_.startCharCode=F[v],v=-1);let t=v-r*g;t<0&&(t=e+t),w=F[t]}else w=_.startCharCode-r*g;He(an,{rows:20*g-10,cols:20*r-10}),Qt.textContent="";const k={hexyes:u,decyes:c,unicodeyes:d,entyes:s},E=["decyes","hexyes","unicodeyes"].filter(e=>k[e]),S={decyes:e=>`&#${e};`,hexyes:e=>"&#x"+(p?e.toString(16).toUpperCase():e.toString(16))+";",unicodeyes:e=>String.fromCodePoint(e)},D=[];["unicode","hex","dec","ent"].forEach(e=>{Object.hasOwn(k,e+"yes")&&D.push(nn(e+"_noun"))});const T=nn.list([D[0].replace(/^./v,e=>e.toLocaleUpperCase(nn.resolvedLocale)),...D.slice(1)]);!function({_:e,rows:t,cols:n,charrefunicodeConverter:i,current:a,resetCurrentStartCharCodeIfOutOfBounds:r,q:o,textReceptacle:s,entyes:l,chartBuild:c,descripts:u,chartContainer:d,arr:p,setPref:h,insertText:f,buttonyes:b,font:m,lang:_,prev:g,rowceil:y,colsOverRemainder:v,appliedFormats:w,displayTypes:F,captionContent:A}){let x=o;He("table",{id:"chart_table",class:"unicodetablecell",style:{"font-family":m},lang:_},[["caption",{class:"dialogheader",title:e("Unicode_table_caption_title")},[A]],...Xt(t).map((e,t)=>["tr",Xt(n).map((e,n)=>{if(t===y&&n>=Number(v))return"";p?(x++,x>=p.length&&(x=0),a.startCharCode=p[x]):a.startCharCode++,r();const o=i.numericCharacterReferences.indexOf(a.startCharCode),c=-1!==o,u=c?"&"+i.entities[o]+";":"";return["td",{class:(c?"entity ":"")+"unicodetablecell",$on:{mouseover:(d=u,h=a.startCharCode,function(){Se("#chart_table").$noGetDescripts||jn.getUnicodeDescription(d,h.toString(16).toUpperCase().padStart(4,"0"))}),click(e){"altKey"in e&&e.altKey&&(Se("#chart_table").$noGetDescripts=!Se("#chart_table").$noGetDescripts)}}},[...w.flatMap((e,t,n)=>{const i=e.replace("yes",""),r=1===t&&2===n.length,o=2===t,l=[b?"button":"div",{class:b?"buttonyes":null,name:i,id:"_"+Zt++,dataset:{value:F[e](a.startCharCode)},$on:{click(e){const{target:{dataset:{value:t}}}=e;"altKey"in e&&e.altKey||f({textReceptacle:s,value:t})}}},[F[e](a.startCharCode)]],c=o?He("div",{class:"centered"},[l]):l;return[r?Qe.repeat(3):o?["br"]:"",c]}),...l&&c?[["a",{href:"#",$on:{click(e){e.preventDefault(),e.altKey||f({textReceptacle:s,value:u})}}},[u]]," "]:[""]]];var d,h})]),["tr",[["td",{class:"centered",colspan:n},[["a",{href:"#",$on:{async click(e){e.preventDefault(),await Promise.all([h("currentStartCharCode",g),h("startCharInMiddleOfChart",!1)]),await c({descripts:u}),await jn.resizecells()}}},[e("Prev_set")]]," ",["a",{href:"#",$on:{async click(e){e.preventDefault(),await Promise.all([h("currentStartCharCode",a.startCharCode),h("startCharInMiddleOfChart",!1)]),await c({descripts:u}),await jn.resizecells()}}},[e("Next_set")]]]]]]],d)}({_:nn,rows:g,cols:r,charrefunicodeConverter:tn,current:_,resetCurrentStartCharCodeIfOutOfBounds:y,q:v,arr:F,textReceptacle:an,entyes:s,chartBuild:e,descripts:t,chartContainer:Qt,setPref:i,insertText:en,buttonyes:l,font:h,lang:f,prev:w,rowceil:x,colsOverRemainder:C,appliedFormats:E,displayTypes:S,captionContent:T})};function sn({textReceptacle:e,value:t,focusIn:n=!0}){const{length:i}=e.value,a=e.selectionStart,r=e.selectionEnd;n&&e.focus();const o=e.value.slice(0,Math.max(0,a??0)),s=e.value.slice(r??0,i);e.value=o+t+s,e.selectionStart=o.length+t.length,e.selectionEnd=o.length+t.length}const ln=e=>document.querySelector(e),cn=e=>ln(e),un=e=>ln(e),dn=e=>ln(e),pn=e=>ln(e),hn=e=>ln(e),fn=e=>ln(e);function bn(e){ln("#_detailedView"+e).replaceChildren()}function mn(e,t){const n=ln(e).firstChild;null!==n?n.replaceWith(t):ln(e).append(t)}function _n(e){return document.createElement(e)}class gn{constructor(e){this._stream=e}async*[Symbol.asyncIterator](){const e=this._stream.getReader();try{for(;;){const{done:t,value:n}=await e.read();if(t)return;yield n}}finally{e.releaseLock()}}}let yn,vn,wn;async function Fn(){const e=/<!ENTITY\s+([^'"\s]*)\s+(["'])(.*)\2\s*>/gv,t=Se("#DTDtextbox").value;let n;await wn("DTDtextbox",t),await vn("appendtohtmldtd")?(yn.entities=[...jn.origents],yn.numericCharacterReferences=[...jn.origcharrefs]):(yn.entities=[],yn.numericCharacterReferences=[]),yn.newents=[...jn.orignewents],yn.newcharrefs=[...jn.orignewcharrefs];const i=/^(?:&#|#)?(\d\d+);?$/v,a=/^(?:&#|#|0|U|u)?(?:[xX+])([\da-fA-F]+);?$/v;for(;null!==(n=e.exec(t));){let e=n[3],t=!0;i.test(e)?(e=e.replace(i,"$1"),e=Number.parseInt(e,10)):a.test(e)?(e=e.replace(a,"$1"),e=Number.parseInt(e,16)):e.length>1?t=!1:e=e.charCodeAt(0),t?(yn.entities.unshift(n[1]),yn.numericCharacterReferences.unshift(e)):(yn.newents.push(n[1]),yn.newcharrefs.push(e))}}function An(){Se("#insertEntityFile").addEventListener("change",async function(e){await async function(e){const t=await fetch("../download/entities/"+e.target.value+".ent"),n=await t.text();Se("#DTDtextbox").value+="\n"+n,await Fn()}(e)})}const xn=["nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","quot","gt","apos","amp","lt","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","alpha","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","image","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","empty","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","prop","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","lang","rang","loz","spades","clubs","hearts","diams"],Cn=[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,34,62,39,38,60,338,339,352,353,376,710,732,8194,8195,8201,8204,8205,8206,8207,8211,8212,8216,8217,8218,8220,8221,8222,8224,8225,8240,8249,8250,8364,402,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,977,978,982,8226,8230,8242,8243,8254,8260,8472,8465,8476,8482,8501,8592,8593,8594,8595,8596,8629,8656,8657,8658,8659,8660,8704,8706,8707,8709,8711,8712,8713,8715,8719,8721,8722,8727,8730,8733,8734,8736,8743,8744,8745,8746,8747,8756,8764,8773,8776,8800,8801,8804,8805,8834,8835,8836,8838,8839,8853,8855,8869,8901,8968,8969,8970,8971,9001,9002,9674,9824,9827,9829,9830],kn=e=>document.querySelector(e),En=e=>document.querySelector(e);let Sn,Dn;function Tn(e){const t=kn("*[class='buttonactive']");t&&(t.className="reconvert"),e.className="buttonactive"}const $n={charref2unicodeval:(e,t)=>(Tn(t),Sn.charref2unicodeval(e)),charref2htmlentsval:async(e,t)=>(Tn(t),await Sn.charref2htmlentsval(e)),unicode2charrefDecval:async(e,t,n)=>(Tn(t),await Sn.unicode2charrefDecval(e,n)),unicode2charrefHexval:async(e,t,n,i)=>(Tn(t),await Sn.unicode2charrefHexval(e,n,i)),unicode2htmlentsval:async(e,t)=>(Tn(t),await Sn.unicode2htmlentsval(e)),htmlents2charrefDecval:async(e,t)=>(Tn(t),await Sn.htmlents2charrefDecval(e)),htmlents2charrefHexval:async(e,t)=>(Tn(t),await Sn.htmlents2charrefHexval(e)),htmlents2unicodeval:async(e,t)=>(Tn(t),await Sn.htmlents2unicodeval(e)),hex2decval:(e,t)=>(Tn(t),Sn.hex2decval(e)),dec2hexval:async(e,t)=>(Tn(t),await Sn.dec2hexval(e)),async unicodeTo6Digit(e){const t=En("#toconvert").value;return await this.unicodeTo6DigitVal(t,e.target),!1},async unicodeTo6DigitVal(e,t){Tn(t);const n=await Sn.unicodeTo6DigitVal(e);return En("#converted").value=n,n},async charref2unicode(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=this.charref2unicodeval(t,e.target),!1},async charref2htmlents(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.charref2htmlentsval(t,e.target),!1},async unicode2charrefDec(e,t){let n=En("#toconvert").value;return await Dn("ampspace")&&(n=n.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.unicode2charrefDecval(n,e.target,t),!1},async unicode2charrefDecSurrogate(e){return await this.unicode2charrefDec(e,!0)},async unicode2charrefHex(e,t){let n=En("#toconvert").value;return await Dn("ampspace")&&(n=n.replaceAll(/&([^;\s]*\s)/v,"&$1")),En("#converted").value=await this.unicode2charrefHexval(n,e.target,t),!1},async unicode2charrefHexSurrogate(e){return await this.unicode2charrefHex(e,!0)},async unicode2htmlents(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.unicode2htmlentsval(t,e.target),!1},async unicode2CharDescVal(e,t){Tn(t);const n=await Sn.unicode2CharDescVal(e);return En("#converted").value=n,n},async charDesc2UnicodeVal(e,t){Tn(t);const n=await Sn.charDesc2UnicodeVal(e);return En("#converted").value=n,n},async charDesc2Unicode(e){const t=En("#toconvert").value;return await this.charDesc2UnicodeVal(t,e.target),!1},async unicode2CharDesc(e){const t=En("#toconvert").value;return await this.unicode2CharDescVal(t,e.target),!1},async unicode2jsescapeval(e,t){Tn(t);const n=await Sn.unicode2jsescapeval(e);return En("#converted").value=n,n},async unicode2jsescape(e){const t=En("#toconvert").value;return await this.unicode2jsescapeval(t,e.target),!1},cssescape2unicode(e){const t=En("#toconvert").value;return En("#converted").value=this.cssescape2unicodeval(t,e.target),!1},sixDigit2UnicodeVal(e,t){Tn(t);const n=Sn.sixDigit2UnicodeVal(e);return En("#converted").value=n,n},sixDigit2Unicode(e){const t=En("#toconvert").value;return this.sixDigit2UnicodeVal(t,e.target),!1},jsescape2unicode(e){const t=En("#toconvert").value;return En("#converted").value=this.jsescape2unicodeval(t,e.target),!1},cssescape2unicodeval(e,t){Tn(t);return Sn.cssescape2unicodeval(e)},jsescape2unicodeval(e,t,n){Tn(t);return Sn.jsescape2unicodeval(e,n)},async unicode2cssescapeval(e,t){Tn(t);const n=await Sn.unicode2cssescapeval(e);return En("#converted").value=n,n},async unicode2cssescape(e){const t=En("#toconvert").value;return await this.unicode2cssescapeval(t,e.target),!1},async htmlents2charrefDec(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.htmlents2charrefDecval(t,e.target),!1},async htmlents2charrefHex(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.htmlents2charrefHexval(t,e.target),!1},async htmlents2unicode(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.htmlents2unicodeval(t,e.target),!1},async hex2dec(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=this.hex2decval(t,e.target),!1},async dec2hex(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.dec2hexval(t,e.target),!1}};let On,Nn,Bn,Pn;const Un=({_:e,charrefunicodeConverter:t})=>{On=e,Nn=t,({getPref:Bn,setPref:Pn}=lt())};async function Mn(){const e=function({chunks:e,receivedLength:t}){const n=new Uint8Array(t);let i=0;for(const t of e)n.set(t,i),i+=t.length;return n}(await async function({url:e,progressElement:t,progress:n}){const i=await fetch(e),a=Number(i.headers.get("content-length"))||0;t.max=a||1;const r=[];let o=0;for await(const e of new gn(i.body)){r.push(e),o+=e.length;const i=a?o/a*100:0;t.value=a?o:0,t.textContent=n(i)}return{receivedLength:o,totalBytes:a,chunks:r}}({url:location.href.includes("index-pages")?"/unicode-input-toolconverter/download/unihan/unihan.json":"/download/unihan/unihan.json",progressElement:ln("#progress_element"),progress:e=>`${On("download_progress")} ${e.toFixed(2)}${On("percentSign")}`}));return JSON.parse(Yt(e))}const jn={origents:[],origcharrefs:[],orignewents:[],orignewcharrefs:[],unihanDatabase:null,unihanDb_exists:!1,async downloadUnihan(){ln("#DownloadButtonBox").hidden=!0,ln("#DownloadProgressBox").hidden=!1;try{const e=await Mn();this.unihanDatabase?.close(),this.unihanDatabase=await async function(e){await indexedDB.deleteDatabase("unicode-input-toolconverter-Unihan");const t=new St({version:1});return await t.connect({updateUnicodeData:e}),t}(e),await this.unihanDatabase.getUnicodeFields("3400"),alert(On("Finished_download")),this.unihanDb_exists=!0,ln("#closeDownloadProgressBox").hidden=!1,ln("#UnihanInstalled").hidden=!1}catch(e){ln("#closeDownloadProgressBox").hidden=!0,ln("#UnihanInstalled").hidden=!0,ln("#DownloadProgressBox").hidden=!0,ln("#DownloadButtonBox").hidden=!1,alert(On("Problem_downloading")),console.error(e)}},closeDownloadProgressBox(){ln("#closeDownloadProgressBox").hidden=!1,ln("#DownloadProgressBox").hidden=!0},setupBoolChecked(...e){e.forEach(async e=>{ln("#"+e).checked=await Bn(e)})},async initialize(e){this.unihanDb_exists=!1;try{this.unihanDatabase=new St({version:1}),await this.unihanDatabase.connect(),await this.unihanDatabase.getUnicodeFields("3400"),this.unihanDb_exists=!0,ln("#DownloadButtonBox").hidden=!0,ln("#UnihanInstalled").hidden=!1}catch(e){e.message.includes("ransaction")||console.error(e),ln("#DownloadButtonBox").hidden=!1,ln("#UnihanInstalled").hidden=!0}ln("#unicodeTabBox").style.maxWidth=String(window.screen.availWidth-3*window.screen.availWidth/100),ln("#unicodeTabBox > .tabs").style.maxWidth=String(window.screen.availWidth-3*window.screen.availWidth/100);const[t,n,i,a,r,o,s,l,c]=await Promise.all([Bn("lang"),Bn("font"),Bn("initialTab"),Bn("multiline"),Bn("cssWhitespace"),Bn("tblrowsset"),Bn("tblcolsset"),Bn("ampspace"),Bn("DTDtextbox")]);if(a){ln("#displayUnicodeDesc").replaceWith(He("textarea",{id:"displayUnicodeDesc",rows:3}))}switch(this.setupBoolChecked(...Object.entries(ct()).filter(([,e])=>"boolean"==typeof e).map(([e])=>e)),r){case" ":cn("#CSSWhitespace").selectedIndex=0;break;case"\n":cn("#CSSWhitespace").selectedIndex=1;break;case"\t":cn("#CSSWhitespace").selectedIndex=2;break;case"\f":cn("#CSSWhitespace").selectedIndex=3;break;default:throw new Error("Unexpected whitespace preference value")}await this.resizecells(),ln("#rowsset").value=String(o),ln("#colsset").value=String(s),this.origents=[...xn],this.origcharrefs=[...Cn],this.orignewents=[...Nn.newents],this.orignewcharrefs=[...Nn.newcharrefs],un("#lang").value=t,un("#font").value=n,cn("#initialTab").value=dn("#mi_"+i).value,ln("#DTDtextbox").value=c,await Fn();let u=null,d="";const{customProtocol:p}=e;let h,f,b;if(p){const e=new URL(p),t=e.pathname;switch(h=e.searchParams,t){case"find":f=h.get("char"),d="context-unicodechart";break;case"searchName":d="searchName";break;case"searchkDefinition":d="searchkDefinition";break;default:alert(On("Unrecognized_query_type"))}}else e.options||(u=e.convert||"",({targetid:d}=e),pn("#toconvert").value=u,l&&(u=u.replaceAll(/&([^;\s]*\s)/gv,"&$1")),d&&(b=await async function({_:e,toconvert:t,targetid:n}){let i;switch(n){case"context-charrefunicode1":i=$n.charref2unicodeval(t,kn("#b1"));break;case"context-charrefunicode2":i=await $n.charref2htmlentsval(t,kn("#b2"));break;case"context-charrefunicode3":i=await $n.unicode2charrefDecval(t,kn("#b3"));break;case"context-charrefunicode4":i=await $n.unicode2charrefHexval(t,kn("#b4"));break;case"context-charrefunicode5":i=await $n.unicode2htmlentsval(t,kn("#b5"));break;case"context-charrefunicode6":i=await $n.unicode2jsescapeval(t,kn("#b6"));break;case"context-charrefunicode7":i=await $n.unicodeTo6DigitVal(t,kn("#b7"));break;case"context-charrefunicode8":i=await $n.unicode2cssescapeval(t,kn("#b8"));break;case"context-charrefunicode9":i=await $n.htmlents2charrefDecval(t,kn("#b9"));break;case"context-charrefunicode10":i=await $n.htmlents2charrefHexval(t,kn("#b10"));break;case"context-charrefunicode11":i=await $n.htmlents2unicodeval(t,kn("#b11"));break;case"context-charrefunicode12":i=$n.hex2decval(t,kn("#b12"));break;case"context-charrefunicode13":i=await $n.dec2hexval(t,kn("#b13"));break;case"context-charrefunicode14":i=$n.jsescape2unicodeval(t,kn("#b14"));break;case"context-charrefunicode15":i=$n.sixDigit2UnicodeVal(t,kn("#b15"));break;case"context-charrefunicode16":i=$n.cssescape2unicodeval(t,kn("#b16"));break;case"context-charrefunicode17":i=await $n.unicode2CharDescVal(t,kn("#b17"));break;case"context-charrefunicode18":i=await $n.charDesc2UnicodeVal(t,kn("#b18"));break;case"context-charrefunicode3b":i=await $n.unicode2charrefDecval(t,kn("#b3b"),!0);break;case"context-charrefunicode4b":i=await $n.unicode2charrefHexval(t,kn("#b4b"),!0);break;default:alert(e("Unexpected_target_ID",{targetid:n}))}return i}({toconvert:u,targetid:d,_:On})));let m="";if(void 0!==b)m=b;else switch(d){case"context-unicodechart":await this.disableEnts(),un("#startset").value=String(f),hn("#unicodeTabBox").$selectTabForTabPanel(fn("#charts"));case"context-launchunicode":case"tools-charrefunicode":break;case"searchName":un("#"+d).value=String(h?.get("string")),ln("#"+d).focus(),await this.searchUnicode({id:d,value:String(h?.get("string"))});break;case"searchkDefinition":un("#"+d).value=String(h?.get("string")),un("#"+d).focus(),await this.searchUnihan({id:d,value:String(h?.get("string"))})}pn("#converted").value=m,p||(e.options?hn("#unicodeTabBox").$selectTabForTabPanel(fn("#prefs")):null!==u&&d?hn("#unicodeTabBox").$selectTabForTabPanel(fn("#conversion")):"context-unicodechart"!==d&&"tools-charrefunicode"!==d&&hn("#unicodeTabBox").$selectTabForTabPanel(fn("#"+i))),"searchName"!==d&&"searchkDefinition"!==d&&((u||f)&&await this.setCurrstartset((u||f).codePointAt(0)-1),await on()),this.tblfontsize(0)},async copyToClipboard(e){const t=pn(e).value;await navigator.clipboard.writeText(t),alert(On("copiedToClipboard"))},async setprefs(e){const t=e.target;switch(t.type){case"select-one":case"text":return await Pn(t.id,t.value);case"checkbox":return await Pn(t.id,Boolean(t.checked))}},async resetdefaults(){async function e(e){const t=await Bn(e);return un("#"+e).value=t,await Pn(e,t),t}await this.setBoolChecked(["asciiLt128","showImg","xhtmlentmode","hexLettersUpper","multiline"],!1),await this.setBoolChecked(["xmlentkeep","ampkeep","appendtohtmldtd","cssUnambiguous"],!0),un("#ampspace").checked=!1,un("#showAllDetailedView").checked=!0,un("#showAllDetailedCJKView").checked=!0,ln("#chart_table").lang=await e("lang"),ln("#insertText").style.fontFamily=await e("font"),De('#chart_table button[name="unicode"]').forEach(async t=>{t.style.fontFamily=await e("font")}),await Pn("fontsizetextbox",13),this.fontsizetextbox(0),await Pn("startset","a".codePointAt(0)-1),await this.setCurrstartset(await Bn("startset")),await Pn("tblrowsset",4),un("#rowsset").value="4",await Pn("tblcolsset",3),un("#colsset").value="3",await this.setBoolChecked(["entyes","hexyes","decyes","unicodeyes","buttonyes"],!0),await this.setBoolChecked(["onlyentsyes","startCharInMiddleOfChart"],!1),await Pn("initialTab","charts"),cn("#initialTab").value=dn("#mi_charts").value,await Pn("tblfontsize",13),await this.resizecells(),await on(),await Promise.all([Pn("outerHeight",0),Pn("outerWidth",0)])},setBoolChecked:async(e,t)=>(e="string"==typeof e?[e]:e,await Promise.all(e.map(async e=>{await Pn(e,t),un("#"+e).checked=t}))),async setImagePref(e){return await this.setprefs(e),ln("#unicodeImg").firstChild&&ln("#unicodeImg").firstChild?.remove(),!1},async getUnicodeDescription(e,t){const n=!await Bn("showAllDetailedView"),i=!await Bn("showAllDetailedCJKView"),{unihanType:a,hangul:r,cjkText:o,searchValue:s}=function({khextemp:e,_:t}){let n=!1,i=!1;const a=Number.parseInt(e,16);a>=13312&&a<=19893||a>=19968&&a<=40899||a>=63744&&a<64256||[64014,64015,64017,64019,64020,64031,64033,64035,64036,64039,64041].includes(a)||a>=131072&&a<=173782||a>=173824&&a<=177972||a>=178240&&a<=178205||a>=194560&&a<195103?n=!0:a>=44032&&a<=55203&&(i=!0);let r,o,s=!1;return a>=13312&&a<=19893?(s="3400",13312!==a&&19893!==a?r=t("CJK_Ideograph_Extension_A"):19893===a&&(s="4DB5")):a>=19968&&a<=40899?(s="4E00",19968!==a&&40899!==a?r=t("CJK_Ideograph"):40899===a&&(s="9FC3")):a>=63744&&a<64256?s=!0:a>=131072&&a<=173782?(s="20000",131072!==a&&173782!==a?r=t("CJK_Ideograph_Extension_B"):173782===a&&(s="2A6D6")):a>=194560&&a<195103?s=!0:i&&(r=t("Hangul_Syllable"),r+=" ",r+=kt(a)),s?(!0===s&&(s=e),o=s):o=e,{unihanType:n,hangul:i,cjkText:r,searchValue:o}}({khextemp:t,_:On});a||r||hn("#viewTabs").$selectedTab()!==ln("#detailedCJKView")||hn("#viewTabs").$selectTabForTabPanel(fn("#detailedView"));const l=Number.parseInt(t,16),{codePointStart:c,script:u,plane:d,privateuse:p,surrogate:h}=function(e,t){let n=!1,i=!1,a=e>=65536&&e<=131071?1:0,r="",o="";return e<128?(o="0000",r=t("Basic_Latin")):e<256?(o="0080",r=t("Latin_1_Supplement")):e<384?(o="0100",r=t("Latin_Extended_A")):e<592?(o="0180",r=t("Latin_Extended_B")):e<688?(o="0250",r=t("IPA_Extensions")):e<768?(o="02B0",r=t("Spacing_Modifier_Letters")):e<880?(o="0300",r=t("Combining_Diacritical_Marks")):e<1024?(o="0370",r=t("Greek")):e<1280?(o="0400",r=t("Cyrillic")):e<1328?(o="0500",r=t("Cyrillic_Supplement")):e<1424?(o="0530",r=t("Armenian")):e<1536?(o="0590",r=t("Hebrew")):e<1792?(o="0600",r=t("Arabic")):e<1872?(o="0700",r=t("Syriac")):e<1920?(o="0750",r=t("Arabic_Supplement")):e<1984?(o="0780",r=t("Thaana")):e<2048?(o="07C0",r=t("N_Ko")):e<2112?(o="0800",r=t("Samaritan")):e<2304?(o="0840",r=t("Mandaic")):e<2432?(o="0900",r=t("Devanagari")):e<2560?(o="0980",r=t("Bengali")):e<2688?(o="0A00",r=t("Gurmukhi")):e<2816?(o="0A80",r=t("Gujarati")):e<2944?(o="0B00",r=t("Oriya")):e<3072?(o="0B80",r=t("Tamil")):e<3200?(o="0C00",r=t("Telugu")):e<3328?(o="0C80",r=t("Kannada")):e<3456?(o="0D00",r=t("Malayalam")):e<3584?(o="0D80",r=t("Sinhala")):e<3712?(o="0E00",r=t("Thai")):e<3840?(o="0E80",r=t("Lao")):e<4096?(o="0F00",r=t("Tibetan")):e<4256?(o="1000",r=t("Myanmar")):e<4352?(o="10A0",r=t("Georgian")):e<4608?(o="1100",r=t("Hangul_Jamo")):e<4992?(o="1200",r=t("Ethiopic")):e<5024?(o="1380",r=t("Ethiopic_Supplement")):e<5120?(o="13A0",r=t("Cherokee")):e<5760?(o="1400",r=t("Unified_Canadian_Aboriginal_Syllabics")):e<5792?(o="1680",r=t("Ogham")):e<5888?(o="16A0",r=t("Runic")):e<5920?(o="1700",r=t("Tagalog")):e<5952?(o="1720",r=t("Hanunoo")):e<5984?(o="1740",r=t("Buhid")):e<6016?(o="1760",r=t("Tagbanwa")):e<6144?(o="1780",r=t("Khmer")):e<6320?(o="1800",r=t("Mongolian")):e<6400?(o="18B0",r=t("UCAS_Extended")):e<6480?(o="1900",r=t("Limbu")):e<6528?(o="1950",r=t("Tai_Le")):e<6624?(o="1980",r=t("New_Tai_Lue")):e<6656?(o="19E0",r=t("Khmer_Symbols")):e<6688?(o="1A00",r=t("Buginese")):e<6912?(o="1A20",r=t("Tai_Tham")):e<7040?(o="1B00",r=t("Balinese")):e<7104?(o="1B80",r=t("Sundanese")):e<7168?(o="1BC0",r=t("Batak")):e<7248?(o="1C00",r=t("Lepcha")):e<7376?(o="1C50",r=t("Ol_Chiki")):e<7424?(o="1CD0",r=t("Vedic_Extensions")):e<7552?(o="1D00",r=t("Phonetic_Extensions")):e<7616?(o="1D80",r=t("Phonetic_Extensions_Supplement")):e<7680?(o="1DC0",r=t("Combining_Diacritical_Marks_Supplement")):e<7936?(o="1E00",r=t("Latin_Extended_Additional")):e<8192?(o="1F00",r=t("Greek_Extended")):e<8304?(o="2000",r=t("General_Punctuation")):e<8352?(o="2070",r=t("Super_and_Subscripts")):e<8400?(o="20A0",r=t("Currency_Symbols")):e<8448?(o="20D0",r=t("Combining_Diacritical_Marks_for_Symbols")):e<8528?(o="2100",r=t("Letterlike_Symbols")):e<8592?(o="2150",r=t("Number_Forms")):e<8704?(o="2190",r=t("Arrows")):e<8960?(o="2200",r=t("Mathematical_Operators")):e<9216?(o="2300",r=t("Miscellaneous_Technical")):e<9280?(o="2400",r=t("Control_Pictures")):e<9312?(o="2440",r=t("Optical_Character_Recognition__OCR_")):e<9472?(o="2460",r=t("Enclosed_Alphanumerics")):e<9600?(o="2500",r=t("Box_Drawing")):e<9632?(o="2580",r=t("Block_Elements")):e<9728?(o="25A0",r=t("Geometric_Shapes")):e<9984?(o="2600",r=t("Miscellaneous_Symbols")):e<10176?(o="2700",r=t("Dingbats")):e<10224?(o="27C0",r=t("Misc__Math_Symbols_A")):e<10240?(o="27F0",r=t("Supplemental_Arrows_A")):e<10496?(o="2800",r=t("Braille_Patterns")):e<10624?(o="2900",r=t("Supplemental_Arrows_B")):e<10752?(o="2980",r=t("Misc__Math_Symbols_B")):e<11008?(o="2A00",r=t("Suppl__Math_Operators")):e<11264?(o="2B00",r=t("Miscellaneous_Symbols_and_Arrows")):e<11360?(o="2C00",r=t("Glagolitic")):e<11392?(o="2C60",r=t("Latin_Extended_C")):e<11520?(o="2C80",r=t("Coptic")):e<11568?(o="2D00",r=t("Georgian_Supplement")):e<11648?(o="2D30",r=t("Tifinagh")):e<11744?(o="2D80",r=t("Ethiopic_Extended")):e<11776?(o="2DE0",r=t("Cyrillic_Extended_A")):e<11904?(o="2E00",r=t("Supplemental_Punctuation")):e<12032?(o="2E80",r=t("CJK_Radicals_Supplement")):e<12272?(o="2F00",r=t("CJK_Radicals___Kangxi_Radicals")):e<12288?(o="2FF0",r=t("Ideographic_Description_Characters")):e<12352?(o="3000",r=t("CJK_Symbols_and_Punctuation")):e<12448?(o="3040",r=t("Hiragana")):e<12544?(o="30A0",r=t("Katakana")):e<12592?(o="3100",r=t("Bopomofo")):e<12688?(o="3130",r=t("Hangul_Compatibility_Jamo")):e<12704?(o="3190",r=t("Kanbun")):e<12736?(o="31A0",r=t("Bopomofo_Extended")):e<12784?(o="31C0",r=t("CJK_Strokes")):e<12800?(o="31F0",r=t("Katakana_Phonetic_Extensions")):e<13056?(o="3200",r=t("Enclosed_CJK_Letters_and_Months")):e<13312?(o="3300",r=t("CJK_Compatibility")):e<19904?(o="3400",r=t("CJK_Ideographs_Ext__A")):e<19968?(o="4DC0",r=t("Yijing_Hexagram_Symbols")):e<40960?(o="4E00",r=t("CJK_Unified_Ideographs__Han_")):e<42128?(o="A000",r=t("Yi_Syllables")):e<42192?(o="A490",r=t("Yi_Radicals")):e<42240?(o="A4D0",r=t("Lisu")):e<42560?(o="A500",r=t("Vai")):e<42656?(o="A640",r=t("Cyrillic_Extended_B")):e<42752?(o="A6A0",r=t("Bamum")):e<42784?(o="A700",r=t("Modifier_Tone_Letters")):e<43008?(o="A720",r=t("Latin_Extended_D")):e<43056?(o="A800",r=t("Syloti_Nagri")):e<43072?(o="A830",r=t("Common_Indic_Number_Forms")):e<43136?(o="A840",r=t("Phags_Pa")):e<43232?(o="A880",r=t("Saurashtra")):e<43264?(o="A8E0",r=t("Devanagari_Extended")):e<43312?(o="A900",r=t("Kayah_Li")):e<43360?(o="A930",r=t("Rejang")):e<43392?(o="A960",r=t("Hangul_Jamo_Extended_A")):e<43520?(o="A980",r=t("Javanese")):e<43616?(o="AA00",r=t("Cham")):e<43648?(o="AA60",r=t("Myanmar_Extended_A")):e<43776?(o="AA80",r=t("Tai_Viet")):e<43968?(o="AB00",r=t("Ethiopic_Extended_A")):e<44032?(o="ABC0",r=t("Meetei_Mayek")):e<55216?(o="AC00",r=t("Hangul_Syllables")):e<55296?(o="D7B0",r=t("Hangul_Jamo_Extended_B")):e<56192?(o="D800",r=t("High_Surrogates"),i=t("High_Surrogate")):e<56320?(o="DB80",r=t("High_Private_Use_Surrogates"),i=t("High_Private_Use_Surrogate")):e<57344?(o="DC00",r=t("Low_Surrogates"),i=t("Low_Surrogate")):e<63744?(o="E000",r=t("Private_Use_Area"),n=!0):e<64256?(o="F900",r=t("CJK_Compatibility_Ideographs")):e<64336?(o="FB00",r=t("Alphabetic_Presentation_Forms")):e<65024?(o="FB50",r=t("Arabic_Presentation_Forms_A")):e<65040?(o="FE00",r=t("Variation_Selectors")):e<65056?(o="FE10",r=t("Vertical_Forms")):e<65072?(o="FE20",r=t("Combining_Half_Marks")):e<65104?(o="FE30",r=t("CJK_Compatibility_Forms")):e<65136?(o="FE50",r=t("Small_Form_Variants")):e<65280?(o="FE70",r=t("Arabic_Presentation_Forms_B")):e<65520?(o="FF00",r=t("Halfwidth_and_Fullwidth_Forms")):e<65536?(o="FFF0",r=t("Specials")):e<65664?(o="10000",r=t("Linear_B_Syllabary")):e<65792?(o="10080",r=t("Linear_B_Ideograms")):e<65856?(o="10100",r=t("Aegean_Numbers")):e<65936?(o="10140",r=t("Ancient_Greek_Numbers")):e<66e3?(o="10190",r=t("Ancient_Symbols")):e<66176?(o="101D0",r=t("Phaistos_Disc")):e<66208?(o="10280",r=t("Lycian")):e<66304?(o="102A0",r=t("Carian")):e<66352?(o="10300",r=t("Old_Italic")):e<66432?(o="10330",r=t("Gothic")):e<66464?(o="10380",r=t("Ugaritic")):e<66560?(o="103A0",r=t("Old_Persian")):e<66640?(o="10400",r=t("Deseret")):e<66688?(o="10450",r=t("Shavian")):e<67584?(o="10480",r=t("Osmanya")):e<67648?(o="10800",r=t("Cypriot_Syllabary")):e<67840?(o="10840",r=t("Aramaic__Imperial")):e<67872?(o="10900",r=t("Phoenician")):e<68096?(o="10920",r=t("Lydian")):e<68192?(o="10A00",r=t("Kharoshthi")):e<68352?(o="10A60",r=t("Old_South_Arabian")):e<68416?(o="10B00",r=t("Avestan")):e<68448?(o="10B40",r=t("Parthian__Inscriptional")):e<68608?(o="10B60",r=t("Pahlavi__Inscriptional")):e<69216?(o="10C00",r=t("Old_Turkic")):e<69632?(o="10E60",r=t("Rumi_Numeral_Symbols")):e<69760?(o="11000",r=t("Brahmi")):e<73728?(o="11080",r=t("Kaithi")):e<74752?(o="12000",r=t("Cuneiform")):e<74880?(o="12400",r=t("Cuneiform_Numbers_and_Punctuation")):e<75088?(o="12480",r=t("Early_Dynastic_Cuneiform")):e<77824?(o="12F90",r=t("Cypro_Minoan")):e<92160?(o="13000",r=t("Egyptian_Hieroglyphs")):e<110592?(o="16800",r=t("Bamum_Supplement")):e<118784?(o="1B000",r=t("Kana_Supplement")):e<119040?(o="1D000",r=t("Byzantine_Musical_Symbols")):e<119296?(o="1D100",r=t("Musical_Symbols")):e<119552?(o="1D200",r=t("Ancient_Greek_Musical_Notation")):e<119648?(o="1D300",r=t("Tai_Xuan_Jing_Symbols")):e<119808?(o="1D360",r=t("Counting_Rod_Numerals")):e<126976?(o="1D400",r=t("Mathematical_Alphanumeric_Symbols")):e<127024?(o="1F000",r=t("Mahjong_Tiles")):e<127136?(o="1F030",r=t("Domino_Tiles")):e<127232?(o="1F0A0",r=t("Playing_Cards")):e<127488?(o="1F100",r=t("Enclosed_Alphanumeric_Supplement")):e<127744?(o="1F200",r=t("Enclosed_Ideographic_Supplement")):e<128512?(o="1F300",r=t("Miscellaneous_Symbols_And_Pictographs")):e<128640?(o="1F600",r=t("Emoticons")):e<128768?(o="1F680",r=t("Transport_and_Map_Symbols")):e<130944?(o="1F700",r=t("Alchemical_Symbols")):e<131072?(o="1FF80",r=t("At_End_of_Plane_1")):e<173824?(o="20000",r=t("CJK_Ideographs_Ext__B"),a=2):e<177984?(o="2A700",r=t("CJK_Ideographs_Ext__C"),a=2):e<194560?(o="2B740",r=t("CJK_Ideographs_Ext__D"),a=2):e<195103?(o="2F800",r=t("CJK_Compatibility_Ideographs_Supplement"),a=2):e<196480?(o="2FF80",r=t("plane_numNocolon",{number:2}),a=2):e<196608?(o="2FF80",r=t("At_End_of_Plane_2"),a=2):e<262016?(o="3FF80",r=t("plane_numNocolon",{number:3}),a=3):e<262144?(o="3FF80",r=t("At_End_of_Plane_3"),a=3):e<327552?(o="4FF80",r=t("plane_numNocolon",{number:4}),a=4):e<327680?(o="4FF80",r=t("At_End_of_Plane_4"),a=4):e<393088?(o="5FF80",r=t("plane_numNocolon",{number:5}),a=5):e<393216?(o="5FF80",r=t("At_End_of_Plane_5"),a=5):e<458624?(o="6FF80",r=t("plane_numNocolon",{number:6}),a=6):e<458752?(o="6FF80",r=t("At_End_of_Plane_6"),a=6):e<524160?(o="7FF80",r=t("plane_numNocolon",{number:7}),a=7):e<524288?(o="7FF80",r=t("At_End_of_Plane_7"),a=7):e<589696?(o="8FF80",r=t("plane_numNocolon",{number:8}),a=8):e<589824?(o="8FF80",r=t("At_End_of_Plane_8"),a=8):e<655232?(o="9FF80",r=t("plane_numNocolon",{number:9}),a=9):e<655360?(o="9FF80",r=t("At_End_of_Plane_9"),a=9):e<720768?(o="AFF80",r=t("plane_numNocolon",{number:10}),a=10):e<720896?(o="AFF80",r=t("At_End_of_Plane_10"),a=10):e<786304?(o="BFF80",r=t("plane_numNocolon",{number:11}),a=11):e<786432?(o="BFF80",r=t("At_End_of_Plane_11"),a=11):e<851840?(o="CFF80",r=t("plane_numNocolon",{number:12}),a=12):e<851968?(o="CFF80",r=t("At_End_of_Plane_12"),a=12):e<917376?(o="DFF80",r=t("plane_numNocolon",{number:13}),a=13):e<917504?(o="DFF80",r=t("At_End_of_Plane_13"),a=13):e<917760?(o="E0000",r=t("Tags"),a=13):e<982912?(o="E0100",r=t("Variation_Selectors_Supplement"),a=13):e<983040?(o="EFF80",r=t("At_End_of_Plane_14"),a=14):e<1048448?(o="FFF80",r=t("plane_numNocolon",{number:15})+t("slash")+t("Supplementary_Private_Use_Area_A"),a=15,n=!0):e<1048576?(o="FFF80",r=t("At_End_of_Plane_15")+t("slash")+t("Supplementary_Private_Use_Area_A"),a=15,n=!0):e<=1113984?(o="10FF80",r=t("plane_numNocolon",{number:16})+t("slash")+t("Supplementary_Private_Use_Area_B"),a=16,n=!0):(o="10FF80",r=t("At_End_of_Plane_16")+t("slash")+t("Supplementary_Private_Use_Area_B"),a=16,n=!0),{codePointStart:o,script:r,plane:a,privateuse:n,surrogate:i}}(l,On);if(!a){for(let e=0;e<jn.Unihan.length;e++)e!==this.kDefinitionIndex&&(pn("#_detailedCJKView"+e).value="");for(const e of this.Unihan)un("#searchk"+e)&&(un("#searchk"+e).value="")}let f;try{await Tt.connect();const i=await Tt.getUnicodeFields(s);if(i){f=o||i.name;for(const[e,t]of jn.Unicode.entries()){let a=i[gt(t)];if("Unicode_1_Name"!==t)if(a){switch(n&&(ln("#_detailedView"+e).parentNode.hidden=!1),t){case"General_Category":a=On("General_Category"+a);break;case"Canonical_Combining_Class":(Number(a)<11||Number(a)>132)&&(a=On("Canonical_Combining_Class"+a));break;case"Bidi_Class":a=On("Bidi_Class"+a);break;case"Bidi_Mirrored":a=On("Y"===a?"Bidi_MirroredY":"Bidi_MirroredN");break;case"numericType":{const t=ln("#_detailedView"+e);bn(e),He("select",["None","Decimal","Digit","Numeric"].map(e=>["option",a===e?{selected:!0}:{},[On(e)]]),t);break}case"decompositionMapping":case"Simple_Uppercase_Mapping":case"Simple_Lowercase_Mapping":case"Simple_Titlecase_Mapping":{const t=_n("a");t.href="javascript:void(0)",t.addEventListener("click",async e=>{await jn.startset({value:e.target.textContent})});const n=Number.parseInt(a,16);t.textContent=String.fromCodePoint(n),t.className="text-link";const i=ln("#_detailedView"+e);bn(e);const r=_n("span");r.append(t),r.append(" ("+a+")"),i.append(r);break}}"decompositionMapping"===t||t.includes("case_Mapping")||(un("#_detailedView"+e).value=a)}else"decompositionMapping"===t||t.includes("case_Mapping")?(un("#_detailedView"+e).parentNode.hidden=n,bn(e)):(un("#_detailedView"+e).parentNode.hidden=n,un("#_detailedView"+e).value="");else a&&(f+="; \n"+On("searchUnicode_1_Name")+On("colon")+" "+a)}}a||(pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+f,pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+f)}catch{if(h)pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+h,pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+h;else if(p)pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+On("Private_use_character"),pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+On("Private_use_character");else if(l>=64976&&l<=65007||l>=65534&&l<=65535||l>=131070&&l<=131071||l>=196606&&l<=196607||l>=262142&&l<=262143||l>=327678&&l<=327679||l>=393214&&l<=393215||l>=458750&&l<=458751||l>=524286&&l<=524287||l>=589822&&l<=589823||l>=655358&&l<=655359||l>=720894&&l<=720895||l>=786430&&l<=786431||l>=851966&&l<=851967||l>=917502&&l<=917503||l>=983038&&l<=983039)pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+On("Noncharacter"),pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+On("Noncharacter");else{const e="U+"+t+On("colon")+" "+On("Not_found");pn("#displayUnicodeDesc").value=e,pn("#displayUnicodeDesc2").value=e}for(const[e,t]of jn.Unicode.entries())if("Unicode_1_Name"!==t)try{un("#_detailedView"+e).value="",ln("#_detailedView"+e).parentNode.hidden=n,bn(e)}catch(t){console.log("3"+t+e)}}if(this.unihanDb_exists)try{const a=await(this.unihanDatabase?.getUnicodeFields(t));if(a){f=a[this.kDefinitionIndex];for(let e=0;e<jn.Unihan.length;e++){if(e===this.kDefinitionIndex)continue;let t;try{t=a[e]}catch{alert(e)}t?(i&&(ln("#_detailedCJKView"+e).parentNode.hidden=!1),un("#_detailedCJKView"+e).value=t):(un("#_detailedCJKView"+e).parentNode.hidden=i,un("#_detailedCJKView"+e).value="")}}if(""!==f&&null!=f)pn("#displayUnicodeDescUnihan").value=e+"U+"+t+On("colon")+" "+f,pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+f,pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+f;else{const a="U+"+t+On("colon")+" "+On("Not_found");if(!o||r){for(const[e,t]of jn.Unicode.entries())if("Unicode_1_Name"!==t)try{un("#_detailedView"+e).value="",un("#_detailedView"+e).parentNode.hidden=n,bn(e)}catch(t){alert("1"+t+e)}for(let e=0;e<jn.Unihan.length;e++)e!==this.kDefinitionIndex&&(ln("#_detailedCJKView"+e).parentNode.hidden=i,un("#_detailedCJKView"+e).value="")}if(o){const n=e+"U+"+t+On("colon")+" "+o+(r?"":" "+On("left_parenth")+On("No_definition")+On("right_parenth"));un("#displayUnicodeDesc").value=n,un("#displayUnicodeDesc2").value=n,un("#displayUnicodeDescUnihan").value=n}else un("#displayUnicodeDesc").value=a,un("#displayUnicodeDescUnihan").value=a,un("#displayUnicodeDesc2").value=a}}catch(e){alert(e)}a&&this.unihanDb_exists&&hn("#viewTabs").$selectedTab()===ln("#detailedView")&&hn("#viewTabs").$selectTabForTabPanel(fn("#detailedCJKView"));const b=_n("a");b.target="_blank",b.className="text-link",b.href=`https://unicode.org/charts/PDF/U${c}.pdf`,b.textContent=u+" (PDF)",mn("#pdflink",b);if(mn("#plane",On("plane_num",{plane:d})+" "),await Bn("showImg")){const e=_n("img");e.setAttribute("src","https://unicode.org/cgi-bin/refglyph?1-"+Number(l).toString(16)),mn("#unicodeImg",e)}},async fontsizetextbox(e){const t=await Bn("fontsizetextbox")+e;await Pn("fontsizetextbox",t),ln("#toconvert").style.fontSize=t+"px",ln("#converted").style.fontSize=t+"px",e>0&&"sizeToContent"in globalThis&&globalThis.sizeToContent()},async tblfontsize(e){const t=await Bn("tblfontsize")+e;await Pn("tblfontsize",t),await this.resizecells({sizeToContent:e>0})},async resizecells({sizeToContent:e}={}){await Promise.all(De("*[name='dec'],*[name='hex'],*[name='unicode']").map(async e=>{e.style.fontSize=await Bn("tblfontsize")+"px"})),ln("#insertText").style.fontSize=await Bn("tblfontsize")+"px",e&&"sizeToContent"in globalThis&&globalThis.sizeToContent()},async hexLettersCasing(e){return await this.setprefs(e),await on(),await this.resizecells()},async flip(e){return await this.setCurrstartset(rn),await this.setprefs(e),await on(),await this.resizecells()},async onlyentsyesflip(e){return await this.flip(e)},async hexflip(e){return await this.flip(e)},async decflip(e){return await this.flip(e)},async unicodeflip(e){return await this.flip(e)},async middleflip(e){return await this.flip(e)},async buttonflip(e){return await this.flip(e)},async entflip(e){return await this.flip(e)},async cssWhitespace(e){let{value:t}=e.target;switch(t){case"space":t=" ";break;case"n":t="\n";break;case"t":t="\t";break;case"f":t="\f";break;default:throw new Error("Unexpected menu value")}await Pn("cssWhitespace",t)},async rowsset(e){return await this.setCurrstartset(rn),null!==e.target.value&&""!==e.target.value&&await Pn("tblrowsset",e.target.value),await on(),await this.resizecells()},async colsset(e){return await this.setCurrstartset(rn),null!==e.target.value&&""!==e.target.value&&await Pn("tblcolsset",e.target.value),await on(),await this.resizecells()},async startset(e,t){await this.disableEnts();const n=null!==e.value&&void 0!==e.value&&""!==e.value?function(e){const t=(e=e.replace(/;$/v,"")).match(/^&?#?x/v);if(t)return Number.parseInt(e.slice(t[0].length),16)-1;const n=e.match(/^&?#/v);return n?Number.parseInt(e.slice(n[0].length),10)-1:e.codePointAt(0)-1}(e.value):(await Bn("startset")||"a").codePointAt(0)-1;return await this.setCurrstartset(n),await on({descripts:t}),await this.resizecells()},async setCurrstartset(e){if("number"!=typeof e){const t=new Error("Bad value");return t.value=e,console.error(t),void alert("Look at trace to see where setting `currentStartCharCode` as undefined")}return await Pn("currentStartCharCode",e)},async chartBuildResize(){return await on(),await this.resizecells()},async searchUnihan(e){return await this.searchUnicode(e,"Unihan")},async disableEnts(){return await this.setBoolChecked("onlyentsyes",!1)},async searchUnicode(e,t,n,i){if(await Nn.searchUnicode(e,t,n,i),!n){const t=await Bn("currentStartCharCode");this.startset(e,!0),await this.setCurrstartset(t),this.resizecells()}},moveoutput(e){const t=un(e);hn("#unicodeTabBox").$selectTabForTabPanel(fn("#conversion")),pn("#toconvert").value=t.value},async append2htmlflip(e){await this.setprefs(e),await Fn(),await on(),await this.resizecells()},insertent(){sn({textReceptacle:pn("#DTDtextbox"),value:'<!ENTITY "">\n'})},async multiline(){const e=ln("#displayUnicodeDesc");!1===await Bn("multiline")?(await Pn("multiline",!0),e.replaceWith(He("textarea",{id:"displayUnicodeDesc",rows:3}))):(await Pn("multiline",!1),e.replaceWith(He("input",{id:"displayUnicodeDesc",rows:1})))},idgen:0,prefs:null,Unihan:["kAccountingNumeric","kAlternateTotalStrokes","kBigFive","kCCCII","kCNS1986","kCNS1992","kCangjie","kCantonese","kCheungBauer","kCheungBauerIndex","kCihaiT","kCompatibilityVariant","kCowles","kDaeJaweon","kDefinition","kEACC","kFenn","kFennIndex","kFourCornerCode","kFrequency","kGB0","kGB1","kGB3","kGB5","kGB7","kGB8","kGSR","kGradeLevel","kHDZRadBreak","kHKGlyph","kHKSCS","kHanYu","kHangul","kHanyuPinlu","kHanyuPinyin","kIBMJapan","kIICore","kIRGDaeJaweon","kIRGDaiKanwaZiten","kIRGHanyuDaZidian","kIRGKangXi","kIRG_GSource","kIRG_HSource","kIRG_JSource","kIRG_KPSource","kIRG_KSource","kIRG_MSource","kIRG_TSource","kIRG_USource","kIRG_VSource","kJIS0213","kJapaneseKun","kJapaneseOn","kJis0","kJis1","kKPS0","kKPS1","kKSC0","kKSC1","kKangXi","kKarlgren","kKorean","kLau","kMainlandTelegraph","kMandarin","kMatthews","kMeyerWempe","kMorohashi","kNelson","kOtherNumeric","kPhonetic","kPrimaryNumeric","kPseudoGB1","kRSAdobe_Japan1_6","kRSJapanese","kRSKanWa","kRSKangXi","kRSKorean","kRSUnicode","kSBGY","kSemanticVariant","kSimplifiedVariant","kSpecializedSemanticVariant","kTaiwanTelegraph","kTang","kTotalStrokes","kTraditionalVariant","kVietnamese","kXHC1983","kXerox","kZVariant","kUnihanCore2020","kIRG_UKSource","kIRG_SSource","kTGH","kKoreanName","kJa","kJoyoKanji","kKoreanEducationHanja","kJinmeiyoKanji","kTGHZ2013","kSpoofingVariant","kStrange","kSMSZD2003Index","kMojiJoho","kVietnameseNumeric","kZhuangNumeric","kTayNumeric","kJapanese","kFanqie","kSMSZD2003Readings","kZhuang","kJapaneseOldVariant","kJapaneseNewVariant"],UnihanMenus:[],Unicode:["General_Category","Canonical_Combining_Class","Bidi_Class","decompositionMapping","decompositionType","numericType","numericValue","Bidi_Mirrored","Unicode_1_Name","ISO_Comment","Simple_Uppercase_Mapping","Simple_Lowercase_Mapping","Simple_Titlecase_Mapping"],UnicodeMenus:["General_Category","Canonical_Combining_Class","Bidi_Class","Bidi_Mirrored","Digit","Decimal"],UnicodeMenuBidi_Class:["L","LRE","LRO","R","AL","RLE","RLO","PDF","EN","ES","ET","AN","CS","NSM","BN","B","S","WS","ON"],UnicodeMenuCanonical_Combining_Class:[0,1,7,8,9,10,199,200,202,204,208,210,212,214,216,218,220,222,224,226,228,230,232,233,234,240],UnicodeMenuCCVNumericOnly:[84,91,103,107,118,122,129,130,132],UnicodeMenuGeneral_Category:["Lu","Ll","Lt","Lm","Lo","Mn","Mc","Me","Nd","Nl","No","Pc","Pd","Ps","Pe","Pi","Pf","Po","Sm","Sc","Sk","So","Zs","Zl","Zp","Cc","Cf","Cs","Co","Cn"],UnicodeMenuBidi_Mirrored:["Y","N"],UnicodeMenuDigit:[0,1,2,3,4,5,6,7,8,9],UnicodeMenuDecimal:[0,1,2,3,4,5,6,7,8,9],kDefinitionIndex:-1};jn.kDefinitionIndex=jn.Unihan.indexOf("kDefinition");const Ln=/&#(\d*);/gv,In=/&#[xX]([\da-fA-F]*);/gv,Rn=new Set(["apos","quot","lt","gt","amp"]),Jn=new RegExp("&("+/[\p{ID_Start}_][\p{ID_Continue}\u{24}\u{5F}\u{2D}\u{2E}\u{3A}\u{B7}\u{58A}\u{5F4}\u{F0B}\u{200C}\u{2010}\u{2027}\u{30A0}\u{30FB}\u{5F3}\u{200D}]*/giv.source+");","gvi"),Kn=()=>{const{getPref:e}=lt();return class{constructor({_:e}){this._=e,this.newents=[],this.newcharrefs=[],this.entities=[],this.numericCharacterReferences=[]}getAposPos(){return this.numericCharacterReferences.indexOf(39)}getAmpPos(){return this.numericCharacterReferences.indexOf(38)}charref2unicodeval(e){return e=e.replaceAll(Ln,function(e,t){return String.fromCodePoint(t)}).replaceAll(In,function(e,t){return String.fromCodePoint(Number.parseInt(t,16))})}async charref2htmlentsval(t){const n=await e("xhtmlentmode");return t=t.replaceAll(Ln,(e,t)=>{const i=this.numericCharacterReferences.indexOf(Number.parseInt(t,10));return-1===i||!n&&i===this.getAposPos()?e:"&"+this.entities[i]+";"}).replaceAll(In,(e,t)=>{const i=this.numericCharacterReferences.indexOf(Number.parseInt("0x"+t,16));return-1===i||!n&&i===this.getAposPos()?e:"&"+this.entities[i]+";"})}async unicode2charrefDecval(t,n){let i="";const a=await e("asciiLt128");for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);!n&&r>=55296&&r<63744?(r=1024*(r-55296)+(t.charCodeAt(e+1)-56320)+65536,i+="&#"+r+";",e++):i+=a||r>=128?"&#"+r+";":t.charAt(e)}return i}async unicode2charrefHexval(t,n,i){let a,r,o,s,l="";"javascript"===i||"php"===i?(a="",r=String.raw`\u`,o=""):"css"===i?(s=await e("cssUnambiguous"),a="",r="\\",o=s?"":await e("cssWhitespace")):(a="x",r="&#",o=";");const[c,u]=await Promise.all([e("hexLettersUpper"),e("asciiLt128")]);for(let e=0;e<t.length;e++){let d,p=t.charCodeAt(e);!n&&p>=55296&&p<63744?(p=1024*(p-55296)+(t.charCodeAt(e+1)-56320)+65536,d=p.toString(16),e++,c&&(d=d.toUpperCase()),("php"===i||s)&&d.length<6&&(d=d.padStart(6,"0")),l+=r+a+d+o):u||p>=128?(d=p.toString(16),c&&(d=d.toUpperCase()),"javascript"===i&&d.length<4?d=d.padStart(4,"0"):("php"===i||s)&&d.length<6&&(d=d.padStart(6,"0")),l+=r+a+d+o):l+=t.charAt(e)}return l}async unicode2htmlentsval(t){for(let e=0;e<this.newents.length;e++)t=t.replaceAll(String(this.newcharrefs[e]),"&"+this.newents[e]+";");let n="";const i=await e("xhtmlentmode"),a=await e("ampkeep");for(const e of t){const t=e.codePointAt(0),r=this.numericCharacterReferences.indexOf(t);n+=-1===r||!i&&r===this.getAposPos()||a&&r===this.getAmpPos()?e:"&"+this.entities[r]+";"}return n}async htmlents2charrefDecval(t){const n=await e("xmlentkeep");return t.replaceAll(Jn,(e,t)=>n&&Rn.has(t)?"&"+t+";":this.newents.includes(t)?String(this.newcharrefs[this.newents.indexOf(t)]):this.entities.includes(t)?"&#"+this.numericCharacterReferences[this.entities.indexOf(t)]+";":"&"+t+";")}async htmlents2charrefHexval(t){const[n,i]=await Promise.all([e("xmlentkeep"),e("hexLettersUpper")]);return t.replaceAll(Jn,(e,t)=>{if(!n||!Rn.has(t)){const e=this.numericCharacterReferences[this.entities.indexOf(t)],n=this.newents.indexOf(t);if(-1!==n)return String(this.newcharrefs[n]);if(this.entities.includes(t)){let t=e.toString(16);return i&&(t=t.toUpperCase()),"&#x"+t+";"}return"&"+t+";"}return"&"+t+";"})}async htmlents2unicodeval(t){const n=await e("xmlentkeep");return t.replaceAll(Jn,(e,t)=>{if(!n||!Rn.has(t)){const e=this.numericCharacterReferences[this.entities.indexOf(t)];return this.newents.includes(t)?String(this.newcharrefs[this.newents.indexOf(t)]):this.entities.includes(t)?String.fromCodePoint(e):"&"+t+";"}return"&"+t+";"})}hex2decval(e){return e.replaceAll(In,function(e,t){return"&#"+Number.parseInt(t,16)+";"})}async dec2hexval(t){const n=await e("hexLettersUpper");return t.replaceAll(Ln,function(e,t){let i=Number(t).toString(16);return n&&(i=i.toUpperCase()),"&#x"+i+";"})}cssescape2unicodeval(e){let t="";for(let n=0;n<e.length;n++){const i=e[n];if("\\"!==i){t+=i;continue}const a=e[n+1];switch(a){case"\n":case"\f":t+=i+a;break;default:{const r=e.slice(n+1).match(/^([A-Fa-f\d]{1,5})(?:([A-Fa-f\d])|(\r\n|[ \t\r\n\f])?)/v);if(r){n+=r[0].length-1;const e=r[1]+(r[2]||""),a=Number.parseInt(e,16);if(0===a||a>1114111){t+="�";break}const o=String.fromCodePoint(a);a<161&&/[^\w\-]/v.test(o)?t+=i+r[0]:t+=o}else t+=i+a;break}}n++}return t}jsescape2unicodeval(e,t){let n,i="";for(let a=0;a<e.length;a++){const r=e[a];if("\\"!==r)i+=r;else{const o=e[a+1];if("php"===t)switch(o){case"\\":i+=r;break;case"u":if(n=/^[a-fA-F\d]{6}|[a-fA-F\d]{4}/v.exec(e.slice(a+2)),n){i+=String.fromCodePoint(Number.parseInt(n[0],16)),a+=n[0].length;break}default:i+=r+o}else switch(o){case"\\":i+=r;break;case"r":i+="\r";break;case"n":i+="\n";break;case"t":i+="\t";break;case"f":i+="\f";break;case"v":i+="\v";break;case"b":i+="\b";break;case"u":if(n=/^[a-fA-F\d]{4}/v.exec(e.slice(a+2)),n){i+=String.fromCharCode(Number.parseInt(n[0],16)),a+=n[0].length;break}default:i+=r+o}a++}}return i}async unicode2jsescapeval(e){return await this.unicode2charrefHexval(e,!0,"javascript")}async unicodeTo6DigitVal(e){return await this.unicode2charrefHexval(e,!1,"php")}async unicode2cssescapeval(e){return await this.unicode2charrefHexval(e,!1,"css")}sixDigit2UnicodeVal(e){return this.jsescape2unicodeval(e,"php")}async unicode2CharDescVal(t){const n=await e("asciiLt128");return(await Promise.all([...t].map(async e=>{const t=e.codePointAt(0);if(n||t>=128){const e=await this.getCharDescForCodePoint(t);if(e)return String.raw`\C{`+e+"}"}return e}))).join("")}async charDesc2UnicodeVal(e){const t=[];e.replaceAll(/\\C\{([^\}]*)\}/gv,(e,n)=>(t.push(this.lookupUnicodeValueByCharName(n)),""));const n=await Promise.all(t);let i=-1;return e.replaceAll(/\\C\{([^\}]*)\}/gv,()=>(++i,Object.hasOwn(n,i)?String.fromCodePoint(n[i]):"�"))}async getCharDescForCodePoint(e){try{if(e>=44032&&e<=55203)return kt(e);const t=e.toString(16).toUpperCase().padStart(4,"0");await Tt.connect();const{name:n,unicode1Name:i}=await Tt.getUnicodeFields(t);return i&&n.includes("<")?`${i} (${n})`:n}catch(e){alert(e)}}async lookupUnicodeValueByCharName(e){if(await this.searchUnicode({id:"searchName",value:e},"UnicodeData",!0,!0),!this.descripts?.[0]&&e.length<=7){const t=xt(e);return!!t&&t.charCodeAt(0)}return this.descripts?.[0]}async searchUnicode(e,t,n,i){t||(t="UnicodeData");const a=e.value;if("UnicodeData"===t&&e.id.startsWith("searchk")||"Unihan"===t&&/^search[^k]/v.test(e.id))return;if("Unihan"===t&&!n&&!jn.unihanDb_exists)return void alert(this._("need_download_unihan"));const r=e.id.replace(/^search/v,""),o="Unihan"===t?jn.unihanDatabase:Tt;await o.connect(),this.descripts=[];try{const e=r,n=gt(r),s=await o.getAll();(i?s.filter(i=>("Unihan"===t?i.columns[jn.Unihan.indexOf(e)]:i[n]).toLowerCase()===a.toLowerCase()):s.filter(i=>("Unihan"===t?i.columns[jn.Unihan.indexOf(e)]:i[n]).toLowerCase().includes(a.toLowerCase()))).forEach(e=>{const{codePoint:n}=e,i=Number.parseInt(n,16);"UnicodeData"===t&&i>=63744&&i<64256||this.descripts?.push(i)})}catch(e){alert(e)}}}},Vn=function(e){return/https?:/v.test(e)?e:""};function Hn(e){return["ul",[["li",["Scripts",["ul",[["li",[["b",[e("European_Scripts")]],["ul",[["li",{title:"0530-058F"},[e("Armenian"),["ul",[["li",{title:"FB13-FB17"},[["i",[e("Armenian_Ligatures")]]]]]]]],["li",{title:"10530-1056F"},[e("Caucasian_Albanian")]],["li",{title:"10800-1083F"},[e("Cypriot_Syllabary")]],["li",{title:"12F90–12FFF"},[e("Cypro_Minoan")]],["li",{title:"0400-04FF"},[e("Cyrillic"),["ul",[["li",{title:"0500-052F"},[["i",[e("Cyrillic_Supplement")]]]],["li",{title:"2DE0-2DFF"},[["i",[e("Cyrillic_Extended_A")]]]],["li",{title:"A640-A69F"},[["i",[e("Cyrillic_Extended_B")]]]],["li",{title:"1C80-1C8F"},[["i",[e("Cyrillic_Extended_C")]]]],["li",{title:"1E030–1E08F"},[["i",[e("Cyrillic_Extended_D")]]]]]]]],["li",{title:"10500-1052F"},[e("Elbasan")]],["li",{title:"10A0-10FF"},[e("Georgian"),["ul",[["li",{title:"1C90-1CBF"},[["i",[e("Georgian_Extended")]]]],["li",{title:"2D00-2D2F"},[["i",[e("Georgian_Supplement")]]]]]]]],["li",{title:"2C00-2C5F"},[e("Glagolitic"),["ul",[["li",{title:"1E000-1E02F"},[["i",[e("Glagolitic_Supplement")]]]]]]]],["li",{title:"10330-1034F"},[e("Gothic")]],["li",{title:"0370-03FF"},[e("Greek"),["ul",[["li",{title:"1F00-1FFF"},[["i",[e("Greek_Extended")]]]],["li",{title:"10140-1018F"},[["i",[e("Ancient_Greek_Numbers")]]]]]]]],["li",{title:"0000-007F"},[e("Latin"),["ul",[["li",{title:"0000-007F"},[["i",[e("Basic_Latin")]]]],["li",{title:"0080-00FF"},[["i",[e("Latin_1_Supplement")]]]],["li",{title:"0100-017F"},[["i",[e("Latin_Extended_A")]]]],["li",{title:"0180-024F"},[["i",[e("Latin_Extended_B")]]]],["li",{title:"2C60-2C7F"},[["i",[e("Latin_Extended_C")]]]],["li",{title:"A720-A7FF"},[["i",[e("Latin_Extended_D")]]]],["li",{title:"AB30-AB6F"},[["i",[e("Latin_Extended_E")]]]],["li",{title:"10780–107BF"},[["i",[e("Latin_Extended_F")]]]],["li",{title:"1DF00–1DFFF"},[["i",[e("Latin_Extended_G")]]]],["li",{title:"1E00-1EFF"},[["i",[e("Latin_Extended_Additional")]]]],["li",{title:"FB00-FB06"},[["i",[e("Latin_Ligatures")]]]],["li",{title:"FF00-FF5E"},[["i",[e("Fullwidth_Latin_Letters")]]]],["li",{title:"0250-02AF"},[["i",[e("IPA_Extensions")]]]],["li",{title:"1D00-1D7F"},[["i",[e("Phonetic_Extensions")]]]],["li",{title:"1D80-1DBF"},[["i",[e("Phonetic_Extensions_Supplement")]]]]]]]],["li",{title:"10600-1077F"},[e("Linear_A")]],["li",{title:null},[e("Linear_B"),["ul",[["li",{title:"10000-1007F"},[["i",[e("Linear_B_Syllabary")]]]],["li",{title:"10080-100FF"},[["i",[e("Linear_B_Ideograms")]]]],["li",{title:"10100-1013F"},[["i",[e("Aegean_Numbers")]]]]]]]],["li",{title:"1680-169F"},[e("Ogham")]],["li",{title:"10C80-10CFF"},[e("Old_Hungarian")]],["li",{title:"10300-1032F"},[e("Old_Italic")]],["li",{title:"10350-1037F"},[e("Old_Permic")]],["li",{title:"101D0-101FF"},[e("Phaistos_Disc")]],["li",{title:"16A0-16FF"},[e("Runic")]],["li",{title:"10450-1047F"},[e("Shavian")]],["li",{title:"105C0-105FF"},[e("Todhri")]],["li",{title:"10570–105BF"},[e("Vithkuqi")]]]]]],["li",[["b",[e("Modifier_Letters")]],["ul",[["li",{title:"A700-A71F"},[e("Modifier_Tone_Letters")]],["li",{title:"02B0-02FF"},[e("Spacing_Modifier_Letters")]],["li",{title:"2070-209F"},[e("Superscripts_and_Subscripts")]]]]]],["li",[["b",[e("Combining_Marks")]],["ul",[["li",{title:"0300-036F"},[e("Combining_Diacritical_Marks"),["ul",[["li",{title:"1AB0-1AFF"},[["i",[e("Combining_Diacritical_Marks_Extended")]]]],["li",{title:"1DC0-1DFF"},[["i",[e("Combining_Diacritical_Marks_Supplement")]]]]]]]],["li",{title:"20D0-20FF"},[e("Combining_Diacritical_Marks_for_Symbols")]],["li",{title:"FE20-FE2F"},[e("Combining_Half_Marks")]]]]]],["li",[["b",[e("Miscellaneous")]],["ul",[["li",{title:"FB00-FB4F"},[["i",[e("Alphabetic_Presentation_Forms")]]]],["li",{title:"0000-007F"},[["i",[e("ASCII_Characters")]]]],["li",{title:"FF00-FFEF"},[["i",[e("Halfwidth_and_Fullwidth_Forms")]]]]]]]],["li",[["b",[e("African_Scripts")]],["ul",[["li",{title:"1E900-1E95F"},[e("Adlam")]],["li",{title:"A6A0-A6FF"},[e("Bamum"),["ul",[["li",{title:"16800-16A3F"},[["i",[e("Bamum_Supplement")]]]]]]]],["li",{title:"16AD0-16AFF"},[e("Bassa_Vah")]],["li",{title:"16EA0-16EDF"},[e("Beria_Erfe")]],["li",{title:"2C80-2CFF"},[e("Coptic"),["ul",[["li",{title:"03E2-03EF"},[["i",[e("Coptic_in_Greek_block")]]]],["li",{title:"102E0-102FF"},[["i",[e("Coptic_Epact_Numbers")]]]]]]]],["li",{title:"13000-1342F"},[e("Egyptian_Hieroglyphs"),["ul",[["li",{title:"13430-1345F"},[["i",[e("Egyptian_Hieroglyph_Format_Controls")]]]],["li",{title:"13460-1355F"},[["i",[e("Egyptian_Hieroglyphs_Extended_A")]]]]]]]],["li",{title:"1200-137F"},[e("Ethiopic"),["ul",[["li",{title:"1380-139F"},[["i",[e("Ethiopic_Supplement")]]]],["li",{title:"2D80-2DDF"},[["i",[e("Ethiopic_Extended")]]]],["li",{title:"AB00-AB2F"},[["i",[e("Ethiopic_Extended_A")]]]],["li",{title:"1E7E0–1E7FF"},[["i",[e("Ethiopic_Extended_B")]]]]]]]],["li",{title:"10D40-10D8F"},[e("Garay")]],["li",{title:"16E40-16E9F"},[e("Medefaidrin")]],["li",{title:"1E800-1E8DF"},[e("Mende_Kikakui")]],["li",{title:null},[e("Meroitic"),["ul",[["li",{title:"109A0-109FF"},[["i",[e("Meroitic_Cursive")]]]],["li",{title:"10980-1099F"},[["i",[e("Meroitic_Hieroglyphs")]]]]]]]],["li",{title:"07C0-07FF"},[e("N_Ko")]],["li",{title:"10480-104AF"},[e("Osmanya")]],["li",{title:"2D30-2D7F"},[e("Tifinagh")]],["li",{title:"A500-A63F"},[e("Vai")]]]]]],["li",[["b",[e("West_Asian_Scripts")]],["ul",[["li",{title:"14400-1467F"},[e("Anatolian_Hieroglyphs")]],["li",{title:"0600-06FF"},[e("Arabic"),["ul",[["li",{title:"0750-077F"},[["i",[e("Arabic_Supplement")]]]],["li",{title:"08A0-08FF"},[["i",[e("Arabic_Extended_A")]]]],["li",{title:"0870–089F"},[["i",[e("Arabic_Extended_B")]]]],["li",{title:"10EC0–10EFF"},[["i",[e("Arabic_Extended_C")]]]],["li",{title:"FB50-FDFF"},[["i",[e("Arabic_Presentation_Forms_A")]]]],["li",{title:"FE70-FEFF"},[["i",[e("Arabic_Presentation_Forms_B")]]]]]]]],["li",{title:"10840-1085F"},[e("Aramaic__Imperial")]],["li",{title:"10B00-10B3F"},[e("Avestan")]],["li",{title:"102A0-102DF"},[e("Carian")]],["li",{title:"10FB0–10FDF"},[e("Chorasmian")]],["li",{title:"12000-123FF"},[e("Cuneiform"),["ul",[["li",{title:"12400-1247F"},[["i",[e("Cuneiform_Numbers_and_Punctuation")]]]],["li",{title:"12480-1254F"},[["i",[e("Early_Dynastic_Cuneiform")]]]],["li",{title:"103A0-103DF"},[["i",[e("Old_Persian")]]]],["li",{title:"10380-1039F"},[["i",[e("Ugaritic")]]]]]]]],["li",{title:"10FE0-10FFF"},[e("Elymaic")]],["li",{title:"108E0-108FF"},[e("Hatran")]],["li",{title:"0590-05FF"},[e("Hebrew"),["ul",[["li",{title:"FB1D-FB4F"},[["i",[e("Hebrew_Presentation_Forms")]]]]]]]],["li",{title:"10280-1029F"},[e("Lycian")]],["li",{title:"10920-1093F"},[e("Lydian")]],["li",{title:"0840-085F"},[e("Mandaic")]],["li",{title:"10880-108AF"},[e("Nabataean")]],["li",{title:"10A80-10A9F"},[e("Old_North_Arabian")]],["li",{title:"10A60-10A7F"},[e("Old_South_Arabian")]],["li",{title:"10B60-10B7F"},[e("Pahlavi__Inscriptional")]],["li",{title:"10B80-10BAF"},[e("Pahlavi__Psalter")]],["li",{title:"10860-1087F"},[e("Palmyrene")]],["li",{title:"10B40-10B5F"},[e("Parthian__Inscriptional")]],["li",{title:"10900-1091F"},[e("Phoenician")]],["li",{title:"0800-083F"},[e("Samaritan")]],["li",{title:"10940-1095F"},[e("Sidetic")]],["li",{title:"0700-074F"},[e("Syriac"),["ul",[["li",{title:"0860–086F"},[["i",[e("Syriac_Supplement")]]]]]]]],["li",{title:"10E80–10EBF"},[e("Yezidi")]]]]]],["li",[["b",[e("Central_Asian_Scripts")]],["ul",[["li",{title:"10AC0-10AFF"},[e("Manichaean")]],["li",{title:"11C70-11CBF"},[e("Marchen")]],["li",{title:"1800-18AF"},[e("Mongolian"),["ul",[["li",{title:"11660-1167F"},[["i",[e("Mongolian_Supplement")]]]]]]]],["li",{title:"10F00-10F2F"},[e("Old_Sogdian")]],["li",{title:"10C00-10C4F"},[e("Old_Turkic")]],["li",{title:"10F70–10FAF"},[e("Old_Uyghur")]],["li",{title:"A840-A87F"},[e("Phags_Pa")]],["li",{title:"10F30-10F6F"},[e("Sogdian")]],["li",{title:"11A50–11AAF"},[e("Soyombo")]],["li",{title:"0F00-0FFF"},[e("Tibetan")]],["li",{title:"11A00–11A4F"},[e("Zanabazar_Square")]]]]]],["li",[["b",[e("South_Asian_Scripts")]],["ul",[["li",{title:"11700-1174F"},[e("Ahom")]],["li",{title:"0980-09FF"},[e("Bengali_and_Assamese")]],["li",{title:"11C00-11C6F"},[e("Bhaiksuki")]],["li",{title:"11000-1107F"},[e("Brahmi")]],["li",{title:"11100-1114F"},[e("Chakma")]],["li",{title:"0900-097F"},[e("Devanagari"),["ul",[["li",{title:"A8E0-A8FF"},[["i",[e("Devanagari_Extended")]]]],["li",{title:"11B00–11B5F"},[["i",[e("Devanagari_Extended_A")]]]]]]]],["li",{title:"11900–1195F"},[e("Dives_Akuru")]],["li",{title:"11800-1184F"},[e("Dogra")]],["li",{title:"11300-1137F"},[e("Grantha")]],["li",{title:"0A80-0AFF"},[e("Gujarati")]],["li",{title:"11D60-11DAF"},[e("Gunjala_Gondi")]],["li",{title:"0A00-0A7F"},[e("Gurmukhi")]],["li",{title:"16100-1613F"},[e("Gurung_Khema")]],["li",{title:"11080-110CF"},[e("Kaithi")]],["li",{title:"0C80-0CFF"},[e("Kannada")]],["li",{title:"10A00-10A5F"},[e("Kharoshthi")]],["li",{title:"11200-1124F"},[e("Khojki")]],["li",{title:"16D40-16D7F"},[e("Kirat_Rai")]],["li",{title:"112B0-112FF"},[e("Khudawadi")]],["li",{title:"1C00-1C4F"},[e("Lepcha")]],["li",{title:"1900-194F"},[e("Limbu")]],["li",{title:"11150-1117F"},[e("Mahajani")]],["li",{title:"0D00-0D7F"},[e("Malayalam")]],["li",{title:"11D00–11D5F"},[e("Masaram_Gondi")]],["li",{title:"ABC0-ABFF"},[e("Meetei_Mayek"),["ul",[["li",{title:"AAE0-AAFF"},[["i",[e("Meetei_Mayek_Extensions")]]]]]]]],["li",{title:"11600-1165F"},[e("Modi")]],["li",{title:"16A40-16A6F"},[e("Mro")]],["li",{title:"11280-112AF"},[e("Multani")]],["li",{title:"1E4D0–1E4FF"},[e("Nag_Mundari")]],["li",{title:"119A0-119FF"},[e("Nandinagari")]],["li",{title:"11400-1147F"},[e("Newa")]],["li",{title:"1C50-1C7F"},[e("Ol_Chiki")]],["li",{title:"1E5D0-1E5FF"},[e("Ol_Onal")]],["li",{title:"0B00-0B7F"},[e("Oriya")]],["li",{title:"A880-A8DF"},[e("Saurashtra")]],["li",{title:"11180-111DF"},[e("Sharada"),["ul",[["li",{title:"11B60-11B7F"},[["i",[e("Sharada_Supplement")]]]]]]]],["li",{title:"11580-115FF"},[e("Siddham")]],["li",{title:"0D80-0DFF"},[e("Sinhala"),["ul",[["li",{title:"111E0-111FF"},[["i",[e("Sinhala_Archaic_Numbers")]]]]]]]],["li",{title:"110D0-110FF"},[e("Sora_Sompeng")]],["li",{title:"11BC0-11BFF"},[e("Sunuwar")]],["li",{title:"A800-A82F"},[e("Syloti_Nagri")]],["li",{title:"11680-116CF"},[e("Takri")]],["li",{title:"0B80-0BFF"},[e("Tamil"),["ul",[["li",{title:"11FC0-11FFF"},[["i",[e("Tamil_Supplement")]]]]]]]],["li",{title:"0C00-0C7F"},[e("Telugu")]],["li",{title:"0780-07BF"},[e("Thaana")]],["li",{title:"11480-114DF"},[e("Tirhuta")]],["li",{title:"11DB0-11DEF"},[e("Tolong_Siki")]],["li",{title:"1E290–1E2BF"},[e("Toto")]],["li",{title:"11380–113FF"},[e("Tulu_Tigalari")]],["li",{title:"1CD0-1CFF"},[e("Vedic_Extensions")]],["li",{title:"1E2C0-1E2FF"},[e("Wancho")]],["li",{title:"118A0-118FF"},[e("Warang_Citi")]]]]]],["li",[["b",[e("Southeast_Asian_Scripts")]],["ul",[["li",{title:"AA00-AA5F"},[e("Cham")]],["li",{title:"10D00-10D3F"},[e("Hanifi_Rohingya")]],["li",{title:"A900-A92F"},[e("Kayah_Li")]],["li",{title:"1780-17FF"},[e("Khmer"),["ul",[["li",{title:"19E0-19FF"},[["i",[e("Khmer_Symbols")]]]]]]]],["li",{title:"0E80-0EFF"},[e("Lao")]],["li",{title:"1000-109F"},[e("Myanmar"),["ul",[["li",{title:"AA60-AA7F"},[["i",[e("Myanmar_Extended_A")]]]],["li",{title:"A9E0-A9FF"},[["i",[e("Myanmar_Extended_B")]]]],["li",{title:"116D0-116FF"},[["i",[e("Myanmar_Extended_C")]]]]]]]],["li",{title:"1980-19DF"},[e("New_Tai_Lue")]],["li",{title:"1E100-1E14F"},[e("Nyiakeng_Puachue_Hmong")]],["li",{title:"16B00-16B8F"},[e("Pahawh_Hmong")]],["li",{title:"11AC0-11AFF"},[e("Pau_Cin_Hau")]],["li",{title:"1950-197F"},[e("Tai_Le")]],["li",{title:"1A20-1AAF"},[e("Tai_Tham")]],["li",{title:"AA80-AADF"},[e("Tai_Viet")]],["li",{title:"1E6C0-1E6FF"},[e("Tai_Yo")]],["li",{title:"16A70–16ACF"},[e("Tangsa")]],["li",{title:"0E00-0E7F"},[e("Thai")]]]]]],["li",[["b",[e("Indonesian___Philippine_Scripts")]],["ul",[["li",{title:"1B00-1B7F"},[e("Balinese")]],["li",{title:"1BC0-1BFF"},[e("Batak")]],["li",{title:"1A00-1A1F"},[e("Buginese")]],["li",{title:"1740-175F"},[e("Buhid")]],["li",{title:"1720-173F"},[e("Hanunoo")]],["li",{title:"A980-A9DF"},[e("Javanese")]],["li",{title:"11F00–11F5F"},[e("Kawi")]],["li",{title:"11EE0-11EFF"},[e("Makasar")]],["li",{title:"A930-A95F"},[e("Rejang")]],["li",{title:"1B80-1BBF"},[e("Sundanese"),["ul",[["li",{title:"1CC0-1CCF"},[["i",[e("Sundanese_Supplement")]]]]]]]],["li",{title:"1700-171F"},[e("Tagalog")]],["li",{title:"1760-177F"},[e("Tagbanwa")]]]]]],["li",[["b",[e("East_Asian_Scripts")]],["ul",[["li",{title:"3100-312F"},[e("Bopomofo"),["ul",[["li",{title:"31A0-31BF"},[["i",[e("Bopomofo_Extended")]]]]]]]],["li",{title:"4E00-9FFF"},[e("CJK_Unified_Ideographs__Han_"),["ul",[["li",{title:"3400-4DBF"},[["i",[e("CJK_Extension_A")]]]],["li",{title:"20000-2A6DF"},[["i",[e("CJK_Extension_B")]]]],["li",{title:"2A700-2B73F"},[["i",[e("CJK_Extension_C")]]]],["li",{title:"2B740-2B81F"},[["i",[e("CJK_Extension_D")]]]],["li",{title:"2B820-2CEAF"},[["i",[e("CJK_Extension_E")]]]],["li",{title:"2CEB0–2EBEF"},[["i",[e("CJK_Extension_F")]]]],["li",{title:"30000–3134F"},[["i",[e("CJK_Extension_G")]]]],["li",{title:"31350–323AF"},[["i",[e("CJK_Extension_H")]]]],["li",{title:"2EBF0–2EE5F"},[["i",[e("CJK_Extension_I")]]]],["li",{title:"323B0–3347F"},[["i",[e("CJK_Extension_J")]]]],["li",{title:""},[["i",[e("_see_also_Unihan_Database_")]]]]]]]],["li",{title:"F900-FAFF"},[e("CJK_Compatibility_Ideographs"),["ul",[["li",{title:"2F800-2FA1F"},[["i",[e("CJK_Compatibility_Ideographs_Supplement")]]]]]]]],["li",{title:"2F00-2FDF"},[e("CJK_Radicals___Kangxi_Radicals"),["ul",[["li",{title:"2E80-2EFF"},[["i",[e("CJK_Radicals_Supplement")]]]],["li",{title:"31C0-31EF"},[["i",[e("CJK_Strokes")]]]],["li",{title:"2FF0-2FFF"},[["i",[e("Ideographic_Description_Characters")]]]]]]]],["li",{title:"1100-11FF"},[e("Hangul_Jamo"),["ul",[["li",{title:"A960-A97F"},[["i",[e("Hangul_Jamo_Extended_A")]]]],["li",{title:"D7B0-D7FF"},[["i",[e("Hangul_Jamo_Extended_B")]]]],["li",{title:"3130-318F"},[["i",[e("Hangul_Compatibility_Jamo")]]]],["li",{title:"FFA0-FFDC"},[["i",[e("Halfwidth_Jamo")]]]]]]]],["li",{title:"AC00-D7AF"},[e("Hangul_Syllables")]],["li",{title:"3040-309F"},[e("Hiragana")]],["li",{title:"1B100–1B12F"},[e("Kana_Extended_A")]],["li",{title:"1AFF0–1AFFF"},[e("Kana_Extended_B")]],["li",{title:"1B000-1B0FF"},[e("Kana_Supplement")]],["li",{title:"1B130-1B16F"},[e("Small_Kana_Extension")]],["li",{title:"3190-319F"},[e("Kanbun")]],["li",{title:"30A0-30FF"},[e("Katakana"),["ul",[["li",{title:"31F0-31FF"},[["i",[e("Katakana_Phonetic_Extensions")]]]],["li",{title:"FF65-FF9F"},[["i",[e("Halfwidth_Katakana")]]]]]]]],["li",{title:"18B00–18CFF"},[e("Khitan_Small_Script")]],["li",{title:"A4D0-A4FF"},[e("Lisu"),["ul",[["li",{title:"11FB0–11FBF"},[["i",[e("Lisu_Supplement")]]]]]]]],["li",{title:"16F00-16F9F"},[e("Miao")]],["li",{title:"1B170–1B2FF"},[e("Nushu")]],["li",{title:"17000-187FF"},[e("Tangut"),["ul",[["li",{title:"18800-18AFF"},[["i",[e("Tangut_Components")]]]],["li",{title:"18D00–18D7F"},[["i",[e("Tangut_Supplement")]]]],["li",{title:"18D80–18DFF"},[["i",[e("Tangut_Components_Supplement")]]]]]]]],["li",{title:null},[e("Yi"),["ul",[["li",{title:"A000-A48F"},[["i",[e("Yi_Syllables")]]]],["li",{title:"A490-A4CF"},[["i",[e("Yi_Radicals")]]]]]]]]]]]],["li",[["b",[e("American_Scripts")]],["ul",[["li",{title:"13A0-13FF"},[e("Cherokee"),["ul",[["li",{title:"AB70-ABBF"},[["i",[e("Cherokee_Supplement")]]]]]]]],["li",{title:"10400-1044F"},[e("Deseret")]],["li",{title:"104B0-104FF"},[e("Osage")]],["li",{title:"1400-167F"},[e("Unified_Canadian_Aboriginal_Syllabics"),["ul",[["li",{title:"18B0-18FF"},[["i",[e("UCAS_Extended")]]]],["li",{title:"11AB0–11ABF"},[["i",[e("UCAS_Extended_A")]]]]]]]]]]]]]]]],["li",["Symbols and Punctuation",["ul",[["li",[["b",[e("Notational_Systems")]],["ul",[["li",{title:"2800-28FF"},[e("Braille_Patterns")]],["li",{title:"1D100-1D1FF"},[e("Musical_Symbols"),["ul",[["li",{title:"1D200-1D24F"},[["i",[e("Ancient_Greek_Musical_Notation")]]]],["li",{title:"1D000-1D0FF"},[["i",[e("Byzantine_Musical_Symbols")]]]],["li",{title:"1CF00–1CFCF"},[["i",[e("Znamenny_Musical_Notation")]]]]]]]],["li",{title:"1BC00-1BC9F"},[e("Duployan"),["ul",[["li",{title:"1BCA0-1BCAF"},[["i",[e("Shorthand_Format_Controls")]]]]]]]],["li",{title:"1D800-1DAAF"},[e("Sutton_SignWriting")]]]]]],["li",[["b",[e("Punctuation")]],["ul",[["li",{title:"2000-206F"},[e("General_Punctuation"),["ul",[["li",{title:"0021-007F"},[["i",[e("ASCII_Punctuation")]]]],["li",{title:"00A1-00BF"},[["i",[e("Latin_1_Punctuation")]]]],["li",{title:"2E00-2E7F"},[["i",[e("Supplemental_Punctuation")]]]]]]]],["li",{title:"3000-303F"},[e("CJK_Symbols_and_Punctuation"),["ul",[["li",{title:"16FE0-16FFF"},[["i",[e("Ideographic_Symbols_and_Punctuation")]]]]]]]],["li",{title:"FE30-FE4F"},[e("CJK_Compatibility_Forms"),["ul",[["li",{title:"FF00-FFEF"},[["i",[e("Halfwidth_and_Fullwidth_Forms")]]]],["li",{title:"FE50-FE6F"},[["i",[e("Small_Form_Variants")]]]],["li",{title:"FE10-FE1F"},[["i",[e("Vertical_Forms")]]]]]]]]]]]],["li",[["b",[e("Alphanumeric_Symbols")]],["ul",[["li",{title:"2100-214F"},[e("Letterlike_Symbols"),["ul",[["li",{title:"10190-101CF"},[["i",[e("Roman_Symbols")]]]]]]]],["li",{title:"1D400-1D7FF"},[e("Mathematical_Alphanumeric_Symbols")]],["li",{title:"1EE00-1EEFF"},[e("Arabic_Mathematical_Alphabetic_Symbols")]],["li",{title:"2460-24FF"},[e("Enclosed_Alphanumerics"),["ul",[["li",{title:"1F100-1F1FF"},[["i",[e("Enclosed_Alphanumeric_Supplement")]]]]]]]],["li",{title:"3200-32FF"},[e("Enclosed_CJK_Letters_and_Months"),["ul",[["li",{title:"1F200-1F2FF"},[["i",[e("Enclosed_Ideographic_Supplement")]]]]]]]],["li",{title:"3300-33FF"},[e("CJK_Compatibility"),["ul",[["li",{title:"2100-214F"},[["i",[e("Additional_Squared_Symbols")]]]]]]]]]]]],["li",[["b",[e("Technical_Symbols")]],["ul",[["li",{title:"2336-237A"},[["i",[e("APL_symbols")]]]],["li",{title:"2400-243F"},[["i",[e("Control_Pictures")]]]],["li",{title:"2300-23FF"},[["i",[e("Miscellaneous_Technical")]]]],["li",{title:"2440-245F"},[["i",[e("Optical_Character_Recognition__OCR_")]]]]]]]],["li",[["b",[e("Numbers___Digits")]],["ul",[["li",{title:""},[["i",[e("_see_also_specific_scripts_")]]]],["li",{title:"0030-0039"},[e("ASCII_Digits"),["ul",[["li",{title:"FF10-FF19"},[["i",[e("Fullwidth_ASCII_Digits")]]]]]]]],["li",{title:"A830-A83F"},[e("Common_Indic_Number_Forms")]],["li",{title:"102E0-102FF"},[e("Coptic_Epact_Numbers")]],["li",{title:"1D360-1D37F"},[e("Counting_Rod_Numerals")]],["li",{title:"12400-1247F"},[e("Cuneiform_Numbers_and_Punctuation")]],["li",{title:"1EC70-1ECBF"},[e("Indic_Siyaq_Numbers")]],["li",{title:"1D2C0–1D2DF"},[e("Kaktovik_Numerals")]],["li",{title:"1D2E0-1D2FF"},[e("Mayan_Numerals")]],["li",{title:"2150-218F"},[e("Number_Forms")]],["li",{title:"1ED00-1ED4F"},[e("Ottoman_Siyaq_Numbers")]],["li",{title:"10E60-10E7F"},[e("Rumi_Numeral_Symbols")]],["li",{title:"111E0-111FF"},[e("Sinhala_Archaic_Numbers")]],["li",{title:"2070-209F"},[e("Super_and_Subscripts")]]]]]],["li",[["b",[e("Mathematical_Symbols")]],["ul",[["li",{title:"2190-21FF"},[e("Arrows"),["ul",[["li",{title:"27F0-27FF"},[["i",[e("Supplemental_Arrows_A")]]]],["li",{title:"2900-297F"},[["i",[e("Supplemental_Arrows_B")]]]],["li",{title:"1F800-1F8FF"},[["i",[e("Supplemental_Arrows_C")]]]],["li",{title:"2B00-2BFF"},[["i",[e("Additional_Arrows")]]]],["li",{title:"2B00-2BFF"},[["i",[e("Miscellaneous_Symbols_and_Arrows")]]]]]]]],["li",{title:"1D400-1D7FF"},[e("Mathematical_Alphanumeric_Symbols"),["ul",[["li",{title:"1EE00-1EEFF"},[["i",[e("Arabic_Mathematical_Alphabetic_Symbols")]]]],["li",{title:"2100-214F"},[["i",[e("Letterlike_Symbols")]]]]]]]],["li",{title:"2200-22FF"},[e("Mathematical_Operators"),["ul",[["li",{title:""},[["i",[e("Basic_operators__Plus__Factorial__Division__Multiplication")]]]],["li",{title:"2A00-2AFF"},[["i",[e("Supplemental_Mathematical_Operators")]]]],["li",{title:"27C0-27EF"},[["i",[e("Miscellaneous_Mathematical_Symbols_A")]]]],["li",{title:"2980-29FF"},[["i",[e("Miscellaneous_Mathematical_Symbols_B")]]]],["li",{title:"2308-230B"},[["i",[e("Floors_and_Ceilings")]]]],["li",{title:"2061-2064"},[["i",[e("Invisible_Operators")]]]]]]]],["li",{title:"25A0-25FF"},[e("Geometric_Shapes"),["ul",[["li",{title:"2B00-2BFF"},[["i",[e("Additional_Shapes")]]]],["li",{title:"2500-257F"},[["i",[e("Box_Drawing")]]]],["li",{title:"2580-259F"},[["i",[e("Block_Elements")]]]],["li",{title:"1F780-1F7FF"},[["i",[e("Geometric_Shapes_Extended")]]]]]]]]]]]],["li",[["b",[e("Emoji___Pictographs")]],["ul",[["li",{title:"2700-27BF"},[e("Dingbats"),["ul",[["li",{title:"1F650-1F67F"},[["i",[e("Ornamental_Dingbats")]]]]]]]],["li",{title:"1F600-1F64F"},[e("Emoticons")]],["li",{title:"2600-26FF"},[e("Miscellaneous_Symbols")]],["li",{title:"1F300-1F5FF"},[e("Miscellaneous_Symbols_And_Pictographs")]],["li",{title:"1F900-1F9FF"},[e("Supplemental_Symbols_and_Pictographs")]],["li",{title:"1FA70-1FAFF"},[e("Symbols_and_Pictographs_Extended_A")]],["li",{title:"1F680-1F6FF"},[e("Transport_and_Map_Symbols")]]]]]],["li",[["b",[e("Other_Symbols")]],["ul",[["li",{title:"1F700-1F77F"},[e("Alchemical_Symbols")]],["li",{title:"10190-101CF"},[e("Ancient_Symbols")]],["li",{title:"20A0-20CF"},[e("Currency_Symbols"),["ul",[["li",{title:""},[["i",[e("_see_also_specific_scripts_")]]]],["li",{title:"0024"},[["i",[e("Dollar_Sign__Euro_Sign")]]]],["li",{title:"00A2-00A5"},[["i",[e("Yen__Pound_and_Cent")]]]],["li",{title:"FF04"},[["i",[e("Fullwidth_Currency_Symbols")]]]],["li",{title:"FB50"},[["i",[e("Rial_Sign")]]]]]]]],["li",{title:null},[e("Game_Symbols"),["ul",[["li",{title:"2654-265F, 26C0-26C3"},[["i",[e("Chess__Checkers_Draughts")]]]],["li",{title:"1FA00-1FA6F"},[["i",[e("Chess_Symbols")]]]],["li",{title:"1F030-1F09F"},[["i",[e("Domino_Tiles")]]]],["li",{title:"2616-2617"},[["i",[e("Japanese_Chess")]]]],["li",{title:"1F000-1F02F"},[["i",[e("Mahjong_Tiles")]]]],["li",{title:"1F0A0-1F0FF"},[["i",[e("Playing_Cards")]]]],["li",{title:"2660-2667"},[["i",[e("Card_suits")]]]]]]]],["li",{title:"2B00-2BFF"},[e("Miscellaneous_Symbols_and_Arrows"),["ul",[["li",{title:"1CEC0-1CEFF"},[["i",[e("Miscellaneous_Symbols_Supplement")]]]]]]]],["li",{title:"1FB00–1FBFF"},[e("Symbols_for_Legacy_Computing"),["ul",[["li",{title:"1CC00-1CEBF"},[["i",[e("Symbols_for_Legacy_Computing_Supplement")]]]]]]]],["li",{title:null},[e("Yijing_Symbols"),["ul",[["li",{title:"268A-268F, 2630-2637"},[["i",[e("Yijing_Mono___Di__and_Trigrams")]]]],["li",{title:"4DC0-4DFF"},[["i",[e("Yijing_Hexagram_Symbols")]]]],["li",{title:"1D300-1D35F"},[["i",[e("Tai_Xuan_Jing_Symbols")]]]]]]]]]]]],["li",[["b",[e("Specials")]],["ul",[["li",{title:"0000-001F"},[["i",[e("Controls__tC0__tC1")]]]],["li",{title:"2000-206F"},[["i",[e("Layout_Controls")]]]],["li",{title:"2061-2064"},[["i",[e("Invisible_Operators")]]]],["li",{title:"FFF0-FFFF"},[e("Specials")]],["li",{title:"E0000-E007F"},[e("Tags")]],["li",{title:"FE00-FE0F"},[e("Variation_Selectors"),["ul",[["li",{title:"E0100-E01EF"},[["i",[e("Variation_Selectors_Supplement")]]]]]]]]]]]],["li",[["b",[e("Private_Use")]],["ul",[["li",{title:"E000-F8FF"},[e("Private_Use_Area")]],["li",{title:"F0000-FFFFD"},[e("Supplementary_Private_Use_Area_A")]],["li",{title:"100000-10FFFD"},[e("Supplementary_Private_Use_Area_B")]]]]]],["li",[["b",[e("Surrogates")]],["ul",[["li",{title:"D800-DBFF"},[e("High_Surrogates")]],["li",{title:"DC00-DFFF"},[e("Low_Surrogates")]]]]]],["li",[["b",[e("Noncharacters_in_Charts")]],["ul",[["li",{title:null},[e("Noncharacters_in_blocks"),["ul",[["li",{title:"FDD0-FDEF"},[["i",[e("Range_in_Arabic_Presentation_Forms_A")]]]],["li",{title:"FFFE-FFFF "},[["i",[e("Range_in_Specials")]]]]]]]],["li",{title:null},[e("Noncharacters_at_end_of____"),["ul",[["li",{title:""},[["i",[e("BMP__Plane_1__Plane_2__Plane_3__Plane_4__Plane_5__Plane_6__Plane_7__Plane_8__Plane_9__Plane_10__Plane_11__Plane_12__Plane_13__Plane_14__Plane_15__Plane_16")]]]]]]]]]]]]]]]]]]}async function Gn({namespace:e}){var t;await(t=e,new Promise(e=>{const n=indexedDB.deleteDatabase(t);n.addEventListener("success",()=>{e()}),n.addEventListener("error",()=>{e()}),n.addEventListener("blocked",()=>{e()})}));const n=new Dt({version:1}),i=(await(async e=>{const t=await fetch(e);return await t.text()})("/download/UCD/UnicodeData.txt")).trim(),a=i.split("\n").map(e=>e.split(";"));await n.connect({updateUnicodeData:a})}function Wn(e,{before:t,after:n,favicon:i,canvas:a,image:r=!0,acceptErrors:o}={}){return e=Array.isArray(e)?e:[e],Promise.all(e.map(e=>function(e){let s,l={};Array.isArray(e)?[s,l={}]=e:s=e;let{favicon:c=i}=l;const{before:u=t,after:d=n,canvas:p=a,image:h=r}=l;function f(){u?u.before(b):d?d.after(b):document.head.append(b)}const b=document.createElement("link");return new Promise((e,t)=>{let n=t;if(o&&(n="function"==typeof o?n=>{o({error:n,stylesheetURL:s,options:l,resolve:e,reject:t})}:e),s.endsWith(".css")?c=!1:s.endsWith(".ico")&&(c=!0),c){if(b.rel="shortcut icon",b.type="image/x-icon",!1===h)return b.href=s,f(),void e(b);const n=document.createElement("canvas");n.width=16,n.height=16;const i=n.getContext("2d"),a=document.createElement("img");return a.addEventListener("error",e=>{t(e)}),a.addEventListener("load",()=>{if(!i)throw new Error("Canvas context could not be found");i.drawImage(a,0,0),b.href=p?n.toDataURL("image/x-icon"):s,f(),e(b)}),void(a.src=s)}b.rel="stylesheet",b.type="text/css",b.href=s,f(),b.addEventListener("error",e=>{n(e)}),b.addEventListener("load",()=>{e(b)})})}(e)))}
|
|
3
|
+
var e,t,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function r(n,i,a,r){var l=i&&i.prototype instanceof s?i:s,c=Object.create(l.prototype);return b(c,"_invoke",function(n,i,a){var r,s,l,c=0,u=a||[],d=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,n){return r=t,s=0,l=e,p.n=n,o}};function h(n,i){for(s=n,l=i,t=0;!d&&c&&!a&&t<u.length;t++){var a,r=u[t],h=p.p,f=r[2];n>3?(a=f===i)&&(l=r[(s=r[4])?5:(s=3,3)],r[4]=r[5]=e):r[0]<=h&&((a=n<2&&h<r[1])?(s=0,p.v=i,p.n=r[1]):h<f&&(a=n<3||r[0]>i||i>f)&&(r[4]=n,r[5]=i,p.n=f,s=0))}if(a||n>1)return o;throw d=!0,i}return function(a,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&h(u,f),s=u,l=f;(t=s<2?e:l)||!d;){r||(s?s<3?(s>1&&(p.n=-1),h(s,l)):p.n=l:p.v=l);try{if(c=2,r){if(s||(a="next"),t=r[a]){if(!(t=t.call(r,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=r.return)&&t.call(r),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);r=e}else if((t=(d=p.n<0)?l:n.call(i,p))!==o)break}catch(t){r=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,r),!0),c}var o={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][i]?t(t([][i]())):(b(t={},i,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,b(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,b(d,"constructor",c),b(c,"constructor",l),l.displayName="GeneratorFunction",b(c,a,"GeneratorFunction"),b(d),b(d,a,"Generator"),b(d,i,function(){return this}),b(d,"toString",function(){return"[object Generator]"}),(f=function(){return{w:r,m:p}})()}function b(e,t,n,i){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}b=function(e,t,n,i){function r(t,n){b(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!i,configurable:!i,writable:!i}):e[t]=n:(r("next",0),r("throw",1),r("return",2))},b(e,t,n,i)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,a,r,o,s=[],l=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=r.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||F(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function y(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function F(e,n){if(e){if("string"==typeof e)return t(e,n);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}function A(){A=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,i,a){var r=RegExp(e,i);return t.set(r,a||t.get(e)),m(r,n.prototype)}function i(e,n){var i=t.get(n);return Object.keys(i).reduce(function(t,n){var a=i[n];if("number"==typeof a)t[n]=e[a];else{for(var r=0;void 0===e[a[r]]&&r+1<a.length;)r++;t[n]=e[a[r]]}return t},Object.create(null))}return u(n,RegExp),n.prototype.exec=function(t){var n=e.exec.call(this,t);if(n){n.groups=i(n,this);var a=n.indices;a&&(a.groups=i(a,this))}return n},n.prototype[Symbol.replace]=function(n,a){if("string"==typeof a){var r=t.get(this);return e[Symbol.replace].call(this,n,a.replace(/\$<([^>]+)(>|$)/g,function(e,t,n){if(""===n)return e;var i=r[t];return Array.isArray(i)?"$"+i.join("$"):"number"==typeof i?"$"+i:""}))}if("function"==typeof a){var o=this;return e[Symbol.replace].call(this,n,function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(i(e,o)),a.apply(this,e)})}return e[Symbol.replace].call(this,n,a)},A.apply(this,arguments)}var x,C=globalThis.jsonExtra,k=function(e){return e.replaceAll(/\\+/g,function(e){return e.slice(0,e.length/2)})},E=function(e){return C.parse("{"+(e||"").replace(/^\{/,"").replace(/\}$/,"")+"}")},S=function(e,t,n){var i,a=n.onMatch,r=n.extra,o=n.betweenMatches,s=n.afterMatch,l=n.escapeAtOne;if(r&&(o=r,s=r,l=r),!o||!s)throw new Error("You must have `extra` or `betweenMatches` and `afterMatch` arguments.");for(var c=0;null!==(i=e.exec(t));){var u=_(i,2),d=u[0],p=u[1],h=e.lastIndex,f=h-d.length;f>c&&o(t.slice(c,f)),l&&p.length%2?(c=h,l(d)):(a.apply(void 0,y(i)),c=h)}c!==t.length&&s(t.slice(c))},D="undefined"!=typeof fetch?fetch:null,T=function(){return D},$="undefined"!=typeof document?document:null,O=function(){return $};var N,B,P,U,M=function(e,t,n){return t.sort(new Intl.Collator(e,n).compare)},j=function(e,t,n){return new Intl.ListFormat(e,n).format(t)},L=function(e,t,n,i,a){if("function"!=typeof n)return function(e,t,n,i){return M(e,t,i),j(e,t,n)}(e,t,n,i);M(e,t,a);var r,o=(r=Date.now(),"undefined"!=typeof performance&&"function"==typeof performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replaceAll(/[xy]/g,function(e){var t=Math.trunc((r+16*Math.random())%16);return r=Math.floor(r/16),("x"===e?t:3&t|8).toString(16)})),s=y(t).map(function(e,t){return"<<".concat(o).concat(t,">>")}),l=[],c=function(e){l.push(e)};S(new RegExp(String.raw(x||(x=g(["<<","(d)>>"],["<<","(\\d)>>"])),o),"gv"),j(e,s,i),{betweenMatches:c,afterMatch:c,onMatch:function(e,i){c(n(t[Number(i)],Number(i)))}});var u=O().createDocumentFragment();return u.append.apply(u,l),u},I=function(e){var t=e.object;if(Array.isArray(t)){if("function"==typeof t[1]){var n=_(t,4);return{value:n[0],callback:n[1],options:n[2],extraOpts:n[3]}}var i=_(t,3);return{value:i[0],options:i[1],extraOpts:i[2]}}return{value:t}},R=function(e){var t,n=e.value,i=e.arg,a=e.locale;if("string"==typeof n||n&&"object"===w(n)&&"nodeType"in n)return n;var r=function(e){var n=e.type,a=e.options,r=void 0===a?t:a,o=e.checkArgOptions,s=void 0!==o&&o;if("string"==typeof i){var l=_(i.split("|",3),3),c=l[0],u=l[1],d=l[2];"DATE"===c&&(c="DATETIME"),c===n&&(u?s&&!d||(r=h(h({},r),E(s&&d?d:u))):r={})}return r},o=!1;if(n&&"object"===w(n)&&!Array.isArray(n)){var s=Object.keys(n)[0];if(["number","date","datetime","dateRange","datetimeRange","relative","region","language","script","currency","list","plural"].includes(s)){var l,c,u=n[s],d=I({object:u});switch(n=d.value,t=d.options,l=d.extraOpts,c=d.callback,s){case"date":case"datetime":o=!0;break;case"dateRange":case"datetimeRange":var p=new Intl.DateTimeFormat(a,r({type:"DATERANGE",options:l}));return p.formatRange.apply(p,y([n,t].map(function(e){return"number"==typeof e?new Date(e):e})));case"region":case"language":case"script":case"currency":return new Intl.DisplayNames(a,h(h({},r({type:s.toUpperCase()})),{},{type:s})).of(n);case"relative":var f=[t,l];return l=f[0],t=f[1],new Intl.RelativeTimeFormat(a,r({type:"RELATIVE"})).format(n,l);case"list":return c?L(a,n,c,r({type:"LIST"}),r({type:"LIST",options:l,checkArgOptions:!0})):L(a,n,r({type:"LIST"}),r({type:"LIST",options:l,checkArgOptions:!0}))}}}if(n&&("number"==typeof n&&(o||/^DATE(?:TIME)(?:\||$)/.test(i))&&(n=new Date(n)),"object"===w(n)&&"getTime"in n&&"function"==typeof n.getTime))return new Intl.DateTimeFormat(a,r({type:"DATETIME"})).format(n);if(Array.isArray(n)){var b,m=n[2];return(b=new Intl.DateTimeFormat(a,r({type:"DATERANGE",options:m}))).formatRange.apply(b,y(n.slice(0,2).map(function(e){return"number"==typeof e?new Date(e):e})))}if("number"==typeof n)return new Intl.NumberFormat(a,r({type:"NUMBER"})).format(n);throw new TypeError("Unknown formatter")},J=s(function e(){r(this,e)}),K=function(e){var t=e.key,n=e.body,i=e.type,a=e.messageStyle,r=X({messageStyle:void 0===a?"richNested":a})({body:n},t);if(!r)throw new Error("Key value not found for ".concat(i," key: (").concat(t,")"));return r.value},V=function(e){function t(e){var n;return r(this,t),(n=a(this,t)).locals=e,n}return u(t,e),s(t,[{key:"getSubstitution",value:function(e){return K({key:e.slice(1),body:this.locals,type:"local"})}},{key:"isMatch",value:function(e){var t=e.slice(1).split("."),n=this.locals;return this.constructor.isMatchingKey(e)&&t.every(function(e){var t=Object.hasOwn(n,e);return n=n[e],t})}}],[{key:"isMatchingKey",value:function(e){return e.startsWith("-")}}])}(J),H=function(e){function t(e){var n;return r(this,t),(n=a(this,t)).substitutions=e,n}return u(t,e),s(t,[{key:"isMatch",value:function(e){return this.constructor.isMatchingKey(e)&&Object.hasOwn(this.substitutions,e)}}],[{key:"isMatchingKey",value:function(e){return/^[0-9A-Z_a-z]/.test(e)}}])}(J),G=function(e){function t(e,n){var i,o=n.substitutions;return r(this,t),(i=a(this,t)).switches=e,i.substitutions=o,i}return u(t,e),s(t,[{key:"getSubstitution",value:function(e,t){var n,i,a=t.locale,r=t.usedKeys,o=t.arg,s=t.missingSuppliedFormatters,l=this.constructor.getKey(e).slice(1),c=_(this.getMatch(l),3),u=c[0],d=c[1],p=c[2];if(r.push(p),u&&u.includes("|")){var f=_(u.split("|",3),3);n=f[1],i=f[2]}if(!d)return s({key:e,formatter:this}),String.raw(N||(N=g(["{"],["\\{"])))+e+"}";var b=function(e,t){var n=E(i);return new Intl.NumberFormat(a,h(h({},t),n)).format(e)},m=function(e,t){var n=E(i);return new Intl.PluralRules(a,h(h({},t),n)).select(e)},y=this.substitutions[p],v=y;if("number"==typeof y)switch(n){case"NUMBER":v=b(y);break;case"PLURAL":v=m(y);break;default:v=new Intl.PluralRules(a).select(y)}else if(y&&"object"===w(y)){var F=Object.keys(y)[0];if(["number","plural"].includes(F)){var A=I({object:y[F]}),x=A.value,C=A.options;if(n||(n=F.toUpperCase()),!(F.toUpperCase()===n))throw new TypeError('Expecting type "'.concat(n.toLowerCase(),'"; instead found "').concat(F,'".'));switch(n){case"NUMBER":v=b(x,C);break;case"PLURAL":v=m(x,C)}}}var k="richNested",S=function(e){return e.replaceAll("\\","\\\\").replaceAll(".",String.raw(B||(B=g(["."],["\\."]))))};try{return K({messageStyle:k,key:v?S(v):o,body:d,type:"switch"})}catch(e){try{return K({messageStyle:k,key:"*"+S(v),body:d,type:"switch"})}catch(e){var D=Object.keys(d).find(function(e){return e.startsWith("*")});if(!D)throw new Error("No defaults found for switch ".concat(l),{cause:e});return K({messageStyle:k,key:S(D),body:d,type:"switch"})}}}},{key:"isMatch",value:function(e){return Boolean(e&&this.constructor.isMatchingKey(e)&&this.getMatch(e.slice(1)).length)}},{key:"getMatch",value:function(e){var t=this,n=e.split("."),i=n.reduce(function(i,a,r){if(Array.isArray(i))return i;if(r<n.length-1){if(!Object.hasOwn(i,a))throw new Error('Switch key "'.concat(a,'" not found (from "~').concat(e,'")'));return i[a]}var o=Object.entries(i).find(function(e){var n=_(e,1)[0];return a===t.constructor.getKey(n)});return o?[].concat(y(o),[a]):[]},this.switches);return i}}],[{key:"isMatchingKey",value:function(e){return e.startsWith("~")}},{key:"getKey",value:function(e){var t=e.match(/^(?:[\0-\{\}-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);return t&&t[0]}}])}(J),W=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Reached end of values array.";if(!Array.isArray(e))throw new TypeError("The `values` argument to `promiseChainForValues` must be an array.");if("function"!=typeof t)throw new TypeError("The `errBack` argument to `promiseChainForValues` must be a function.");return i(f().m(function i(){var a,r,o,s,l;return f().w(function(i){for(;;)switch(i.p=i.n){case 0:r=Promise.reject(new Error("Intentionally reject so as to begin checking chain"));case 1:return s=e.shift(),i.p=2,i.n=3,r;case 3:return a=i.v,i.a(3,7);case 4:if(i.p=4,l=i.v,!o){i.n=5;break}throw new Error(n,{cause:l});case 5:e.length||(o=!0),r=t(s);case 6:i.n=1;break;case 7:return i.a(2,a)}},i,null,[[2,4]])}))()},z=function(e,t){if("string"!=typeof e)throw new TypeError("`defaultLocaleResolver` expects a string `localesBasePath`.");if("string"!=typeof t)throw new TypeError("`defaultLocaleResolver` expects a string `locale`.");if(/[\.\/\\]/.test(t))throw new TypeError("Locales cannot use file-reserved characters, `.`, `/` or `\\`");return"".concat(e.replace(/\/$/,""),"/_locales/").concat(t,"/messages.json")},q=function(e){var t=e.string,n=e.dom,i=e.usedKeys,a=e.substitutions,r=e.allSubstitutions,o=e.locale,s=e.locals,l=e.switches,c=e.maximumLocalNestingDepth,u=void 0===c?3:c,d=e.missingSuppliedFormatters,p=e.checkExtraSuppliedFormatters;if("number"!=typeof u)throw new TypeError("`maximumLocalNestingDepth` must be a number.");var f=function(){Object.entries(a).forEach(function(e){var t=_(e,2),n=t[0];"function"==typeof t[1]&&i.push(n)})};f();var b=new V(s),m=new H(a),g=new G(l,{substitutions:a}),v=/(\\*)\{((?:(?:[\0-\|~-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])|\\\})*?)(?:(\|)((?:[\0-\|~-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*))?\}/g;r&&(r=Array.isArray(r)?r:[r]);var F=function(e){var t,n=e.key,a=e.arg,s=e.substs;return b.constructor.isMatchingKey(n)?t=b.getSubstitution(n):g.constructor.isMatchingKey(n)?t=g.getSubstitution(n,{locale:o,usedKeys:i,arg:a,missingSuppliedFormatters:d}):"function"==typeof(t=s[n])&&(t=t({arg:a,key:n})),r?t=r.reduce(function(e,t){return t({value:e,arg:a,key:n,locale:o})},t):a&&/^(?:NUMBER|DATE(?:TIME|RANGE|TIMERANGE)?|REGION|LANGUAGE|SCRIPT|CURRENCY|RELATIVE|LIST)(?:\||$)/.test(a)&&(t=R({value:t,arg:a,locale:o})),t},A=1,x=function(e){var t=e.substitution,n=e.ky,i=e.arg,r=e.processSubsts,o=t;if("string"==typeof t&&t.includes("{")){if(A++>u)throw new TypeError("Too much recursion in local variables.");if(b.constructor.isMatchingKey(n)){var s,l=a;i&&(s=E(i),l=h(h({},a),s)),o=r({str:t,substs:l,formatter:b}),s&&p({substitutions:s})}else g.constructor.isMatchingKey(n)&&(o=r({str:t}))}return o};if(!n){var C=!1,D=function(e){var t=e.str,n=e.substs,r=void 0===n?a:n,o=e.formatter,s=void 0===o?m:o;return t.replaceAll(v,function(e,t,n,a,o){if(t.length%2)return e;if(d({key:n,formatter:s}))return e;var l=F({key:n,arg:o,substs:r});return l=x({substitution:l,ky:n,arg:o,processSubsts:D}),C||(C=null!==l&&"object"===w(l)&&"nodeType"in l),i.push(n),t+l})},T=D({str:t});if(!C)return p({substitutions:a}),i.length=0,f(),k(T);i.length=0,f()}A=1;var $=function(e){var t=e.str,n=e.substs,r=void 0===n?a:n,o=e.formatter,s=void 0===o?m:o,l=[],c=new RegExp(v,"gv"),u=function(){l.push.apply(l,arguments)};return S(c,t,{extra:u,onMatch:function(e,t,n,a,o){if(d({key:n,formatter:s}))u(e);else{t.length&&u(t);var l=F({key:n,arg:o,substs:r});l=x({substitution:l,ky:n,arg:o,processSubsts:$}),Array.isArray(l)?u.apply(void 0,y(l)):l&&"object"===w(l)&&"nodeType"in l?u(l.cloneNode(!0)):u(l)}i.push(n)}}),l},O=$({str:t});return p({substitutions:a}),i.length=0,O.map(function(e){return"string"==typeof e?k(e):e})},Y=function(e,t){if("string"==typeof t&&Array.isArray(e)&&e.every(function(e){return"string"==typeof e})&&t.endsWith("Nested"))return e.map(function(e){return e.replaceAll(A(/(\\+)/g,{backslashes:1}),String.raw(P||(P=g(["$<backslashes>"],["\\$<backslashes>"])))).replaceAll(".",String.raw(U||(U=g(["."],["\\."]))))}).join(".");if("string"!=typeof e)throw new TypeError("`key` is expected to be a string (or array of strings for nested style)");return e},X=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).messageStyle,t=void 0===e?"richNested":e;return"function"==typeof t?t:"richNested"===t?function(e,t){var n=e&&"object"===w(e)&&e.body,i=[],a=function(e){i.length||(i[0]=""),i[i.length-1]+=e};S(/(\\*)\./g,t,{extra:a,onMatch:function(e,t){a(t),i.push("")}});var r=i.map(function(e){return k(e)}),o=!1,s=n;return r.some(function(e,t,n){return!s||"object"!==w(s)||(t===n.length-1&&Object.hasOwn(s,e)&&null!==s[e]&&"object"===w(s[e])&&"message"in s[e]&&"string"==typeof s[e].message&&(o={value:s[e].message,info:s[e]}),s=s[e],!1)}),o}:"rich"===t?function(e,t){var n=e&&"object"===w(e)&&e.body;return!!(n&&"object"===w(n)&&Object.hasOwn(n,t)&&null!==n[t]&&"object"===w(n[t])&&"message"in n[t]&&"string"==typeof n[t].message)&&{value:n[t].message,info:n[t]}}:"plain"===t?function(e,t){var n=e&&"object"===w(e)&&e.body;return!(!n||"object"!==w(n)||!Object.hasOwn(n,t)||null===n[t]||"string"!=typeof n[t])&&{value:n[t]}}:"plainNested"===t?function(e,t){var n=e&&"object"===w(e)&&e.body;if(n&&"object"===w(n)){var i=t.split(/(?<!\\)\./).reduce(function(e,t){return e&&"object"===w(e)&&e[t]?e[t]:null},n);if(i&&"string"==typeof i)return{value:i}}return!1}:function(){throw new TypeError("Unknown `messageStyle` ".concat(t))}()},Z=function(e){if(!e.includes("-"))throw new Error("Locale not available");return e.replace(/-(?:[\0-,\.-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*$/,"")},Q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.locales,n=e.defaultLocales,i=e.localeResolver,a=e.localesBasePath,r=e.localeMatcher;return ee({locales:t,defaultLocales:n,localeResolver:i,localesBasePath:a,localeMatcher:r})},ee=function(){var e=i(f().m(function e(t){var n,a,r,o,s,l,c,u,d,p,h,b,m,_;return f().w(function(e){for(;;)switch(e.n){case 0:if(_=function(){return _=i(f().m(function e(t){var n,i,a,r,o,s;return f().w(function(e){for(;;)switch(e.p=e.n){case 0:if("string"==typeof t){e.n=1;break}throw new TypeError("Non-string locale type");case 1:if("string"==typeof(n=l(u,t))){e.n=2;break}throw new TypeError("`localeResolver` expected to resolve to (URL) string.");case 2:return e.p=2,i=T(),e.n=3,b?i(n,{method:"HEAD"}):i(n);case 3:if(404!==(a=e.v).status){e.n=4;break}throw new Error("Trying again");case 4:if(!b){e.n=5;break}return e.a(2,t);case 5:return e.n=6,a.json();case 6:return r=e.v,e.a(2,{locale:t,strings:r});case 7:if(e.p=7,"SyntaxError"!==(s=e.v).name){e.n=8;break}throw s;case 8:return e.n=9,p(t);case 9:return o=e.v,e.a(2,m(o))}},e,null,[[2,7]])})),_.apply(this,arguments)},m=function(e){return _.apply(this,arguments)},n=t.locales,a=void 0===n?"undefined"!=typeof intlDomLocale?[intlDomLocale]:"undefined"==typeof navigator?[]:navigator.languages:n,r=t.defaultLocales,o=void 0===r?["en-US"]:r,s=t.localeResolver,l=void 0===s?z:s,c=t.localesBasePath,u=void 0===c?".":c,d=t.localeMatcher,p=void 0===d?"lookup":d,h=t.headOnly,b=void 0!==h&&h,"lookup"!==p){e.n=1;break}p=Z,e.n=2;break;case 1:if("function"==typeof p){e.n=2;break}throw new TypeError('`localeMatcher` must be "lookup" or a function!');case 2:return e.n=3,W([].concat(y(a),y(o)),m,"No matching locale found for "+[].concat(y(a),y(o)).join(", "));case 3:return e.a(2,e.v)}},e)}));return function(t){return e.apply(this,arguments)}}(),te=function(e){var t=e.strings,n=e.resolvedLocale,i=e.messageStyle,a=void 0===i?"richNested":i,r=e.allSubstitutions,o=e.insertNodes,s=e.keyCheckerConverter,l=void 0===s?Y:s,c=e.defaults,u=e.substitutions,d=e.dom,p=void 0!==d&&d,f=e.forceNodeReturn,b=void 0!==f&&f,m=e.throwOnMissingSuppliedFormatters,_=void 0===m||m,g=e.throwOnExtraSuppliedFormatters,v=void 0===g||g;if(!t||"object"!==w(t))throw new TypeError("Locale strings must be an object!");var F=X({messageStyle:a}),A=function(e,i){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},d=s.allSubstitutions,f=void 0===d?r:d,m=s.defaults,g=void 0===m?c:m,A=s.dom,x=void 0===A?p:A,C=s.forceNodeReturn,k=void 0===C?b:C,E=s.throwOnMissingSuppliedFormatters,S=void 0===E?_:E,D=s.throwOnExtraSuppliedFormatters,T=void 0===D?v:D;e=l(e,a);var $=F(t,e),N=function(e){var t,n=e.message,i=e.defaults,a=e.messageStyle,r=e.messageForKey,o=void 0===r?X({messageStyle:a}):r,s=e.key;if("string"==typeof n)t=n;else if(!1===i||null==i)t=!1;else{if(!i||"object"!==w(i))throw new TypeError("Default locale strings must resolve to `false`, nullish, or an object!");var l=o(i,s);t=l?l.value:l}if(!1===t)throw new Error("Key value not found for key: (".concat(s,")"));return t}({message:!(!$||"string"!=typeof $.value)&&$.value,defaults:g,messageForKey:F,key:e});return function(e){var t=e.string,n=e.locale,i=e.locals,a=e.switches,r=e.allSubstitutions,o=void 0===r?[R]:r,s=e.insertNodes,l=void 0===s?q:s,c=e.substitutions,u=void 0!==c&&c,d=e.dom,p=void 0!==d&&d,h=e.forceNodeReturn,f=void 0!==h&&h,b=e.throwOnMissingSuppliedFormatters,m=void 0===b||b,_=e.throwOnExtraSuppliedFormatters,g=void 0===_||_;if("string"!=typeof t)throw new TypeError("An options object with a `string` property set to a string must be provided for `getDOMForLocaleString`.");var v=function(e){var t=O();return f?t.createTextNode(e):e};if(!u&&!o&&!m)return v(t);u||(u={});var w=[],F=l({string:t,dom:p,usedKeys:w,substitutions:u,allSubstitutions:o,locale:n,locals:i,switches:a,missingSuppliedFormatters:function(e){var t=e.key,n=e.formatter;if(!n.isMatch(t)&&n.constructor.isMatchingKey(t)){if(m)throw new Error("Missing formatting key: ".concat(t));return!0}return!1},checkExtraSuppliedFormatters:function(e){var t=e.substitutions;g&&Object.keys(t).forEach(function(e){if(!w.includes(e))throw new Error("Extra formatting key: ".concat(e))})}});if("string"==typeof F)return v(F);var A=O().createDocumentFragment();return A.append.apply(A,y(F)),A}({string:N,locals:t.head&&t.head.locals,switches:t.head&&t.head.switches,locale:n,allSubstitutions:f,insertNodes:o,substitutions:h(h({},u),i),dom:x,forceNodeReturn:k,throwOnMissingSuppliedFormatters:S,throwOnExtraSuppliedFormatters:T})};return A.resolvedLocale=n,A.strings=t,A.sort=function(e,t){return M(n,e,t)},A.sortList=function(e,t,i,a){return L(n,e,t,i,a)},A.list=function(e,t){return j(n,e,t)},A},ne=function(){var e=i(f().m(function e(){var t,n,i,a,r,o,s,l,c,u,d,p,h,b,m,_,g,y,v,w,F,A,x=arguments;return f().w(function(e){for(;;)switch(e.n){case 0:return n=(t=x.length>0&&void 0!==x[0]?x[0]:{}).locales,i=t.defaultLocales,a=t.localeStringFinder,r=void 0===a?Q:a,o=t.localesBasePath,s=t.localeResolver,l=t.localeMatcher,c=t.messageStyle,u=t.allSubstitutions,d=t.insertNodes,p=t.keyCheckerConverter,h=t.defaults,b=t.substitutions,t.maximumLocalNestingDepth,m=t.dom,_=t.forceNodeReturn,g=t.throwOnMissingSuppliedFormatters,y=t.throwOnExtraSuppliedFormatters,e.n=1,r({locales:n,defaultLocales:i,localeResolver:s,localesBasePath:o,localeMatcher:l});case 1:if(v=e.v,w=v.strings,F=v.locale,h||!i){e.n=3;break}return e.n=2,r({locales:i,defaultLocales:[],localeResolver:s,localesBasePath:o,localeMatcher:l});case 2:A=e.v,h=A.strings,A.locale===F&&(h=null);case 3:return e.a(2,te({strings:w,resolvedLocale:F,messageStyle:c,allSubstitutions:u,insertNodes:d,keyCheckerConverter:p,defaults:h,substitutions:b,dom:m,forceNodeReturn:_,throwOnMissingSuppliedFormatters:g,throwOnExtraSuppliedFormatters:y}))}},e)}));return function(){return e.apply(this,arguments)}}();var ie,ae,re=(ie=function(e,t){const n=31,i=[];function a(){return i.pop()||{context:0,elements:null,element_array:null}}function r(e){i.push(e)}const o=[];function s(e){o.push(e)}const l=t;l.escape=function(e){let t="";if(!e)return e;for(let n=0;n<e.length;n++){const i=e[n];'"'!=i&&"\\"!=i&&"`"!=i&&"'"!=i||(t+="\\"),t+=i}return t},l.begin=function(e,t){const i={name:null,value_type:0,string:"",contains:null},l={line:1,col:1};let c,u=0,d=0,p=!0,h=!1,f=null,b=[],m=0,_=0,g=!1,y=!1,v=!1,w=!1,F=!1,A=null,x=!1,C=!1,k=!1,E=!1,S=!1,D=!1,T=!1,$=0,O=0,N=!1;const B={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last||(this.first=t),this.last=t},pop(){const e=this.last;return(this.last=e.prior)||(this.first=null),e.next=this.saved,this.saved=e,e.node}},P={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last?this.last.next=t:this.first=t,this.last=t},shift(){const e=this.first;return e?(this.first=e.next,this.first||(this.last=null),e.next=this.saved,this.saved=e,e.node):null},unshift(e){const t=this.saved;this.saved=t.next,t.node=e,t.next=this.first,t.prior=null,this.first||(this.last=t),this.first=t}};function U(e){throw new Error(`${e} at ${u} [${l.line}:${l.col}]`)}return{finalError(){if(0!==_)switch(_){case 1:return U("Comment began at end of document");case 2:console.log("Warning: '//' comment without end of line ended document");break;case 3:return U("Open comment '/*' is missing close at end of document");case 4:return U("Incomplete '/* *' close at end of document")}x&&U("Incomplete string")},value(){this.finalError();const e=f;return f=void 0,e},reset(){d=0,p=!0,P.last&&(P.last.next=P.save),P.save=P.first,P.first=P.last=null,B.last&&(B.last.next=B.save),B.save=P.first,B.first=B.last=null,b=null,c=void 0,m=0,i.value_type=0,i.name=null,i.string="",l.line=1,l.col=1,h=!1,_=0,N=!1,x=!1,k=!1,E=!1},write(n){let i;if(void 0!==n&&"string"!=typeof n&&(n=String(n)),!p)throw new Error("Parser is in an error state, please reset.");for(i=this._write(n,!1);i>0&&(this.finalError(),"function"==typeof t&&function e(n,i){const a=n[i];if(a&&"object"==typeof a)for(const t in a)if(Object.prototype.hasOwnProperty.call(a,t)){const n=e(a,t);void 0!==n?a[t]=n:delete a[t]}return t.call(n,i,a)}({"":f},""),e(f),f=void 0,!(i<2));i=this._write());i&&this.finalError()},_write(e,t){let U,M,j=0;function L(e,t){throw new Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${u} (near '${M.substr(u>4?u-4:0,u>4?3:u-1)}[${String.fromCodePoint(t)}]${M.substr(u,10)}') [${l.line}:${l.col}]`)}function I(){i.value_type=0,i.string=""}function R(){switch(i.value_type){case 5:b.push((h?-1:1)*Number(i.string));break;case 4:b.push(i.string);break;case 2:b.push(!0);break;case 3:b.push(!1);break;case 8:case 9:b.push(NaN);break;case 10:b.push(-1/0);break;case 11:b.push(1/0);break;case 1:b.push(null);break;case-1:b.push(void 0);break;case 13:b.push(void 0),delete b[b.length-1];break;case 6:case 7:b.push(i.contains)}}function J(){switch(i.value_type){case 5:c[i.name]=(h?-1:1)*Number(i.string);break;case 4:c[i.name]=i.string;break;case 2:c[i.name]=!0;break;case 3:c[i.name]=!1;break;case 8:case 9:c[i.name]=NaN;break;case 10:c[i.name]=-1/0;break;case 11:c[i.name]=1/0;break;case 1:c[i.name]=null;break;case-1:c[i.name]=void 0;break;case 6:case 7:c[i.name]=i.contains}}function K(e){let t=0;for(;0==t&&u<M.length;){let n=M.charAt(u);const a=M.codePointAt(u++);if(a>=65536&&(n+=M.charAt(u),u++),l.col++,a==e)k?(T?L("Incomplete hexidecimal sequence",a):S?L("Incomplete long unicode sequence",a):D&&L("Incomplete unicode sequence",a),E?(E=!1,t=1):i.string+=n,k=!1):t=1;else if(k){if(S){if(125==a){i.string+=String.fromCodePoint($),S=!1,D=!1,k=!1;continue}$*=16,a>=48&&a<=57?$+=a-48:a>=65&&a<=70?$+=a-65+10:a>=97&&a<=102?$+=a-97+10:L("(escaped character, parsing hex of \\u)",a);continue}if(T||D){if(0===O&&123===a){S=!0;continue}$*=16,a>=48&&a<=57?$+=a-48:a>=65&&a<=70?$+=a-65+10:a>=97&&a<=102?$+=a-97+10:L(D?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",a),O++,D?4==O&&(i.string+=String.fromCodePoint($),D=!1,k=!1):2==O&&(i.string+=String.fromCodePoint($),T=!1,k=!1);continue}switch(a){case 13:E=!0,l.col=1;continue;case 8232:case 8233:l.col=1;case 10:E?E=!1:l.col=1,l.line++;break;case 116:i.string+="\t";break;case 98:i.string+="\b";break;case 48:i.string+="\0";break;case 110:i.string+="\n";break;case 114:i.string+="\r";break;case 102:i.string+="\f";break;case 118:i.string+="\v";break;case 120:T=!0,O=0,$=0;continue;case 117:D=!0,O=0,$=0;continue;default:i.string+=n}k=!1}else 92===a?k=!0:(E&&(E=!1,l.line++,l.col=2),i.string+=n)}return t}function V(){let e;for(;(e=u)<M.length;){const n=M.charAt(e),a=M.codePointAt(u++);if(a>=65536&&L("fault while parsing number;",a),95!=a)if(l.col++,a>=48&&a<=57)v&&(F=!0),i.string+=n;else if(45==a||43==a)0==i.string.length||v&&!w&&!F?(i.string+=n,w=!0):(p=!1,L("fault while parsing number;",a));else if(46==a)y||g||v?(p=!1,L("fault while parsing number;",a)):(i.string+=n,y=!0);else if(g&&(a>=95&&a<=102||a>=65&&a<=70))i.string+=n;else if(120==a||98==a||111==a||88==a||66==a||79==a)g||"0"!=i.string?(p=!1,L("fault while parsing number;",a)):(g=!0,i.string+=n);else{if(101!=a&&69!=a){if(32==a||160==a||13==a||10==a||9==a||65279==a||44==a||125==a||93==a||58==a)break;t&&(p=!1,L("fault while parsing number;",a));break}v?(p=!1,L("fault while parsing number;",a)):(i.string+=n,v=!0)}}u=e,t||u!=M.length?(C=!1,i.value_type=5,0==m&&(N=!0)):C=!0}if(!p)return-1;if(e&&e.length)U=function(){let e=o.pop();return e?e.n=0:e={buf:null,n:0},e}(),U.buf=e,P.push(U);else if(C){if(C=!1,i.value_type=5,0!=m)throw new Error("context stack is not empty at flush");N=!0,j=1}for(;p&&(U=P.shift());){for(u=U.n,M=U.buf,x&&K(A)>0&&(x=!1,i.value_type=4),C&&V();!N&&p&&u<M.length;){let e=M.charAt(u);const t=M.codePointAt(u++);if(t>=65536&&(e+=M.charAt(u),u++),l.col++,_)1==_?42==t?_=3:47!=t?L("fault while parsing;",t):_=2:2==_?10!=t&&13!=t||(_=0):3==_?42==t&&(_=4):_=47==t?0:3;else{switch(t){case 47:_=1;break;case 123:(29==d||30==d||3==m&&0==d)&&L("fault while parsing; getting field name unexpected ",t);{const e=a();i.value_type=6;const t={};0==m&&(f=c=t),e.context=m,e.elements=c,e.element_array=b,e.name=i.name,c=t,B.push(e),I(),m=3}break;case 91:if(3!=m&&29!=d&&30!=d||L("Fault while parsing; while getting field name unexpected",t),0==i.value_type||-1==i.value_type){const e=a();i.value_type=7;const t=[];0==m?f=b=t:4==m&&(c[i.name]=t),e.context=m,e.elements=c,e.element_array=b,e.name=i.name,b=t,B.push(e),I(),m=1}else L("Unexpected array open after previous value",t);break;case 58:3==m?(d=0,i.name=i.string,i.string="",m=4,i.value_type=0):L(1==m?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",t);break;case 125:if(d==n&&(d=0),3==m){i.value_type=6,i.contains=c;const e=B.pop();i.name=e.name,m=e.context,c=e.elements,b=e.element_array,r(e),0==m&&(N=!0)}else if(4==m){0!=i.value_type?J():L("Fault while parsing field value, close with no value",t),i.value_type=6,i.contains=c;const e=B.pop();i.name=e.name,m=e.context,c=e.elements,b=e.element_array,r(e),0==m&&(N=!0)}else L("Fault while parsing; unexpected",t);h=!1;break;case 93:if(d==n&&(d=0),1==m){0!=i.value_type&&R(),i.value_type=7,i.contains=b;{const e=B.pop();i.name=e.name,m=e.context,c=e.elements,b=e.element_array,r(e)}0==m&&(N=!0)}else L(`bad context ${m}; fault while parsing`,t);h=!1;break;case 44:d==n&&(d=0),1==m?(0==i.value_type&&(i.value_type=13),R(),I()):4==m?(m=3,0!=i.value_type?(J(),I()):L("Unexpected comma after object field name",t)):(p=!1,L("bad context; excessive commas while parsing;",t)),h=!1;break;default:if(3==m)switch(t){case 96:case 34:case 39:0==d?(0!=i.value_type&&L("String begin after previous value",t),K(t)?i.value_type=4:(A=t,x=!0)):L("fault while parsing; quote not at start of field name",t);break;case 10:l.line++,l.col=1;case 13:case 32:case 160:case 9:case 65279:d==n?d=0:29==d&&(d=30);break;default:30==d&&(p=!1,L("fault while parsing; character unexpected",t)),0==d&&(d=29),i.string+=e}else switch(t){case 96:case 34:case 39:0===i.value_type?K(t)?(i.value_type=4,d=n):(A=t,x=!0):L("String unexpected",t);break;case 10:l.line++,l.col=1;case 32:case 160:case 9:case 13:case 65279:if(d==n){d=0,0==m&&(N=!0);break}0!==d&&(p=!1,L("fault parsing whitespace",t));break;case 116:0==d?d=1:27==d?d=28:(p=!1,L("fault parsing",t));break;case 114:1==d?d=2:(p=!1,L("fault parsing",t));break;case 117:2==d?d=3:9==d?d=10:0==d?d=12:(p=!1,L("fault parsing",t));break;case 101:3==d?(i.value_type=2,d=n):8==d?(i.value_type=3,d=n):14==d?d=15:18==d?d=19:(p=!1,L("fault parsing",t));break;case 110:0==d?d=9:12==d?d=13:17==d?d=18:22==d?d=23:25==d?d=26:(p=!1,L("fault parsing",t));break;case 100:13==d?d=14:19==d?(i.value_type=-1,d=n):(p=!1,L("fault parsing",t));break;case 105:16==d?d=17:24==d?d=25:26==d?d=27:(p=!1,L("fault parsing",t));break;case 108:10==d?d=11:11==d?(i.value_type=1,d=n):6==d?d=7:(p=!1,L("fault parsing",t));break;case 102:0==d?d=5:15==d?d=16:23==d?d=24:(p=!1,L("fault parsing",t));break;case 97:5==d?d=6:20==d?d=21:(p=!1,L("fault parsing",t));break;case 115:7==d?d=8:(p=!1,L("fault parsing",t));break;case 73:0==d?d=22:(p=!1,L("fault parsing",t));break;case 78:0==d?d=20:21==d?(i.value_type=h?8:9,h=!1,d=n):(p=!1,L("fault parsing",t));break;case 121:28==d?(i.value_type=h?10:11,h=!1,d=n):(p=!1,L("fault parsing",t));break;case 45:0==d?h=!h:(p=!1,L("fault parsing",t));break;case 43:0!==d&&(p=!1,L("fault parsing",t));break;default:t>=48&&t<=57||43==t||46==t||45==t?(g=!1,v=!1,w=!1,F=!1,y=!1,i.string=e,U.n=u,V()):(p=!1,L("fault parsing",t))}}if(N){d==n&&(d=0);break}}}if(u==M.length?(s(U),x||C||3==m?j=0:0!=m||0==i.value_type&&!f||(N=!0,j=1)):(U.n=u,P.unshift(U),j=2),N)break}if(N&&0!=i.value_type){switch(i.value_type){case 5:f=(h?-1:1)*Number(i.string);break;case 4:f=i.string;break;case 2:f=!0;break;case 3:f=!1;break;case 1:f=null;break;case-1:f=void 0;break;case 9:case 8:f=NaN;break;case 11:f=1/0;break;case 10:f=-1/0;break;case 6:case 7:f=i.contains}h=!1,i.string="",i.value_type=0}return N=!1,j}}};const c=[Object.freeze(l.begin())];let u=0;l.parse=function(e,t){const n=u++;c.length<=n&&c.push(Object.freeze(l.begin()));const i=c[n];if("string"!=typeof e&&(e=String(e)),i.reset(),i._write(e,!0)>0){const e=i.value();return"function"==typeof t&&function e(n,i){const a=n[i];if(a&&"object"==typeof a)for(const t in a)if(Object.prototype.hasOwnProperty.call(a,t)){const n=e(a,t);void 0!==n?a[t]=n:delete a[t]}return t.call(n,i,a)}({"":e},""),u--,e}i.finalError()},l.stringify=JSON.stringify,l.stringifierActive=null,l.stringifier=function(){const e={true:!0,false:!1,null:null,NaN:NaN,Infinity:1/0,undefined:void 0};let t='"',n=!1;return{stringify(e,t,a,r){return function(e,t,a,r,o){if(void 0===t)return"undefined";if(null===t)return"null";let s,c,u;const d=typeof r,p=typeof a;s="",c="";const h=l.stringifierActive;if(l.stringifierActive=e,o||(o=""),"number"===d)for(u=0;u<r;u+=1)c+=" ";else"string"===d&&(c=r);const f=a;if(a&&"function"!==p&&("object"!==p||"number"!=typeof a.length))throw new Error("JSON6.stringify unknown replacer type.");const b=m(o,{[o]:t});return l.stringifierActive=h,b;function m(e,t){let a,r,o,l;const u=s;let d,p=t[e];switch("string"==typeof p&&(p=i(p)),null!=p&&"object"==typeof p&&"function"==typeof toJSOX&&(s+=c,s=u),"function"==typeof f&&(p=f.call(t,e,p)),typeof p){case"string":return p;case"number":return""+p;case"boolean":return String(p);case"object":if(!p)return"null";if(s+=c,d=[],f&&"object"==typeof f)for(l=f.length,a=0;a<l;a+=1)"string"==typeof f[a]&&(r=f[a],o=m(r,p),o&&d.push(i(r)+(s?": ":":")+o));else{const e=[];for(r in p)if((!n||Object.prototype.propertyIsEnumerable.call(p,r))&&Object.prototype.hasOwnProperty.call(p,r)){let t;for(t=0;t<e.length;t++)if(e[t]>r){e.splice(t,0,r);break}t===e.length&&e.push(r)}for(let t=0;t<e.length;t++)r=e[t],Object.prototype.hasOwnProperty.call(p,r)&&(o=m(r,p),o&&d.push(i(r)+(s?": ":":")+o))}return o=0===d.length?"{}":s?"{\n"+s+d.join(",\n"+s)+"\n"+u+"}":"{"+d.join(",")+"}",s=u,o}}}(this,e,t,a,r)},setQuote(e){t=e},get ignoreNonEnumerable(){return n},set ignoreNonEnumerable(e){n=e}};function i(n){return"number"!=typeof n||isNaN(n)?n.length?n in e||/([0-9-])/.test(n[0])||/((\n|\r|\t)|[ #{}()<>!+\-*/.:,])/.test(n)?t+l.escape(n)+t:n:t+t:["'",n.toString(),"'"].join()}},l.stringify=function(e,t,n){return l.stringifier().stringify(e,t,n)},l.version="1.1.1"},ie(ae={exports:{}},ae.exports),ae.exports),oe=re;const se=["$plugins","$Map"],le=Symbol("validateJamilih.failFast"),ce=["$state","$mode"],ue=["#","$text","$document","$DOCTYPE","$attribute"],de=["$on","$symbol","$define","$data","$custom","$shadow","$attribute","$text","$document","$DOCTYPE"],pe=["string","number","boolean"],he=["function","symbol","bigint"],fe={"!":1,"&":1,"#":1,"#x":1,"?":2,"![":1};function be(e){return Boolean(e&&"object"==typeof e&&"number"==typeof e.nodeType)}function me(e){return/^\[object (?:Weak)?Map\]$/u.test(Object.prototype.toString.call(e))}function _e(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function ge(e){return e.startsWith("$_")}function ye(e){return null==e}let ve;"undefined"!=typeof window&&window&&(ve=window);let we="undefined"!=typeof document&&document||ve?.document;const Fe=new WeakSet,Ae="http://www.w3.org/1999/xhtml",xe=/-([a-z])/gu,Ce=new Map([["maxlength","maxLength"],["minlength","minLength"],["readonly","readOnly"]]),ke=new Set(["checked","defaultChecked","defaultSelected","disabled","indeterminate","open","readOnly","selected","accessKey","async","autocapitalize","autofocus","contentEditable","defaultValue","defer","draggable","formnovalidate","hidden","innerText","inputMode","ismap","multiple","novalidate","pattern","required","spellcheck","translate","value","willvalidate"]),Ee=new Set(["autocomplete","dir","integrity","lang","max","min","minLength","maxLength","title"]),Se=e=>{if(!we)throw new Error("No document object");return we.querySelector(e)},De=e=>{if(!we)throw new Error("No document object");return[...we.querySelectorAll(e)]};function Te(e,t){const n=e.nodeName?.toLowerCase();"template"!==n?e.append(t):e.content.append(t)}function $e(e,t,n,i){e.addEventListener(t,n,Boolean(i))}function Oe(e,t,n){if(!we)throw new Error("No document defined");if(!/^\w+$/u.test(n))throw new TypeError(`Bad ${e} reference; with prefix "${t}" and arg "${n}"`);const i=we.createElement("div");return i.innerHTML="&"+t+n+";",we.createTextNode(i.innerHTML)}function Ne(e,t){return t.toUpperCase()}function Be(e){return null==e}function Pe(e){return Boolean(e&&"object"==typeof e&&"nodeType"in e&&1===e.nodeType)}function Ue(e){if("string"==typeof e||void 0===e)return"string";const t=typeof e;if("object"===t){if(null===e)return"null";if(Array.isArray(e))return"array";if("nodeType"in e)switch(e.nodeType){case 1:return"element";case 7:return"processing-instruction";case 9:return"document";case 11:return"fragment";default:return"non-container node"}}return t}function Me(e,t){return e.append(t),e}function je(e){return e.replaceAll("$","$$$$")}function Le(e){return function(...t){const n=t[0];let i=e[""]?' xmlns="'+je(e[""])+'"':n;for(const[t,n]of Object.entries(e))""!==t&&(i+=" xmlns:"+t+'="'+je(n)+'"');return i}}function Ie(e){return function(t,n){const i=e.childNodes[n],a=Array.isArray(t)?He(...t):He(t);i.replaceWith(a)}}function Re(e){return function(t){if("string"==typeof t||"number"==typeof t)throw new TypeError("Unexpected text string/number in the head");Array.isArray(t)?e.append(He(...t)):"object"==typeof t&&"nodeType"in t?e.append(t):e.append(He(t))}}function Je(e){return function(t){"string"==typeof t||"number"==typeof t?e.append(String(t)):Array.isArray(t)?e.append(He(...t)):"object"==typeof t&&"nodeType"in t?e.append(t):e.append(He(t))}}function Ke(e,t,n,i,a){if(i.$state=a??"attributeValue",n&&"object"==typeof n){const a=Ve(i,Object.keys(n)[0]);if(a)return a.set({opts:i,element:e,attribute:{name:t,value:n}})}return n}function Ve(e,t){return e.$plugins&&e.$plugins.find(e=>e.name===t)}const He=function e(...t){if(!ve)throw new Error("No window object");if(!we)throw new Error("No document object");let n=we.createDocumentFragment();function i(i){if(!we)throw new Error("No document object");for(let[s,l]of Object.entries(i))if(s=Ce.has(s)?String(Ce.get(s)):s,Ee.has(s))l=Ke(n,s,l,o),Be(l)||(n[s]=l);else if(ke.has(s))l=Ke(n,s,l,o),n[s]=l;else switch(s){case"#":o.$state="fragmentChildren",a[a.length]=e(o,l);break;case"$shadow":{const{open:t,closed:i}=l;let{content:a,template:r}=l;const o=n.attachShadow({mode:i||!1===t?"closed":"open"});r?(Array.isArray(r)?r="object"===Ue(r[0])?e("template",...r,we.body):e("template",r,we.body):"string"==typeof r&&(r=Se(r)),e(r.content.cloneNode(!0),o)):(a||!0!==t&&(a=t||"boolean"==typeof i?a:i),a&&"boolean"!=typeof a&&(Array.isArray(a)?e({"#":a},o):e(a,o)));break}case"$state":if(!Fe.has(i))throw new TypeError(`\`$state\` is set internally by Jamilih and may not be supplied; args: ${JSON.stringify(t)}`);break;case"$mode":throw new TypeError(`\`$mode\` is reserved for future use and not yet implemented; args: ${JSON.stringify(t)}`);case"is":case"xmlns":break;case"$custom":if(null!==l&&("object"==typeof l||"function"==typeof l)&&Object.prototype.propertyIsEnumerable.call(l,"__proto__"))throw new TypeError("`$custom` may not define `__proto__`");Object.assign(n,l);break;case"$define":{if(!("localName"in n))throw new Error("Element expected for `$define`");const e=n.localName.toLowerCase(),a=!e.includes("-");let r;if(a&&(r=n.getAttribute("is"),!r)){if(!Object.hasOwn(i,"is"))throw new TypeError(`Expected \`is\` with \`$define\` on built-in; args: ${JSON.stringify(t)}`);i.is=Ke(n,"is",i.is,o),n.setAttribute("is",i.is),({is:r}=i)}const s=a?r:e;if(window.customElements.get(s))break;const c=t=>{if(!we)throw new Error("No document object");const n="object"==typeof d&&"string"==typeof d.extends?we.createElement(d.extends).constructor:a?we.createElement(e).constructor:window.HTMLElement;return t?class extends n{constructor(){super(),t.call(this)}}:class extends n{}};let u,d,p;const h=l;Array.isArray(h)?h.length<=2?([u]=h,d=h[1],"string"==typeof d?d={extends:d}:d&&!Object.hasOwn(d,"extends")&&(p=d),"object"==typeof u&&(p=u,u=c())):([u,p,d]=h,"string"==typeof d&&(d={extends:d})):"function"==typeof h?u=h:(p=h,u=c()),u.toString().startsWith("class")||(u=c(u)),!d&&a&&(d={extends:e}),p&&Object.entries(p).forEach(([e,t])=>{Reflect.set(u.prototype,e,t)}),window.customElements.define(s,u,"object"==typeof d?d:void 0);break}case"$symbol":{if(!Pe(n))throw new TypeError("Element expected for `$symbol`");const e=n,[t,i]=l;if("function"==typeof i){const a=i.bind(e);"string"==typeof t?n[Symbol.for(t)]=a:n[t]=a}else{const a=i;a.elem=e,"string"==typeof t?n[Symbol.for(t)]=a:n[t]=a}break}case"$data":d(l);break;case"$attribute":{const e=l,t=3===e.length?we.createAttributeNS(e[0],e[1]):we.createAttribute(e[0]);t.value=e.at(-1),a[a.length]=t;break}case"$text":{const e=we.createTextNode(l);a[a.length]=e;break}case"$document":{if(!l)throw new Error("Bad attribute value");const t=we.implementation.createHTMLDocument(),n=l;if(n.childNodes){const e=n.childNodes.length;for(;Object.hasOwn(t.childNodes,e);){t.childNodes[e].remove()}n.childNodes.forEach(Ie(t))}else{if(n.$DOCTYPE){const i={$DOCTYPE:n.$DOCTYPE},a=e(i);t.firstChild?.replaceWith(a)}const i=t.querySelector("html"),a=i?.querySelector("head"),r=i?.querySelector("body");if(n.title||n.head){const e=we.createElement("meta");e.setAttribute("charset","utf-8"),a?.append(e),n.title&&(t.title=n.title),a&&n.head&&n.head.forEach(Re(a))}r&&n.body&&n.body.forEach(Je(r))}if(n.xmlDeclaration){const{version:e,encoding:i,standalone:a}=n.xmlDeclaration,r=`${e?` version="${e}"`:""}${i?` encoding="${i}"`:""}${a?' standalone="yes"':""}`.slice(1),o=we.createProcessingInstruction("xml",r);t.insertBefore(o,t.firstChild)}a[a.length]=t;break}case"$DOCTYPE":{const e=l,t=we.implementation.createDocumentType(e.name,e.publicId||"",e.systemId||"");a[a.length]=t;break}case"$on":{const e=n;for(let[n,i]of Object.entries(l||{})){if("function"==typeof i&&(i=[i,!1]),"function"!=typeof i[0])throw new TypeError(`Expect a function for \`$on\`; args: ${JSON.stringify(t)}`);$e(e,n,i[0],i[1])}break}case"className":case"class":l=Ke(n,s,l,o),Be(l)||(n.className=l);break;case"dataset":{const e=(t,i)=>{let a="";const r=""!==i;Object.keys(t).forEach(o=>{const s=t[o];if(a=i+(r?o.replaceAll(xe,Ne).replace(/^([a-z])/u,Ne):o.replaceAll(xe,Ne)),null===s||"object"!=typeof s)return Be(s)||(n.dataset[a]=s),void(a=i);e(s,a)})};e(l,"");break}case"innerHTML":Be(l)||(n.innerHTML=l);break;case"htmlFor":case"for":if("label"===r){l=Ke(n,s,l,o),Be(l)||(n.htmlFor=l);break}l=Ke(n,s,l,o),n.setAttribute(s,l);break;default:{if(s.startsWith("on")){l=Ke(n,s,l,o),n[s]=l;break}if("style"===s){if(l=Ke(n,s,l,o),Be(l))break;if("object"==typeof l){for(const[e,t]of Object.entries(l))Be(t)||("float"===e?(n.style.cssFloat=t,n.style.styleFloat=t):n.style[e.replaceAll(xe,Ne)]=t);break}n.setAttribute(s,l);break}const e=s,t=Ve(o,e);if(t){t.set({opts:o,element:a[0],attribute:{name:e,value:l}});break}if(s.startsWith("$"))break;l=Ke(n,s,l,o),n.setAttribute(s,l);break}}}const a=[];let r,o,s=!1,l=0;if("object"===Ue(t[0])&&Object.keys(t[0]).some(e=>se.includes(e))){if(o=t[0],!Fe.has(o)){if(Object.hasOwn(o,"$mode"))throw new TypeError(`\`$mode\` is reserved for future use and not yet implemented; args: ${JSON.stringify(t)}`);if(Object.hasOwn(o,"$state"))throw new TypeError(`\`$state\` is set internally by Jamilih and may not be supplied; args: ${JSON.stringify(t)}`);if(Object.keys(o).some(e=>!e.startsWith("$")))throw new TypeError(`Attributes may not be supplied before an element; args: ${JSON.stringify(t)}`);Fe.add(o)}if(void 0===o.$state&&(s=!0,o.$state="root"),Array.isArray(o.$Map)&&(o.$Map={root:o.$Map}),"$plugins"in o){if(!Array.isArray(o.$plugins))throw new TypeError(`\`$plugins\` must be an array; args: ${JSON.stringify(t)}`);o.$plugins.forEach(e=>{if(!e||"object"!=typeof e)throw new TypeError(`Plugin must be an object; args: ${JSON.stringify(t)}`);if(!e.name||!e.name.startsWith("$_"))throw new TypeError(`Plugin object name must be present and begin with \`$_\`; args: ${JSON.stringify(t)}`);if("function"!=typeof e.set)throw new TypeError(`Plugin object must have a \`set\` method; args: ${JSON.stringify(t)}`)})}l=1}else{o={$state:void 0},Fe.add(o);const e=t[0];if("object"===Ue(t[0])&&!Fe.has(e)){if(Object.hasOwn(e,"$mode"))throw new TypeError(`\`$mode\` is reserved for future use and not yet implemented; args: ${JSON.stringify(t)}`);if(Object.hasOwn(e,"$state"))throw new TypeError(`\`$state\` is set internally by Jamilih and may not be supplied; args: ${JSON.stringify(t)}`);const n=Object.keys(e);if(!n.some(e=>["#","$text","$document","$DOCTYPE","$attribute"].includes(e))){if(!n.every(e=>e.startsWith("$")))throw new TypeError(`Attributes may not be supplied before an element; args: ${JSON.stringify(t)}`);l=1}}}const c=t.length,u=o.$Map&&o.$Map.root,d=e=>{let t,i;const a=u;if(!0===e)[t,i]=a;else if(Array.isArray(e)){if("string"==typeof e[0])return void e.forEach(e=>{d(o.$Map[e])});t=e[0]||a[0],i=e[1]||a[1]}else/^\[object (?:Weak)?Map\]$/u.test([].toString.call(e))?(t=e,i=a[1]):(t=a[0],i=e);t.set(n,i)};for(let s=l;s<c;s++){let l=t[s];const u=Ue(l);switch(u){case"null":if(s===c-1)return a.length<=1?a[0]:a.reduce(Me,we.createDocumentFragment());throw new TypeError(`\`null\` values not allowed except as final Jamilih argument; index ${s} on args: ${JSON.stringify(t)}`);case"string":switch(l){case"!":a[a.length]=we.createComment(t[++s]);break;case"?":{l=t[++s];let e=t[++s];const n=e;if(n&&"object"==typeof n){const t=[];for(const[e,i]of Object.entries(n))t.push(e+'="'+i.replaceAll('"',""")+'"');e=t.join(" ")}try{a[a.length]=we.createProcessingInstruction(l,e)}catch(t){a[a.length]=we.createComment("?"+l+" "+e+"?")}break}case"&":a[a.length]=Oe("entity","",t[++s]);break;case"#":a[a.length]=Oe("decimal",l,String(t[++s]));break;case"#x":a[a.length]=Oe("hexadecimal",l,t[++s]);break;case"![":try{a[a.length]=we.createCDATASection(t[++s])}catch(e){a[a.length]=we.createTextNode(t[s])}break;case"":a[a.length]=n=we.createDocumentFragment(),o.$state="fragment";break;default:{r=l;const e=t[s+1];if(e&&"object"===Ue(e)&&e.is){const{is:t}=e;n=we.createElementNS?we.createElementNS(Ae,r,{is:t}):we.createElement(r,{is:t})}else n=we.createElementNS?we.createElementNS(Ae,r):we.createElement(r);o.$state="element",a[a.length]=n;break}}break;case"object":{if(!l||"object"!=typeof l)throw new Error("Null should not reach here");const e=l;if("xmlns"in e){const t=e,i=t.xmlns&&"object"==typeof t.xmlns?Le(t.xmlns):' xmlns="'+je(t.xmlns)+'"';n=a[a.length-1]=(new ve.DOMParser).parseFromString((new ve.XMLSerializer).serializeToString(n).replace(' xmlns="'+je(Ae)+'"',i),"application/xml").documentElement,o.$state="element"}i(e);break}case"processing-instruction":case"document":case"fragment":case"element":if(0===s&&(n=l,o.$state="element"),s===c-1||s===c-2&&null===t[s+1]){const e=a.length;for(let t=0;t<e;t++)Te(l,a[t])}else a[a.length]=l;break;case"array":{const i=l,a=i.length,r=e=>new TypeError(`Bad children (parent array: ${JSON.stringify(t)}; index ${e} of child: ${JSON.stringify(i)})`);for(let t=0;t<a;t++){const a=i[t],s=typeof a;if(null===a||Be(a))throw r(t);switch(s){case"string":case"number":case"boolean":Te(n,we.createTextNode(String(a)));break;default:if("object"!=typeof a)throw r(t);if(Array.isArray(a)){const i=typeof a[0];if(0===a.length||"string"!==i&&"object"!==i||null===a[0])throw r(t);o.$state="children";const s=[o,...a];Te(n,e(...s))}else if("#"in a)o.$state="fragmentChildren",Te(n,e(o,a["#"]));else{let e;if(!("nodeType"in a)){e=Ke(n,null,a,o,"children");const t=void 0!==e&&e!==a,i=Object.keys(a);if(!t&&i.length>0&&i.every(e=>e.startsWith("$")))break}Te(n,e||a)}}}break}default:throw new TypeError(`Unexpected type: ${u}; arg: ${l}; index ${s} on args: ${JSON.stringify(t)}`)}}const p=a[0]||n;return s&&o.$Map&&o.$Map.root&&d(!0),p};class Ge extends Error{constructor(e,t){super(e),this.code=0,this.name=t}}const We=function(e,{stringOutput:t=!1,reportInvalidState:n=!0,stripWhitespace:i=!1}={}){if(!ve)throw new Error("No window object set");"string"==typeof e&&(e=(new ve.DOMParser).parseFromString(e,"text/html"));const a=[];let r=a,o=0;function s(e){if(!n)return;const t=new Ge(e,"INVALID_STATE_ERR");throw t.code=11,t}function l(e){r[o]=e,o++}function c(){l([]),r=r[o-1],o=0}function u(e,t){r=r[o-1][e],o=0,t&&(r=r[t])}return function e(t,n){const a="nodeType"in t?t.nodeType:null;if(!a)throw new TypeError("Not an XML type");if(5===a)return void l(["&",t.nodeName]);n={...n};const d=t.nodeValue;let p,h;function f(){p=r,h=o}function b(){r=p,o=h,o++}switch([2,3,4,7,8].includes(a)&&d&&!/^([\u{9}\u{A}\u{D}\u{20}-\u{D7FF}\u{E000}-\u{FFFD}]|[\uD800-\uDBFF][\uDC00-\uDFFF])*$/u.test(d)&&s("Node has bad XML character value"),a){case 1:{const i=t;f();const a=i.nodeName.toLowerCase();c(),l(a);const r={};let o=!1;n[i.prefix||""]!==i.namespaceURI&&(n[i.prefix||""]=i.namespaceURI,i.prefix?r["xmlns:"+i.prefix]=i.namespaceURI:i.namespaceURI?r.xmlns=i.namespaceURI:r.xmlns=null,o=!0),i.attributes.length?l([...i.attributes].reduce(function(e,t){return e[t.name]=t.value,e},r)):o&&l(r);const{childNodes:s}=i;s.length&&(c(),[...s].forEach(function(t){e(t,n)})),b();break}case 2:{const e=t;l({$attribute:[e.namespaceURI,e.name,e.value]});break}case 3:{const e=t;if(!e.nodeValue)throw new Error("Unexpected null comment value");if(i&&/^\s+$/u.test(e.nodeValue))return void l("");l(e.nodeValue);break}case 4:{const e=t;e.nodeValue?.includes("]]>")&&s("CDATA cannot end with closing ]]>"),l(["![",e.nodeValue]);break}case 7:{const e=t;/^xml$/iu.test(e.target)&&s('Processing instructions cannot be "xml".'),e.target.includes("?>")&&s("Processing instruction targets cannot include ?>"),e.target.includes(":")&&s('The processing instruction target cannot include ":"'),e.data.includes("?>")&&s("Processing instruction data cannot include ?>"),l(["?",e.target,e.data]);break}case 8:{const e=t;if(!e.nodeValue)throw new Error("Unexpected null comment value");(e.nodeValue.includes("--")||e.nodeValue.length&&e.nodeValue.lastIndexOf("-")===e.nodeValue.length-1)&&s("Comments cannot include --"),l(["!",e.nodeValue]);break}case 9:{const i=t;f();l({$document:{childNodes:[]}}),u("$document","childNodes");const{childNodes:a}=i;a.length||s("Documents must have a child node"),[...a].forEach(function(t){e(t,n)}),b();break}case 10:{const e=t;f();const n={$DOCTYPE:{name:e.name}};/^(\u{20}|\u{D}|\u{A}|[a-zA-Z0-9]|[-'()+,./:=?;!*#@$_%])*$/u.test(e.publicId)||s("A publicId must have valid characters."),function(e,t){t.systemId.includes('"')&&t.systemId.includes("'")&&s("systemId cannot have both single and double quotes.");const{publicId:n,systemId:i}=t;i&&(e.systemId=i),n&&(e.publicId=n)}(n.$DOCTYPE,e),l(n),b();break}case 11:{const i=t;f(),l({"#":[]}),u("#");const{childNodes:a}=i;[...a].forEach(function(t){e(t,n)}),b();break}default:throw new TypeError("Not an XML type")}}(e,{}),t?JSON.stringify(a[0]):a[0]};He.toJML=We;He.toJMLString=function(e,t){return We(e,Object.assign(t||{},{stringOutput:!0}))};He.toDOM=function(...e){return He(...e)};const ze=function(...e){const t=He(...e);switch(t.nodeType){case 1:return t.outerHTML;case 2:return`${t.name}="${t.value.replaceAll('"',""")}"`;case 3:{const e=t.nodeValue;if(!e)throw new TypeError("Unexpected null Text node");return e}case 7:{const e=t;return`<?${e.target} ${e.data}?>`}case 9:case 11:return[...t.childNodes].map(e=>ze(e)).join("");case 10:{const e=t;return`<!DOCTYPE ${e.name}${e.publicId?` PUBLIC "${e.publicId}" "${e.systemId}"`:e.systemId?` SYSTEM "${e.systemId}"`:""}>`}default:throw new Error("Unexpected node type")}};He.toHTML=ze;He.toDOMString=function(...e){return ze(...e)};const qe=function(...e){if(!ve)throw new Error("No window object set");const t=He(...e);return(new ve.XMLSerializer).serializeToString(t)};He.toXML=qe;He.toXMLDOMString=function(...e){return qe(...e)};class Ye extends Map{get(e){const t="string"==typeof e?Se(e):e;return super.get.call(this,t)}set(e,t){const n="string"==typeof e?Se(e):e;return super.set.call(this,n,t),this}invoke(e,t,...n){const i="string"==typeof e?Se(e):e;return this.get(i)[t](i,...n)}}class Xe extends WeakMap{get(e){const t="string"==typeof e?Se(e):e;if(!t)throw new Error("Can't find the element");return super.get.call(this,t)}set(e,t){const n="string"==typeof e?Se(e):e;if(!n)throw new Error("Can't find the element");return super.set.call(this,n,t),this}invoke(e,t,...n){const i="string"==typeof e?Se(e):e;if(!i)throw new Error("Can't find the element");return this.get(i)[t](i,...n)}}He.Map=Ye,He.WeakMap=Xe,He.weak=function(e,...t){const n=new Xe;return[n,He({$Map:[n,e]},...t)]},He.strong=function(e,...t){const n=new Ye;return[n,He({$Map:[n,e]},...t)]},He.symbol=He.sym=He.for=function(e,t){return("string"==typeof e?Se(e):e)["symbol"==typeof t?t:Symbol.for(t)]},He.command=function(e,t,n,...i){if(!(e="string"==typeof e?Se(e):e))throw new Error("No element found");let a;if(["symbol","string"].includes(typeof t))return a=He.sym(e,t),"function"==typeof a?a(n,...i):a[n](...i);if(a=t.get(e),!a)throw new Error("No map found");return"function"==typeof a?a.call(e,n,...i):a[n](e,...i)};He.setWindow=e=>{ve=e,we=ve?.document,we&&we.body&&(Ze=we.body)};let Ze;He.getWindow=()=>{if(!ve)throw new Error("No window object set");return ve},He.validateJamilih=(e,t={})=>{const n=t.format??"javascript";if("javascript"!==n&&"json"!==n)throw new TypeError(`Unknown \`format\`: ${JSON.stringify(n)}`);const i=!1!==t.allowInnerHTML,a=!0===t.failFast,{allowAny:r,allowable:o,emptyPolicy:s}=function(e){const t=Object.hasOwn(e,"allowableOptions"),n=t?e.allowableOptions:["default"];if(!Array.isArray(n))throw new TypeError("`allowableOptions` must be an array of strings");let i=!1;const a=new Set;for(const e of n)if("any"===e||"*"===e)i=!0;else if("default"===e)for(const e of se)a.add(e);else a.add(e);return{allowAny:i,allowable:a,emptyPolicy:t&&0===n.length}}(t),l="json"===n&&!0===t.allowDOM,c="json"!==n&&!1!==t.allowDOM,u=[],d=(e,t,n)=>{if(u.push({code:e,message:t,path:n.length?"/"+n.join("/"):"/"}),a)throw le},p=e=>ce.includes(e),h=e=>se.includes(e),f=(e,t)=>{if(null===e)return;const n=typeof e;if("string"!==n&&"boolean"!==n)if("number"!==n)if("undefined"!==n)if(he.includes(n))d("NON_JSON_VALUE",`A ${n} value is not valid JSON`,t);else if(be(e))d("NON_JSON_VALUE","A DOM node is not valid JSON",t);else if(me(e))d("NON_JSON_VALUE","A Map/WeakMap is not valid JSON",t);else if(Array.isArray(e))e.forEach((e,n)=>f(e,[...t,n]));else if(_e(e))for(const[n,i]of Object.entries(e))f(i,[...t,n]);else d("NON_JSON_VALUE","A non-plain object (Date/RegExp/class instance) is not valid JSON",t);else d("NON_JSON_VALUE","`undefined` is not valid JSON",t);else Number.isFinite(e)||d("NON_JSON_VALUE","`NaN`/`Infinity` is not valid JSON",t)},b=(e,t,i)=>{r||o.has(e)?"json"===n&&f(t,i):d("UNKNOWN_MAGIC_PROPERTY",`Unknown \`$\`-prefixed property \`${e}\` is not permitted by \`allowableOptions\``,i)},m=(e,t)=>{Array.isArray(e)?e.forEach((e,i)=>{if(!e||"object"!=typeof e)return void d("BAD_ATTRIBUTES_OBJECT","`$plugins` entries must be objects",[...t,i]);const a=e;"string"==typeof a.name&&a.name.startsWith("$_")||d("BAD_ATTRIBUTES_OBJECT","Plugin `name` must be a string beginning with `$_`",[...t,i,"name"]),"json"===n?d("NON_JSON_CONSTRUCT",'Plugins require a `set` function; not valid in `format: "json"`',[...t,i,"set"]):"function"!=typeof a.set&&d("BAD_ATTRIBUTES_OBJECT","Plugin `set` must be a function",[...t,i,"set"])}):d("BAD_ATTRIBUTES_OBJECT","`$plugins` must be an array",t)},_=(e,t)=>{if("json"===n)return void d("NON_JSON_CONSTRUCT",'`$Map` carries a Map/WeakMap; not valid in `format: "json"`',t);me(e)||Array.isArray(e)&&(void 0===e[0]||me(e[0]))||_e(e)&&Object.hasOwn(e,"root")||d("BAD_DATA","`$Map` must be `[map, value]` or `{root: [...], ...}`",t)},g=(e,t)=>{if(!_e(e))return void d("BAD_ON_HANDLER","`$on` must be an object of event handlers",t);const i=Object.entries(e);if(0!==i.length)if("json"!==n)for(const[e,n]of i){"function"==typeof n||Array.isArray(n)&&"function"==typeof n[0]||d("BAD_ON_HANDLER",`\`$on.${e}\` must be a function or \`[function, capturing]\``,[...t,e])}else d("NON_JSON_CONSTRUCT",'`$on` handlers are functions; not valid in `format: "json"`',t)},y=(e,t)=>{if(!_e(e))return void d("BAD_SHADOW","`$shadow` must be an object",t);const n=e;for(const e of["template","content"]){if(!Object.hasOwn(n,e))continue;const i=n[e];Array.isArray(i)?F(i,[...t,e]):be(i)?c||d("DOM_NODE_NOT_ALLOWED",`\`$shadow.${e}\` DOM node is not allowed`,[...t,e]):"string"==typeof i||"boolean"==typeof i||ye(i)||d("BAD_SHADOW",`\`$shadow.${e}\` must be a Jamilih array, selector string, or DOM node`,[...t,e])}},v=(e,t)=>{if(!_e(e))return void d("BAD_ATTRIBUTES_OBJECT","`$document` must be an object",t);const n=e;for(const e of["childNodes","head","body"])Array.isArray(n[e])&&F(n[e],[...t,e])},w=(e,t,a)=>{for(const[r,o]of Object.entries(e)){const e=[...t,r];if("#"!==r)if(p(r))d("RESERVED_OPTION",`\`${r}\` is reserved by Jamilih and may not be supplied`,e);else if(h(r))d("MISPLACED_OPTIONS_OBJECT",`\`${r}\` is a root-only option and cannot appear ${a?"on a nested array head":"in an attributes object"}`,e);else if("innerHTML"!==r)if("$text"!==r){if("$attribute"===r){(!Array.isArray(o)||o.length<2||o.length>3||o.slice(1).some(e=>!ye(e)&&"string"!=typeof e))&&d("BAD_ATTRIBUTE_NODE","`$attribute` must be `[namespace, name, value?]`",e);continue}if("$DOCTYPE"!==r)if("$document"!==r)if("$on"!==r)if("$symbol"!==r)"$define"!==r?"$data"!==r?"$custom"!==r?"$shadow"!==r?ge(r)?"json"===n&&f(o,e):r.startsWith("$")||!r.startsWith("on")?r.startsWith("$")?b(r,o,e):"json"===n&&f(o,e):"json"===n&&"function"==typeof o&&d("NON_JSON_CONSTRUCT",`\`${r}\` handler function is not valid in \`format: "json"\``,e):y(o,e):(o&&("object"==typeof o||"function"==typeof o)&&Object.prototype.propertyIsEnumerable.call(o,"__proto__")&&d("BAD_CUSTOM_PROTO","`$custom` may not define `__proto__`",e),"json"===n&&f(o,e)):"json"===n?d("NON_JSON_CONSTRUCT",'`$data` requires an options `Map`; not valid in `format: "json"`',e):!0===o||Array.isArray(o)||me(o)||_e(o)||d("BAD_DATA","`$data` must be `true`, an array, a Map, or a data object",e):"json"===n?d("NON_JSON_CONSTRUCT",'`$define` is not valid in `format: "json"`',e):"function"==typeof o||_e(o)||Array.isArray(o)||d("BAD_DEFINE","`$define` must be a function, mixin object, or array",e);else if("json"===n)d("NON_JSON_CONSTRUCT",'`$symbol` is not valid in `format: "json"`',e);else{(!Array.isArray(o)||2!==o.length||"string"!=typeof o[0]&&"symbol"!=typeof o[0]||"function"!=typeof o[1]&&!_e(o[1]))&&d("BAD_SYMBOL","`$symbol` must be `[symbol|string, function|object]`",e)}else g(o,e);else v(o,e);else _e(o)&&"string"==typeof o.name||d("BAD_DOCTYPE","`$DOCTYPE` must be an object with a string `name`",e)}else"string"!=typeof o&&d("BAD_ATTRIBUTES_OBJECT","`$text` must be a string",e);else i?"string"==typeof o||ye(o)||d("BAD_ATTRIBUTES_OBJECT","`innerHTML` must be a string",e):d("INNERHTML_NOT_ALLOWED","`innerHTML` is not allowed (`allowInnerHTML: false`)",e);else Array.isArray(o)?F(o,e):d("BAD_ATTRIBUTES_OBJECT","`#` must hold an array of children",e)}},F=(e,t)=>{e.forEach((e,i)=>{const a=[...t,i];if(ye(e))return void d("BAD_CHILD","`null`/`undefined` is not a valid child",a);const r=typeof e;if(pe.includes(r))"json"!==n||"number"!==r||Number.isFinite(e)||d("NON_JSON_VALUE","`NaN`/`Infinity` text child is not valid JSON",a);else if(he.includes(r))d("BAD_CHILD",`A bare ${r} is not a valid child`,a);else if(be(e))c||d("DOM_NODE_NOT_ALLOWED","Raw DOM node children are not allowed",a);else{if(Array.isArray(e)){if(0===e.length)return void d("BAD_CHILD","A child array must not be empty",a);const t=e[0];return"string"==typeof t||_e(t)?void x(e,0,a,!0):void d("BAD_CHILD","A child array must be headed by a string or object",a)}if(_e(e)){const t=e;if(Object.hasOwn(t,"#"))return void(Array.isArray(t["#"])?F(t["#"],[...a,"#"]):d("BAD_CHILD","A `#` fragment child must hold an array",[...a,"#"]));const n=Object.keys(t);if(n.length>0&&n.every(e=>e.startsWith("$"))){((e,t)=>{for(const n of Object.keys(e))("$state"===n||h(n))&&d("MISPLACED_OPTIONS_OBJECT",`\`${n}\` is a root-only option and cannot appear on a nested array head`,[...t,n])})(t,a);for(const e of n)de.includes(e)?d("BAD_CHILD",`\`${e}\` produces a node and must be array-wrapped (\`[{${e}: ...}]\`), not a bare object child`,[...a,e]):p(e)||h(e)||b(e,t[e],[...a,e]);return}return void d("BAD_CHILD","A plain object child must be a `#` fragment or `$`-magic placeholder",a)}me(e)?d("BAD_CHILD","A Map/WeakMap is not a valid child",a):d("BAD_CHILD","Unrecognized child value",a)}})},A=(e,t,n)=>{const i=e[t];if(""===i||!Object.hasOwn(fe,i))return 0;const a=fe[i];for(let r=1;r<=a;r++){const o=e[t+r];if(ye(o)||"string"!=typeof o&&"number"!=typeof o)return d("?"===i?"BAD_PROCESSING_INSTRUCTION":"BAD_SPECIAL_ARG",`\`${i}\` must be followed by ${a} string argument${a>1?"s":""}`,[...n,t]),0}return a},x=(e,t,n,i=!1)=>{let a=t;for(;a<e.length;){const r=e[a],o=[...n,a];if(null===r){a!==e.length-1&&d("MISPLACED_NULL","`null` is only allowed as the final argument",o),a+=1;continue}if(void 0===r){d("BAD_FIRST_ARG","`undefined` is not a valid Jamilih argument",o),a+=1;continue}const s=typeof r;"string"!==s?"object"===s?(be(r)?c||d("DOM_NODE_NOT_ALLOWED","Raw DOM nodes are not allowed here",o):Array.isArray(r)?F(r,o):me(r)?d("DOM_NODE_NOT_ALLOWED","A Map/WeakMap is not a valid Jamilih argument",o):_e(r)?w(r,o,i&&a===t):d("UNKNOWN_TYPE","Unrecognized argument type",o),a+=1):(d("UNKNOWN_TYPE",`Unexpected ${s} in argument position`,o),a+=1):a+=1+A(e,a,n)}},C=e=>{if(!Array.isArray(e))return void d("NOT_ARRAY","Jamilih structure must be an array",[]);if(0===e.length)return void d("EMPTY_ARRAY","Jamilih structure must not be empty",[]);let t=0;const n=e[0];if(_e(n)&&!be(n)){const e=n,i=Object.keys(e);if(se.some(e=>i.includes(e)))((e,t)=>{if(s)d("OPTIONS_OBJECT_NOT_ALLOWED","A leading options object is not permitted (`allowableOptions: []`)",t);else for(const[n,i]of Object.entries(e))p(n)?d("RESERVED_OPTION",`\`${n}\` is reserved by Jamilih and may not be supplied`,[...t,n]):h(n)?r||o.has(n)?"$plugins"===n?m(i,[...t,n]):"$Map"===n&&_(i,[...t,n]):d("DISALLOWED_OPTION",`Option \`${n}\` is not permitted by \`allowableOptions\``,[...t,n]):n.startsWith("$")?b(n,i,[...t,n]):d("ATTRIBUTES_BEFORE_ELEMENT","A genuine attribute may not appear on an object before an element",[...t,n])})(e,["0"]),t=1;else if(i.some(e=>ce.includes(e))){for(const e of i)ce.includes(e)&&d("RESERVED_OPTION",`\`${e}\` is reserved by Jamilih and may not be supplied`,["0",e]);t=1}else i.some(e=>ue.includes(e))||(i.every(e=>e.startsWith("$"))||d("ATTRIBUTES_BEFORE_ELEMENT","A genuine attribute may not appear on an object before an element",["0"]),t=1)}x(e,t,[])};try{l&&d("OPTION_CONFLICT",'`allowDOM: true` conflicts with `format: "json"`; DOM nodes stay rejected',[]),C(e)}catch(e){if(e!==le)throw e}return{valid:0===u.length,errors:u}},we&&we.body&&(Ze=we.body);const Qe=" ",et=function({arg:e}){return He("code",[e])},tt=function({arg:e}){return He("a",{href:e,target:"_blank"},[e])};function nt(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function it(e,t,n){try{var i=Promise.resolve(e());return t?i.then(t):i}catch(e){return Promise.reject(e)}}class at{constructor(e){this.configurePrefs(e),this.listeners=[]}configurePrefs({namespace:e,defaults:t,prefDefaults:n=ot(t)}){this.namespace=e??"",this.prefDefaults=n}getPref(e){const t=this;return it(function(){const n=localStorage.getItem(t.namespace+e);return nt(nt(null===n?t.prefDefaults.getPrefDefault(e):JSON.parse(n),void 0,!(null===n)))})}setPref(e,t){const n=this;return it(function(){return nt(localStorage.setItem(n.namespace+e,JSON.stringify(t)))})}bind(){return{getPref:this.getPref.bind(this),setPref:this.setPref.bind(this)}}listen(e,t){"function"==typeof e&&(t=e,e=void 0);const n=n=>{if(null===n.key){if(void 0===e)return}else{if(!n.key.startsWith(this.namespace))return;if(void 0!==e&&!n.key.startsWith(this.namespace+e))return}t(n)};return globalThis.addEventListener("storage",n),this.listeners.push(n),n}unlisten(e){if(e)for(let t=0;t<this.listeners.length;t++)if(e===this.listeners[t])return this.listeners.splice(t,1),void globalThis.removeEventListener("storage",e);this.listeners.forEach(e=>{globalThis.removeEventListener("storage",e)})}}class rt{constructor({defaults:e}){this.defaults=e}getPrefDefault(e){const t=this;return it(function(){return nt(t.defaults[e],function(e){return e??null})})}setPrefDefault(e,t){const n=this;return it(function(){const i=n.defaults[e]??null;return n.defaults[e]=t,nt(i)})}}function ot(e={}){return new rt({defaults:e})}let st;const lt=()=>new at({namespace:"unicode-input-toolconverter-",defaults:ct()}).bind(),ct=()=>({hexLettersUpper:!1,onlyentsyes:!1,asciiLt128:!1,startCharInMiddleOfChart:!1,multiline:!1,xhtmlentmode:!1,showImg:!1,ampspace:!1,hexyes:!0,decyes:!0,unicodeyes:!0,buttonyes:!0,entyes:!0,xmlentkeep:!0,ampkeep:!0,showAllDetailedView:!0,showAllDetailedCJKView:!0,cssUnambiguous:!0,appendtohtmldtd:!0,outerWidth:0,fontsizetextbox:13,tblrowsset:4,tblcolsset:3,tblfontsize:13,DTDtextbox:"",font:"",cssWhitespace:" ",initialTab:"charts",defaultStartCharCode:st("startCharCode").codePointAt(0)-1,currentStartCharCode:st("startCharCode").codePointAt(0)-1,lang:st("langCode"),dropdownArr:[]}),ut=/[\p{Lu}]/u,dt=/[\p{Ll}]/u,pt=/^[\p{Lu}](?![\p{Lu}])/u,ht=/[_.\- ]+/,ft=/([\p{Alpha}\p{N}_]|$)/u,bt=new RegExp("^"+ht.source),mt=new RegExp(ht.source+ft.source,"gu"),_t=new RegExp(String.raw`\d+`+ft.source,"gu");function gt(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,capitalizeAfterNumber:!0,...t},0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length>0).join("-"):e.trim()).length)return"";const n=e.match(/^[_$]*/)[0];if(0===(e=e.slice(n.length)).length)return n;const i=!1===t.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t.locale),a=!1===t.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t.locale);if(1===e.length)return ht.test(e)?n:n+(t.pascalCase?a(e):i(e));return e!==i(e)&&(e=((e,t,n,i)=>{let a=!1,r=!1,o=!1,s=!1;for(let l=0;l<e.length;l++){const c=e[l];s=!(l>2)||"-"===e[l-3],a&&ut.test(c)?(e=e.slice(0,l)+"-"+e.slice(l),a=!1,o=r,r=!0,l++):r&&o&&dt.test(c)&&(!s||i)?(e=e.slice(0,l-1)+"-"+e.slice(l-1),o=r,r=!1,a=!0):(a=t(c)===c&&n(c)!==c,o=r,r=n(c)===c&&t(c)!==c)}return e})(e,i,a,t.preserveConsecutiveUppercase)),e=e.replace(bt,""),e=t.capitalizeAfterNumber?t.preserveConsecutiveUppercase?((e,t)=>e.replace(pt,e=>t(e)))(e,i):i(e):((e,t,n)=>{let i="",a=!1,r=!1;const o=[...e];for(let e=0;e<o.length;e++){const s=o[e],l=ut.test(s),c=e+1<o.length&&ut.test(o[e+1]);a&&/[\p{Alpha}]/u.test(s)?(i+=s,a=!1,r=l):n&&l&&(r||c)?(i+=s,r=!0):/\d/.test(s)?(i+=s,a=!0,r=!1):ht.test(s)?(i+=s,r=!1):(i+=t(s),a=!1,r=!1)}return i})(e,i,t.preserveConsecutiveUppercase),t.pascalCase&&e.length>0&&(e=a(e[0])+e.slice(1)),n+((e,t,{capitalizeAfterNumber:n})=>{const i=n?(e,n,i,a)=>{const r=a.charAt(i+e.length);return ht.test(r)?e:n?e.slice(0,-n.length)+t(n):e}:e=>e;return e.replaceAll(_t,i).replaceAll(mt,(e,n)=>t(n))})(e,a,t)}const yt=["G","GG","N","D","DD","R","M","B","BB","S","SS","","J","JJ","C","K","T","P","H"],vt=["A","AE","YA","YAE","EO","E","YEO","YE","O","WA","WAE","OE","YO","U","WEO","WE","WI","YU","EU","YI","I"],wt=["","G","GG","GS","N","NJ","NH","D","L","LG","LM","LB","LS","LT","LP","LH","M","B","BS","S","SS","NG","J","C","K","T","P","H"],Ft=44032,At=28;function xt(e){let t,n,i,a=1;if(e.charAt(0)===e.charAt(1)?(t=yt.indexOf(e.slice(0,2)),a++):t=yt.indexOf(e.slice(0,1)),n=vt.indexOf(e.substr(a,3)),-1!==n?a+=3:(n=vt.indexOf(e.substr(a,2)),-1!==n?a+=2:(n=vt.indexOf(e.substr(a,1)),a++)),i=wt.indexOf(e.substr(a,2).padStart(2,"0")),-1!==i?a+=2:(i=wt.indexOf(e.substr(a,1)),a++),-1===t||-1===n||i&&a<e.length)return!1;return function(e){if(0===e.length)return"";const t=[],n=[...e];let i=n[0];return t.push(i),n.slice(1).forEach(e=>{const n=i.codePointAt(0)-4352;if(n>0&&n<19){const a=e.codePointAt(0)-4449;if(a>0&&a<21)return i=String.fromCodePoint(Ft+(21*n+a)*At),void(t[t.length-1]=i)}const a=i.codePointAt(0)-Ft;if(a>0&&a<11172&&a%At===0){const n=e.codePointAt(0)-4519;if(n>=0&&n<At)return i=String.fromCodePoint(i.codePointAt(0)+n),void(t[t.length-1]=i)}i=e,t.push(e)}),t}(Ct(t,"l")+Ct(n,"v")+(i?Ct(i,"t"):"")).join("")}function Ct(e,t){switch(t){case"l":return String.fromCodePoint(4352+e);case"v":return String.fromCodePoint(4449+e);case"t":return String.fromCodePoint(4519+e);default:throw new TypeError("Unexpected type passed to getJamoCodePointForName")}}function kt(e){const t=e-Ft;if(t<0||t>=11172)throw new Error("Not a hangul syllable "+e);const n=Math.floor(t/588),i=Math.floor(t%588/At),a=t%At;return yt[n]+vt[i]+wt[a]}class Et{constructor({name:e="unicode",version:t=1}={}){this.name=e,this.version=t,this.db=null}close(){this.db?.close()}getAll(e,t){const n=this.db.transaction(e,"readonly").objectStore(e).getAll(t);return new Promise((e,t)=>{n.addEventListener("success",()=>{e(n.result)}),n.addEventListener("error",()=>{t(n.error)})})}upgradeneeded(e){throw new Error("`UnicodeDB.upgradeneeded` is an abstract method")}connect({updateUnicodeData:e,versionchange:t}={}){return new Promise((n,i)=>{const a=indexedDB.open(this.name,e?this.version:void 0);e&&a.addEventListener("upgradeneeded",t=>{const n=t.target?.result;this.db=n,this.upgradeneeded({updateUnicodeData:e})}),a.addEventListener("success",e=>{const i=e.target?.result;this.db=i,t&&this.db.addEventListener("versionchange",e=>{t(e)}),n(this.db)}),a.addEventListener("error",()=>{i(a.error)}),a.addEventListener("blocked",()=>{i(new Error("blocked"))})})}}class St extends Et{constructor({version:e}={}){super({name:"unicode-input-toolconverter-Unihan",version:e})}getUnicodeFields(e){const t=this.db.transaction(["Unihan"],"readonly").objectStore("Unihan").get(e);return new Promise((e,n)=>{t.addEventListener("success",()=>{e(t.result?.columns)}),t.addEventListener("error",()=>{n(t.error)})})}getAll(e){return super.getAll("Unihan",e)}upgradeneeded(e){const t=e.updateUnicodeData,n=this.db.createObjectStore("Unihan",{keyPath:"codePoint"});n.createIndex("code-point","codePoint",{unique:!0}),t.forEach(([e,...t])=>{n.put({codePoint:e,columns:t})})}}class Dt extends Et{constructor({version:e}={}){super({name:"unicode-input-toolconverter",version:e})}getAll(e){return super.getAll("UnicodeData",e)}upgradeneeded(e){const t=e.updateUnicodeData,n=this.db.createObjectStore("UnicodeData",{keyPath:"codePoint"});n.createIndex("code-point","codePoint",{unique:!0}),t.forEach(e=>{const[t,i,a,r,o,s,l,c,u,d,p,h,f,b,m]=e,_=/<(?<decompositionType>[^>]*)>\s+(?<decompositionMapping>.*)/v.exec(s)?.groups??{},{decompositionType:g,decompositionMapping:y}=_;let v="None";l?v="Decimal":c?v="Digit":u&&(v="Numeric");const w=v?u:NaN;n.put({codePoint:t,name:i,generalCategory:a,canonicalCombiningClass:r,bidiClass:o,decompositionType:g,decompositionMapping:y,numericType:v,numericValue:w,bidiMirrored:d,unicode1Name:p,isoComment:h,simpleUppercaseMapping:f,simpleLowercaseMapping:b,simpleTitlecaseMapping:m})})}getUnicodeFields(e){const t=this.db.transaction(["UnicodeData"],"readonly").objectStore("UnicodeData").get(e);return new Promise((e,n)=>{t.addEventListener("success",()=>{t.result?e(t.result):n(new Error("Unexpected code point"))}),t.addEventListener("error",()=>{n(t.error)})})}}const Tt=new Dt;var $t=Uint8Array,Ot=Uint16Array,Nt=Int32Array,Bt=new $t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Pt=new $t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ut=function(e,t){for(var n=new Ot(31),i=0;i<31;++i)n[i]=t+=1<<e[i-1];var a=new Nt(n[30]);for(i=1;i<30;++i)for(var r=n[i];r<n[i+1];++r)a[r]=r-n[i]<<5|i;return{b:n,r:a}},Mt=Ut(Bt,2),jt=Mt.b,Lt=Mt.r;jt[28]=258,Lt[258]=28,Ut(Pt,0);for(var It=new Ot(32768),Rt=0;Rt<32768;++Rt){var Jt=(43690&Rt)>>1|(21845&Rt)<<1;Jt=(61680&(Jt=(52428&Jt)>>2|(13107&Jt)<<2))>>4|(3855&Jt)<<4,It[Rt]=((65280&Jt)>>8|(255&Jt)<<8)>>1}var Kt=new $t(288);for(Rt=0;Rt<144;++Rt)Kt[Rt]=8;for(Rt=144;Rt<256;++Rt)Kt[Rt]=9;for(Rt=256;Rt<280;++Rt)Kt[Rt]=7;for(Rt=280;Rt<288;++Rt)Kt[Rt]=8;var Vt=new $t(32);for(Rt=0;Rt<32;++Rt)Vt[Rt]=5;var Ht=function(e,t,n){return(null==t||t<0)&&(t=0),(null==n||n>e.length)&&(n=e.length),new $t(e.subarray(t,n))},Gt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Wt=function(e,t,n){var i=new Error(t||Gt[e]);if(i.code=e,Error.captureStackTrace&&Error.captureStackTrace(i,Wt),!n)throw i;return i},zt=new $t(0),qt="undefined"!=typeof TextDecoder&&new TextDecoder;try{qt.decode(zt,{stream:!0})}catch(e){}function Yt(e,t){if(qt)return qt.decode(e);var n=function(e){for(var t="",n=0;;){var i=e[n++],a=(i>127)+(i>223)+(i>239);if(n+a>e.length)return{s:t,r:Ht(e,n-1)};a?3==a?(i=((15&i)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,t+=String.fromCharCode(55296|i>>10,56320|1023&i)):t+=1&a?String.fromCharCode((31&i)<<6|63&e[n++]):String.fromCharCode((15&i)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(i)}}(e),i=n.s;return n.r.length&&Wt(8),i}const Xt=(e,t=null)=>Array.from({length:e}).fill(t);let Zt=0;let Qt,en,tn,nn,an;let rn;const on=async function e({descripts:t}={}){const{getPref:n,setPref:i}=lt(),[a,r,o,s,l,c,u,d,p,h,f,b,m]=await Promise.all([n("startCharInMiddleOfChart"),n("tblcolsset"),n("onlyentsyes"),n("entyes"),n("buttonyes"),n("decyes"),n("hexyes"),n("unicodeyes"),n("hexLettersUpper"),n("font"),n("lang"),n("tblrowsset"),n("currentStartCharCode")]),_={startCharCode:m};let g=b;rn=_.startCharCode;const y=()=>{_.startCharCode<0?_.startCharCode+=1114112:_.startCharCode>1114111&&(_.startCharCode=0)};let v,w,F,A,x,C;a&&(_.startCharCode=Math.round(_.startCharCode-g*r/2)),y();if((o||Boolean(t))&&(F=t?tn.descripts:tn.numericCharacterReferences),F){const e=F.length;if(g*r>e){const t=e/r;g=Math.ceil(t),x=g-1,A=g*r-e;C=A>0&&r-A}v=F.indexOf(_.startCharCode),-1===v&&(v=0,_.startCharCode=F[v],v=-1);let t=v-r*g;t<0&&(t=e+t),w=F[t]}else w=_.startCharCode-r*g;He(an,{rows:20*g-10,cols:20*r-10}),Qt.textContent="";const k={hexyes:u,decyes:c,unicodeyes:d,entyes:s},E=["decyes","hexyes","unicodeyes"].filter(e=>k[e]),S={decyes:e=>`&#${e};`,hexyes:e=>"&#x"+(p?e.toString(16).toUpperCase():e.toString(16))+";",unicodeyes:e=>String.fromCodePoint(e)},D=[];["unicode","hex","dec","ent"].forEach(e=>{Object.hasOwn(k,e+"yes")&&D.push(nn(e+"_noun"))});const T=nn.list([D[0].replace(/^./v,e=>e.toLocaleUpperCase(nn.resolvedLocale)),...D.slice(1)]);!function({_:e,rows:t,cols:n,charrefunicodeConverter:i,current:a,resetCurrentStartCharCodeIfOutOfBounds:r,q:o,textReceptacle:s,entyes:l,chartBuild:c,descripts:u,chartContainer:d,arr:p,setPref:h,insertText:f,buttonyes:b,font:m,lang:_,prev:g,rowceil:y,colsOverRemainder:v,appliedFormats:w,displayTypes:F,captionContent:A}){let x=o;He("table",{id:"chart_table",class:"unicodetablecell",style:{"font-family":m},lang:_},[["caption",{class:"dialogheader",title:e("Unicode_table_caption_title")},[A]],...Xt(t).map((e,t)=>["tr",Xt(n).map((e,n)=>{if(t===y&&n>=Number(v))return"";p?(x++,x>=p.length&&(x=0),a.startCharCode=p[x]):a.startCharCode++,r();const o=i.numericCharacterReferences.indexOf(a.startCharCode),c=-1!==o,u=c?"&"+i.entities[o]+";":"";return["td",{class:(c?"entity ":"")+"unicodetablecell",$on:{mouseover:(d=u,h=a.startCharCode,function(){Se("#chart_table").$noGetDescripts||jn.getUnicodeDescription(d,h.toString(16).toUpperCase().padStart(4,"0"))}),click(e){"altKey"in e&&e.altKey&&(Se("#chart_table").$noGetDescripts=!Se("#chart_table").$noGetDescripts)}}},[...w.flatMap((e,t,n)=>{const i=e.replace("yes",""),r=1===t&&2===n.length,o=2===t,l=[b?"button":"div",{class:b?"buttonyes":null,name:i,id:"_"+Zt++,dataset:{value:F[e](a.startCharCode)},$on:{click(e){const{target:{dataset:{value:t}}}=e;"altKey"in e&&e.altKey||f({textReceptacle:s,value:t})}}},[F[e](a.startCharCode)]],c=o?He("div",{class:"centered"},[l]):l;return[r?Qe.repeat(3):o?["br"]:"",c]}),...l&&c?[["a",{href:"#",$on:{click(e){e.preventDefault(),e.altKey||f({textReceptacle:s,value:u})}}},[u]]," "]:[""]]];var d,h})]),["tr",[["td",{class:"centered",colspan:n},[["a",{href:"#",$on:{async click(e){e.preventDefault(),await Promise.all([h("currentStartCharCode",g),h("startCharInMiddleOfChart",!1)]),await c({descripts:u}),await jn.resizecells()}}},[e("Prev_set")]]," ",["a",{href:"#",$on:{async click(e){e.preventDefault(),await Promise.all([h("currentStartCharCode",a.startCharCode),h("startCharInMiddleOfChart",!1)]),await c({descripts:u}),await jn.resizecells()}}},[e("Next_set")]]]]]]],d)}({_:nn,rows:g,cols:r,charrefunicodeConverter:tn,current:_,resetCurrentStartCharCodeIfOutOfBounds:y,q:v,arr:F,textReceptacle:an,entyes:s,chartBuild:e,descripts:t,chartContainer:Qt,setPref:i,insertText:en,buttonyes:l,font:h,lang:f,prev:w,rowceil:x,colsOverRemainder:C,appliedFormats:E,displayTypes:S,captionContent:T})};function sn({textReceptacle:e,value:t,focusIn:n=!0}){const{length:i}=e.value,a=e.selectionStart,r=e.selectionEnd;n&&e.focus();const o=e.value.slice(0,Math.max(0,a??0)),s=e.value.slice(r??0,i);e.value=o+t+s,e.selectionStart=o.length+t.length,e.selectionEnd=o.length+t.length}const ln=e=>document.querySelector(e),cn=e=>ln(e),un=e=>ln(e),dn=e=>ln(e),pn=e=>ln(e),hn=e=>ln(e),fn=e=>ln(e);function bn(e){ln("#_detailedView"+e).replaceChildren()}function mn(e,t){const n=ln(e).firstChild;null!==n?n.replaceWith(t):ln(e).append(t)}function _n(e){return document.createElement(e)}class gn{constructor(e){this._stream=e}async*[Symbol.asyncIterator](){const e=this._stream.getReader();try{for(;;){const{done:t,value:n}=await e.read();if(t)return;yield n}}finally{e.releaseLock()}}}let yn,vn,wn;async function Fn(){const e=/<!ENTITY\s+([^'"\s]*)\s+(["'])(.*)\2\s*>/gv,t=Se("#DTDtextbox").value;let n;await wn("DTDtextbox",t),await vn("appendtohtmldtd")?(yn.entities=[...jn.origents],yn.numericCharacterReferences=[...jn.origcharrefs]):(yn.entities=[],yn.numericCharacterReferences=[]),yn.newents=[...jn.orignewents],yn.newcharrefs=[...jn.orignewcharrefs];const i=/^(?:&#|#)?(\d\d+);?$/v,a=/^(?:&#|#|0|U|u)?(?:[xX+])([\da-fA-F]+);?$/v;for(;null!==(n=e.exec(t));){let e=n[3],t=!0;i.test(e)?(e=e.replace(i,"$1"),e=Number.parseInt(e,10)):a.test(e)?(e=e.replace(a,"$1"),e=Number.parseInt(e,16)):e.length>1?t=!1:e=e.charCodeAt(0),t?(yn.entities.unshift(n[1]),yn.numericCharacterReferences.unshift(e)):(yn.newents.push(n[1]),yn.newcharrefs.push(e))}}function An(){Se("#insertEntityFile").addEventListener("change",async function(e){await async function(e){const t=await fetch("../download/entities/"+e.target.value+".ent"),n=await t.text();Se("#DTDtextbox").value+="\n"+n,await Fn()}(e)})}const xn=["nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","quot","gt","apos","amp","lt","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","alpha","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","image","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","empty","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","prop","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","lang","rang","loz","spades","clubs","hearts","diams"],Cn=[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,34,62,39,38,60,338,339,352,353,376,710,732,8194,8195,8201,8204,8205,8206,8207,8211,8212,8216,8217,8218,8220,8221,8222,8224,8225,8240,8249,8250,8364,402,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,977,978,982,8226,8230,8242,8243,8254,8260,8472,8465,8476,8482,8501,8592,8593,8594,8595,8596,8629,8656,8657,8658,8659,8660,8704,8706,8707,8709,8711,8712,8713,8715,8719,8721,8722,8727,8730,8733,8734,8736,8743,8744,8745,8746,8747,8756,8764,8773,8776,8800,8801,8804,8805,8834,8835,8836,8838,8839,8853,8855,8869,8901,8968,8969,8970,8971,9001,9002,9674,9824,9827,9829,9830],kn=e=>document.querySelector(e),En=e=>document.querySelector(e);let Sn,Dn;function Tn(e){const t=kn("*[class='buttonactive']");t&&(t.className="reconvert"),e.className="buttonactive"}const $n={charref2unicodeval:(e,t)=>(Tn(t),Sn.charref2unicodeval(e)),charref2htmlentsval:async(e,t)=>(Tn(t),await Sn.charref2htmlentsval(e)),unicode2charrefDecval:async(e,t,n)=>(Tn(t),await Sn.unicode2charrefDecval(e,n)),unicode2charrefHexval:async(e,t,n,i)=>(Tn(t),await Sn.unicode2charrefHexval(e,n,i)),unicode2htmlentsval:async(e,t)=>(Tn(t),await Sn.unicode2htmlentsval(e)),htmlents2charrefDecval:async(e,t)=>(Tn(t),await Sn.htmlents2charrefDecval(e)),htmlents2charrefHexval:async(e,t)=>(Tn(t),await Sn.htmlents2charrefHexval(e)),htmlents2unicodeval:async(e,t)=>(Tn(t),await Sn.htmlents2unicodeval(e)),hex2decval:(e,t)=>(Tn(t),Sn.hex2decval(e)),dec2hexval:async(e,t)=>(Tn(t),await Sn.dec2hexval(e)),async unicodeTo6Digit(e){const t=En("#toconvert").value;return await this.unicodeTo6DigitVal(t,e.target),!1},async unicodeTo6DigitVal(e,t){Tn(t);const n=await Sn.unicodeTo6DigitVal(e);return En("#converted").value=n,n},async charref2unicode(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=this.charref2unicodeval(t,e.target),!1},async charref2htmlents(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.charref2htmlentsval(t,e.target),!1},async unicode2charrefDec(e,t){let n=En("#toconvert").value;return await Dn("ampspace")&&(n=n.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.unicode2charrefDecval(n,e.target,t),!1},async unicode2charrefDecSurrogate(e){return await this.unicode2charrefDec(e,!0)},async unicode2charrefHex(e,t){let n=En("#toconvert").value;return await Dn("ampspace")&&(n=n.replaceAll(/&([^;\s]*\s)/v,"&$1")),En("#converted").value=await this.unicode2charrefHexval(n,e.target,t),!1},async unicode2charrefHexSurrogate(e){return await this.unicode2charrefHex(e,!0)},async unicode2htmlents(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.unicode2htmlentsval(t,e.target),!1},async unicode2CharDescVal(e,t){Tn(t);const n=await Sn.unicode2CharDescVal(e);return En("#converted").value=n,n},async charDesc2UnicodeVal(e,t){Tn(t);const n=await Sn.charDesc2UnicodeVal(e);return En("#converted").value=n,n},async charDesc2Unicode(e){const t=En("#toconvert").value;return await this.charDesc2UnicodeVal(t,e.target),!1},async unicode2CharDesc(e){const t=En("#toconvert").value;return await this.unicode2CharDescVal(t,e.target),!1},async unicode2jsescapeval(e,t){Tn(t);const n=await Sn.unicode2jsescapeval(e);return En("#converted").value=n,n},async unicode2jsescape(e){const t=En("#toconvert").value;return await this.unicode2jsescapeval(t,e.target),!1},cssescape2unicode(e){const t=En("#toconvert").value;return En("#converted").value=this.cssescape2unicodeval(t,e.target),!1},sixDigit2UnicodeVal(e,t){Tn(t);const n=Sn.sixDigit2UnicodeVal(e);return En("#converted").value=n,n},sixDigit2Unicode(e){const t=En("#toconvert").value;return this.sixDigit2UnicodeVal(t,e.target),!1},jsescape2unicode(e){const t=En("#toconvert").value;return En("#converted").value=this.jsescape2unicodeval(t,e.target),!1},cssescape2unicodeval(e,t){Tn(t);return Sn.cssescape2unicodeval(e)},jsescape2unicodeval(e,t,n){Tn(t);return Sn.jsescape2unicodeval(e,n)},async unicode2cssescapeval(e,t){Tn(t);const n=await Sn.unicode2cssescapeval(e);return En("#converted").value=n,n},async unicode2cssescape(e){const t=En("#toconvert").value;return await this.unicode2cssescapeval(t,e.target),!1},async htmlents2charrefDec(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.htmlents2charrefDecval(t,e.target),!1},async htmlents2charrefHex(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.htmlents2charrefHexval(t,e.target),!1},async htmlents2unicode(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.htmlents2unicodeval(t,e.target),!1},async hex2dec(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=this.hex2decval(t,e.target),!1},async dec2hex(e){let t=En("#toconvert").value;return await Dn("ampspace")&&(t=t.replaceAll(/&([^;\s]*\s)/gv,"&$1")),En("#converted").value=await this.dec2hexval(t,e.target),!1}};let On,Nn,Bn,Pn;const Un=({_:e,charrefunicodeConverter:t})=>{On=e,Nn=t,({getPref:Bn,setPref:Pn}=lt())};async function Mn(){const e=function({chunks:e,receivedLength:t}){const n=new Uint8Array(t);let i=0;for(const t of e)n.set(t,i),i+=t.length;return n}(await async function({url:e,progressElement:t,progress:n}){const i=await fetch(e),a=Number(i.headers.get("content-length"))||0;t.max=a||1;const r=[];let o=0;for await(const e of new gn(i.body)){r.push(e),o+=e.length;const i=a?o/a*100:0;t.value=a?o:0,t.textContent=n(i)}return{receivedLength:o,totalBytes:a,chunks:r}}({url:location.href.includes("index-pages")?"/unicode-input-toolconverter/download/unihan/unihan.json":"/download/unihan/unihan.json",progressElement:ln("#progress_element"),progress:e=>`${On("download_progress")} ${e.toFixed(2)}${On("percentSign")}`}));return JSON.parse(Yt(e))}const jn={origents:[],origcharrefs:[],orignewents:[],orignewcharrefs:[],unihanDatabase:null,unihanDb_exists:!1,async downloadUnihan(){ln("#DownloadButtonBox").hidden=!0,ln("#DownloadProgressBox").hidden=!1;try{const e=await Mn();this.unihanDatabase?.close(),this.unihanDatabase=await async function(e){await indexedDB.deleteDatabase("unicode-input-toolconverter-Unihan");const t=new St({version:1});return await t.connect({updateUnicodeData:e}),t}(e),await this.unihanDatabase.getUnicodeFields("3400"),alert(On("Finished_download")),this.unihanDb_exists=!0,ln("#closeDownloadProgressBox").hidden=!1,ln("#UnihanInstalled").hidden=!1}catch(e){ln("#closeDownloadProgressBox").hidden=!0,ln("#UnihanInstalled").hidden=!0,ln("#DownloadProgressBox").hidden=!0,ln("#DownloadButtonBox").hidden=!1,alert(On("Problem_downloading")),console.error(e)}},closeDownloadProgressBox(){ln("#closeDownloadProgressBox").hidden=!1,ln("#DownloadProgressBox").hidden=!0},setupBoolChecked(...e){e.forEach(async e=>{ln("#"+e).checked=await Bn(e)})},async initialize(e){this.unihanDb_exists=!1;try{this.unihanDatabase=new St({version:1}),await this.unihanDatabase.connect(),await this.unihanDatabase.getUnicodeFields("3400"),this.unihanDb_exists=!0,ln("#DownloadButtonBox").hidden=!0,ln("#UnihanInstalled").hidden=!1}catch(e){e.message.includes("ransaction")||console.error(e),ln("#DownloadButtonBox").hidden=!1,ln("#UnihanInstalled").hidden=!0}ln("#unicodeTabBox").style.maxWidth=String(window.screen.availWidth-3*window.screen.availWidth/100),ln("#unicodeTabBox > .tabs").style.maxWidth=String(window.screen.availWidth-3*window.screen.availWidth/100);const[t,n,i,a,r,o,s,l,c]=await Promise.all([Bn("lang"),Bn("font"),Bn("initialTab"),Bn("multiline"),Bn("cssWhitespace"),Bn("tblrowsset"),Bn("tblcolsset"),Bn("ampspace"),Bn("DTDtextbox")]);if(a){ln("#displayUnicodeDesc").replaceWith(He("textarea",{id:"displayUnicodeDesc",rows:3}))}switch(this.setupBoolChecked(...Object.entries(ct()).filter(([,e])=>"boolean"==typeof e).map(([e])=>e)),r){case" ":cn("#CSSWhitespace").selectedIndex=0;break;case"\n":cn("#CSSWhitespace").selectedIndex=1;break;case"\t":cn("#CSSWhitespace").selectedIndex=2;break;case"\f":cn("#CSSWhitespace").selectedIndex=3;break;default:throw new Error("Unexpected whitespace preference value")}await this.resizecells(),ln("#rowsset").value=String(o),ln("#colsset").value=String(s),this.origents=[...xn],this.origcharrefs=[...Cn],this.orignewents=[...Nn.newents],this.orignewcharrefs=[...Nn.newcharrefs],un("#lang").value=t,un("#font").value=n,cn("#initialTab").value=dn("#mi_"+i).value,ln("#DTDtextbox").value=c,await Fn();let u=null,d="";const{customProtocol:p}=e;let h,f,b;if(p){const e=new URL(p),t=e.pathname;switch(h=e.searchParams,t){case"find":f=h.get("char"),d="context-unicodechart";break;case"searchName":d="searchName";break;case"searchkDefinition":d="searchkDefinition";break;default:alert(On("Unrecognized_query_type"))}}else e.options||(u=e.convert||"",({targetid:d}=e),pn("#toconvert").value=u,l&&(u=u.replaceAll(/&([^;\s]*\s)/gv,"&$1")),d&&(b=await async function({_:e,toconvert:t,targetid:n}){let i;switch(n){case"context-charrefunicode1":i=$n.charref2unicodeval(t,kn("#b1"));break;case"context-charrefunicode2":i=await $n.charref2htmlentsval(t,kn("#b2"));break;case"context-charrefunicode3":i=await $n.unicode2charrefDecval(t,kn("#b3"));break;case"context-charrefunicode4":i=await $n.unicode2charrefHexval(t,kn("#b4"));break;case"context-charrefunicode5":i=await $n.unicode2htmlentsval(t,kn("#b5"));break;case"context-charrefunicode6":i=await $n.unicode2jsescapeval(t,kn("#b6"));break;case"context-charrefunicode7":i=await $n.unicodeTo6DigitVal(t,kn("#b7"));break;case"context-charrefunicode8":i=await $n.unicode2cssescapeval(t,kn("#b8"));break;case"context-charrefunicode9":i=await $n.htmlents2charrefDecval(t,kn("#b9"));break;case"context-charrefunicode10":i=await $n.htmlents2charrefHexval(t,kn("#b10"));break;case"context-charrefunicode11":i=await $n.htmlents2unicodeval(t,kn("#b11"));break;case"context-charrefunicode12":i=$n.hex2decval(t,kn("#b12"));break;case"context-charrefunicode13":i=await $n.dec2hexval(t,kn("#b13"));break;case"context-charrefunicode14":i=$n.jsescape2unicodeval(t,kn("#b14"));break;case"context-charrefunicode15":i=$n.sixDigit2UnicodeVal(t,kn("#b15"));break;case"context-charrefunicode16":i=$n.cssescape2unicodeval(t,kn("#b16"));break;case"context-charrefunicode17":i=await $n.unicode2CharDescVal(t,kn("#b17"));break;case"context-charrefunicode18":i=await $n.charDesc2UnicodeVal(t,kn("#b18"));break;case"context-charrefunicode3b":i=await $n.unicode2charrefDecval(t,kn("#b3b"),!0);break;case"context-charrefunicode4b":i=await $n.unicode2charrefHexval(t,kn("#b4b"),!0);break;default:alert(e("Unexpected_target_ID",{targetid:n}))}return i}({toconvert:u,targetid:d,_:On})));let m="";if(void 0!==b)m=b;else switch(d){case"context-unicodechart":await this.disableEnts(),un("#startset").value=String(f),hn("#unicodeTabBox").$selectTabForTabPanel(fn("#charts"));case"context-launchunicode":case"tools-charrefunicode":break;case"searchName":un("#"+d).value=String(h?.get("string")),ln("#"+d).focus(),await this.searchUnicode({id:d,value:String(h?.get("string"))});break;case"searchkDefinition":un("#"+d).value=String(h?.get("string")),un("#"+d).focus(),await this.searchUnihan({id:d,value:String(h?.get("string"))})}pn("#converted").value=m,p||(e.options?hn("#unicodeTabBox").$selectTabForTabPanel(fn("#prefs")):null!==u&&d?hn("#unicodeTabBox").$selectTabForTabPanel(fn("#conversion")):"context-unicodechart"!==d&&"tools-charrefunicode"!==d&&hn("#unicodeTabBox").$selectTabForTabPanel(fn("#"+i))),"searchName"!==d&&"searchkDefinition"!==d&&((u||f)&&await this.setCurrstartset((u||f).codePointAt(0)-1),await on()),this.tblfontsize(0)},async copyToClipboard(e){const t=pn(e).value;await navigator.clipboard.writeText(t),alert(On("copiedToClipboard"))},async setprefs(e){const t=e.target;switch(t.type){case"select-one":case"text":return await Pn(t.id,t.value);case"checkbox":return await Pn(t.id,Boolean(t.checked))}},async resetdefaults(){async function e(e){const t=await Bn(e);return un("#"+e).value=t,await Pn(e,t),t}await this.setBoolChecked(["asciiLt128","showImg","xhtmlentmode","hexLettersUpper","multiline"],!1),await this.setBoolChecked(["xmlentkeep","ampkeep","appendtohtmldtd","cssUnambiguous"],!0),un("#ampspace").checked=!1,un("#showAllDetailedView").checked=!0,un("#showAllDetailedCJKView").checked=!0,ln("#chart_table").lang=await e("lang"),ln("#insertText").style.fontFamily=await e("font"),De('#chart_table button[name="unicode"]').forEach(async t=>{t.style.fontFamily=await e("font")}),await Pn("fontsizetextbox",13),this.fontsizetextbox(0),await Pn("startset","a".codePointAt(0)-1),await this.setCurrstartset(await Bn("startset")),await Pn("tblrowsset",4),un("#rowsset").value="4",await Pn("tblcolsset",3),un("#colsset").value="3",await this.setBoolChecked(["entyes","hexyes","decyes","unicodeyes","buttonyes"],!0),await this.setBoolChecked(["onlyentsyes","startCharInMiddleOfChart"],!1),await Pn("initialTab","charts"),cn("#initialTab").value=dn("#mi_charts").value,await Pn("tblfontsize",13),await this.resizecells(),await on(),await Promise.all([Pn("outerHeight",0),Pn("outerWidth",0)])},setBoolChecked:async(e,t)=>(e="string"==typeof e?[e]:e,await Promise.all(e.map(async e=>{await Pn(e,t),un("#"+e).checked=t}))),async setImagePref(e){return await this.setprefs(e),ln("#unicodeImg").firstChild&&ln("#unicodeImg").firstChild?.remove(),!1},async getUnicodeDescription(e,t){const n=!await Bn("showAllDetailedView"),i=!await Bn("showAllDetailedCJKView"),{unihanType:a,hangul:r,cjkText:o,searchValue:s}=function({khextemp:e,_:t}){let n=!1,i=!1;const a=Number.parseInt(e,16);a>=13312&&a<=19893||a>=19968&&a<=40899||a>=63744&&a<64256||[64014,64015,64017,64019,64020,64031,64033,64035,64036,64039,64041].includes(a)||a>=131072&&a<=173782||a>=173824&&a<=177972||a>=178240&&a<=178205||a>=194560&&a<195103?n=!0:a>=44032&&a<=55203&&(i=!0);let r,o,s=!1;return a>=13312&&a<=19893?(s="3400",13312!==a&&19893!==a?r=t("CJK_Ideograph_Extension_A"):19893===a&&(s="4DB5")):a>=19968&&a<=40899?(s="4E00",19968!==a&&40899!==a?r=t("CJK_Ideograph"):40899===a&&(s="9FC3")):a>=63744&&a<64256?s=!0:a>=131072&&a<=173782?(s="20000",131072!==a&&173782!==a?r=t("CJK_Ideograph_Extension_B"):173782===a&&(s="2A6D6")):a>=194560&&a<195103?s=!0:i&&(r=t("Hangul_Syllable"),r+=" ",r+=kt(a)),s?(!0===s&&(s=e),o=s):o=e,{unihanType:n,hangul:i,cjkText:r,searchValue:o}}({khextemp:t,_:On});a||r||hn("#viewTabs").$selectedTab()!==ln("#detailedCJKView")||hn("#viewTabs").$selectTabForTabPanel(fn("#detailedView"));const l=Number.parseInt(t,16),{codePointStart:c,script:u,plane:d,privateuse:p,surrogate:h}=function(e,t){let n=!1,i=!1,a=e>=65536&&e<=131071?1:0,r="",o="";return e<128?(o="0000",r=t("Basic_Latin")):e<256?(o="0080",r=t("Latin_1_Supplement")):e<384?(o="0100",r=t("Latin_Extended_A")):e<592?(o="0180",r=t("Latin_Extended_B")):e<688?(o="0250",r=t("IPA_Extensions")):e<768?(o="02B0",r=t("Spacing_Modifier_Letters")):e<880?(o="0300",r=t("Combining_Diacritical_Marks")):e<1024?(o="0370",r=t("Greek")):e<1280?(o="0400",r=t("Cyrillic")):e<1328?(o="0500",r=t("Cyrillic_Supplement")):e<1424?(o="0530",r=t("Armenian")):e<1536?(o="0590",r=t("Hebrew")):e<1792?(o="0600",r=t("Arabic")):e<1872?(o="0700",r=t("Syriac")):e<1920?(o="0750",r=t("Arabic_Supplement")):e<1984?(o="0780",r=t("Thaana")):e<2048?(o="07C0",r=t("N_Ko")):e<2112?(o="0800",r=t("Samaritan")):e<2304?(o="0840",r=t("Mandaic")):e<2432?(o="0900",r=t("Devanagari")):e<2560?(o="0980",r=t("Bengali")):e<2688?(o="0A00",r=t("Gurmukhi")):e<2816?(o="0A80",r=t("Gujarati")):e<2944?(o="0B00",r=t("Oriya")):e<3072?(o="0B80",r=t("Tamil")):e<3200?(o="0C00",r=t("Telugu")):e<3328?(o="0C80",r=t("Kannada")):e<3456?(o="0D00",r=t("Malayalam")):e<3584?(o="0D80",r=t("Sinhala")):e<3712?(o="0E00",r=t("Thai")):e<3840?(o="0E80",r=t("Lao")):e<4096?(o="0F00",r=t("Tibetan")):e<4256?(o="1000",r=t("Myanmar")):e<4352?(o="10A0",r=t("Georgian")):e<4608?(o="1100",r=t("Hangul_Jamo")):e<4992?(o="1200",r=t("Ethiopic")):e<5024?(o="1380",r=t("Ethiopic_Supplement")):e<5120?(o="13A0",r=t("Cherokee")):e<5760?(o="1400",r=t("Unified_Canadian_Aboriginal_Syllabics")):e<5792?(o="1680",r=t("Ogham")):e<5888?(o="16A0",r=t("Runic")):e<5920?(o="1700",r=t("Tagalog")):e<5952?(o="1720",r=t("Hanunoo")):e<5984?(o="1740",r=t("Buhid")):e<6016?(o="1760",r=t("Tagbanwa")):e<6144?(o="1780",r=t("Khmer")):e<6320?(o="1800",r=t("Mongolian")):e<6400?(o="18B0",r=t("UCAS_Extended")):e<6480?(o="1900",r=t("Limbu")):e<6528?(o="1950",r=t("Tai_Le")):e<6624?(o="1980",r=t("New_Tai_Lue")):e<6656?(o="19E0",r=t("Khmer_Symbols")):e<6688?(o="1A00",r=t("Buginese")):e<6912?(o="1A20",r=t("Tai_Tham")):e<7040?(o="1B00",r=t("Balinese")):e<7104?(o="1B80",r=t("Sundanese")):e<7168?(o="1BC0",r=t("Batak")):e<7248?(o="1C00",r=t("Lepcha")):e<7376?(o="1C50",r=t("Ol_Chiki")):e<7424?(o="1CD0",r=t("Vedic_Extensions")):e<7552?(o="1D00",r=t("Phonetic_Extensions")):e<7616?(o="1D80",r=t("Phonetic_Extensions_Supplement")):e<7680?(o="1DC0",r=t("Combining_Diacritical_Marks_Supplement")):e<7936?(o="1E00",r=t("Latin_Extended_Additional")):e<8192?(o="1F00",r=t("Greek_Extended")):e<8304?(o="2000",r=t("General_Punctuation")):e<8352?(o="2070",r=t("Super_and_Subscripts")):e<8400?(o="20A0",r=t("Currency_Symbols")):e<8448?(o="20D0",r=t("Combining_Diacritical_Marks_for_Symbols")):e<8528?(o="2100",r=t("Letterlike_Symbols")):e<8592?(o="2150",r=t("Number_Forms")):e<8704?(o="2190",r=t("Arrows")):e<8960?(o="2200",r=t("Mathematical_Operators")):e<9216?(o="2300",r=t("Miscellaneous_Technical")):e<9280?(o="2400",r=t("Control_Pictures")):e<9312?(o="2440",r=t("Optical_Character_Recognition__OCR_")):e<9472?(o="2460",r=t("Enclosed_Alphanumerics")):e<9600?(o="2500",r=t("Box_Drawing")):e<9632?(o="2580",r=t("Block_Elements")):e<9728?(o="25A0",r=t("Geometric_Shapes")):e<9984?(o="2600",r=t("Miscellaneous_Symbols")):e<10176?(o="2700",r=t("Dingbats")):e<10224?(o="27C0",r=t("Misc__Math_Symbols_A")):e<10240?(o="27F0",r=t("Supplemental_Arrows_A")):e<10496?(o="2800",r=t("Braille_Patterns")):e<10624?(o="2900",r=t("Supplemental_Arrows_B")):e<10752?(o="2980",r=t("Misc__Math_Symbols_B")):e<11008?(o="2A00",r=t("Suppl__Math_Operators")):e<11264?(o="2B00",r=t("Miscellaneous_Symbols_and_Arrows")):e<11360?(o="2C00",r=t("Glagolitic")):e<11392?(o="2C60",r=t("Latin_Extended_C")):e<11520?(o="2C80",r=t("Coptic")):e<11568?(o="2D00",r=t("Georgian_Supplement")):e<11648?(o="2D30",r=t("Tifinagh")):e<11744?(o="2D80",r=t("Ethiopic_Extended")):e<11776?(o="2DE0",r=t("Cyrillic_Extended_A")):e<11904?(o="2E00",r=t("Supplemental_Punctuation")):e<12032?(o="2E80",r=t("CJK_Radicals_Supplement")):e<12272?(o="2F00",r=t("CJK_Radicals___Kangxi_Radicals")):e<12288?(o="2FF0",r=t("Ideographic_Description_Characters")):e<12352?(o="3000",r=t("CJK_Symbols_and_Punctuation")):e<12448?(o="3040",r=t("Hiragana")):e<12544?(o="30A0",r=t("Katakana")):e<12592?(o="3100",r=t("Bopomofo")):e<12688?(o="3130",r=t("Hangul_Compatibility_Jamo")):e<12704?(o="3190",r=t("Kanbun")):e<12736?(o="31A0",r=t("Bopomofo_Extended")):e<12784?(o="31C0",r=t("CJK_Strokes")):e<12800?(o="31F0",r=t("Katakana_Phonetic_Extensions")):e<13056?(o="3200",r=t("Enclosed_CJK_Letters_and_Months")):e<13312?(o="3300",r=t("CJK_Compatibility")):e<19904?(o="3400",r=t("CJK_Ideographs_Ext__A")):e<19968?(o="4DC0",r=t("Yijing_Hexagram_Symbols")):e<40960?(o="4E00",r=t("CJK_Unified_Ideographs__Han_")):e<42128?(o="A000",r=t("Yi_Syllables")):e<42192?(o="A490",r=t("Yi_Radicals")):e<42240?(o="A4D0",r=t("Lisu")):e<42560?(o="A500",r=t("Vai")):e<42656?(o="A640",r=t("Cyrillic_Extended_B")):e<42752?(o="A6A0",r=t("Bamum")):e<42784?(o="A700",r=t("Modifier_Tone_Letters")):e<43008?(o="A720",r=t("Latin_Extended_D")):e<43056?(o="A800",r=t("Syloti_Nagri")):e<43072?(o="A830",r=t("Common_Indic_Number_Forms")):e<43136?(o="A840",r=t("Phags_Pa")):e<43232?(o="A880",r=t("Saurashtra")):e<43264?(o="A8E0",r=t("Devanagari_Extended")):e<43312?(o="A900",r=t("Kayah_Li")):e<43360?(o="A930",r=t("Rejang")):e<43392?(o="A960",r=t("Hangul_Jamo_Extended_A")):e<43520?(o="A980",r=t("Javanese")):e<43616?(o="AA00",r=t("Cham")):e<43648?(o="AA60",r=t("Myanmar_Extended_A")):e<43776?(o="AA80",r=t("Tai_Viet")):e<43968?(o="AB00",r=t("Ethiopic_Extended_A")):e<44032?(o="ABC0",r=t("Meetei_Mayek")):e<55216?(o="AC00",r=t("Hangul_Syllables")):e<55296?(o="D7B0",r=t("Hangul_Jamo_Extended_B")):e<56192?(o="D800",r=t("High_Surrogates"),i=t("High_Surrogate")):e<56320?(o="DB80",r=t("High_Private_Use_Surrogates"),i=t("High_Private_Use_Surrogate")):e<57344?(o="DC00",r=t("Low_Surrogates"),i=t("Low_Surrogate")):e<63744?(o="E000",r=t("Private_Use_Area"),n=!0):e<64256?(o="F900",r=t("CJK_Compatibility_Ideographs")):e<64336?(o="FB00",r=t("Alphabetic_Presentation_Forms")):e<65024?(o="FB50",r=t("Arabic_Presentation_Forms_A")):e<65040?(o="FE00",r=t("Variation_Selectors")):e<65056?(o="FE10",r=t("Vertical_Forms")):e<65072?(o="FE20",r=t("Combining_Half_Marks")):e<65104?(o="FE30",r=t("CJK_Compatibility_Forms")):e<65136?(o="FE50",r=t("Small_Form_Variants")):e<65280?(o="FE70",r=t("Arabic_Presentation_Forms_B")):e<65520?(o="FF00",r=t("Halfwidth_and_Fullwidth_Forms")):e<65536?(o="FFF0",r=t("Specials")):e<65664?(o="10000",r=t("Linear_B_Syllabary")):e<65792?(o="10080",r=t("Linear_B_Ideograms")):e<65856?(o="10100",r=t("Aegean_Numbers")):e<65936?(o="10140",r=t("Ancient_Greek_Numbers")):e<66e3?(o="10190",r=t("Ancient_Symbols")):e<66176?(o="101D0",r=t("Phaistos_Disc")):e<66208?(o="10280",r=t("Lycian")):e<66304?(o="102A0",r=t("Carian")):e<66352?(o="10300",r=t("Old_Italic")):e<66432?(o="10330",r=t("Gothic")):e<66464?(o="10380",r=t("Ugaritic")):e<66560?(o="103A0",r=t("Old_Persian")):e<66640?(o="10400",r=t("Deseret")):e<66688?(o="10450",r=t("Shavian")):e<67584?(o="10480",r=t("Osmanya")):e<67648?(o="10800",r=t("Cypriot_Syllabary")):e<67840?(o="10840",r=t("Aramaic__Imperial")):e<67872?(o="10900",r=t("Phoenician")):e<68096?(o="10920",r=t("Lydian")):e<68192?(o="10A00",r=t("Kharoshthi")):e<68352?(o="10A60",r=t("Old_South_Arabian")):e<68416?(o="10B00",r=t("Avestan")):e<68448?(o="10B40",r=t("Parthian__Inscriptional")):e<68608?(o="10B60",r=t("Pahlavi__Inscriptional")):e<69216?(o="10C00",r=t("Old_Turkic")):e<69632?(o="10E60",r=t("Rumi_Numeral_Symbols")):e<69760?(o="11000",r=t("Brahmi")):e<73728?(o="11080",r=t("Kaithi")):e<74752?(o="12000",r=t("Cuneiform")):e<74880?(o="12400",r=t("Cuneiform_Numbers_and_Punctuation")):e<75088?(o="12480",r=t("Early_Dynastic_Cuneiform")):e<77824?(o="12F90",r=t("Cypro_Minoan")):e<92160?(o="13000",r=t("Egyptian_Hieroglyphs")):e<110592?(o="16800",r=t("Bamum_Supplement")):e<118784?(o="1B000",r=t("Kana_Supplement")):e<119040?(o="1D000",r=t("Byzantine_Musical_Symbols")):e<119296?(o="1D100",r=t("Musical_Symbols")):e<119552?(o="1D200",r=t("Ancient_Greek_Musical_Notation")):e<119648?(o="1D300",r=t("Tai_Xuan_Jing_Symbols")):e<119808?(o="1D360",r=t("Counting_Rod_Numerals")):e<126976?(o="1D400",r=t("Mathematical_Alphanumeric_Symbols")):e<127024?(o="1F000",r=t("Mahjong_Tiles")):e<127136?(o="1F030",r=t("Domino_Tiles")):e<127232?(o="1F0A0",r=t("Playing_Cards")):e<127488?(o="1F100",r=t("Enclosed_Alphanumeric_Supplement")):e<127744?(o="1F200",r=t("Enclosed_Ideographic_Supplement")):e<128512?(o="1F300",r=t("Miscellaneous_Symbols_And_Pictographs")):e<128640?(o="1F600",r=t("Emoticons")):e<128768?(o="1F680",r=t("Transport_and_Map_Symbols")):e<130944?(o="1F700",r=t("Alchemical_Symbols")):e<131072?(o="1FF80",r=t("At_End_of_Plane_1")):e<173824?(o="20000",r=t("CJK_Ideographs_Ext__B"),a=2):e<177984?(o="2A700",r=t("CJK_Ideographs_Ext__C"),a=2):e<194560?(o="2B740",r=t("CJK_Ideographs_Ext__D"),a=2):e<195103?(o="2F800",r=t("CJK_Compatibility_Ideographs_Supplement"),a=2):e<196480?(o="2FF80",r=t("plane_numNocolon",{number:2}),a=2):e<196608?(o="2FF80",r=t("At_End_of_Plane_2"),a=2):e<262016?(o="3FF80",r=t("plane_numNocolon",{number:3}),a=3):e<262144?(o="3FF80",r=t("At_End_of_Plane_3"),a=3):e<327552?(o="4FF80",r=t("plane_numNocolon",{number:4}),a=4):e<327680?(o="4FF80",r=t("At_End_of_Plane_4"),a=4):e<393088?(o="5FF80",r=t("plane_numNocolon",{number:5}),a=5):e<393216?(o="5FF80",r=t("At_End_of_Plane_5"),a=5):e<458624?(o="6FF80",r=t("plane_numNocolon",{number:6}),a=6):e<458752?(o="6FF80",r=t("At_End_of_Plane_6"),a=6):e<524160?(o="7FF80",r=t("plane_numNocolon",{number:7}),a=7):e<524288?(o="7FF80",r=t("At_End_of_Plane_7"),a=7):e<589696?(o="8FF80",r=t("plane_numNocolon",{number:8}),a=8):e<589824?(o="8FF80",r=t("At_End_of_Plane_8"),a=8):e<655232?(o="9FF80",r=t("plane_numNocolon",{number:9}),a=9):e<655360?(o="9FF80",r=t("At_End_of_Plane_9"),a=9):e<720768?(o="AFF80",r=t("plane_numNocolon",{number:10}),a=10):e<720896?(o="AFF80",r=t("At_End_of_Plane_10"),a=10):e<786304?(o="BFF80",r=t("plane_numNocolon",{number:11}),a=11):e<786432?(o="BFF80",r=t("At_End_of_Plane_11"),a=11):e<851840?(o="CFF80",r=t("plane_numNocolon",{number:12}),a=12):e<851968?(o="CFF80",r=t("At_End_of_Plane_12"),a=12):e<917376?(o="DFF80",r=t("plane_numNocolon",{number:13}),a=13):e<917504?(o="DFF80",r=t("At_End_of_Plane_13"),a=13):e<917760?(o="E0000",r=t("Tags"),a=13):e<982912?(o="E0100",r=t("Variation_Selectors_Supplement"),a=13):e<983040?(o="EFF80",r=t("At_End_of_Plane_14"),a=14):e<1048448?(o="FFF80",r=t("plane_numNocolon",{number:15})+t("slash")+t("Supplementary_Private_Use_Area_A"),a=15,n=!0):e<1048576?(o="FFF80",r=t("At_End_of_Plane_15")+t("slash")+t("Supplementary_Private_Use_Area_A"),a=15,n=!0):e<=1113984?(o="10FF80",r=t("plane_numNocolon",{number:16})+t("slash")+t("Supplementary_Private_Use_Area_B"),a=16,n=!0):(o="10FF80",r=t("At_End_of_Plane_16")+t("slash")+t("Supplementary_Private_Use_Area_B"),a=16,n=!0),{codePointStart:o,script:r,plane:a,privateuse:n,surrogate:i}}(l,On);if(!a){for(let e=0;e<jn.Unihan.length;e++)e!==this.kDefinitionIndex&&(pn("#_detailedCJKView"+e).value="");for(const e of this.Unihan)un("#searchk"+e)&&(un("#searchk"+e).value="")}let f;try{await Tt.connect();const i=await Tt.getUnicodeFields(s);if(i){f=o||i.name;for(const[e,t]of jn.Unicode.entries()){let a=i[gt(t)];if("Unicode_1_Name"!==t)if(a){switch(n&&(ln("#_detailedView"+e).parentNode.hidden=!1),t){case"General_Category":a=On("General_Category"+a);break;case"Canonical_Combining_Class":(Number(a)<11||Number(a)>132)&&(a=On("Canonical_Combining_Class"+a));break;case"Bidi_Class":a=On("Bidi_Class"+a);break;case"Bidi_Mirrored":a=On("Y"===a?"Bidi_MirroredY":"Bidi_MirroredN");break;case"numericType":{const t=ln("#_detailedView"+e);bn(e),He("select",["None","Decimal","Digit","Numeric"].map(e=>["option",a===e?{selected:!0}:{},[On(e)]]),t);break}case"decompositionMapping":case"Simple_Uppercase_Mapping":case"Simple_Lowercase_Mapping":case"Simple_Titlecase_Mapping":{const t=_n("a");t.href="javascript:void(0)",t.addEventListener("click",async e=>{await jn.startset({value:e.target.textContent})});const n=Number.parseInt(a,16);t.textContent=String.fromCodePoint(n),t.className="text-link";const i=ln("#_detailedView"+e);bn(e);const r=_n("span");r.append(t),r.append(" ("+a+")"),i.append(r);break}}"decompositionMapping"===t||t.includes("case_Mapping")||(un("#_detailedView"+e).value=a)}else"decompositionMapping"===t||t.includes("case_Mapping")?(un("#_detailedView"+e).parentNode.hidden=n,bn(e)):(un("#_detailedView"+e).parentNode.hidden=n,un("#_detailedView"+e).value="");else a&&(f+="; \n"+On("searchUnicode_1_Name")+On("colon")+" "+a)}}a||(pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+f,pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+f)}catch{if(h)pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+h,pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+h;else if(p)pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+On("Private_use_character"),pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+On("Private_use_character");else if(l>=64976&&l<=65007||l>=65534&&l<=65535||l>=131070&&l<=131071||l>=196606&&l<=196607||l>=262142&&l<=262143||l>=327678&&l<=327679||l>=393214&&l<=393215||l>=458750&&l<=458751||l>=524286&&l<=524287||l>=589822&&l<=589823||l>=655358&&l<=655359||l>=720894&&l<=720895||l>=786430&&l<=786431||l>=851966&&l<=851967||l>=917502&&l<=917503||l>=983038&&l<=983039)pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+On("Noncharacter"),pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+On("Noncharacter");else{const e="U+"+t+On("colon")+" "+On("Not_found");pn("#displayUnicodeDesc").value=e,pn("#displayUnicodeDesc2").value=e}for(const[e,t]of jn.Unicode.entries())if("Unicode_1_Name"!==t)try{un("#_detailedView"+e).value="",ln("#_detailedView"+e).parentNode.hidden=n,bn(e)}catch(t){console.log("3"+t+e)}}if(this.unihanDb_exists)try{const a=await(this.unihanDatabase?.getUnicodeFields(t));if(a){f=a[this.kDefinitionIndex];for(let e=0;e<jn.Unihan.length;e++){if(e===this.kDefinitionIndex)continue;let t;try{t=a[e]}catch{alert(e)}t?(i&&(ln("#_detailedCJKView"+e).parentNode.hidden=!1),un("#_detailedCJKView"+e).value=t):(un("#_detailedCJKView"+e).parentNode.hidden=i,un("#_detailedCJKView"+e).value="")}}if(""!==f&&null!=f)pn("#displayUnicodeDescUnihan").value=e+"U+"+t+On("colon")+" "+f,pn("#displayUnicodeDesc").value=e+"U+"+t+On("colon")+" "+f,pn("#displayUnicodeDesc2").value=e+"U+"+t+On("colon")+" "+f;else{const a="U+"+t+On("colon")+" "+On("Not_found");if(!o||r){for(const[e,t]of jn.Unicode.entries())if("Unicode_1_Name"!==t)try{un("#_detailedView"+e).value="",un("#_detailedView"+e).parentNode.hidden=n,bn(e)}catch(t){alert("1"+t+e)}for(let e=0;e<jn.Unihan.length;e++)e!==this.kDefinitionIndex&&(ln("#_detailedCJKView"+e).parentNode.hidden=i,un("#_detailedCJKView"+e).value="")}if(o){const n=e+"U+"+t+On("colon")+" "+o+(r?"":" "+On("left_parenth")+On("No_definition")+On("right_parenth"));un("#displayUnicodeDesc").value=n,un("#displayUnicodeDesc2").value=n,un("#displayUnicodeDescUnihan").value=n}else un("#displayUnicodeDesc").value=a,un("#displayUnicodeDescUnihan").value=a,un("#displayUnicodeDesc2").value=a}}catch(e){alert(e)}a&&this.unihanDb_exists&&hn("#viewTabs").$selectedTab()===ln("#detailedView")&&hn("#viewTabs").$selectTabForTabPanel(fn("#detailedCJKView"));const b=_n("a");b.target="_blank",b.className="text-link",b.href=`https://unicode.org/charts/PDF/U${c}.pdf`,b.textContent=u+" (PDF)",mn("#pdflink",b);if(mn("#plane",On("plane_num",{plane:d})+" "),await Bn("showImg")){const e=_n("img");e.setAttribute("src","https://unicode.org/cgi-bin/refglyph?1-"+Number(l).toString(16)),mn("#unicodeImg",e)}},async fontsizetextbox(e){const t=await Bn("fontsizetextbox")+e;await Pn("fontsizetextbox",t),ln("#toconvert").style.fontSize=t+"px",ln("#converted").style.fontSize=t+"px",e>0&&"sizeToContent"in globalThis&&globalThis.sizeToContent()},async tblfontsize(e){const t=await Bn("tblfontsize")+e;await Pn("tblfontsize",t),await this.resizecells({sizeToContent:e>0})},async resizecells({sizeToContent:e}={}){await Promise.all(De("*[name='dec'],*[name='hex'],*[name='unicode']").map(async e=>{e.style.fontSize=await Bn("tblfontsize")+"px"})),ln("#insertText").style.fontSize=await Bn("tblfontsize")+"px",e&&"sizeToContent"in globalThis&&globalThis.sizeToContent()},async hexLettersCasing(e){return await this.setprefs(e),await on(),await this.resizecells()},async flip(e){return await this.setCurrstartset(rn),await this.setprefs(e),await on(),await this.resizecells()},async onlyentsyesflip(e){return await this.flip(e)},async hexflip(e){return await this.flip(e)},async decflip(e){return await this.flip(e)},async unicodeflip(e){return await this.flip(e)},async middleflip(e){return await this.flip(e)},async buttonflip(e){return await this.flip(e)},async entflip(e){return await this.flip(e)},async cssWhitespace(e){let{value:t}=e.target;switch(t){case"space":t=" ";break;case"n":t="\n";break;case"t":t="\t";break;case"f":t="\f";break;default:throw new Error("Unexpected menu value")}await Pn("cssWhitespace",t)},async rowsset(e){return await this.setCurrstartset(rn),null!==e.target.value&&""!==e.target.value&&await Pn("tblrowsset",e.target.value),await on(),await this.resizecells()},async colsset(e){return await this.setCurrstartset(rn),null!==e.target.value&&""!==e.target.value&&await Pn("tblcolsset",e.target.value),await on(),await this.resizecells()},async startset(e,t){await this.disableEnts();const n=null!==e.value&&void 0!==e.value&&""!==e.value?function(e){const t=(e=e.replace(/;$/v,"")).match(/^&?#?x/v);if(t)return Number.parseInt(e.slice(t[0].length),16)-1;const n=e.match(/^&?#/v);return n?Number.parseInt(e.slice(n[0].length),10)-1:e.codePointAt(0)-1}(e.value):(await Bn("startset")||"a").codePointAt(0)-1;return await this.setCurrstartset(n),await on({descripts:t}),await this.resizecells()},async setCurrstartset(e){if("number"!=typeof e){const t=new Error("Bad value");return t.value=e,console.error(t),void alert("Look at trace to see where setting `currentStartCharCode` as undefined")}return await Pn("currentStartCharCode",e)},async chartBuildResize(){return await on(),await this.resizecells()},async searchUnihan(e){return await this.searchUnicode(e,"Unihan")},async disableEnts(){return await this.setBoolChecked("onlyentsyes",!1)},async searchUnicode(e,t,n,i){if(await Nn.searchUnicode(e,t,n,i),!n){const t=await Bn("currentStartCharCode");this.startset(e,!0),await this.setCurrstartset(t),this.resizecells()}},moveoutput(e){const t=un(e);hn("#unicodeTabBox").$selectTabForTabPanel(fn("#conversion")),pn("#toconvert").value=t.value},async append2htmlflip(e){await this.setprefs(e),await Fn(),await on(),await this.resizecells()},insertent(){sn({textReceptacle:pn("#DTDtextbox"),value:'<!ENTITY "">\n'})},async multiline(){const e=ln("#displayUnicodeDesc");!1===await Bn("multiline")?(await Pn("multiline",!0),e.replaceWith(He("textarea",{id:"displayUnicodeDesc",rows:3}))):(await Pn("multiline",!1),e.replaceWith(He("input",{id:"displayUnicodeDesc",rows:1})))},idgen:0,prefs:null,Unihan:["kAccountingNumeric","kAlternateTotalStrokes","kBigFive","kCCCII","kCNS1986","kCNS1992","kCangjie","kCantonese","kCheungBauer","kCheungBauerIndex","kCihaiT","kCompatibilityVariant","kCowles","kDaeJaweon","kDefinition","kEACC","kFenn","kFennIndex","kFourCornerCode","kFrequency","kGB0","kGB1","kGB3","kGB5","kGB7","kGB8","kGSR","kGradeLevel","kHDZRadBreak","kHKGlyph","kHKSCS","kHanYu","kHangul","kHanyuPinlu","kHanyuPinyin","kIBMJapan","kIICore","kIRGDaeJaweon","kIRGDaiKanwaZiten","kIRGHanyuDaZidian","kIRGKangXi","kIRG_GSource","kIRG_HSource","kIRG_JSource","kIRG_KPSource","kIRG_KSource","kIRG_MSource","kIRG_TSource","kIRG_USource","kIRG_VSource","kJIS0213","kJapaneseKun","kJapaneseOn","kJis0","kJis1","kKPS0","kKPS1","kKSC0","kKSC1","kKangXi","kKarlgren","kKorean","kLau","kMainlandTelegraph","kMandarin","kMatthews","kMeyerWempe","kMorohashi","kNelson","kOtherNumeric","kPhonetic","kPrimaryNumeric","kPseudoGB1","kRSAdobe_Japan1_6","kRSJapanese","kRSKanWa","kRSKangXi","kRSKorean","kRSUnicode","kSBGY","kSemanticVariant","kSimplifiedVariant","kSpecializedSemanticVariant","kTaiwanTelegraph","kTang","kTotalStrokes","kTraditionalVariant","kVietnamese","kXHC1983","kXerox","kZVariant","kUnihanCore2020","kIRG_UKSource","kIRG_SSource","kTGH","kKoreanName","kJa","kJoyoKanji","kKoreanEducationHanja","kJinmeiyoKanji","kTGHZ2013","kSpoofingVariant","kStrange","kSMSZD2003Index","kMojiJoho","kVietnameseNumeric","kZhuangNumeric","kTayNumeric","kJapanese","kFanqie","kSMSZD2003Readings","kZhuang","kJapaneseOldVariant","kJapaneseNewVariant"],UnihanMenus:[],Unicode:["General_Category","Canonical_Combining_Class","Bidi_Class","decompositionMapping","decompositionType","numericType","numericValue","Bidi_Mirrored","Unicode_1_Name","ISO_Comment","Simple_Uppercase_Mapping","Simple_Lowercase_Mapping","Simple_Titlecase_Mapping"],UnicodeMenus:["General_Category","Canonical_Combining_Class","Bidi_Class","Bidi_Mirrored","Digit","Decimal"],UnicodeMenuBidi_Class:["L","LRE","LRO","R","AL","RLE","RLO","PDF","EN","ES","ET","AN","CS","NSM","BN","B","S","WS","ON"],UnicodeMenuCanonical_Combining_Class:[0,1,7,8,9,10,199,200,202,204,208,210,212,214,216,218,220,222,224,226,228,230,232,233,234,240],UnicodeMenuCCVNumericOnly:[84,91,103,107,118,122,129,130,132],UnicodeMenuGeneral_Category:["Lu","Ll","Lt","Lm","Lo","Mn","Mc","Me","Nd","Nl","No","Pc","Pd","Ps","Pe","Pi","Pf","Po","Sm","Sc","Sk","So","Zs","Zl","Zp","Cc","Cf","Cs","Co","Cn"],UnicodeMenuBidi_Mirrored:["Y","N"],UnicodeMenuDigit:[0,1,2,3,4,5,6,7,8,9],UnicodeMenuDecimal:[0,1,2,3,4,5,6,7,8,9],kDefinitionIndex:-1};jn.kDefinitionIndex=jn.Unihan.indexOf("kDefinition");const Ln=/&#(\d*);/gv,In=/&#[xX]([\da-fA-F]*);/gv,Rn=new Set(["apos","quot","lt","gt","amp"]),Jn=new RegExp("&("+/[\p{ID_Start}_][\p{ID_Continue}\u{24}\u{5F}\u{2D}\u{2E}\u{3A}\u{B7}\u{58A}\u{5F4}\u{F0B}\u{200C}\u{2010}\u{2027}\u{30A0}\u{30FB}\u{5F3}\u{200D}]*/giv.source+");","gvi"),Kn=()=>{const{getPref:e}=lt();return class{constructor({_:e}){this._=e,this.newents=[],this.newcharrefs=[],this.entities=[],this.numericCharacterReferences=[]}getAposPos(){return this.numericCharacterReferences.indexOf(39)}getAmpPos(){return this.numericCharacterReferences.indexOf(38)}charref2unicodeval(e){return e=e.replaceAll(Ln,function(e,t){return String.fromCodePoint(t)}).replaceAll(In,function(e,t){return String.fromCodePoint(Number.parseInt(t,16))})}async charref2htmlentsval(t){const n=await e("xhtmlentmode");return t=t.replaceAll(Ln,(e,t)=>{const i=this.numericCharacterReferences.indexOf(Number.parseInt(t,10));return-1===i||!n&&i===this.getAposPos()?e:"&"+this.entities[i]+";"}).replaceAll(In,(e,t)=>{const i=this.numericCharacterReferences.indexOf(Number.parseInt("0x"+t,16));return-1===i||!n&&i===this.getAposPos()?e:"&"+this.entities[i]+";"})}async unicode2charrefDecval(t,n){let i="";const a=await e("asciiLt128");for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);!n&&r>=55296&&r<63744?(r=1024*(r-55296)+(t.charCodeAt(e+1)-56320)+65536,i+="&#"+r+";",e++):i+=a||r>=128?"&#"+r+";":t.charAt(e)}return i}async unicode2charrefHexval(t,n,i){let a,r,o,s,l="";"javascript"===i||"php"===i?(a="",r=String.raw`\u`,o=""):"css"===i?(s=await e("cssUnambiguous"),a="",r="\\",o=s?"":await e("cssWhitespace")):(a="x",r="&#",o=";");const[c,u]=await Promise.all([e("hexLettersUpper"),e("asciiLt128")]);for(let e=0;e<t.length;e++){let d,p=t.charCodeAt(e);!n&&p>=55296&&p<63744?(p=1024*(p-55296)+(t.charCodeAt(e+1)-56320)+65536,d=p.toString(16),e++,c&&(d=d.toUpperCase()),("php"===i||s)&&d.length<6&&(d=d.padStart(6,"0")),l+=r+a+d+o):u||p>=128?(d=p.toString(16),c&&(d=d.toUpperCase()),"javascript"===i&&d.length<4?d=d.padStart(4,"0"):("php"===i||s)&&d.length<6&&(d=d.padStart(6,"0")),l+=r+a+d+o):l+=t.charAt(e)}return l}async unicode2htmlentsval(t){for(let e=0;e<this.newents.length;e++)t=t.replaceAll(String(this.newcharrefs[e]),"&"+this.newents[e]+";");let n="";const i=await e("xhtmlentmode"),a=await e("ampkeep");for(const e of t){const t=e.codePointAt(0),r=this.numericCharacterReferences.indexOf(t);n+=-1===r||!i&&r===this.getAposPos()||a&&r===this.getAmpPos()?e:"&"+this.entities[r]+";"}return n}async htmlents2charrefDecval(t){const n=await e("xmlentkeep");return t.replaceAll(Jn,(e,t)=>n&&Rn.has(t)?"&"+t+";":this.newents.includes(t)?String(this.newcharrefs[this.newents.indexOf(t)]):this.entities.includes(t)?"&#"+this.numericCharacterReferences[this.entities.indexOf(t)]+";":"&"+t+";")}async htmlents2charrefHexval(t){const[n,i]=await Promise.all([e("xmlentkeep"),e("hexLettersUpper")]);return t.replaceAll(Jn,(e,t)=>{if(!n||!Rn.has(t)){const e=this.numericCharacterReferences[this.entities.indexOf(t)],n=this.newents.indexOf(t);if(-1!==n)return String(this.newcharrefs[n]);if(this.entities.includes(t)){let t=e.toString(16);return i&&(t=t.toUpperCase()),"&#x"+t+";"}return"&"+t+";"}return"&"+t+";"})}async htmlents2unicodeval(t){const n=await e("xmlentkeep");return t.replaceAll(Jn,(e,t)=>{if(!n||!Rn.has(t)){const e=this.numericCharacterReferences[this.entities.indexOf(t)];return this.newents.includes(t)?String(this.newcharrefs[this.newents.indexOf(t)]):this.entities.includes(t)?String.fromCodePoint(e):"&"+t+";"}return"&"+t+";"})}hex2decval(e){return e.replaceAll(In,function(e,t){return"&#"+Number.parseInt(t,16)+";"})}async dec2hexval(t){const n=await e("hexLettersUpper");return t.replaceAll(Ln,function(e,t){let i=Number(t).toString(16);return n&&(i=i.toUpperCase()),"&#x"+i+";"})}cssescape2unicodeval(e){let t="";for(let n=0;n<e.length;n++){const i=e[n];if("\\"!==i){t+=i;continue}const a=e[n+1];switch(a){case"\n":case"\f":t+=i+a;break;default:{const r=e.slice(n+1).match(/^([A-Fa-f\d]{1,5})(?:([A-Fa-f\d])|(\r\n|[ \t\r\n\f])?)/v);if(r){n+=r[0].length-1;const e=r[1]+(r[2]||""),a=Number.parseInt(e,16);if(0===a||a>1114111){t+="�";break}const o=String.fromCodePoint(a);a<161&&/[^\w\-]/v.test(o)?t+=i+r[0]:t+=o}else t+=i+a;break}}n++}return t}jsescape2unicodeval(e,t){let n,i="";for(let a=0;a<e.length;a++){const r=e[a];if("\\"!==r)i+=r;else{const o=e[a+1];if("php"===t)switch(o){case"\\":i+=r;break;case"u":if(n=/^[a-fA-F\d]{6}|[a-fA-F\d]{4}/v.exec(e.slice(a+2)),n){i+=String.fromCodePoint(Number.parseInt(n[0],16)),a+=n[0].length;break}default:i+=r+o}else switch(o){case"\\":i+=r;break;case"r":i+="\r";break;case"n":i+="\n";break;case"t":i+="\t";break;case"f":i+="\f";break;case"v":i+="\v";break;case"b":i+="\b";break;case"u":if(n=/^[a-fA-F\d]{4}/v.exec(e.slice(a+2)),n){i+=String.fromCharCode(Number.parseInt(n[0],16)),a+=n[0].length;break}default:i+=r+o}a++}}return i}async unicode2jsescapeval(e){return await this.unicode2charrefHexval(e,!0,"javascript")}async unicodeTo6DigitVal(e){return await this.unicode2charrefHexval(e,!1,"php")}async unicode2cssescapeval(e){return await this.unicode2charrefHexval(e,!1,"css")}sixDigit2UnicodeVal(e){return this.jsescape2unicodeval(e,"php")}async unicode2CharDescVal(t){const n=await e("asciiLt128");return(await Promise.all([...t].map(async e=>{const t=e.codePointAt(0);if(n||t>=128){const e=await this.getCharDescForCodePoint(t);if(e)return String.raw`\C{`+e+"}"}return e}))).join("")}async charDesc2UnicodeVal(e){const t=[];e.replaceAll(/\\C\{([^\}]*)\}/gv,(e,n)=>(t.push(this.lookupUnicodeValueByCharName(n)),""));const n=await Promise.all(t);let i=-1;return e.replaceAll(/\\C\{([^\}]*)\}/gv,()=>(++i,Object.hasOwn(n,i)?String.fromCodePoint(n[i]):"�"))}async getCharDescForCodePoint(e){try{if(e>=44032&&e<=55203)return kt(e);const t=e.toString(16).toUpperCase().padStart(4,"0");await Tt.connect();const{name:n,unicode1Name:i}=await Tt.getUnicodeFields(t);return i&&n.includes("<")?`${i} (${n})`:n}catch(e){alert(e)}}async lookupUnicodeValueByCharName(e){if(await this.searchUnicode({id:"searchName",value:e},"UnicodeData",!0,!0),!this.descripts?.[0]&&e.length<=7){const t=xt(e);return!!t&&t.charCodeAt(0)}return this.descripts?.[0]}async searchUnicode(e,t,n,i){t||(t="UnicodeData");const a=e.value;if("UnicodeData"===t&&e.id.startsWith("searchk")||"Unihan"===t&&/^search[^k]/v.test(e.id))return;if("Unihan"===t&&!n&&!jn.unihanDb_exists)return void alert(this._("need_download_unihan"));const r=e.id.replace(/^search/v,""),o="Unihan"===t?jn.unihanDatabase:Tt;await o.connect(),this.descripts=[];try{const e=r,n=gt(r),s=await o.getAll();(i?s.filter(i=>("Unihan"===t?i.columns[jn.Unihan.indexOf(e)]:i[n]).toLowerCase()===a.toLowerCase()):s.filter(i=>("Unihan"===t?i.columns[jn.Unihan.indexOf(e)]:i[n]).toLowerCase().includes(a.toLowerCase()))).forEach(e=>{const{codePoint:n}=e,i=Number.parseInt(n,16);"UnicodeData"===t&&i>=63744&&i<64256||this.descripts?.push(i)})}catch(e){alert(e)}}}},Vn=function(e){return/https?:/v.test(e)?e:""};function Hn(e){return["ul",[["li",["Scripts",["ul",[["li",[["b",[e("European_Scripts")]],["ul",[["li",{title:"0530-058F"},[e("Armenian"),["ul",[["li",{title:"FB13-FB17"},[["i",[e("Armenian_Ligatures")]]]]]]]],["li",{title:"10530-1056F"},[e("Caucasian_Albanian")]],["li",{title:"10800-1083F"},[e("Cypriot_Syllabary")]],["li",{title:"12F90–12FFF"},[e("Cypro_Minoan")]],["li",{title:"0400-04FF"},[e("Cyrillic"),["ul",[["li",{title:"0500-052F"},[["i",[e("Cyrillic_Supplement")]]]],["li",{title:"2DE0-2DFF"},[["i",[e("Cyrillic_Extended_A")]]]],["li",{title:"A640-A69F"},[["i",[e("Cyrillic_Extended_B")]]]],["li",{title:"1C80-1C8F"},[["i",[e("Cyrillic_Extended_C")]]]],["li",{title:"1E030–1E08F"},[["i",[e("Cyrillic_Extended_D")]]]]]]]],["li",{title:"10500-1052F"},[e("Elbasan")]],["li",{title:"10A0-10FF"},[e("Georgian"),["ul",[["li",{title:"1C90-1CBF"},[["i",[e("Georgian_Extended")]]]],["li",{title:"2D00-2D2F"},[["i",[e("Georgian_Supplement")]]]]]]]],["li",{title:"2C00-2C5F"},[e("Glagolitic"),["ul",[["li",{title:"1E000-1E02F"},[["i",[e("Glagolitic_Supplement")]]]]]]]],["li",{title:"10330-1034F"},[e("Gothic")]],["li",{title:"0370-03FF"},[e("Greek"),["ul",[["li",{title:"1F00-1FFF"},[["i",[e("Greek_Extended")]]]],["li",{title:"10140-1018F"},[["i",[e("Ancient_Greek_Numbers")]]]]]]]],["li",{title:"0000-007F"},[e("Latin"),["ul",[["li",{title:"0000-007F"},[["i",[e("Basic_Latin")]]]],["li",{title:"0080-00FF"},[["i",[e("Latin_1_Supplement")]]]],["li",{title:"0100-017F"},[["i",[e("Latin_Extended_A")]]]],["li",{title:"0180-024F"},[["i",[e("Latin_Extended_B")]]]],["li",{title:"2C60-2C7F"},[["i",[e("Latin_Extended_C")]]]],["li",{title:"A720-A7FF"},[["i",[e("Latin_Extended_D")]]]],["li",{title:"AB30-AB6F"},[["i",[e("Latin_Extended_E")]]]],["li",{title:"10780–107BF"},[["i",[e("Latin_Extended_F")]]]],["li",{title:"1DF00–1DFFF"},[["i",[e("Latin_Extended_G")]]]],["li",{title:"1E00-1EFF"},[["i",[e("Latin_Extended_Additional")]]]],["li",{title:"FB00-FB06"},[["i",[e("Latin_Ligatures")]]]],["li",{title:"FF00-FF5E"},[["i",[e("Fullwidth_Latin_Letters")]]]],["li",{title:"0250-02AF"},[["i",[e("IPA_Extensions")]]]],["li",{title:"1D00-1D7F"},[["i",[e("Phonetic_Extensions")]]]],["li",{title:"1D80-1DBF"},[["i",[e("Phonetic_Extensions_Supplement")]]]]]]]],["li",{title:"10600-1077F"},[e("Linear_A")]],["li",{title:null},[e("Linear_B"),["ul",[["li",{title:"10000-1007F"},[["i",[e("Linear_B_Syllabary")]]]],["li",{title:"10080-100FF"},[["i",[e("Linear_B_Ideograms")]]]],["li",{title:"10100-1013F"},[["i",[e("Aegean_Numbers")]]]]]]]],["li",{title:"1680-169F"},[e("Ogham")]],["li",{title:"10C80-10CFF"},[e("Old_Hungarian")]],["li",{title:"10300-1032F"},[e("Old_Italic")]],["li",{title:"10350-1037F"},[e("Old_Permic")]],["li",{title:"101D0-101FF"},[e("Phaistos_Disc")]],["li",{title:"16A0-16FF"},[e("Runic")]],["li",{title:"10450-1047F"},[e("Shavian")]],["li",{title:"105C0-105FF"},[e("Todhri")]],["li",{title:"10570–105BF"},[e("Vithkuqi")]]]]]],["li",[["b",[e("Modifier_Letters")]],["ul",[["li",{title:"A700-A71F"},[e("Modifier_Tone_Letters")]],["li",{title:"02B0-02FF"},[e("Spacing_Modifier_Letters")]],["li",{title:"2070-209F"},[e("Superscripts_and_Subscripts")]]]]]],["li",[["b",[e("Combining_Marks")]],["ul",[["li",{title:"0300-036F"},[e("Combining_Diacritical_Marks"),["ul",[["li",{title:"1AB0-1AFF"},[["i",[e("Combining_Diacritical_Marks_Extended")]]]],["li",{title:"1DC0-1DFF"},[["i",[e("Combining_Diacritical_Marks_Supplement")]]]]]]]],["li",{title:"20D0-20FF"},[e("Combining_Diacritical_Marks_for_Symbols")]],["li",{title:"FE20-FE2F"},[e("Combining_Half_Marks")]]]]]],["li",[["b",[e("Miscellaneous")]],["ul",[["li",{title:"FB00-FB4F"},[["i",[e("Alphabetic_Presentation_Forms")]]]],["li",{title:"0000-007F"},[["i",[e("ASCII_Characters")]]]],["li",{title:"FF00-FFEF"},[["i",[e("Halfwidth_and_Fullwidth_Forms")]]]]]]]],["li",[["b",[e("African_Scripts")]],["ul",[["li",{title:"1E900-1E95F"},[e("Adlam")]],["li",{title:"A6A0-A6FF"},[e("Bamum"),["ul",[["li",{title:"16800-16A3F"},[["i",[e("Bamum_Supplement")]]]]]]]],["li",{title:"16AD0-16AFF"},[e("Bassa_Vah")]],["li",{title:"16EA0-16EDF"},[e("Beria_Erfe")]],["li",{title:"2C80-2CFF"},[e("Coptic"),["ul",[["li",{title:"03E2-03EF"},[["i",[e("Coptic_in_Greek_block")]]]],["li",{title:"102E0-102FF"},[["i",[e("Coptic_Epact_Numbers")]]]]]]]],["li",{title:"13000-1342F"},[e("Egyptian_Hieroglyphs"),["ul",[["li",{title:"13430-1345F"},[["i",[e("Egyptian_Hieroglyph_Format_Controls")]]]],["li",{title:"13460-1355F"},[["i",[e("Egyptian_Hieroglyphs_Extended_A")]]]]]]]],["li",{title:"1200-137F"},[e("Ethiopic"),["ul",[["li",{title:"1380-139F"},[["i",[e("Ethiopic_Supplement")]]]],["li",{title:"2D80-2DDF"},[["i",[e("Ethiopic_Extended")]]]],["li",{title:"AB00-AB2F"},[["i",[e("Ethiopic_Extended_A")]]]],["li",{title:"1E7E0–1E7FF"},[["i",[e("Ethiopic_Extended_B")]]]]]]]],["li",{title:"10D40-10D8F"},[e("Garay")]],["li",{title:"16E40-16E9F"},[e("Medefaidrin")]],["li",{title:"1E800-1E8DF"},[e("Mende_Kikakui")]],["li",{title:null},[e("Meroitic"),["ul",[["li",{title:"109A0-109FF"},[["i",[e("Meroitic_Cursive")]]]],["li",{title:"10980-1099F"},[["i",[e("Meroitic_Hieroglyphs")]]]]]]]],["li",{title:"07C0-07FF"},[e("N_Ko")]],["li",{title:"10480-104AF"},[e("Osmanya")]],["li",{title:"2D30-2D7F"},[e("Tifinagh")]],["li",{title:"A500-A63F"},[e("Vai")]]]]]],["li",[["b",[e("West_Asian_Scripts")]],["ul",[["li",{title:"14400-1467F"},[e("Anatolian_Hieroglyphs")]],["li",{title:"0600-06FF"},[e("Arabic"),["ul",[["li",{title:"0750-077F"},[["i",[e("Arabic_Supplement")]]]],["li",{title:"08A0-08FF"},[["i",[e("Arabic_Extended_A")]]]],["li",{title:"0870–089F"},[["i",[e("Arabic_Extended_B")]]]],["li",{title:"10EC0–10EFF"},[["i",[e("Arabic_Extended_C")]]]],["li",{title:"FB50-FDFF"},[["i",[e("Arabic_Presentation_Forms_A")]]]],["li",{title:"FE70-FEFF"},[["i",[e("Arabic_Presentation_Forms_B")]]]]]]]],["li",{title:"10840-1085F"},[e("Aramaic__Imperial")]],["li",{title:"10B00-10B3F"},[e("Avestan")]],["li",{title:"102A0-102DF"},[e("Carian")]],["li",{title:"10FB0–10FDF"},[e("Chorasmian")]],["li",{title:"12000-123FF"},[e("Cuneiform"),["ul",[["li",{title:"12400-1247F"},[["i",[e("Cuneiform_Numbers_and_Punctuation")]]]],["li",{title:"12550-1268F"},[["i",[e("Archaic_Cuneiform_Numbers")]]]],["li",{title:"12480-1254F"},[["i",[e("Early_Dynastic_Cuneiform")]]]],["li",{title:"103A0-103DF"},[["i",[e("Old_Persian")]]]],["li",{title:"10380-1039F"},[["i",[e("Ugaritic")]]]]]]]],["li",{title:"10FE0-10FFF"},[e("Elymaic")]],["li",{title:"108E0-108FF"},[e("Hatran")]],["li",{title:"0590-05FF"},[e("Hebrew"),["ul",[["li",{title:"FB1D-FB4F"},[["i",[e("Hebrew_Presentation_Forms")]]]]]]]],["li",{title:"10280-1029F"},[e("Lycian")]],["li",{title:"10920-1093F"},[e("Lydian")]],["li",{title:"0840-085F"},[e("Mandaic")]],["li",{title:"10880-108AF"},[e("Nabataean")]],["li",{title:"10A80-10A9F"},[e("Old_North_Arabian")]],["li",{title:"10A60-10A7F"},[e("Old_South_Arabian")]],["li",{title:"10B60-10B7F"},[e("Pahlavi__Inscriptional")]],["li",{title:"10B80-10BAF"},[e("Pahlavi__Psalter")]],["li",{title:"10860-1087F"},[e("Palmyrene")]],["li",{title:"10B40-10B5F"},[e("Parthian__Inscriptional")]],["li",{title:"10900-1091F"},[e("Phoenician")]],["li",{title:"0800-083F"},[e("Samaritan")]],["li",{title:"10940-1095F"},[e("Sidetic")]],["li",{title:"0700-074F"},[e("Syriac"),["ul",[["li",{title:"0860–086F"},[["i",[e("Syriac_Supplement")]]]]]]]],["li",{title:"10E80–10EBF"},[e("Yezidi")]]]]]],["li",[["b",[e("Central_Asian_Scripts")]],["ul",[["li",{title:"10AC0-10AFF"},[e("Manichaean")]],["li",{title:"11C70-11CBF"},[e("Marchen")]],["li",{title:"1800-18AF"},[e("Mongolian"),["ul",[["li",{title:"11660-1167F"},[["i",[e("Mongolian_Supplement")]]]]]]]],["li",{title:"10F00-10F2F"},[e("Old_Sogdian")]],["li",{title:"10C00-10C4F"},[e("Old_Turkic")]],["li",{title:"10F70–10FAF"},[e("Old_Uyghur")]],["li",{title:"A840-A87F"},[e("Phags_Pa")]],["li",{title:"10F30-10F6F"},[e("Sogdian")]],["li",{title:"11A50–11AAF"},[e("Soyombo")]],["li",{title:"0F00-0FFF"},[e("Tibetan")]],["li",{title:"11A00–11A4F"},[e("Zanabazar_Square")]]]]]],["li",[["b",[e("South_Asian_Scripts")]],["ul",[["li",{title:"11700-1174F"},[e("Ahom")]],["li",{title:"0980-09FF"},[e("Bengali_and_Assamese"),["ul",[["li",{title:"11DF0-11DFF"},[["i",[e("Bengali_Supplement")]]]]]]]],["li",{title:"11C00-11C6F"},[e("Bhaiksuki")]],["li",{title:"11000-1107F"},[e("Brahmi")]],["li",{title:"11100-1114F"},[e("Chakma")]],["li",{title:"0900-097F"},[e("Devanagari"),["ul",[["li",{title:"A8E0-A8FF"},[["i",[e("Devanagari_Extended")]]]],["li",{title:"11B00–11B5F"},[["i",[e("Devanagari_Extended_A")]]]]]]]],["li",{title:"11900–1195F"},[e("Dives_Akuru")]],["li",{title:"11800-1184F"},[e("Dogra")]],["li",{title:"11300-1137F"},[e("Grantha")]],["li",{title:"0A80-0AFF"},[e("Gujarati")]],["li",{title:"11D60-11DAF"},[e("Gunjala_Gondi")]],["li",{title:"0A00-0A7F"},[e("Gurmukhi")]],["li",{title:"16100-1613F"},[e("Gurung_Khema")]],["li",{title:"11080-110CF"},[e("Kaithi")]],["li",{title:"0C80-0CFF"},[e("Kannada")]],["li",{title:"10A00-10A5F"},[e("Kharoshthi")]],["li",{title:"11200-1124F"},[e("Khojki")]],["li",{title:"16D40-16D7F"},[e("Kirat_Rai")]],["li",{title:"112B0-112FF"},[e("Khudawadi")]],["li",{title:"1C00-1C4F"},[e("Lepcha")]],["li",{title:"1900-194F"},[e("Limbu")]],["li",{title:"11150-1117F"},[e("Mahajani")]],["li",{title:"0D00-0D7F"},[e("Malayalam")]],["li",{title:"11D00–11D5F"},[e("Masaram_Gondi")]],["li",{title:"ABC0-ABFF"},[e("Meetei_Mayek"),["ul",[["li",{title:"AAE0-AAFF"},[["i",[e("Meetei_Mayek_Extensions")]]]]]]]],["li",{title:"11600-1165F"},[e("Modi")]],["li",{title:"16A40-16A6F"},[e("Mro")]],["li",{title:"11280-112AF"},[e("Multani")]],["li",{title:"1E4D0–1E4FF"},[e("Nag_Mundari")]],["li",{title:"119A0-119FF"},[e("Nandinagari")]],["li",{title:"11400-1147F"},[e("Newa")]],["li",{title:"1C50-1C7F"},[e("Ol_Chiki")]],["li",{title:"1E5D0-1E5FF"},[e("Ol_Onal")]],["li",{title:"0B00-0B7F"},[e("Oriya")]],["li",{title:"A880-A8DF"},[e("Saurashtra")]],["li",{title:"11180-111DF"},[e("Sharada"),["ul",[["li",{title:"11B60-11B7F"},[["i",[e("Sharada_Supplement")]]]]]]]],["li",{title:"11580-115FF"},[e("Siddham")]],["li",{title:"0D80-0DFF"},[e("Sinhala"),["ul",[["li",{title:"111E0-111FF"},[["i",[e("Sinhala_Archaic_Numbers")]]]]]]]],["li",{title:"110D0-110FF"},[e("Sora_Sompeng")]],["li",{title:"11BC0-11BFF"},[e("Sunuwar")]],["li",{title:"A800-A82F"},[e("Syloti_Nagri")]],["li",{title:"11680-116CF"},[e("Takri")]],["li",{title:"0B80-0BFF"},[e("Tamil"),["ul",[["li",{title:"11FC0-11FFF"},[["i",[e("Tamil_Supplement")]]]]]]]],["li",{title:"0C00-0C7F"},[e("Telugu")]],["li",{title:"0780-07BF"},[e("Thaana")]],["li",{title:"11480-114DF"},[e("Tirhuta")]],["li",{title:"11DB0-11DEF"},[e("Tolong_Siki")]],["li",{title:"1E290–1E2BF"},[e("Toto")]],["li",{title:"11380–113FF"},[e("Tulu_Tigalari")]],["li",{title:"1CD0-1CFF"},[e("Vedic_Extensions")]],["li",{title:"1E2C0-1E2FF"},[e("Wancho")]],["li",{title:"118A0-118FF"},[e("Warang_Citi")]]]]]],["li",[["b",[e("Southeast_Asian_Scripts")]],["ul",[["li",{title:"AA00-AA5F"},[e("Cham")]],["li",{title:"10D00-10D3F"},[e("Hanifi_Rohingya")]],["li",{title:"A900-A92F"},[e("Kayah_Li")]],["li",{title:"1780-17FF"},[e("Khmer"),["ul",[["li",{title:"19E0-19FF"},[["i",[e("Khmer_Symbols")]]]]]]]],["li",{title:"0E80-0EFF"},[e("Lao")]],["li",{title:"1000-109F"},[e("Myanmar"),["ul",[["li",{title:"AA60-AA7F"},[["i",[e("Myanmar_Extended_A")]]]],["li",{title:"A9E0-A9FF"},[["i",[e("Myanmar_Extended_B")]]]],["li",{title:"116D0-116FF"},[["i",[e("Myanmar_Extended_C")]]]]]]]],["li",{title:"1980-19DF"},[e("New_Tai_Lue")]],["li",{title:"1E100-1E14F"},[e("Nyiakeng_Puachue_Hmong")]],["li",{title:"16B00-16B8F"},[e("Pahawh_Hmong")]],["li",{title:"11AC0-11AFF"},[e("Pau_Cin_Hau")]],["li",{title:"1950-197F"},[e("Tai_Le")]],["li",{title:"1A20-1AAF"},[e("Tai_Tham")]],["li",{title:"AA80-AADF"},[e("Tai_Viet")]],["li",{title:"1E6C0-1E6FF"},[e("Tai_Yo")]],["li",{title:"16A70–16ACF"},[e("Tangsa")]],["li",{title:"0E00-0E7F"},[e("Thai")]]]]]],["li",[["b",[e("Indonesian___Philippine_Scripts")]],["ul",[["li",{title:"1B00-1B7F"},[e("Balinese")]],["li",{title:"1BC0-1BFF"},[e("Batak")]],["li",{title:"1A00-1A1F"},[e("Buginese")]],["li",{title:"1740-175F"},[e("Buhid")]],["li",{title:"1720-173F"},[e("Hanunoo")]],["li",{title:"A980-A9DF"},[e("Javanese")]],["li",{title:"11F00–11F5F"},[e("Kawi")]],["li",{title:"11EE0-11EFF"},[e("Makasar")]],["li",{title:"A930-A95F"},[e("Rejang")]],["li",{title:"1B80-1BBF"},[e("Sundanese"),["ul",[["li",{title:"1CC0-1CCF"},[["i",[e("Sundanese_Supplement")]]]]]]]],["li",{title:"1700-171F"},[e("Tagalog")]],["li",{title:"1760-177F"},[e("Tagbanwa")]]]]]],["li",[["b",[e("East_Asian_Scripts")]],["ul",[["li",{title:"3100-312F"},[e("Bopomofo"),["ul",[["li",{title:"31A0-31BF"},[["i",[e("Bopomofo_Extended")]]]]]]]],["li",{title:"4E00-9FFF"},[e("CJK_Unified_Ideographs__Han_"),["ul",[["li",{title:"3400-4DBF"},[["i",[e("CJK_Extension_A")]]]],["li",{title:"20000-2A6DF"},[["i",[e("CJK_Extension_B")]]]],["li",{title:"2A700-2B73F"},[["i",[e("CJK_Extension_C")]]]],["li",{title:"2B740-2B81F"},[["i",[e("CJK_Extension_D")]]]],["li",{title:"2B820-2CEAF"},[["i",[e("CJK_Extension_E")]]]],["li",{title:"2CEB0–2EBEF"},[["i",[e("CJK_Extension_F")]]]],["li",{title:"30000–3134F"},[["i",[e("CJK_Extension_G")]]]],["li",{title:"31350–323AF"},[["i",[e("CJK_Extension_H")]]]],["li",{title:"2EBF0–2EE5F"},[["i",[e("CJK_Extension_I")]]]],["li",{title:"323B0–3347F"},[["i",[e("CJK_Extension_J")]]]],["li",{title:""},[["i",[e("Full_Radical_Stroke_Index__PDF__35MB_")]]]],["li",{title:""},[["i",[e("Full_Radical_Stroke_Index__txt_")]]]],["li",{title:""},[["i",[e("_see_also_Unihan_Database_Lookup_")]]]]]]]],["li",{title:"F900-FAFF"},[e("CJK_Compatibility_Ideographs"),["ul",[["li",{title:"2F800-2FA1F"},[["i",[e("CJK_Compatibility_Ideographs_Supplement")]]]]]]]],["li",{title:"2F00-2FDF"},[e("CJK_Radicals___Kangxi_Radicals"),["ul",[["li",{title:"2E80-2EFF"},[["i",[e("CJK_Radicals_Supplement")]]]],["li",{title:"31C0-31EF"},[["i",[e("CJK_Strokes")]]]],["li",{title:"2FF0-2FFF"},[["i",[e("Ideographic_Description_Characters")]]]]]]]],["li",{title:"1100-11FF"},[e("Hangul_Jamo"),["ul",[["li",{title:"A960-A97F"},[["i",[e("Hangul_Jamo_Extended_A")]]]],["li",{title:"D7B0-D7FF"},[["i",[e("Hangul_Jamo_Extended_B")]]]],["li",{title:"3130-318F"},[["i",[e("Hangul_Compatibility_Jamo")]]]],["li",{title:"FFA0-FFDC"},[["i",[e("Halfwidth_Jamo")]]]]]]]],["li",{title:"AC00-D7AF"},[e("Hangul_Syllables")]],["li",{title:"3040-309F"},[e("Hiragana")]],["li",{title:"18E00-1919F"},[e("Jurchen"),["ul",[["li",{title:"191A0-191DF"},[["i",[e("Jurchen_Radicals")]]]]]]]],["li",{title:"1B100–1B12F"},[e("Kana_Extended_A")]],["li",{title:"1AFF0–1AFFF"},[e("Kana_Extended_B")]],["li",{title:"1B000-1B0FF"},[e("Kana_Supplement")]],["li",{title:"1B130-1B16F"},[e("Small_Kana_Extension")]],["li",{title:"3190-319F"},[e("Kanbun")]],["li",{title:"30A0-30FF"},[e("Katakana"),["ul",[["li",{title:"31F0-31FF"},[["i",[e("Katakana_Phonetic_Extensions")]]]],["li",{title:"FF65-FF9F"},[["i",[e("Halfwidth_Katakana")]]]]]]]],["li",{title:"18B00–18CFF"},[e("Khitan_Small_Script")]],["li",{title:"A4D0-A4FF"},[e("Lisu"),["ul",[["li",{title:"11FB0–11FBF"},[["i",[e("Lisu_Supplement")]]]]]]]],["li",{title:"16F00-16F9F"},[e("Miao")]],["li",{title:"1B170–1B2FF"},[e("Nushu")]],["li",{title:"3D000-3FC3F"},[e("Small_Seal")]],["li",{title:"17000-187FF"},[e("Tangut"),["ul",[["li",{title:"18800-18AFF"},[["i",[e("Tangut_Components")]]]],["li",{title:"18D00–18D7F"},[["i",[e("Tangut_Supplement")]]]],["li",{title:"18D80–18DFF"},[["i",[e("Tangut_Components_Supplement")]]]]]]]],["li",{title:null},[e("Yi"),["ul",[["li",{title:"A000-A48F"},[["i",[e("Yi_Syllables")]]]],["li",{title:"A490-A4CF"},[["i",[e("Yi_Radicals")]]]]]]]]]]]],["li",[["b",[e("American_Scripts")]],["ul",[["li",{title:"13A0-13FF"},[e("Cherokee"),["ul",[["li",{title:"AB70-ABBF"},[["i",[e("Cherokee_Supplement")]]]]]]]],["li",{title:"10400-1044F"},[e("Deseret")]],["li",{title:"104B0-104FF"},[e("Osage")]],["li",{title:"1400-167F"},[e("Unified_Canadian_Aboriginal_Syllabics"),["ul",[["li",{title:"18B0-18FF"},[["i",[e("UCAS_Extended")]]]],["li",{title:"11AB0–11ABF"},[["i",[e("UCAS_Extended_A")]]]]]]]]]]]]]]]],["li",["Symbols and Punctuation",["ul",[["li",[["b",[e("Notational_Systems")]],["ul",[["li",{title:"2800-28FF"},[e("Braille_Patterns")]],["li",{title:"1D100-1D1FF"},[e("Musical_Symbols"),["ul",[["li",{title:"1D250-1D28F"},[["i",[e("Musical_Symbols_Supplement")]]]],["li",{title:"1D200-1D24F"},[["i",[e("Ancient_Greek_Musical_Notation")]]]],["li",{title:"1D000-1D0FF"},[["i",[e("Byzantine_Musical_Symbols")]]]],["li",{title:"1CF00–1CFCF"},[["i",[e("Znamenny_Musical_Notation")]]]]]]]],["li",{title:"1BC00-1BC9F"},[e("Duployan"),["ul",[["li",{title:"1BCA0-1BCAF"},[["i",[e("Shorthand_Format_Controls")]]]]]]]],["li",{title:"1D800-1DAAF"},[e("Sutton_SignWriting")]]]]]],["li",[["b",[e("Punctuation")]],["ul",[["li",{title:"2000-206F"},[e("General_Punctuation"),["ul",[["li",{title:"0021-007F"},[["i",[e("ASCII_Punctuation")]]]],["li",{title:"00A1-00BF"},[["i",[e("Latin_1_Punctuation")]]]],["li",{title:"2E00-2E7F"},[["i",[e("Supplemental_Punctuation")]]]]]]]],["li",{title:"3000-303F"},[e("CJK_Symbols_and_Punctuation"),["ul",[["li",{title:"16FE0-16FFF"},[["i",[e("Ideographic_Symbols_and_Punctuation")]]]]]]]],["li",{title:"FE30-FE4F"},[e("CJK_Compatibility_Forms"),["ul",[["li",{title:"FF00-FFEF"},[["i",[e("Halfwidth_and_Fullwidth_Forms")]]]],["li",{title:"FE50-FE6F"},[["i",[e("Small_Form_Variants")]]]],["li",{title:"FE10-FE1F"},[["i",[e("Vertical_Forms")]]]]]]]]]]]],["li",[["b",[e("Alphanumeric_Symbols")]],["ul",[["li",{title:"2100-214F"},[e("Letterlike_Symbols"),["ul",[["li",{title:"10190-101CF"},[["i",[e("Roman_Symbols")]]]]]]]],["li",{title:"1D400-1D7FF"},[e("Mathematical_Alphanumeric_Symbols")]],["li",{title:"1EE00-1EEFF"},[e("Arabic_Mathematical_Alphabetic_Symbols")]],["li",{title:"2460-24FF"},[e("Enclosed_Alphanumerics"),["ul",[["li",{title:"1F100-1F1FF"},[["i",[e("Enclosed_Alphanumeric_Supplement")]]]]]]]],["li",{title:"3200-32FF"},[e("Enclosed_CJK_Letters_and_Months"),["ul",[["li",{title:"1F200-1F2FF"},[["i",[e("Enclosed_Ideographic_Supplement")]]]]]]]],["li",{title:"3300-33FF"},[e("CJK_Compatibility"),["ul",[["li",{title:"2100-214F"},[["i",[e("Additional_Squared_Symbols")]]]]]]]]]]]],["li",[["b",[e("Technical_Symbols")]],["ul",[["li",{title:"2336-237A"},[["i",[e("APL_symbols")]]]],["li",{title:"2400-243F"},[["i",[e("Control_Pictures")]]]],["li",{title:"2300-23FF"},[["i",[e("Miscellaneous_Technical")]]]],["li",{title:"2440-245F"},[["i",[e("Optical_Character_Recognition__OCR_")]]]]]]]],["li",[["b",[e("Numbers___Digits")]],["ul",[["li",{title:""},[["i",[e("_see_also_specific_scripts_")]]]],["li",{title:"0030-0039"},[e("ASCII_Digits"),["ul",[["li",{title:"FF10-FF19"},[["i",[e("Fullwidth_ASCII_Digits")]]]]]]]],["li",{title:"A830-A83F"},[e("Common_Indic_Number_Forms")]],["li",{title:"102E0-102FF"},[e("Coptic_Epact_Numbers")]],["li",{title:"1D360-1D37F"},[e("Counting_Rod_Numerals")]],["li",{title:"12400-1247F"},[e("Cuneiform_Numbers_and_Punctuation"),["ul",[["li",{title:"12550-1268F"},[["i",[e("Archaic_Cuneiform_Numbers")]]]]]]]],["li",{title:"1EC70-1ECBF"},[e("Indic_Siyaq_Numbers")]],["li",{title:"1D2C0–1D2DF"},[e("Kaktovik_Numerals")]],["li",{title:"1D2E0-1D2FF"},[e("Mayan_Numerals")]],["li",{title:"2150-218F"},[e("Number_Forms")]],["li",{title:"1ED00-1ED4F"},[e("Ottoman_Siyaq_Numbers")]],["li",{title:"10E60-10E7F"},[e("Rumi_Numeral_Symbols")]],["li",{title:"111E0-111FF"},[e("Sinhala_Archaic_Numbers")]],["li",{title:"2070-209F"},[e("Super_and_Subscripts")]]]]]],["li",[["b",[e("Mathematical_Symbols")]],["ul",[["li",{title:"2190-21FF"},[e("Arrows"),["ul",[["li",{title:"27F0-27FF"},[["i",[e("Supplemental_Arrows_A")]]]],["li",{title:"2900-297F"},[["i",[e("Supplemental_Arrows_B")]]]],["li",{title:"1F800-1F8FF"},[["i",[e("Supplemental_Arrows_C")]]]],["li",{title:"2B00-2BFF"},[["i",[e("Additional_Arrows")]]]],["li",{title:"2B00-2BFF"},[["i",[e("Miscellaneous_Symbols_and_Arrows")]]]],["li",{title:"1DB00-1DBFF"},[["i",[e("Miscellaneous_Symbols_and_Arrows_Extended")]]]]]]]],["li",{title:"1D400-1D7FF"},[e("Mathematical_Alphanumeric_Symbols"),["ul",[["li",{title:"1EE00-1EEFF"},[["i",[e("Arabic_Mathematical_Alphabetic_Symbols")]]]],["li",{title:"2100-214F"},[["i",[e("Letterlike_Symbols")]]]]]]]],["li",{title:"2200-22FF"},[e("Mathematical_Operators"),["ul",[["li",{title:""},[["i",[e("Basic_operators__Plus__Factorial__Division__Multiplication")]]]],["li",{title:"2A00-2AFF"},[["i",[e("Supplemental_Mathematical_Operators")]]]],["li",{title:"27C0-27EF"},[["i",[e("Miscellaneous_Mathematical_Symbols_A")]]]],["li",{title:"2980-29FF"},[["i",[e("Miscellaneous_Mathematical_Symbols_B")]]]],["li",{title:"2308-230B"},[["i",[e("Floors_and_Ceilings")]]]],["li",{title:"2061-2064"},[["i",[e("Invisible_Operators")]]]]]]]],["li",{title:"25A0-25FF"},[e("Geometric_Shapes"),["ul",[["li",{title:"2B00-2BFF"},[["i",[e("Additional_Shapes")]]]],["li",{title:"2500-257F"},[["i",[e("Box_Drawing")]]]],["li",{title:"2580-259F"},[["i",[e("Block_Elements")]]]],["li",{title:"1F780-1F7FF"},[["i",[e("Geometric_Shapes_Extended")]]]]]]]]]]]],["li",[["b",[e("Emoji___Pictographs")]],["ul",[["li",{title:"2700-27BF"},[e("Dingbats"),["ul",[["li",{title:"1F650-1F67F"},[["i",[e("Ornamental_Dingbats")]]]]]]]],["li",{title:"1F600-1F64F"},[e("Emoticons")]],["li",{title:"2600-26FF"},[e("Miscellaneous_Symbols")]],["li",{title:"1F300-1F5FF"},[e("Miscellaneous_Symbols_And_Pictographs")]],["li",{title:"1F900-1F9FF"},[e("Supplemental_Symbols_and_Pictographs")]],["li",{title:"1FA70-1FAFF"},[e("Symbols_and_Pictographs_Extended_A")]],["li",{title:"1F680-1F6FF"},[e("Transport_and_Map_Symbols")]]]]]],["li",[["b",[e("Other_Symbols")]],["ul",[["li",{title:"1F700-1F77F"},[e("Alchemical_Symbols")]],["li",{title:"10190-101CF"},[e("Ancient_Symbols")]],["li",{title:"20A0-20CF"},[e("Currency_Symbols"),["ul",[["li",{title:""},[["i",[e("_see_also_specific_scripts_")]]]],["li",{title:"0024"},[["i",[e("Dollar_Sign__Euro_Sign")]]]],["li",{title:"00A2-00A5"},[["i",[e("Yen__Pound_and_Cent")]]]],["li",{title:"FF04"},[["i",[e("Fullwidth_Currency_Symbols")]]]],["li",{title:"FB50"},[["i",[e("Rial_Sign")]]]]]]]],["li",{title:null},[e("Game_Symbols"),["ul",[["li",{title:"2654-265F, 26C0-26C3"},[["i",[e("Chess__Checkers_Draughts")]]]],["li",{title:"1FA00-1FA6F"},[["i",[e("Chess_Symbols")]]]],["li",{title:"1F030-1F09F"},[["i",[e("Domino_Tiles")]]]],["li",{title:"2616-2617"},[["i",[e("Japanese_Chess")]]]],["li",{title:"1F000-1F02F"},[["i",[e("Mahjong_Tiles")]]]],["li",{title:"1F0A0-1F0FF"},[["i",[e("Playing_Cards")]]]],["li",{title:"2660-2667"},[["i",[e("Card_suits")]]]]]]]],["li",{title:"2B00-2BFF"},[e("Miscellaneous_Symbols_and_Arrows"),["ul",[["li",{title:"1CEC0-1CEFF"},[["i",[e("Miscellaneous_Symbols_Supplement")]]]],["li",{title:"1DB00-1DBFF"},[["i",[e("Miscellaneous_Symbols_and_Arrows_Extended")]]]]]]]],["li",{title:"1FB00–1FBFF"},[e("Symbols_for_Legacy_Computing"),["ul",[["li",{title:"1CC00-1CEBF"},[["i",[e("Symbols_for_Legacy_Computing_Supplement")]]]]]]]],["li",{title:null},[e("Yijing_Symbols"),["ul",[["li",{title:"268A-268F, 2630-2637"},[["i",[e("Yijing_Mono___Di__and_Trigrams")]]]],["li",{title:"4DC0-4DFF"},[["i",[e("Yijing_Hexagram_Symbols")]]]],["li",{title:"1D300-1D35F"},[["i",[e("Tai_Xuan_Jing_Symbols")]]]]]]]]]]]],["li",[["b",[e("Specials")]],["ul",[["li",{title:"0000-001F"},[["i",[e("Controls__tC0__tC1")]]]],["li",{title:"2000-206F"},[["i",[e("Layout_Controls")]]]],["li",{title:"2061-2064"},[["i",[e("Invisible_Operators")]]]],["li",{title:"FFF0-FFFF"},[e("Specials")]],["li",{title:"E0000-E007F"},[e("Tags")]],["li",{title:"FE00-FE0F"},[e("Variation_Selectors"),["ul",[["li",{title:"E0100-E01EF"},[["i",[e("Variation_Selectors_Supplement")]]]]]]]]]]]],["li",[["b",[e("Private_Use")]],["ul",[["li",{title:"E000-F8FF"},[e("Private_Use_Area")]],["li",{title:"F0000-FFFFD"},[e("Supplementary_Private_Use_Area_A")]],["li",{title:"100000-10FFFD"},[e("Supplementary_Private_Use_Area_B")]]]]]],["li",[["b",[e("Surrogates")]],["ul",[["li",{title:"D800-DBFF"},[e("High_Surrogates")]],["li",{title:"DC00-DFFF"},[e("Low_Surrogates")]]]]]],["li",[["b",[e("Noncharacters_in_Charts")]],["ul",[["li",{title:null},[e("Noncharacters_in_blocks"),["ul",[["li",{title:"FDD0-FDEF"},[["i",[e("Range_in_Arabic_Presentation_Forms_A")]]]],["li",{title:"FFFE-FFFF "},[["i",[e("Range_in_Specials")]]]]]]]],["li",{title:null},[e("Noncharacters_at_end_of____"),["ul",[["li",{title:""},[["i",[e("BMP__Plane_1__Plane_2__Plane_3__Plane_4__Plane_5__Plane_6__Plane_7__Plane_8__Plane_9__Plane_10__Plane_11__Plane_12__Plane_13__Plane_14__Plane_15__Plane_16")]]]]]]]]]]]]]]]]]]}async function Gn({namespace:e}){var t;await(t=e,new Promise(e=>{const n=indexedDB.deleteDatabase(t);n.addEventListener("success",()=>{e()}),n.addEventListener("error",()=>{e()}),n.addEventListener("blocked",()=>{e()})}));const n=new Dt({version:1}),i=(await(async e=>{const t=await fetch(e);return await t.text()})("/download/UCD/UnicodeData.txt")).trim(),a=i.split("\n").map(e=>e.split(";"));await n.connect({updateUnicodeData:a})}function Wn(e,{before:t,after:n,favicon:i,canvas:a,image:r=!0,acceptErrors:o}={}){return e=Array.isArray(e)?e:[e],Promise.all(e.map(e=>function(e){let s,l={};Array.isArray(e)?[s,l={}]=e:s=e;let{favicon:c=i}=l;const{before:u=t,after:d=n,canvas:p=a,image:h=r}=l;function f(){u?u.before(b):d?d.after(b):document.head.append(b)}const b=document.createElement("link");return new Promise((e,t)=>{let n=t;if(o&&(n="function"==typeof o?n=>{o({error:n,stylesheetURL:s,options:l,resolve:e,reject:t})}:e),s.endsWith(".css")?c=!1:s.endsWith(".ico")&&(c=!0),c){if(b.rel="shortcut icon",b.type="image/x-icon",!1===h)return b.href=s,f(),void e(b);const n=document.createElement("canvas");n.width=16,n.height=16;const i=n.getContext("2d"),a=document.createElement("img");return a.addEventListener("error",e=>{t(e)}),a.addEventListener("load",()=>{if(!i)throw new Error("Canvas context could not be found");i.drawImage(a,0,0),b.href=p?n.toDataURL("image/x-icon"):s,f(),e(b)}),void(a.src=s)}b.rel="stylesheet",b.type="text/css",b.href=s,f(),b.addEventListener("error",e=>{n(e)}),b.addEventListener("load",()=>{e(b)})})}(e)))}
|
|
4
4
|
/**
|
|
5
5
|
* MIT License.
|
|
6
6
|
*
|