UNPKG

speech-rule-engine

Version:

A standalone speech rule engine for XML structures, based on the original engine from ChromeVox.

1 lines 292 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.SRE=e():t.SRE=e()}(this,(()=>(()=>{"use strict";var __webpack_modules__={95:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{f:()=>SystemExternal});var _variables_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(679);class SystemExternal{static nodeRequire(){return eval("require")}static extRequire(t){return"undefined"!=typeof process&&"undefined"!=typeof require?SystemExternal.nodeRequire()(t):null}}SystemExternal.windowSupported=!("undefined"==typeof window),SystemExternal.documentSupported=SystemExternal.windowSupported&&!(void 0===window.document),SystemExternal.xmldom=SystemExternal.documentSupported?window:SystemExternal.extRequire("@xmldom/xmldom"),SystemExternal.document=SystemExternal.documentSupported?window.document:(new SystemExternal.xmldom.DOMImplementation).createDocument("","",0),SystemExternal.xpath=SystemExternal.documentSupported?document:function(){const t={document:{},XPathResult:{}};return SystemExternal.extRequire("wicked-good-xpath").install(t),t.document.XPathResult=t.XPathResult,t.document}(),SystemExternal.mathmapsIePath="https://cdn.jsdelivr.net/npm/sre-mathmaps-ie@"+_variables_js__WEBPACK_IMPORTED_MODULE_0__.u.VERSION+"mathmaps_ie.js",SystemExternal.fs=SystemExternal.documentSupported?null:SystemExternal.extRequire("fs"),SystemExternal.url=_variables_js__WEBPACK_IMPORTED_MODULE_0__.u.url,SystemExternal.jsonPath=function(){if(SystemExternal.documentSupported)return SystemExternal.url;if(process.env.SRE_JSON_PATH||global.SRE_JSON_PATH)return process.env.SRE_JSON_PATH||global.SRE_JSON_PATH;try{return SystemExternal.nodeRequire().resolve("speech-rule-engine").replace(/sre\.js$/,"")+"mathmaps"}catch(t){}try{return SystemExternal.nodeRequire().resolve(".").replace(/sre\.js$/,"")+"mathmaps"}catch(t){}return"undefined"!=typeof __dirname?__dirname+(__dirname.match(/lib?$/)?"/mathmaps":"/lib/mathmaps"):process.cwd()+"/lib/mathmaps"}(),SystemExternal.WGXpath=_variables_js__WEBPACK_IMPORTED_MODULE_0__.u.WGXpath,SystemExternal.wgxpath=null},679:(t,e,n)=>{n.d(e,{u:()=>r});class r{static ensureLocale(t,e){return r.LOCALES.get(t)?t:(console.error(`Locale ${t} does not exist! Using ${r.LOCALES.get(e)} instead.`),e)}}r.VERSION="4.1.0-beta.11",r.LOCALES=new Map([["af","Africaans"],["ca","Catalan"],["da","Danish"],["de","German"],["en","English"],["es","Spanish"],["euro","Euro"],["fr","French"],["hi","Hindi"],["it","Italian"],["ko","Korean"],["nb","Bokm\xe5l"],["nn","Nynorsk"],["sv","Swedish"],["nemeth","Nemeth"]]),r.mathjaxVersion="4.0.0-beta.5",r.url="https://cdn.jsdelivr.net/npm/speech-rule-engine@"+r.VERSION+"/lib/mathmaps",r.WGXpath="https://cdn.jsdelivr.net/npm/wicked-good-xpath@1.3.0/dist/wgxpath.install.js"}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var n=__webpack_module_cache__[t]={exports:{}};return __webpack_modules__[t](n,n.exports,__webpack_require__),n.exports}__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var __webpack_exports__={};return(()=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{cli:()=>Yu,engineReady:()=>Lu,engineSetup:()=>bu,exit:()=>ju,file:()=>ku,localeLoader:()=>yu,localePath:()=>Hu,move:()=>$u,number:()=>xu,numericOrdinal:()=>vu,ordinal:()=>Du,processFile:()=>Gu,setupEngine:()=>Cu,toDescription:()=>Fu,toEnriched:()=>Uu,toJson:()=>Pu,toSemantic:()=>_u,toSpeech:()=>Mu,variables:()=>Ku,version:()=>Ou,vulgar:()=>wu,walk:()=>Vu});var t,e,n,r={};__webpack_require__.r(r),__webpack_require__.d(r,{engineReady:()=>Lu,engineSetup:()=>bu,exit:()=>ju,file:()=>ku,localeLoader:()=>yu,localePath:()=>Hu,move:()=>$u,number:()=>xu,numericOrdinal:()=>vu,ordinal:()=>Du,processFile:()=>Gu,setupEngine:()=>Cu,toDescription:()=>Fu,toEnriched:()=>Uu,toJson:()=>Pu,toSemantic:()=>_u,toSpeech:()=>Mu,version:()=>Ou,vulgar:()=>wu,walk:()=>Vu}),function(t){t.DOMAIN="domain",t.STYLE="style",t.LOCALE="locale",t.TOPIC="topic",t.MODALITY="modality"}(t||(t={}));class s{static createProp(...t){const e=o.DEFAULT_ORDER,n={};for(let r=0,s=t.length,o=e.length;r<s&&r<o;r++)n[e[r]]=t[r];return new s(n)}constructor(t,e=Object.keys(t)){this.properties=t,this.order=e}getProperties(){return this.properties}getOrder(){return this.order}getAxes(){return this.order}getProperty(t){return this.properties[t]}updateProperties(t){this.properties=t}allProperties(){const t=[];return this.order.forEach((e=>t.push(this.getProperty(e).slice()))),t}toString(){const t=[];return this.order.forEach((e=>t.push(e+": "+this.getProperty(e).toString()))),t.join("\n")}}class o extends s{static createCstr(...t){const e=o.DEFAULT_ORDER,n={};for(let r=0,s=t.length,o=e.length;r<s&&r<o;r++)n[e[r]]=t[r];return new o(n)}static defaultCstr(){return o.createCstr.apply(null,o.DEFAULT_ORDER.map((function(t){return o.DEFAULT_VALUES[t]})))}static validOrder(t){const e=o.DEFAULT_ORDER.slice();return t.every((t=>{const n=e.indexOf(t);return-1!==n&&e.splice(n,1)}))}constructor(t,e){const n={};for(const[e,r]of Object.entries(t))n[e]=[r];super(n,e),this.components=t}getComponents(){return this.components}getValue(t){return this.components[t]}getValues(){return this.order.map((t=>this.getValue(t)))}allProperties(){const t=super.allProperties();for(let e,n,r=0;e=t[r],n=this.order[r];r++){const t=this.getValue(n);-1===e.indexOf(t)&&e.unshift(t)}return t}toString(){return this.getValues().join(".")}equal(t){const e=t.getAxes();if(this.order.length!==e.length)return!1;for(let n,r=0;n=e[r];r++){const e=this.getValue(n);if(!e||t.getValue(n)!==e)return!1}return!0}}o.DEFAULT_ORDER=[t.LOCALE,t.MODALITY,t.DOMAIN,t.STYLE,t.TOPIC],o.BASE_LOCALE="base",o.DEFAULT_VALUE="default",o.DEFAULT_VALUES={[t.LOCALE]:"en",[t.DOMAIN]:o.DEFAULT_VALUE,[t.STYLE]:o.DEFAULT_VALUE,[t.TOPIC]:o.DEFAULT_VALUE,[t.MODALITY]:"speech"};class i{constructor(t){this.order=t}parse(t){const e=t.split("."),n={};if(e.length>this.order.length)throw new Error("Invalid dynamic constraint: "+n);let r=0;for(let t,s=0;t=this.order[s],e.length;s++,r++){const r=e.shift();n[t]=r}return new o(n,this.order.slice(0,r))}}class c{constructor(t,e=new s(t.getProperties(),t.getOrder())){this.reference=t,this.fallback=e,this.order=this.reference.getOrder()}getReference(){return this.reference}setReference(t,e){this.reference=t,this.fallback=e||new s(t.getProperties(),t.getOrder()),this.order=this.reference.getOrder()}match(t){const e=t.getAxes();return e.length===this.reference.getAxes().length&&e.every((e=>{const n=t.getValue(e);return n===this.reference.getValue(e)||-1!==this.fallback.getProperty(e).indexOf(n)}))}compare(t,e){let n=!1;for(let r,s=0;r=this.order[s];s++){const s=t.getValue(r),o=e.getValue(r);if(!n){const t=this.reference.getValue(r);if(t===s&&t!==o)return-1;if(t===o&&t!==s)return 1;if(t===s&&t===o)continue;t!==s&&t!==o&&(n=!0)}const i=this.fallback.getProperty(r),c=i.indexOf(s),a=i.indexOf(o);if(c<a)return-1;if(a<c)return 1}return 0}toString(){return this.reference.toString()+"\n"+this.fallback.toString()}}!function(t){t.SYNC="sync",t.ASYNC="async",t.HTTP="http"}(e||(e={})),function(t){t.PITCH="pitch",t.RATE="rate",t.VOLUME="volume",t.PAUSE="pause",t.JOIN="join",t.LAYOUT="layout"}(n||(n={}));const a=[n.PITCH,n.RATE,n.VOLUME,n.PAUSE,n.JOIN];var l,u;!function(t){t.NONE="none",t.SHALLOW="shallow",t.DEEP="deep"}(l||(l={})),function(t){t.NONE="none",t.LAYOUT="layout",t.COUNTING="counting",t.PUNCTUATION="punctuation",t.SSML="ssml",t.ACSS="acss",t.SABLE="sable",t.VOICEXML="voicexml"}(u||(u={}));const h={mathspeak:"default",clearspeak:"default"};var d=__webpack_require__(95);class f{static getInstance(){return f.instance=f.instance||new f,f.instance}init(t){return t&&this.startDebugFile_(t),this.isActive_=!0,this.fileHandle}output(...t){this.isActive_&&this.output_(t)}generateOutput(t){this.isActive_&&this.output_(t.apply(t,[]))}exit(t=(()=>{})){this.fileHandle.then((()=>{this.isActive_&&this.stream_&&this.stream_.end("","",t)}))}constructor(){this.isActive_=!1,this.outputFunction_=console.info,this.fileHandle=Promise.resolve(),this.stream_=null}startDebugFile_(t){this.fileHandle=d.f.fs.promises.open(t,"w"),this.fileHandle=this.fileHandle.then((e=>{this.stream_=e.createWriteStream(t),this.outputFunction_=function(...t){this.stream_.write(t.join(" ")),this.stream_.write("\n")}.bind(this),this.stream_.on("error",function(t){console.info("Invalid log file. Debug information sent to console."),this.outputFunction_=console.info}.bind(this)),this.stream_.on("finish",(function(){console.info("Finalizing debug file.")}))}))}output_(t){console.info!==this.outputFunction_?this.fileHandle.then((()=>this.outputFunction_.apply(this.outputFunction_,["Speech Rule Engine Debugger:"].concat(t)))):this.outputFunction_.apply(console,["Speech Rule Engine Debugger:"].concat(t))}}var p=__webpack_require__(679);class m extends Error{constructor(t=""){super(),this.message=t,this.name="SRE Error"}}class E{set defaultLocale(t){this._defaultLocale=p.u.ensureLocale(t,this._defaultLocale)}get defaultLocale(){return this._defaultLocale}static getInstance(){return E.instance=E.instance||new E,E.instance}static defaultEvaluator(t,e){return t}static evaluateNode(t){return E.nodeEvaluator(t)}getRate(){const t=parseInt(this.rate,10);return isNaN(t)?100:t}setDynamicCstr(e){if(this.defaultLocale&&(o.DEFAULT_VALUES[t.LOCALE]=this.defaultLocale),e){const t=Object.keys(e);for(let n=0;n<t.length;n++){const r=t[n];if(-1!==o.DEFAULT_ORDER.indexOf(r)){const t=e[r];this[r]=t}}}h[this.domain]=this.style;const n=[this.locale,this.modality,this.domain,this.style].join("."),r=s.createProp([o.DEFAULT_VALUES[t.LOCALE]],[o.DEFAULT_VALUES[t.MODALITY]],[o.DEFAULT_VALUES[t.DOMAIN]],[o.DEFAULT_VALUES[t.STYLE]]),i=this.comparators[this.domain],a=this.parsers[this.domain];this.parser=a||this.defaultParser,this.dynamicCstr=this.parser.parse(n),this.dynamicCstr.updateProperties(r.getProperties()),this.comparator=i?i():new c(this.dynamicCstr)}constructor(){this.customLoader=null,this.parsers={},this.comparator=null,this.mode=e.SYNC,this.init=!0,this.delay=!1,this.comparators={},this.domain="mathspeak",this.style=o.DEFAULT_VALUES[t.STYLE],this._defaultLocale=o.DEFAULT_VALUES[t.LOCALE],this.locale=o.DEFAULT_VALUES[t.LOCALE],this.subiso="",this.modality=o.DEFAULT_VALUES[t.MODALITY],this.speech=l.NONE,this.markup=u.NONE,this.mark=!0,this.automark=!1,this.character=!0,this.cleanpause=!0,this.cayleyshort=!0,this.linebreaks=!1,this.rate="100",this.walker="Table",this.structure=!1,this.aria=!1,this.ruleSets=[],this.strict=!1,this.isIE=!1,this.isEdge=!1,this.pprint=!1,this.config=!1,this.rules="",this.prune="",this.locale=this.defaultLocale,this.evaluator=E.defaultEvaluator,this.defaultParser=new i(o.DEFAULT_ORDER),this.parser=this.defaultParser,this.dynamicCstr=o.defaultCstr()}configurate(t){this.mode!==e.HTTP||this.config||(!function(t){const e=document.documentElement.querySelectorAll('script[type="text/x-sre-config"]');for(let n=0,r=e.length;n<r;n++){let r;try{r=e[n].innerHTML;const s=JSON.parse(r);for(const[e,n]of Object.entries(s))t[e]=n}catch(t){f.getInstance().output("Illegal configuration ",r)}}}(t),this.config=!0),function(t){if("undefined"!=typeof SREfeature)for(const[e,n]of Object.entries(SREfeature))t[e]=n}(t)}setCustomLoader(t){t&&(this.customLoader=t)}}E.BINARY_FEATURES=["automark","mark","character","cleanpause","strict","structure","aria","pprint","cayleyshort","linebreaks"],E.STRING_FEATURES=["markup","style","domain","speech","walker","defaultLocale","locale","delay","modality","rate","rules","subiso","prune"],E.nodeEvaluator=function(t){return[]};class g{static get(t=E.getInstance().locale){return g.promises[t]||Promise.resolve("")}static getall(){return Promise.all(Object.values(g.promises))}}function N(){return"undefined"!=typeof XPathResult}g.loaded={},g.promises={};const S={currentDocument:null,evaluate:N()?document.evaluate:d.f.xpath.evaluate,result:N()?XPathResult:d.f.xpath.XPathResult,createNSResolver:N()?document.createNSResolver:d.f.xpath.createNSResolver},T={xhtml:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",mml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function I(t){return T[t]||null}class A{constructor(){this.lookupNamespaceURI=I}}function R(t,n,r){return E.getInstance().mode!==e.HTTP||E.getInstance().isIE||E.getInstance().isEdge?S.evaluate(t,n,new A,r,null):S.currentDocument.evaluate(t,n,I,r,null)}function O(t,e){let n;try{n=R(t,e,S.result.ORDERED_NODE_ITERATOR_TYPE)}catch(t){return[]}const r=[];for(let t=n.iterateNext();t;t=n.iterateNext())r.push(t);return r}function C(t){if(E.getInstance().mode!==e.HTTP)return;let n=t;for(;n&&!n.evaluate;)n=n.parentNode;n&&n.evaluate?S.currentDocument=n:t.ownerDocument&&(S.currentDocument=t.ownerDocument)}function b(t){const e=[];for(let n=0,r=t.length;n<r;n++)e.push(t[n]);return e}function L(t){const n=new d.f.xmldom.DOMParser,r=function(t){return(t=t.replace(/&nbsp;/g,"\xa0")).replace(/>[ \f\n\r\t\v\u200b]+</g,"><").trim()}(t),s=!!r.match(/&(?!lt|gt|amp|quot|apos)\w+;/g);if(!r)throw new Error("Empty input!");try{const t=n.parseFromString(r,s?"text/html":"text/xml");return E.getInstance().mode===e.HTTP?(S.currentDocument=t,s?t.body.childNodes[0]:t.documentElement):t.documentElement}catch(t){throw new m("Illegal input: "+t.message)}}var y,M,_,P;function F(t,e){t.parentNode&&(t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t))}function U(t){return d.f.document.createElement(t)}function x(t,e){return d.f.document.createElementNS(t,e)}function D(t){let e="",n=/(>)(<)(\/*)/g,r=0,s=(t=t.replace(n,"$1\r\n$2$3")).split("\r\n");for(n=/(\.)*(<)(\/*)/g,s=s.map((t=>t.replace(n,"$1\r\n$2$3").split("\r\n"))).reduce(((t,e)=>t.concat(e)),[]);s.length;){let t=s.shift();if(!t)continue;let n=0;if(t.match(/^<\w[^>/]*>[^>]+$/)){const e=v(t,s[0]);e[0]?e[1]?(t+=s.shift().slice(0,-e[1].length),e[1].trim()&&s.unshift(e[1])):t+=s.shift():n=1}else if(t.match(/^<\/\w/))0!==r&&(r-=1);else if(t.match(/^<\w[^>]*[^/]>.*$/))n=1;else if(t.match(/^<\w[^>]*\/>.+$/)){const e=t.indexOf(">")+1,n=t.slice(e);n.trim()&&s.unshift(),t=t.slice(0,e)+n}else n=0;e+=new Array(r+1).join(" ")+t+"\r\n",r+=n}return e}function v(t,e){if(!e)return[!1,""];const n=t.match(/^<([^> ]+).*>/),r=e.match(/^<\/([^>]+)>(.*)/);return n&&r&&n[1]===r[1]?[!0,r[2]]:[!1,""]}function w(t,e,n){return t.querySelectorAll?b(t.querySelectorAll(`[${e}="${n}"]`)):O(`.//*[@${e}="${n}"]`,t)}function B(t){return t.tagName.toUpperCase()}function k(t){return t.cloneNode(!0)}function G(t){return(new d.f.xmldom.XMLSerializer).serializeToString(t)}function V(t){const e=t.toString(16).toUpperCase();return e.length>3?e:("000"+e).slice(-4)}function $([t,e],n){const r=parseInt(t,16),s=parseInt(e,16),o=[];for(let t=r;t<=s;t++){let e=V(t);!1!==n[e]&&(e=n[e]||e,o.push(e))}return o}function j(t,e={}){return $(t,e).map((t=>String.fromCodePoint(parseInt(t,16))))}!function(t){t[t.ELEMENT_NODE=1]="ELEMENT_NODE",t[t.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",t[t.TEXT_NODE=3]="TEXT_NODE",t[t.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",t[t.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",t[t.ENTITY_NODE=6]="ENTITY_NODE",t[t.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",t[t.COMMENT_NODE=8]="COMMENT_NODE",t[t.DOCUMENT_NODE=9]="DOCUMENT_NODE",t[t.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",t[t.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",t[t.NOTATION_NODE=12]="NOTATION_NODE"}(y||(y={})),function(t){t.BOLD="bold",t.BOLDFRAKTUR="bold-fraktur",t.BOLDITALIC="bold-italic",t.BOLDSCRIPT="bold-script",t.DOUBLESTRUCK="double-struck",t.DOUBLESTRUCKITALIC="double-struck-italic",t.FULLWIDTH="fullwidth",t.FRAKTUR="fraktur",t.ITALIC="italic",t.MONOSPACE="monospace",t.NORMAL="normal",t.SCRIPT="script",t.SANSSERIF="sans-serif",t.SANSSERIFITALIC="sans-serif-italic",t.SANSSERIFBOLD="sans-serif-bold",t.SANSSERIFBOLDITALIC="sans-serif-bold-italic"}(M||(M={})),function(t){t.SUPER="super",t.SUB="sub",t.CIRCLED="circled",t.PARENTHESIZED="parenthesized",t.PERIOD="period",t.NEGATIVECIRCLED="negative-circled",t.DOUBLECIRCLED="double-circled",t.CIRCLEDSANSSERIF="circled-sans-serif",t.NEGATIVECIRCLEDSANSSERIF="negative-circled-sans-serif",t.COMMA="comma",t.SQUARED="squared",t.NEGATIVESQUARED="negative-squared"}(_||(_={})),function(t){t.LATINCAP="latinCap",t.LATINSMALL="latinSmall",t.GREEKCAP="greekCap",t.GREEKSMALL="greekSmall",t.DIGIT="digit"}(P||(P={}));const H=[{interval:["1D400","1D419"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.BOLD},{interval:["1D41A","1D433"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.BOLD},{interval:["1D56C","1D585"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.BOLDFRAKTUR},{interval:["1D586","1D59F"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.BOLDFRAKTUR},{interval:["1D468","1D481"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.BOLDITALIC},{interval:["1D482","1D49B"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.BOLDITALIC},{interval:["1D4D0","1D4E9"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.BOLDSCRIPT},{interval:["1D4EA","1D503"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.BOLDSCRIPT},{interval:["1D538","1D551"],base:P.LATINCAP,subst:{"1D53A":"2102","1D53F":"210D","1D545":"2115","1D547":"2119","1D548":"211A","1D549":"211D","1D551":"2124"},capital:!0,category:"Lu",font:M.DOUBLESTRUCK},{interval:["1D552","1D56B"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.DOUBLESTRUCK},{interval:["1D504","1D51D"],base:P.LATINCAP,subst:{"1D506":"212D","1D50B":"210C","1D50C":"2111","1D515":"211C","1D51D":"2128"},capital:!0,category:"Lu",font:M.FRAKTUR},{interval:["1D51E","1D537"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.FRAKTUR},{interval:["FF21","FF3A"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.FULLWIDTH},{interval:["FF41","FF5A"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.FULLWIDTH},{interval:["1D434","1D44D"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.ITALIC},{interval:["1D44E","1D467"],base:P.LATINSMALL,subst:{"1D455":"210E"},capital:!1,category:"Ll",font:M.ITALIC},{interval:["1D670","1D689"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.MONOSPACE},{interval:["1D68A","1D6A3"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.MONOSPACE},{interval:["0041","005A"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.NORMAL},{interval:["0061","007A"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.NORMAL},{interval:["1D49C","1D4B5"],base:P.LATINCAP,subst:{"1D49D":"212C","1D4A0":"2130","1D4A1":"2131","1D4A3":"210B","1D4A4":"2110","1D4A7":"2112","1D4A8":"2133","1D4AD":"211B"},capital:!0,category:"Lu",font:M.SCRIPT},{interval:["1D4B6","1D4CF"],base:P.LATINSMALL,subst:{"1D4BA":"212F","1D4BC":"210A","1D4C4":"2134"},capital:!1,category:"Ll",font:M.SCRIPT},{interval:["1D5A0","1D5B9"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.SANSSERIF},{interval:["1D5BA","1D5D3"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.SANSSERIF},{interval:["1D608","1D621"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.SANSSERIFITALIC},{interval:["1D622","1D63B"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.SANSSERIFITALIC},{interval:["1D5D4","1D5ED"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.SANSSERIFBOLD},{interval:["1D5EE","1D607"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.SANSSERIFBOLD},{interval:["1D63C","1D655"],base:P.LATINCAP,subst:{},capital:!0,category:"Lu",font:M.SANSSERIFBOLDITALIC},{interval:["1D656","1D66F"],base:P.LATINSMALL,subst:{},capital:!1,category:"Ll",font:M.SANSSERIFBOLDITALIC},{interval:["0391","03A9"],base:P.GREEKCAP,subst:{"03A2":"03F4"},capital:!0,category:"Lu",font:M.NORMAL},{interval:["03B0","03D0"],base:P.GREEKSMALL,subst:{"03B0":"2207","03CA":"2202","03CB":"03F5","03CC":"03D1","03CD":"03F0","03CE":"03D5","03CF":"03F1","03D0":"03D6"},capital:!1,category:"Ll",font:M.NORMAL},{interval:["1D6A8","1D6C0"],base:P.GREEKCAP,subst:{},capital:!0,category:"Lu",font:M.BOLD},{interval:["1D6C1","1D6E1"],base:P.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:M.BOLD},{interval:["1D6E2","1D6FA"],base:P.GREEKCAP,subst:{},capital:!0,category:"Lu",font:M.ITALIC},{interval:["1D6FB","1D71B"],base:P.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:M.ITALIC},{interval:["1D71C","1D734"],base:P.GREEKCAP,subst:{},capital:!0,category:"Lu",font:M.BOLDITALIC},{interval:["1D735","1D755"],base:P.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:M.BOLDITALIC},{interval:["1D756","1D76E"],base:P.GREEKCAP,subst:{},capital:!0,category:"Lu",font:M.SANSSERIFBOLD},{interval:["1D76F","1D78F"],base:P.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:M.SANSSERIFBOLD},{interval:["1D790","1D7A8"],base:P.GREEKCAP,subst:{},capital:!0,category:"Lu",font:M.SANSSERIFBOLDITALIC},{interval:["1D7A9","1D7C9"],base:P.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:M.SANSSERIFBOLDITALIC},{interval:["0030","0039"],base:P.DIGIT,subst:{},offset:0,category:"Nd",font:M.NORMAL},{interval:["2070","2079"],base:P.DIGIT,subst:{2071:"00B9",2072:"00B2",2073:"00B3"},offset:0,category:"No",font:_.SUPER},{interval:["2080","2089"],base:P.DIGIT,subst:{},offset:0,category:"No",font:_.SUB},{interval:["245F","2473"],base:P.DIGIT,subst:{"245F":"24EA"},offset:0,category:"No",font:_.CIRCLED},{interval:["3251","325F"],base:P.DIGIT,subst:{},offset:21,category:"No",font:_.CIRCLED},{interval:["32B1","32BF"],base:P.DIGIT,subst:{},offset:36,category:"No",font:_.CIRCLED},{interval:["2474","2487"],base:P.DIGIT,subst:{},offset:1,category:"No",font:_.PARENTHESIZED},{interval:["2487","249B"],base:P.DIGIT,subst:{2487:"1F100"},offset:0,category:"No",font:_.PERIOD},{interval:["2775","277F"],base:P.DIGIT,subst:{2775:"24FF"},offset:0,category:"No",font:_.NEGATIVECIRCLED},{interval:["24EB","24F4"],base:P.DIGIT,subst:{},offset:11,category:"No",font:_.NEGATIVECIRCLED},{interval:["24F5","24FE"],base:P.DIGIT,subst:{},offset:1,category:"No",font:_.DOUBLECIRCLED},{interval:["277F","2789"],base:P.DIGIT,subst:{"277F":"1F10B"},offset:0,category:"No",font:_.CIRCLEDSANSSERIF},{interval:["2789","2793"],base:P.DIGIT,subst:{2789:"1F10C"},offset:0,category:"No",font:_.NEGATIVECIRCLEDSANSSERIF},{interval:["FF10","FF19"],base:P.DIGIT,subst:{},offset:0,category:"Nd",font:M.FULLWIDTH},{interval:["1D7CE","1D7D7"],base:P.DIGIT,subst:{},offset:0,category:"Nd",font:M.BOLD},{interval:["1D7D8","1D7E1"],base:P.DIGIT,subst:{},offset:0,category:"Nd",font:M.DOUBLESTRUCK},{interval:["1D7E2","1D7EB"],base:P.DIGIT,subst:{},offset:0,category:"Nd",font:M.SANSSERIF},{interval:["1D7EC","1D7F5"],base:P.DIGIT,subst:{},offset:0,category:"Nd",font:M.SANSSERIFBOLD},{interval:["1D7F6","1D7FF"],base:P.DIGIT,subst:{},offset:0,category:"Nd",font:M.MONOSPACE},{interval:["1F101","1F10A"],base:P.DIGIT,subst:{},offset:0,category:"No",font:_.COMMA},{interval:["24B6","24CF"],base:P.LATINCAP,subst:{},capital:!0,category:"So",font:_.CIRCLED},{interval:["24D0","24E9"],base:P.LATINSMALL,subst:{},capital:!1,category:"So",font:_.CIRCLED},{interval:["1F110","1F129"],base:P.LATINCAP,subst:{},capital:!0,category:"So",font:_.PARENTHESIZED},{interval:["249C","24B5"],base:P.LATINSMALL,subst:{},capital:!1,category:"So",font:_.PARENTHESIZED},{interval:["1F130","1F149"],base:P.LATINCAP,subst:{},capital:!0,category:"So",font:_.SQUARED},{interval:["1F170","1F189"],base:P.LATINCAP,subst:{},capital:!0,category:"So",font:_.NEGATIVESQUARED},{interval:["1F150","1F169"],base:P.LATINCAP,subst:{},capital:!0,category:"So",font:_.NEGATIVECIRCLED}],X=new Map;function W(t,e){return t+e.split("-").map((t=>t[0].toUpperCase()+t.slice(1))).join("")}for(const t of H){const e=W(t.base,t.font),n=j(t.interval,t.subst);let r=X.get(e);r?r.unicode=r.unicode.concat(n):(r=t,r.unicode=n,X.set(e,r))}var Y;!function(t){t.PUNCTUATION="punctuation",t.FENCE="fence",t.NUMBER="number",t.IDENTIFIER="identifier",t.TEXT="text",t.OPERATOR="operator",t.RELATION="relation",t.LARGEOP="largeop",t.FUNCTION="function",t.ACCENT="accent",t.FENCED="fenced",t.FRACTION="fraction",t.PUNCTUATED="punctuated",t.RELSEQ="relseq",t.MULTIREL="multirel",t.INFIXOP="infixop",t.PREFIXOP="prefixop",t.POSTFIXOP="postfixop",t.APPL="appl",t.INTEGRAL="integral",t.BIGOP="bigop",t.SQRT="sqrt",t.ROOT="root",t.LIMUPPER="limupper",t.LIMLOWER="limlower",t.LIMBOTH="limboth",t.SUBSCRIPT="subscript",t.SUPERSCRIPT="superscript",t.UNDERSCORE="underscore",t.OVERSCORE="overscore",t.TENSOR="tensor",t.TABLE="table",t.MULTILINE="multiline",t.MATRIX="matrix",t.VECTOR="vector",t.CASES="cases",t.ROW="row",t.LINE="line",t.CELL="cell",t.ENCLOSE="enclose",t.INFERENCE="inference",t.RULELABEL="rulelabel",t.CONCLUSION="conclusion",t.PREMISES="premises",t.UNKNOWN="unknown",t.EMPTY="empty"}(Y||(Y={}));const K=Object.assign({},Y);var q;!function(t){t.COMMA="comma",t.SEMICOLON="semicolon",t.ELLIPSIS="ellipsis",t.FULLSTOP="fullstop",t.QUESTION="question",t.EXCLAMATION="exclamation",t.QUOTES="quotes",t.DASH="dash",t.TILDE="tilde",t.PRIME="prime",t.DEGREE="degree",t.VBAR="vbar",t.COLON="colon",t.OPENFENCE="openfence",t.CLOSEFENCE="closefence",t.APPLICATION="application",t.DUMMY="dummy",t.UNIT="unit",t.LABEL="label",t.OPEN="open",t.CLOSE="close",t.TOP="top",t.BOTTOM="bottom",t.NEUTRAL="neutral",t.METRIC="metric",t.LATINLETTER="latinletter",t.GREEKLETTER="greekletter",t.OTHERLETTER="otherletter",t.NUMBERSET="numbersetletter",t.INTEGER="integer",t.FLOAT="float",t.OTHERNUMBER="othernumber",t.INFTY="infty",t.MIXED="mixed",t.MULTIACCENT="multiaccent",t.OVERACCENT="overaccent",t.UNDERACCENT="underaccent",t.UNDEROVER="underover",t.SUBSUP="subsup",t.LEFTSUB="leftsub",t.LEFTSUPER="leftsuper",t.RIGHTSUB="rightsub",t.RIGHTSUPER="rightsuper",t.LEFTRIGHT="leftright",t.ABOVEBELOW="abovebelow",t.SETEMPTY="set empty",t.SETEXT="set extended",t.SETSINGLE="set singleton",t.SETCOLLECT="set collection",t.STRING="string",t.SPACE="space",t.ANNOTATION="annotation",t.TEXT="text",t.SEQUENCE="sequence",t.ENDPUNCT="endpunct",t.STARTPUNCT="startpunct",t.NEGATIVE="negative",t.POSITIVE="positive",t.NEGATION="negation",t.MULTIOP="multiop",t.PREFIXOP="prefix operator",t.POSTFIXOP="postfix operator",t.LIMFUNC="limit function",t.INFIXFUNC="infix function",t.PREFIXFUNC="prefix function",t.POSTFIXFUNC="postfix function",t.SIMPLEFUNC="simple function",t.COMPFUNC="composed function",t.SUM="sum",t.INTEGRAL="integral",t.GEOMETRY="geometry",t.BOX="box",t.BLOCK="block",t.ADDITION="addition",t.MULTIPLICATION="multiplication",t.SUBTRACTION="subtraction",t.IMPLICIT="implicit",t.DIVISION="division",t.VULGAR="vulgar",t.EQUALITY="equality",t.INEQUALITY="inequality",t.ARROW="arrow",t.ELEMENT="element",t.NONELEMENT="nonelement",t.REELEMENT="reelement",t.RENONELEMENT="renonelement",t.SET="set",t.DETERMINANT="determinant",t.ROWVECTOR="rowvector",t.BINOMIAL="binomial",t.SQUAREMATRIX="squarematrix",t.CYCLE="cycle",t.MULTILINE="multiline",t.MATRIX="matrix",t.VECTOR="vector",t.CASES="cases",t.TABLE="table",t.CAYLEY="cayley",t.PROOF="proof",t.LEFT="left",t.RIGHT="right",t.UP="up",t.DOWN="down",t.FINAL="final",t.SINGLE="single",t.HYP="hyp",t.AXIOM="axiom",t.LOGIC="logic",t.UNKNOWN="unknown",t.MGLYPH="mglyph"}(q||(q={}));const z=Object.assign({},q);var Q;!function(t){t.CALIGRAPHIC="caligraphic",t.CALIGRAPHICBOLD="caligraphic-bold",t.OLDSTYLE="oldstyle",t.OLDSTYLEBOLD="oldstyle-bold",t.UNKNOWN="unknown"}(Q||(Q={}));const J=Object.assign(Object.assign(Object.assign({},M),Q),_);var Z;!function(t){t.ALLLETTERS="allLetters",t.D="d",t.BAR="bar",t.TILDE="tilde"}(Z||(Z={}));const tt=Object.assign(Object.assign({},P),Z);function et(t,e){return t.toString()}function nt(t){return t.toString()}function rt(t,e){return t+e.toLowerCase()}const st={};function ot(t,e=""){if(!t.childNodes||!t.childNodes[0]||!t.childNodes[0].childNodes||t.childNodes[0].childNodes.length<2||t.childNodes[0].childNodes[0].tagName!==K.NUMBER||t.childNodes[0].childNodes[0].getAttribute("role")!==z.INTEGER||t.childNodes[0].childNodes[1].tagName!==K.NUMBER||t.childNodes[0].childNodes[1].getAttribute("role")!==z.INTEGER)return{convertible:!1,content:t.textContent};const n=t.childNodes[0].childNodes[1].textContent,r=t.childNodes[0].childNodes[0].textContent,s=Number(n),o=Number(r);return isNaN(s)||isNaN(o)?{convertible:!1,content:`${r} ${e} ${n}`}:{convertible:!0,enumerator:o,denominator:s}}function it(t,e,n){const r=ot(t);if(r.convertible){const t=r.enumerator,s=r.denominator;return t>0&&t<e&&s>0&&s<n}return!1}function ct(t={}){return Object.assign({zero:"zero",ones:[],tens:[],large:[],special:{},wordOrdinal:nt,numericOrdinal:nt,numberToWords:nt,numberToOrdinal:et,vulgarSep:" ",numSep:" "},t)}st.identityCombiner=function(t,e,n){return t+e+n},st.prefixCombiner=function(t,e,n){return t=n?n+" "+t:t,e?e+" "+t:t},st.postfixCombiner=function(t,e,n){return t=n?n+" "+t:t,e?t+" "+e:t},st.romanceCombiner=function(t,e,n){return t=n?t+" "+n:t,e?t+" "+e:t};const at=lt();function lt(){return{FUNCTIONS:{fracNestDepth:t=>it(t,10,100),radicalNestDepth:t=>"",combineRootIndex:function(t,e){return t},combineNestedFraction:st.identityCombiner,combineNestedRadical:st.identityCombiner,fontRegexp:function(t){return new RegExp("^"+t.split(/ |-/).join("( |-)")+"( |-)")},si:rt,plural:nt},MESSAGES:{MS:{},MSroots:{},font:{},embellish:{},role:{},enclose:{},navigate:{},regexp:{},unitTimes:""},ALPHABETS:{latinSmall:[],latinCap:[],greekSmall:[],greekCap:[],capPrefix:{default:""},smallPrefix:{default:""},digitPrefix:{default:""},languagePrefix:{},digitTrans:{default:nt,mathspeak:nt,clearspeak:nt},letterTrans:{default:nt},combiner:(t,e,n)=>t},NUMBERS:ct(),COMBINERS:{},CORRECTIONS:{},SUBISO:{default:"",current:"",all:[]}}}function ut(t){switch(t){case 1:return at.MESSAGES.MS.ONCE||"";case 2:return at.MESSAGES.MS.TWICE;default:return t.toString()}}function ht(t,e){return t===at.MESSAGES.MS.ROOTINDEX||t===at.MESSAGES.MS.INDEX?t:t+" "+e}function dt(t){return ft(at.MESSAGES.font[t],t)}function ft(t,e){return void 0===t?e:"string"==typeof t?t:t[0]}const pt="grammar";class mt{static getInstance(){return mt.instance=mt.instance||new mt,mt.instance}static parseInput(t){const e={},n=t.split(":");for(const t of n){const n=t.split("="),r=n[0].trim();n[1]?e[r]=n[1].trim():r.match(/^!/)?e[r.slice(1)]=!1:e[r]=!0}return e}static parseState(t){const e={},n=t.split(" ");for(const t of n){const n=t.split(":"),r=n[0],s=n[1];e[r]=s||!0}return e}static translateString(t){if(t.match(/:unit$/))return mt.translateUnit(t);const e=E.getInstance();let n=e.evaluator(t,e.dynamicCstr);return n=null===n?t:n,mt.getInstance().getParameter("plural")&&(n=at.FUNCTIONS.plural(n)),n}static translateUnit(t){t=mt.prepareUnit(t);const e=E.getInstance(),n=mt.getInstance().getParameter("plural"),r=e.strict,s=`${e.locale}.${e.modality}.default`;let o,i;return e.strict=!0,n&&(o=e.defaultParser.parse(s+".plural"),i=e.evaluator(t,o)),i?(e.strict=r,i):(o=e.defaultParser.parse(s+".default"),i=e.evaluator(t,o),e.strict=r,i?(n&&(i=at.FUNCTIONS.plural(i)),i):mt.cleanUnit(t))}static prepareUnit(t){const e=t.match(/:unit$/);return e?t.slice(0,e.index).replace(/\s+/g," ")+t.slice(e.index):t}static cleanUnit(t){return t.match(/:unit$/)?t.replace(/:unit$/,""):t}clear(){this.parameters_={},this.stateStack_=[]}setParameter(t,e){const n=this.parameters_[t];return e?this.parameters_[t]=e:delete this.parameters_[t],n}getParameter(t){return this.parameters_[t]}setCorrection(t,e){this.corrections_[t]=e}setPreprocessor(t,e){this.preprocessors_[t]=e}getCorrection(t){return this.corrections_[t]}getState(){const t=[];for(const[e,n]of Object.entries(this.parameters_))t.push("string"==typeof n?e+":"+n:e);return t.join(" ")}processSingles(){const t={};for(const e of this.singles)t[e]=!1;this.singles=[],this.pushState(t)}pushState(t){for(let[e,n]of Object.entries(t))e.match(/^\?/)&&(delete t[e],e=e.slice(1),this.singles.push(e)),t[e]=this.setParameter(e,n);this.stateStack_.push(t)}popState(){const t=this.stateStack_.pop();for(const[e,n]of Object.entries(t))this.setParameter(e,n)}setAttribute(t){if(t&&t.nodeType===y.ELEMENT_NODE){const e=this.getState();e&&t.setAttribute(pt,e)}}preprocess(t){return this.runProcessors(t,this.preprocessors_)}correct(t){return this.runProcessors(t,this.corrections_)}apply(t,e){return this.currentFlags=e||{},t=this.currentFlags.adjust||this.currentFlags.preprocess?mt.getInstance().preprocess(t):t,(this.parameters_.translate||this.currentFlags.translate)&&(t=mt.translateString(t)),t=this.currentFlags.adjust||this.currentFlags.correct?mt.getInstance().correct(t):t,this.currentFlags={},t}runProcessors(t,e){for(const[n,r]of Object.entries(this.parameters_)){const s=e[n];s&&(t=!0===r?s(t):s(t,r))}return t}constructor(){this.currentFlags={},this.parameters_={},this.corrections_={},this.preprocessors_={},this.stateStack_=[],this.singles=[]}}function Et(t,e){if(!e||!t)return t;const n=at.FUNCTIONS.fontRegexp(dt(e));return t.replace(n,"")}function gt(t){let e=t%1e3,n="",r=Tt.ones[Math.floor(e/100)];if(n+=r?r+Tt.numSep+"honderd":"",e%=100,e)if(n+=n?Tt.numSep:"",r=Tt.ones[e],r)n+=r;else{const t=Tt.tens[Math.floor(e/10)];r=Tt.ones[e%10],n+=r?r+"-en-"+t:t}return n}function Nt(t){if(0===t)return Tt.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,n="";for(;t>0;){if(t%1e3){const r=gt(t%1e3);if(e){const t=Tt.large[e];n=r+Tt.numSep+t+(n?Tt.numSep+n:"")}else n=r+(n?Tt.numSep+n:"")}t=Math.floor(t/1e3),e++}return n}function St(t){if(1===t)return"eerste";if(3===t)return"derde";if(8===t)return"agste";if(9===t)return"negende";return Nt(t)+(t<19?"de":"ste")}mt.getInstance().setCorrection("localFont",dt),mt.getInstance().setCorrection("localRole",(function(t){return ft(at.MESSAGES.role[t],t)})),mt.getInstance().setCorrection("localEnclose",(function(t){return ft(at.MESSAGES.enclose[t],t)})),mt.getInstance().setCorrection("ignoreFont",Et),mt.getInstance().setPreprocessor("annotation",(function(t,e){return t+":"+e})),mt.getInstance().setPreprocessor("noTranslateText",(function(t){return t.match(new RegExp("^["+at.MESSAGES.regexp.TEXT+"]+$"))&&(mt.getInstance().currentFlags.translate=!1),t})),mt.getInstance().setCorrection("ignoreCaps",(function(t){let e=at.ALPHABETS.capPrefix[E.getInstance().domain];return void 0===e&&(e=at.ALPHABETS.capPrefix.default),Et(t,e)})),mt.getInstance().setPreprocessor("numbers2alpha",(function(t){return t.match(/\d+/)?at.NUMBERS.numberToWords(parseInt(t,10)):t}));const Tt=ct({wordOrdinal:St,numericOrdinal:function(t){return t.toString()+"."},numberToWords:Nt,numberToOrdinal:function(t,e){return 1===t?"enkel":2===t?e?"helftes":"helfte":4===t?e?"kwarte":"kwart":St(t)+(e?"s":"")}}),It=function(t,e,n){return t=n?n+" "+t:t,e?t+" "+e:t};let At=null;function Rt(t){const e=t%1e3,n=Math.floor(e/100),r=n?1===n?"cent":bt.ones[n]+"-cents":"",s=function(t){const e=t%100;if(e<20)return bt.ones[e];const n=Math.floor(e/10),r=bt.tens[n],s=bt.ones[e%10];return r&&s?r+(2===n?"-i-":"-")+s:r||s}(e%100);return r&&s?r+bt.numSep+s:r||s}function Ot(t){if(0===t)return bt.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,n="";for(;t>0;){const r=t%(e>1?1e6:1e3);if(r){let t=bt.large[e];if(e)if(1===e)n=(1===r?"":Rt(r)+bt.numSep)+t+(n?bt.numSep+n:"");else{const e=Ot(r);t=1===r?t:t.replace(/\u00f3$/,"ons"),n=e+bt.numSep+t+(n?bt.numSep+n:"")}else n=Rt(r)}t=Math.floor(t/(e>1?1e6:1e3)),e++}return n}function Ct(t){const e=mt.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"n")}const bt=ct({numericOrdinal:Ct,numberToWords:Ot,numberToOrdinal:function(t,e){if(t>1999)return Ct(t);if(t<=10)return bt.special.onesOrdinals[t-1];const n=Ot(t);return n.match(/mil$/)?n.replace(/mil$/,"mil\xb7l\xe8sima"):n.match(/u$/)?n.replace(/u$/,"vena"):n.match(/a$/)?n.replace(/a$/,"ena"):n+(n.match(/e$/)?"na":"ena")}}),Lt=function(t,e,n){return t="sans serif "+(n?n+" "+t:t),e?t+" "+e:t};let yt=null;function Mt(t,e=!1){return t===Ut.ones[1]?e?"et":"en":t}function _t(t,e=!1){let n=t%1e3,r="",s=Ut.ones[Math.floor(n/100)];if(r+=s?Mt(s,!0)+" hundrede":"",n%=100,n)if(r+=r?" og ":"",s=e?Ut.special.smallOrdinals[n]:Ut.ones[n],s)r+=s;else{const t=e?Ut.special.tensOrdinals[Math.floor(n/10)]:Ut.tens[Math.floor(n/10)];s=Ut.ones[n%10],r+=s?Mt(s)+"og"+t:t}return r}function Pt(t,e=!1){if(0===t)return Ut.zero;if(t>=Math.pow(10,36))return t.toString();let n=0,r="";for(;t>0;){const s=t%1e3;if(s){const t=_t(s,e&&!n);if(n){const e=Ut.large[n],o=s>1?"er":"";r=Mt(t,n<=1)+" "+e+o+(r?" og ":"")+r}else r=Mt(t)+r}t=Math.floor(t/1e3),n++}return r}function Ft(t){if(t%100)return Pt(t,!0);const e=Pt(t);return e.match(/e$/)?e:e+"e"}const Ut=ct({wordOrdinal:Ft,numericOrdinal:function(t){return t.toString()+"."},numberToWords:Pt,numberToOrdinal:function(t,e){return 1===t?e?"hel":"hele":2===t?e?"halv":"halve":Ft(t)+(e?"dele":"del")}});let xt=null;function Dt(t,e=!1){return t===kt.ones[1]?e?"eine":"ein":t}function vt(t){let e=t%1e3,n="",r=kt.ones[Math.floor(e/100)];if(n+=r?Dt(r)+"hundert":"",e%=100,e)if(n+=n?kt.numSep:"",r=kt.ones[e],r)n+=r;else{const t=kt.tens[Math.floor(e/10)];r=kt.ones[e%10],n+=r?Dt(r)+"und"+t:t}return n}function wt(t){if(0===t)return kt.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,n="";for(;t>0;){const r=t%1e3;if(r){const s=vt(t%1e3);if(e){const t=kt.large[e],o=e>1&&r>1?t.match(/e$/)?"n":"en":"";n=Dt(s,e>1)+t+o+n}else n=Dt(s,e>1)+n}t=Math.floor(t/1e3),e++}return n.replace(/ein$/,"eins")}function Bt(t){if(1===t)return"erste";if(3===t)return"dritte";if(7===t)return"siebte";if(8===t)return"achte";return wt(t)+(t<19?"te":"ste")}const kt=ct({wordOrdinal:Bt,numericOrdinal:function(t){return t.toString()+"."},numberToWords:wt,numberToOrdinal:function(t,e){return 1===t?"eintel":2===t?e?"halbe":"halb":Bt(t)+"l"}}),Gt=function(t,e,n){return"s"===n&&(e=e.split(" ").map((function(t){return t.replace(/s$/,"")})).join(" "),n=""),t=n?n+" "+t:t,e?e+" "+t:t},Vt=function(t,e,n){return t=n&&"s"!==n?n+" "+t:t,e?t+" "+e:t};let $t=null;function jt(t){let e=t%1e3,n="";return n+=Wt.ones[Math.floor(e/100)]?Wt.ones[Math.floor(e/100)]+Wt.numSep+"hundred":"",e%=100,e&&(n+=n?Wt.numSep:"",n+=Wt.ones[e]||Wt.tens[Math.floor(e/10)]+(e%10?Wt.numSep+Wt.ones[e%10]:"")),n}function Ht(t){if(0===t)return Wt.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,n="";for(;t>0;){t%1e3&&(n=jt(t%1e3)+(e?"-"+Wt.large[e]+"-":"")+n),t=Math.floor(t/1e3),e++}return n.replace(/-$/,"")}function Xt(t){let e=Ht(t);return e.match(/one$/)?e=e.slice(0,-3)+"first":e.match(/two$/)?e=e.slice(0,-3)+"second":e.match(/three$/)?e=e.slice(0,-5)+"third":e.match(/five$/)?e=e.slice(0,-4)+"fifth":e.match(/eight$/)?e=e.slice(0,-5)+"eighth":e.match(/nine$/)?e=e.slice(0,-4)+"ninth":e.match(/twelve$/)?e=e.slice(0,-6)+"twelfth":e.match(/ty$/)?e=e.slice(0,-2)+"tieth":e+="th",e}const Wt=ct({wordOrdinal:Xt,numericOrdinal:function(t){const e=t%100,n=t.toString();if(e>10&&e<20)return n+"th";switch(t%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd";default:return n+"th"}},numberToWords:Ht,numberToOrdinal:function(t,e){if(1===t)return e?"oneths":"oneth";if(2===t)return e?"halves":"half";const n=Xt(t);return e?n+"s":n}});let Yt=null;function Kt(t){const e=t%1e3,n=Math.floor(e/100),r=qt.special.hundreds[n],s=function(t){const e=t%100;if(e<30)return qt.ones[e];const n=qt.tens[Math.floor(e/10)],r=qt.ones[e%10];return n&&r?n+" y "+r:n||r}(e%100);return 1===n?s?r+"to "+s:r:r&&s?r+" "+s:r||s}const qt=ct({numericOrdinal:function(t){const e=mt.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"o")},numberToWords:function(t){if(0===t)return qt.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,n="";for(;t>0;){const r=t%1e3;if(r){let t=qt.large[e];const s=Kt(r);e?1===r?(t=t.match("/^mil( |$)/")?t:"un "+t,n=t+(n?" "+n:"")):(t=t.replace(/\u00f3n$/,"ones"),n=Kt(r)+" "+t+(n?" "+n:"")):n=s}t=Math.floor(t/1e3),e++}return n},numberToOrdinal:function(t,e){if(t>1999)return t.toString()+"a";if(t<=12)return qt.special.onesOrdinals[t-1];const n=[];if(t>=1e3&&(t-=1e3,n.push("mil\xe9sima")),!t)return n.join(" ");let r=0;return r=Math.floor(t/100),r>0&&(n.push(qt.special.hundredsOrdinals[r-1]),t%=100),t<=12?n.push(qt.special.onesOrdinals[t-1]):(r=Math.floor(t/10),r>0&&(n.push(qt.special.tensOrdinals[r-1]),t%=10),t>0&&n.push(qt.special.onesOrdinals[t-1])),n.join(" ")}}),zt=function(t,e,n){return t="sans serif "+(n?n+" "+t:t),e?t+" "+e:t};let Qt=null;let Jt=null;function Zt(t){let e=t%1e3,n="";if(n+=re.ones[Math.floor(e/100)]?re.ones[Math.floor(e/100)]+"-cent":"",e%=100,e){n+=n?"-":"";let t=re.ones[e];if(t)n+=t;else{const r=re.tens[Math.floor(e/10)];r.match(/-dix$/)?(t=re.ones[e%10+10],n+=r.replace(/-dix$/,"")+"-"+t):n+=r+(e%10?"-"+re.ones[e%10]:"")}}const r=n.match(/s-\w+$/);return r?n.replace(/s-\w+$/,r[0].slice(1)):n.replace(/-un$/,"-et-un")}function te(t){if(0===t)return re.zero;if(t>=Math.pow(10,36))return t.toString();re.special["tens-"+E.getInstance().subiso]&&(re.tens=re.special["tens-"+E.getInstance().subiso]);let e=0,n="";for(;t>0;){const r=t%1e3;if(r){let t=re.large[e];const s=Zt(r);if(t&&t.match(/^mille /)){const r=t.replace(/^mille /,"");n=n.match(RegExp(r))?s+(e?"-mille-":"")+n:n.match(RegExp(r.replace(/s$/,"")))?s+(e?"-mille-":"")+n.replace(r.replace(/s$/,""),r):s+(e?"-"+t+"-":"")+n}else t=1===r&&t?t.replace(/s$/,""):t,n=s+(e?"-"+t+"-":"")+n}t=Math.floor(t/1e3),e++}return n.replace(/-$/,"")}const ee={1:"uni\xe8me",2:"demi",3:"tiers",4:"quart"};function ne(t){if(1===t)return"premi\xe8re";let e=te(t);return e.match(/^neuf$/)?e=e.slice(0,-1)+"v":e.match(/cinq$/)?e+="u":e.match(/trois$/)?e+="":(e.match(/e$/)||e.match(/s$/))&&(e=e.slice(0,-1)),e+="i\xe8me",e}const re=ct({wordOrdinal:ne,numericOrdinal:function(t){const e=mt.getInstance().getParameter("gender");return 1===t?t.toString()+("m"===e?"er":"re"):t.toString()+"e"},numberToWords:te,numberToOrdinal:function(t,e){const n=ee[t]||ne(t);return 3===t?n:e?n+"s":n}});let se=null;function oe(t){if(0===t)return ce.zero;if(t>=Math.pow(10,32))return t.toString();let e=0,n="";const r=function(t){let e=t%1e3,n="";return n+=ce.ones[Math.floor(e/100)]?ce.ones[Math.floor(e/100)]+ce.numSep+ce.special.hundred:"",e%=100,e&&(n+=n?ce.numSep:"",n+=ce.ones[e]),n}(t%1e3);if(!(t=Math.floor(t/1e3)))return r;for(;t>0;){const r=t%100;r&&(n=ce.ones[r]+ce.numSep+ce.large[e]+(n?ce.numSep+n:"")),t=Math.floor(t/100),e++}return r?n+ce.numSep+r:n}function ie(t){const e=mt.getInstance().getParameter("gender");if(t<=0)return t.toString();if(t<10)return"f"===e?ce.special.ordinalsFeminine[t]:ce.special.ordinalsMasculine[t];return oe(t)+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")}const ce=ct({wordOrdinal:ie,numericOrdinal:function(t){const e=mt.getInstance().getParameter("gender");return t>0&&t<10?"f"===e?ce.special.simpleSmallOrdinalsFeminine[t]:ce.special.simpleSmallOrdinalsMasculine[t]:t.toString().split("").map((function(t){const e=parseInt(t,10);return isNaN(e)?"":ce.special.simpleNumbers[e]})).join("")+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")},numberToWords:oe,numberToOrdinal:function(t,e){return t<=10?ce.special.smallDenominators[t]:ie(t)+" \u0905\u0902\u0936"}});let ae=null;function le(t){let e=t%1e4,n="";return n+=fe.ones[Math.floor(e/1e3)]?1===Math.floor(e/1e3)?"\ucc9c":fe.ones[Math.floor(e/1e3)]+"\ucc9c":"",e%=1e3,e&&(n+=fe.ones[Math.floor(e/100)]?1===Math.floor(e/100)?"\ubc31":fe.ones[Math.floor(e/100)]+"\ubc31":"",e%=100,n+=fe.tens[Math.floor(e/10)]+(e%10?fe.ones[e%10]:"")),n}function ue(t){if(0===t)return fe.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,n="";for(;t>0;){t%1e4&&(n=le(t%1e4)+(e?fe.large[e]+fe.numSep:"")+n),t=Math.floor(t/1e4),e++}return n.replace(/ $/,"")}function he(t,e){return 1===t?"\uccab\ubc88\uc9f8":de(t)+"\ubc88\uc9f8"}function de(t){const e=ue(t),n=ue(t%=100);if(!n||!t)return e;const r=20===t?"\uc2a4\ubb34":fe.tens[10+Math.floor(t/10)],s=fe.ones[10+Math.floor(t%10)];return e.slice(0,-n.length)+r+s}const fe=ct({wordOrdinal:de,numericOrdinal:function(t){return he(t)},numberToWords:ue,numberToOrdinal:he});let pe=null;function me(t){let e=t%1e3,n="";if(n+=Ne.ones[Math.floor(e/100)]?Ne.ones[Math.floor(e/100)]+Ne.numSep+"cento":"",e%=100,e){n+=n?Ne.numSep:"";const t=Ne.ones[e];if(t)n+=t;else{let t=Ne.tens[Math.floor(e/10)];const r=e%10;1!==r&&8!==r||(t=t.slice(0,-1)),n+=t,n+=r?Ne.numSep+Ne.ones[e%10]:""}}return n}function Ee(t){if(0===t)return Ne.zero;if(t>=Math.pow(10,36))return t.toString();if(1===t&&mt.getInstance().getParameter("fraction"))return"un";let e=0,n="";for(;t>0;){t%1e3&&(n=me(t%1e3)+(e?"-"+Ne.large[e]+"-":"")+n),t=Math.floor(t/1e3),e++}return n.replace(/-$/,"")}function ge(t){const e="m"===mt.getInstance().getParameter("gender")?"o":"a";let n=Ne.special.onesOrdinals[t];return n?n.slice(0,-1)+e:(n=Ee(t),n.slice(0,-1)+"esim"+e)}const Ne=ct({wordOrdinal:ge,numericOrdinal:function(t){const e=mt.getInstance().getParameter("gender");return t.toString()+("m"===e?"o":"a")},numberToWords:Ee,numberToOrdinal:function(t,e){if(2===t)return e?"mezzi":"mezzo";const n=ge(t);if(!e)return n;const r=n.match(/o$/)?"i":"e";return n.slice(0,-1)+r}}),Se=function(t,e,n){return t.match(/^[a-zA-Z]$/)&&(e=e.replace("cerchiato","cerchiata")),t=n?t+" "+n:t,e?t+" "+e:t};let Te=null;function Ie(t,e=!1){let n=t%1e3,r="";const s=Math.floor(n/100),o=Oe.ones[s];if(r+=o?(1===s?"":o)+"hundre":"",n%=100,n){if(r+=r?"og":"",e){const t=Oe.special.smallOrdinals[n];if(t)return r+t;if(n%10)return r+Oe.tens[Math.floor(n/10)]+Oe.special.smallOrdinals[n%10]}r+=Oe.ones[n]||Oe.tens[Math.floor(n/10)]+(n%10?Oe.ones[n%10]:"")}return e?Ae(r):r}function Ae(t){const e=Oe.special.endOrdinal[0];return"a"===e&&t.match(/en$/)?t.slice(0,-2)+Oe.special.endOrdinal:t.match(/(d|n)$/)||t.match(/hundre$/)?t+"de":t.match(/i$/)?t+Oe.special.endOrdinal:"a"===e&&t.match(/e$/)?t.slice(0,-1)+Oe.special.endOrdinal:(t.match(/e$/),t+"nde")}function Re(t){return Le(t,!0)}const Oe=ct({wordOrdinal:Re,numericOrdinal:function(t){return t.toString()+"."},numberToWords:Le,numberToOrdinal:function(t,e){return Re(t)}});function Ce(t,e=!1){return t===Oe.ones[1]?"ein"===t?"eitt ":e?"et":"ett":t}function be(t,e=!1){let n=t%1e3,r="",s=Oe.ones[Math.floor(n/100)];if(r+=s?Ce(s)+"hundre":"",n%=100,n){if(r+=r?"og":"",e){const t=Oe.special.smallOrdinals[n];if(t)return r+t}if(s=Oe.ones[n],s)r+=s;else{const t=Oe.tens[Math.floor(n/10)];s=Oe.ones[n%10],r+=s?s+"og"+t:t}}return e?Ae(r):r}function Le(t,e=!1){const n="alt"===E.getInstance().subiso?function(t,e=!1){if(0===t)return e?Oe.special.smallOrdinals[0]:Oe.zero;if(t>=Math.pow(10,36))return t.toString();let n=0,r="";for(;t>0;){const s=t%1e3;if(s){const o=be(t%1e3,!n&&e);!n&&e&&(e=!e),r=(1===n?Ce(o,!0):o)+(n>1?Oe.numSep:"")+(n?Oe.large[n]+(n>1&&s>1?"er":""):"")+(n>1&&r?Oe.numSep:"")+r}t=Math.floor(t/1e3),n++}return e?r+(r.match(/tusen$/)?"de":"te"):r}(t,e):function(t,e=!1){if(0===t)return e?Oe.special.smallOrdinals[0]:Oe.zero;if(t>=Math.pow(10,36))return t.toString();let n=0,r="";for(;t>0;){const s=t%1e3;if(s){const o=Ie(t%1e3,!n&&e);!n&&e&&(e=!e),r=o+(n?" "+Oe.large[n]+(n>1&&s>1?"er":"")+(r?" ":""):"")+r}t=Math.floor(t/1e3),n++}return e?r+(r.match(/tusen$/)?"de":"te"):r}(t,e);return n}let ye=null;function Me(t){return t.toString().split("").map((function(t){return _e.ones[parseInt(t,10)]})).join("")}const _e=ct({numberToWords:Me,numberToOrdinal:Me}),Pe=function(t){return t.match(RegExp("^"+we.ALPHABETS.languagePrefix.english))?t.slice(1):t},Fe=function(t,e,n){return t=Pe(t),e?t+e:t},Ue=function(t,e,n){return e+Pe(t)},xe=function(t,e,n){return e+(n||"")+(t=Pe(t))+"\u283b"},De=function(t,e,n){return e+(n||"")+(t=Pe(t))+"\u283b\u283b"},ve=function(t,e,n){return e+(t=Pe(t))+"\u283e"};let we=null;let Be=null;function ke(t){let e=t%1e3,n="";const r=Math.floor(e/100);return n+=$e.ones[r]?(1===r?"":$e.ones[r]+$e.numSep)+"hundra":"",e%=100,e&&(n+=n?$e.numSep:"",n+=$e.ones[e]||$e.tens[Math.floor(e/10)]+(e%10?$e.numSep+$e.ones[e%10]:"")),n}function Ge(t,e=!1){if(0===t)return $e.zero;if(t>=Math.pow(10,36))return t.toString();let n=0,r="";for(;t>0;){const s=t%1e3;if(s){const o=$e.large[n],i=s>1&&n>1&&!e?"er":"";r=(1===n&&1===s?"":(n>1&&1===s?"en":ke(t%1e3))+(n>1?" ":""))+(n?o+i+(n>1?" ":""):"")+r}t=Math.floor(t/1e3),n++}return r.replace(/ $/,"")}function Ve(t){let e=Ge(t,!0);return e.match(/^noll$/)?e="nollte":e.match(/ett$/)?e=e.replace(/ett$/,"f\xf6rsta"):e.match(/tv\xe5$/)?e=e.replace(/tv\xe5$/,"andra"):e.match(/tre$/)?e=e.replace(/tre$/,"tredje"):e.match(/fyra$/)?e=e.replace(/fyra$/,"fj\xe4rde"):e.match(/fem$/)?e=e.replace(/fem$/,"femte"):e.match(/sex$/)?e=e.replace(/sex$/,"sj\xe4tte"):e.match(/sju$/)?e=e.replace(/sju$/,"sjunde"):e.match(/\xe5tta$/)?e=e.replace(/\xe5tta$/,"\xe5ttonde"):e.match(/nio$/)?e=e.replace(/nio$/,"nionde"):e.match(/tio$/)?e=e.replace(/tio$/,"tionde"):e.match(/elva$/)?e=e.replace(/elva$/,"elfte"):e.match(/tolv$/)?e=e.replace(/tolv$/,"tolfte"):e.match(/tusen$/)?e=e.replace(/tusen$/,"tusonde"):e.match(/jard$/)||e.match(/jon$/)?e+="te":e+="de",e}const $e=ct({wordOrdinal:Ve,numericOrdinal:function(t){const e=t.toString();return e.match(/11$|12$/)?e+":e":e+(e.match(/1$|2$/)?":a":":e")},numberToWords:Ge,numberToOrdinal:function(t,e){if(1===t)return"hel";if(2===t)return e?"halva":"halv";let n=Ve(t);return n=n.match(/de$/)?n.replace(/de$/,""):n,n+(e?"delar":"del")}});let je=null;const He={af:function(){return At||(At=function(){const t=lt();return t.NUMBERS=Tt,t.COMBINERS.germanPostfix=It,t.FUNCTIONS.radicalNestDepth=ut,t.FUNCTIONS.plural=t=>/.*s$/.test(t)?t:t+"s",t.FUNCTIONS.fontRegexp=function(t){return new RegExp("((^"+t+" )|( "+t+"$))")},t.ALPHABETS.combiner=st.prefixCombiner,t.ALPHABETS.digitTrans.default=Tt.nu