diff --git a/README.md b/README.md
index 52439b9..0507c66 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Knuth JS-WASM
-> WebAssembly interface for Bitcoin Cash full node as a Javascript/TypeScript library
+> WebAssembly interface for Bitcoin Cash full node
[![NPM Version](https://img.shields.io/npm/v/@knuth/js-wasm?logo=npm&style=for-the-badge)](https://www.npmjs.com/package/@knuth/js-wasm)
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY%2Fl8WUAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTCtCgrAAAADB0lEQVR4XtWagXETMRREUwIlUAIlUAodQAl0AJ1AB9BB6AA6gA6MduKbkX%2BevKecNk525jHO3l%2Fp686xlJC70%2Bl0C942vjV%2Bn9FreVQbBc0wWujfRpW8Z78JaIb53hhJ1ygTA80w9PQ36duBMjHQHPCuoQZfutSjeqU1PAJN4E3j2pN7aVKv6pnWcgGawNfGa5N6prVcgGZBn8yvVXZXQbOgPXokXaPMNZwoc41D%2FaHZ8b7hpBrKjnCizIjD%2FaHZ8aPR6%2BeZXqqh7Agnyow43B%2BaZz40qnQ36a6rlsYgnChDLOkPzTN1z%2B9PafU0N3OAcaIMsaQ%2FNBufG1X9JyrtDMr0Y4xwokxlWX%2BPjAYdemhPrWeDvYcPJ8r0LO3v4oszNfivQQuTp2u9qJGKE2V6lvZ38UVj9q3t3oqEE2U2lvfXF4t6qPjTqDUV1fRyhw8nymws768vfOr2NtqOqFY4UUZE%2BusL6VDRX7%2FGzOHDiTIi0t9WMPsUKzNPx4kysf62gmuHir3sPXw4USbWny485ZOc2PsJ7VTro%2F3pwp5DxV7qHq2xa41TrY%2F2J7PfJkaHir3UwwdtU061PtqfTP0CUaYm2v3LxCtoDI2lMWk8p1of7Y8K0jhRJgaaYZwoE0P%2FpFUndZqtP6T4BE2zC5qtP6T4BE2zC5qtPyRN8OvhZUQae3ZBtT7anyb49PA6Ivp5wKnWR%2FvbJkncZXr6wokysf62CXRCWjmJxhqd2JwoE%2BuvTqS37JGJlB39GLzhRJmN5f31gz8XTpSJgWYYJ8rEQDOME2VioBnGiTIx0AzjRJkYaIZxokwMNMM4USYGmmGcKBMDzTBOlImBZhgnysRAM4wTZWKgGcaJMjHQDONEmRhohnGiTAw0wzhRJgaaYZwoEwPNME6UiYFmGCfKxEAzjBNlYqAZxokyMdAMoL%2FO%2BNi4bzjpT1e%2BNFb8V7gFzUXMLHqk%2BM1A8wArFj1S5GagOUly0SMtuxloTnJrUU%2B7QXOSW4t62g2ak9xa1NNu0Jzk1qKednK6%2Bw9roIB8keT%2F3QAAAABJRU5ErkJggg%3D%3D)](LICENSE.md)
diff --git a/examples/address-converter/index.html b/examples/address-converter/index.html
new file mode 100644
index 0000000..eecfb6d
--- /dev/null
+++ b/examples/address-converter/index.html
@@ -0,0 +1,158 @@
+
+
+
+
+ Knuth Address Converter
+
+
+
+
+
+
+ Knuth Address Converter
+
+ Loading Knuth
+
+
+
+
+
+ Cash Address:
+ Legacy Address:
+ Cash Tokens:
+
+
+
+
+
diff --git a/examples/address-converter/kth.js b/examples/address-converter/kth.js
new file mode 100644
index 0000000..229fbdd
--- /dev/null
+++ b/examples/address-converter/kth.js
@@ -0,0 +1,7 @@
+// Copyright (c) 2016-2023 Knuth Project developers.
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+(()=>{
+"use strict";var Module=typeof Module!="undefined"?Module:{};!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.kth=e():t.__KTH_MODULE__=e()}(globalThis,()=>(()=>{"use strict";var t={407:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EllipticCurve=void 0;const s=r(760);class a{static secretToPublic(t){const e=new s.EcCompressedNative;if(s.EllipticCurveNative.secretToPublic(e,t))return e}}e.EllipticCurve=a,e.default=a},490:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Kth=void 0;const s=r(760),a=r(33);class i{static getLibconfig(){const t=s.LibConfig.getLibconfig(),e={logLibrary:t.log_library,useLibmdbx:t.use_libmdbx,version:t.version,microarchitectureId:t.microarchitecture_id,currency:t.currency,mempool:t.mempool,dbReadonly:t.db_readonly,debugMode:t.debug_mode};return(0,a.free)(t),e}}e.Kth=i,e.default=i},644:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PaymentAddress=void 0;const s=r(760),a=r(33);class i{static fromNative(t,e=!1){const r=new i(t.encodedCashaddr(!1),!1,!1);return e&&(0,a.free)(t),r}static fromString(t){const e=new s.PaymentAddressNative(t);if(!e.isValid())return void(0,a.free)(e);const r=i.fromNative(e);return(0,a.free)(e),r}static isValid(t){const e=new s.PaymentAddressNative(t),r=e.isValid();return(0,a.free)(e),r}constructor(t,e=!1,r=!1){this.addressStr=t,this.tokenAware=e,this.legacy=r}toNative(){return new s.PaymentAddressNative(this.addressStr)}get hash(){const t=this.toNative(),e=t.hash20();return(0,a.free)(t),e}get version(){const t=this.toNative(),e=t.version();return(0,a.free)(t),e}encoded(){if(this.tokenAware){const t=this.toNative(),e=t.encodedCashaddr(!1);return(0,a.free)(t),e}return this.addressStr}encodedCashAddr(){const t=this.toNative(),e=t.encodedCashaddr(!1);return(0,a.free)(t),e}encodedCashTokens(){const t=this.toNative(),e=t.encodedCashaddr(!0);return(0,a.free)(t),e}encodedLegacy(){const t=this.toNative(),e=t.encodedLegacy();return(0,a.free)(t),e}}e.PaymentAddress=i,e.default=i},88:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Wallet=void 0;const s=r(407),a=r(760),i=r(644);class n{constructor(t,e,r="MAINNET"){this.mnemonic=t,this.derivationPath=e,this.network=r;const s=new a.StringListNative;this.mnemonic.forEach(t=>{s.pushBack(t)}),this.seed=a.WalletNative.mnemonicsToSeed(s);const i="MAINNET"===this.network?326702167824577054n:303293221666392015n;this.master=new a.HdPrivateNative(this.seed.hash,64,i),this.lastDerived=this.master.derivePrivate(2147483692);const n=this.derivationPath.split("/");this.lastDerived=n.reduce((t,e)=>{if("m"===e)return t;const r=e.endsWith("'");let s=parseInt(e,10);if(isNaN(s))throw new Error("Invalid derivation path.");return r&&(s+=2147483648),t.derivePrivate(s)},this.master)}get rootKey(){return this.master.encoded()}get extendedPrivateKey(){return this.lastDerived.encoded()}get extendedPublicKey(){return this.lastDerived.toPublic().encoded()}getAddress(t){const e=this.lastDerived.derivePrivate(t).secret(),r=s.default.secretToPublic(e);if(void 0===r)throw new Error("Invalid secret.");const n=new a.EcPublicNative(r,!0).toPaymentAddress("MAINNET"===this.network?0:5);return i.PaymentAddress.fromNative(n)}getAddresses(t=20,e=0){const r=[];for(let s=e;s{Object.defineProperty(e,"__esModule",{value:!0}),e.FETCH_WITH_SHARED_ARRAY_BUFFER=e.IS_WEB_WORKER=e.IS_NODE_WORKER=e.IS_NODE_MAIN_THREAD=e.IS_WEB_MAIN_THREAD=e.IS_WORKER=void 0,e.IS_WORKER="function"==typeof globalThis.importScripts,e.IS_WEB_MAIN_THREAD="object"==typeof window,e.IS_NODE_MAIN_THREAD=!e.IS_WEB_MAIN_THREAD&&!e.IS_WORKER,e.IS_NODE_WORKER=e.IS_WORKER&&"function"==typeof globalThis.require,e.IS_WEB_WORKER=e.IS_WORKER&&!e.IS_NODE_WORKER;const r=!!/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/.exec(globalThis?.navigator?.userAgent);e.FETCH_WITH_SHARED_ARRAY_BUFFER=r},183:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.malloc=e.free=e.Wallet=e.PaymentAddress=e.Kth=e.loadLib=void 0;const s=r(490);e.Kth=s.default;const a=r(644);e.PaymentAddress=a.default;const i=r(88);e.Wallet=i.default;const n=r(35);e.loadLib=n.default;const o=r(33);Object.defineProperty(e,"free",{enumerable:!0,get:function(){return o.free}}),Object.defineProperty(e,"malloc",{enumerable:!0,get:function(){return o.malloc}}),e.default={loadLib:n.default,Kth:s.default,PaymentAddress:a.default,Wallet:i.default,free:o.free,malloc:o.malloc}},344:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.stringToBytes=e.mapParallel=e.mapSeries=e.copyObject=e.isStringPair=e.isArrayArrayDate=e.isArrayDate=e.isDate=e.isArrayArrayString=e.isArrayString=void 0;const s=r(35),a=new RegExp("^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|([+-])?(((2[0-3]|[01][0-9])[0-5][0-9])|((2[0-3]|[01][0-9]):[0-5][0-9])))?$");function i(t){return null!=t&&a.test(t)}e.isArrayString=function(t){return t.length>0&&"string"==typeof t.find(t=>null!=t)},e.isArrayArrayString=function(t){if(t.length>0){const e=t.find(t=>t.length>0);return null!=e&&"string"==typeof e[0]}return!1},e.isDate=i,e.isArrayDate=function(t){return t.length>0&&i(t.find(t=>null!=t))},e.isArrayArrayDate=function(t){if(t.length>0){const e=t.find(t=>null!=t&&t.length>0&&null!=t.find(t=>null!=t));return null!=e&&i(e.find(t=>null!=t))}return!1},e.isStringPair=function(t){return null!=t&&"object"==typeof t&&2===t.length&&"string"==typeof t[0]&&"string"==typeof t[1]},e.copyObject=function(t,e){const r={};return e.forEach(e=>r[e]=t[e]),r},e.mapSeries=async function(t,e){const r=[];for(let s=0;s(async()=>{for(;a{})},613:function(t,e,r){var s=this&&this.__createBinding||(Object.create?function(t,e,r,s){void 0===s&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);a&&!("get"in a?!e.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){void 0===s&&(s=r),t[s]=e[r]}),a=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||s(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0});const i=r(354);r(344);const n=new Promise(t=>{Module.__resolveFilePaths=t});if(i.IS_WEB_MAIN_THREAD){const t=globalThis.fetch;globalThis.fetch=async(e,r)=>e.includes("kth.wasm")?(await n,globalThis.fetch=t,t(Module.locateFile("kth.wasm"),r)):t(e,r)}else if(i.IS_NODE_MAIN_THREAD){const t=getBinaryPromise;getBinaryPromise=async e=>(await n,t(Module.locateFile(e)))}const o=r(183);a(r(183),e),e.default=o.default},760:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.WalletNative=e.EcPublicNative=e.EcPrivateNative=e.PaymentAddressNative=e.HdPrivateNative=e.HdPublicNative=e.EllipticCurveNative=e.HdLineageNative=e.WifCompressedNative=e.WifUncompressedNative=e.EcSecretNative=e.EcUncompressedNative=e.EcCompressedNative=e.HdKeyNative=e.HdChainCodeNative=e.LongHashNative=e.HashNative=e.ShortHashNative=e.StringListNative=e.LibConfig=void 0;const s=r(554),a=r(63),i=Symbol("ptr"),n=(Symbol("derivedClass"),["bitcoin","bitcoin_cash","litecoin"]),o=["boost","spdlog","binlog"];class _{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get log_library(){return o[_kth_wasm_0(this[i])]}get use_libmdbx(){return!!_kth_wasm_1(this[i])}get version(){return(0,a.UTF8ToString)(_kth_wasm_2(this[i])>>>0)}get microarchitecture_id(){return(0,a.UTF8ToString)(_kth_wasm_3(this[i])>>>0)}get currency(){return n[_kth_wasm_4(this[i])]}get mempool(){return!!_kth_wasm_5(this[i])}get db_readonly(){return!!_kth_wasm_6(this[i])}get debug_mode(){return!!_kth_wasm_7(this[i])}_destructor(){_kth_wasm_8(this[i])}static getLibconfig(){return _._create(_kth_wasm_9()>>>0)}}e.LibConfig=_,e.StringListNative=class{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_10(this[i])}constructor(){this[i]=_kth_wasm_11()>>>0}pushBack(t){(0,s.clearStack)(),_kth_wasm_12(this[i],(0,s.allocateUTF8String)(t))}};class c{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_13(this[i])>>>0}_destructor(){_kth_wasm_14(this[i])}}e.ShortHashNative=c;class h{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_15(this[i])>>>0}_destructor(){_kth_wasm_16(this[i])}}e.HashNative=h;class u{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_17(this[i])>>>0}_destructor(){_kth_wasm_18(this[i])}}e.LongHashNative=u;class d{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_19(this[i])>>>0}_destructor(){_kth_wasm_20(this[i])}}e.HdChainCodeNative=d;class l{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_21(this[i])>>>0}_destructor(){_kth_wasm_22(this[i])}}e.HdKeyNative=l;class m{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_23(this[i])>>>0}_destructor(){_kth_wasm_24(this[i])}}e.EcCompressedNative=m,e.EcUncompressedNative=class{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_25(this[i])>>>0}_destructor(){_kth_wasm_26(this[i])}};class f{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_27(this[i])>>>0}_destructor(){_kth_wasm_28(this[i])}}e.EcSecretNative=f;class p{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_29(this[i])>>>0}_destructor(){_kth_wasm_30(this[i])}}e.WifUncompressedNative=p;class w{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_31(this[i])>>>0}_destructor(){_kth_wasm_32(this[i])}}e.WifCompressedNative=w;class g{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get prefixes(){return _kth_wasm_33(this[i])}get depth(){return _kth_wasm_34(this[i])}get parent_fingerprint(){return _kth_wasm_35(this[i])>>>0}get child_number(){return _kth_wasm_36(this[i])>>>0}_destructor(){_kth_wasm_37(this[i])}}e.HdLineageNative=g,e.EllipticCurveNative=class{static secretToPublic(t,e){return!!_kth_wasm_38(t[i],e[i])}};class v{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_39(this[i])}constructor(){this[i]=_kth_wasm_40()>>>0}isValid(){return!!_kth_wasm_41(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_42(this[i])>>>0)}chainCode(){return d._create(_kth_wasm_43(this[i])>>>0)}lineage(){return g._create(_kth_wasm_44(this[i])>>>0)}point(){return m._create(_kth_wasm_45(this[i])>>>0)}toHdKey(){return l._create(_kth_wasm_46(this[i])>>>0)}derivePublic(t){return v._create(_kth_wasm_47(this[i],t)>>>0)}}e.HdPublicNative=v;class y{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_48(this[i])}constructor(t,e,r){(0,s.clearStack)(),this[i]=null==t?_kth_wasm_49_0()>>>0:"string"==typeof t?_kth_wasm_49_1((0,s.allocateUTF8String)(t))>>>0:_kth_wasm_49_2(t,e,r)>>>0}isValid(){return!!_kth_wasm_50(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_51(this[i])>>>0)}secret(){return f._create(_kth_wasm_52(this[i])>>>0)}chainCode(){return d._create(_kth_wasm_53(this[i])>>>0)}lineage(){return g._create(_kth_wasm_54(this[i])>>>0)}point(){return m._create(_kth_wasm_55(this[i])>>>0)}toHdKeyNative(){return l._create(_kth_wasm_56(this[i])>>>0)}toPublic(){return v._create(_kth_wasm_57(this[i])>>>0)}derivePrivate(t){return y._create(_kth_wasm_58(this[i],t)>>>0)}derivePublic(t){return v._create(_kth_wasm_59(this[i],t)>>>0)}}e.HdPrivateNative=y;class k{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_60(this[i])}constructor(t,e){(0,s.clearStack)(),this[i]="string"==typeof t?_kth_wasm_61_0((0,s.allocateUTF8String)(t))>>>0:_kth_wasm_61_1(t[i],e)>>>0}encodedLegacy(){return(0,a.UTF8ToString)(_kth_wasm_62(this[i])>>>0)}encodedCashaddr(t){return(0,a.UTF8ToString)(_kth_wasm_63(this[i],t)>>>0)}hash20(){return c._create(_kth_wasm_64(this[i])>>>0)}hash32(){return h._create(_kth_wasm_65(this[i])>>>0)}version(){return _kth_wasm_66(this[i])}isValid(){return!!_kth_wasm_67(this[i])}}e.PaymentAddressNative=k;class b{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_68(this[i])}constructor(t,e,r){(0,s.clearStack)(),this[i]=null==t?_kth_wasm_69_0()>>>0:"string"==typeof t?_kth_wasm_69_1((0,s.allocateUTF8String)(t),e)>>>0:t instanceof w?_kth_wasm_69_2(t[i],e)>>>0:t instanceof p?_kth_wasm_69_3(t[i],e)>>>0:_kth_wasm_69_4(t[i],e,r)>>>0}isValid(){return!!_kth_wasm_70(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_71(this[i])>>>0)}secret(){return f._create(_kth_wasm_72(this[i])>>>0)}version(){return _kth_wasm_73(this[i])}paymentVersion(){return _kth_wasm_74(this[i])}wifVersion(){return _kth_wasm_75(this[i])}compressed(){return!!_kth_wasm_76(this[i])}toPublic(){return N._create(_kth_wasm_77(this[i])>>>0)}toPaymentAddress(){return k._create(_kth_wasm_78(this[i])>>>0)}}e.EcPrivateNative=b;class N{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_79(this[i])}constructor(t,e){(0,s.clearStack)(),this[i]=null==t?_kth_wasm_80_0()>>>0:"string"==typeof t?_kth_wasm_80_1((0,s.allocateUTF8String)(t))>>>0:t instanceof b?_kth_wasm_80_2(t[i])>>>0:_kth_wasm_80_3(t[i],e)>>>0}isValid(){return!!_kth_wasm_81(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_82(this[i])>>>0)}point(){return m._create(_kth_wasm_83(this[i])>>>0)}compressed(){return!!_kth_wasm_84(this[i])}toUncompressed(t){return!!_kth_wasm_85(this[i],t[i])}toPaymentAddress(t){return k._create(_kth_wasm_86(this[i],t)>>>0)}}e.EcPublicNative=N,e.WalletNative=class{static mnemonicsToSeed(t){return u._create(_kth_wasm_87(t[i])>>>0)}static hdNew(t,e){return y._create(_kth_wasm_88(t[i],e)>>>0)}static hdPrivateToEc(t){return f._create(_kth_wasm_89(t[i])>>>0)}static ecToPublic(t,e){return N._create(_kth_wasm_90(t[i],e)>>>0)}static ecToAddress(t,e){return k._create(_kth_wasm_91(t[i],e)>>>0)}}},35:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0});const s=r(354);var a;let i;r(643),function(t){t[t.unloaded=0]="unloaded",t[t.loading=1]="loading",t[t.loaded=2]="loaded"}(a||(a={}));const n=new Promise(t=>i=t),o={};function _(t,e){if(_.status!==a.unloaded)return _.promise;if(Module.mainScriptUrlOrBlob=e??"kth.js",o["kth.wasm"]=t??"kth.wasm",s.IS_WEB_MAIN_THREAD&&"string"==typeof Module.mainScriptUrlOrBlob){const t=new URL(Module.mainScriptUrlOrBlob,location.href).toString();Module.mainScriptUrlOrBlob=t}function r(){_.status=a.loaded,i()}return s.IS_WEB_MAIN_THREAD?window.addEventListener("_kthWasmLoaded",r):s.IS_NODE_MAIN_THREAD&&(globalThis._kthWasmLoaded=r),_.status=a.loading,Module.__resolveFilePaths(),n}Module.locateFile=t=>o[t]??t,_.promise=n,_.status=a.unloaded,e.default=_},33:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.buffer=e.free=e.malloc=void 0;const r=Symbol("custom_malloc_sym");function s(){return HEAPU8.buffer}e.buffer=s,e.malloc=function(t,e){const a=e*t.BYTES_PER_ELEMENT,i=Module._malloc(a)>>>0,n=new t(s(),i,e);return n[r]=!0,n.ptr=i,n},e.free=function(t){"number"==typeof t?Module._free(t):!0===t[r]?Module._free(t.ptr):t._destructor()}},554:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.allocateUTF8String=e.clearStack=void 0;const s=r(35),a=r(63),i={reset(){this._usedBytes=0,this._toFree.forEach(t=>Module._free(t)),this._toFree.length=0},alloc(t){if(t>5120){const e=Module._malloc(t)>>>0;return this._toFree.push(e),e}if(this._usedBytes+t>this._size){const e=this._usedBytes+t+10240,r=Module._malloc(e)>>>0;0!==this._ptr&&this._toFree.push(this._ptr),this._ptr=r,this._usedBytes=0,this._size=e}const e=this._ptr+this._usedBytes;return this._usedBytes+=t,e},_ptr:0,_usedBytes:0,_size:0,_toFree:new Array};s.default.promise.then(()=>i.alloc(0)),e.clearStack=function(){i.reset()},e.allocateUTF8String=function(t){const e=3*t.length+10,r=i.alloc(e);return(0,a.StringToUTF8)(t,r,e),r}},63:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StringToUTF8=e.UTF8ToString=void 0;const r=new TextDecoder("utf8"),s=new TextEncoder,a=new Array(128).fill("").map((t,e)=>String.fromCodePoint(e));e.UTF8ToString=function(t,e){return 0===t?"":(null==e&&(e=Module._strlen(t)),0===e?"":e>30?r.decode(HEAPU8.subarray(t>>>0,t+e>>>0)):function(t,e){const r=HEAPU8,s=t+e;let i,n,o,_="";for(;t{Object.defineProperty(e,"__esModule",{value:!0}),e.default=""}},e={};return function r(s){var a=e[s];if(void 0!==a)return a.exports;var i=e[s]={exports:{}};return t[s].call(i.exports,i,i.exports,r),i.exports}(613)})());var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=console.log.bind(console);var err=console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;var wasmBinary;var noExitRuntime=true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var wasmExports;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){callRuntimeCallbacks(__ATPOSTRUN__)}function addOnInit(cb){__ATINIT__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++}function removeRunDependency(id){runDependencies--;if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="kth.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;exports=applySignatureConversions(exports);wasmExports=exports;wasmMemory=wasmExports["l"];updateMemoryViews();wasmTable=wasmExports["jb"];addOnInit(wasmExports["m"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var ASM_CONSTS={27940:()=>{if(typeof window!=="undefined"){window.dispatchEvent(new CustomEvent("_kthWasmLoaded"))}else{globalThis._kthWasmLoaded&&globalThis._kthWasmLoaded()}}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var _abort=()=>{abort("")};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++>>>0]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf>>>0]:(ch==106?HEAP64:HEAPF64)[buf++>>1]);++buf}return readEmAsmArgsArray};var runMainThreadEmAsm=(code,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)};var MAX_INT53=9007199254740992;var MIN_INT53=-9007199254740992;function bigintToI53Checked(num){return numMAX_INT53?NaN:Number(num)}function _emscripten_asm_const_async_on_main_thread(code,sigPtr,argbuf){code=bigintToI53Checked(code);sigPtr=bigintToI53Checked(sigPtr);argbuf=bigintToI53Checked(argbuf);return runMainThreadEmAsm(code,sigPtr,argbuf,0)}var _emscripten_exit_with_live_runtime=()=>{throw"unwind"};var getHeapMax=()=>4294901760;var _emscripten_get_heap_max=()=>BigInt(getHeapMax());var growMemory=size=>{var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize=bigintToI53Checked(requestedSize);var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0]=0};var UTF8Decoder=new TextDecoder("utf8");var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end>>>0];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr>>>0,end>>>0))};var SYSCALLS={varargs:undefined,get(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){__environ=bigintToI53Checked(__environ);environ_buf=bigintToI53Checked(environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count=bigintToI53Checked(penviron_count);penviron_buf_size=bigintToI53Checked(penviron_buf_size);var strings=getEnvStrings();HEAPU32[penviron_count>>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>>2]=bufSize;return 0}var _fd_close=fd=>52;function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset=bigintToI53Checked(newOffset);return 70}var printCharBuffers=[null,[],[]];var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov=bigintToI53Checked(iov);iovcnt=bigintToI53Checked(iovcnt);pnum=bigintToI53Checked(pnum);var num=0;for(var i=0;i>>2];var len=HEAPU32[iov+4>>>2];iov+=8;for(var j=0;j>>0])}num+=len}HEAPU32[pnum>>>2]=num;return 0}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var _strftime=function(s,maxsize,format,tm){s=bigintToI53Checked(s);maxsize=bigintToI53Checked(maxsize);format=bigintToI53Checked(format);tm=bigintToI53Checked(tm);var ret=(()=>{var tm_zone=HEAP32[tm+40>>>2];var date={tm_sec:HEAP32[tm>>>2],tm_min:HEAP32[tm+4>>>2],tm_hour:HEAP32[tm+8>>>2],tm_mday:HEAP32[tm+12>>>2],tm_mon:HEAP32[tm+16>>>2],tm_year:HEAP32[tm+20>>>2],tm_wday:HEAP32[tm+24>>>2],tm_yday:HEAP32[tm+28>>>2],tm_isdst:HEAP32[tm+32>>>2],tm_gmtoff:HEAP32[tm+36>>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>getWeekBasedYear(date).toString().substring(2),"%G":date=>getWeekBasedYear(date),"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>(date.tm_year+1900).toString().substring(2),"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1})();return BigInt(ret)};var _strftime_l=function(s,maxsize,format,tm,loc){s=bigintToI53Checked(s);maxsize=bigintToI53Checked(maxsize);format=bigintToI53Checked(format);tm=bigintToI53Checked(tm);loc=bigintToI53Checked(loc);var ret=(()=>_strftime(s,maxsize,format,tm))();return BigInt(ret)};var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var wasmImports={a:_abort,k:_emscripten_asm_const_async_on_main_thread,j:_emscripten_exit_with_live_runtime,e:_emscripten_get_heap_max,d:_emscripten_resize_heap,b:_environ_get,c:_environ_sizes_get,h:_fd_close,f:_fd_seek,g:_fd_write,i:_strftime_l};var asm=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["m"])();var _kth_wasm_0=Module["_kth_wasm_0"]=a0=>(_kth_wasm_0=Module["_kth_wasm_0"]=wasmExports["n"])(a0);var _kth_wasm_1=Module["_kth_wasm_1"]=a0=>(_kth_wasm_1=Module["_kth_wasm_1"]=wasmExports["o"])(a0);var _kth_wasm_2=Module["_kth_wasm_2"]=a0=>(_kth_wasm_2=Module["_kth_wasm_2"]=wasmExports["p"])(a0);var _kth_wasm_3=Module["_kth_wasm_3"]=a0=>(_kth_wasm_3=Module["_kth_wasm_3"]=wasmExports["q"])(a0);var _kth_wasm_4=Module["_kth_wasm_4"]=a0=>(_kth_wasm_4=Module["_kth_wasm_4"]=wasmExports["r"])(a0);var _kth_wasm_5=Module["_kth_wasm_5"]=a0=>(_kth_wasm_5=Module["_kth_wasm_5"]=wasmExports["s"])(a0);var _kth_wasm_6=Module["_kth_wasm_6"]=a0=>(_kth_wasm_6=Module["_kth_wasm_6"]=wasmExports["t"])(a0);var _kth_wasm_7=Module["_kth_wasm_7"]=a0=>(_kth_wasm_7=Module["_kth_wasm_7"]=wasmExports["u"])(a0);var _kth_wasm_8=Module["_kth_wasm_8"]=a0=>(_kth_wasm_8=Module["_kth_wasm_8"]=wasmExports["v"])(a0);var _kth_wasm_9=Module["_kth_wasm_9"]=()=>(_kth_wasm_9=Module["_kth_wasm_9"]=wasmExports["w"])();var _kth_wasm_10=Module["_kth_wasm_10"]=a0=>(_kth_wasm_10=Module["_kth_wasm_10"]=wasmExports["x"])(a0);var _kth_wasm_11=Module["_kth_wasm_11"]=()=>(_kth_wasm_11=Module["_kth_wasm_11"]=wasmExports["y"])();var _kth_wasm_12=Module["_kth_wasm_12"]=(a0,a1)=>(_kth_wasm_12=Module["_kth_wasm_12"]=wasmExports["z"])(a0,a1);var _kth_wasm_13=Module["_kth_wasm_13"]=a0=>(_kth_wasm_13=Module["_kth_wasm_13"]=wasmExports["A"])(a0);var _kth_wasm_14=Module["_kth_wasm_14"]=a0=>(_kth_wasm_14=Module["_kth_wasm_14"]=wasmExports["B"])(a0);var _kth_wasm_15=Module["_kth_wasm_15"]=a0=>(_kth_wasm_15=Module["_kth_wasm_15"]=wasmExports["C"])(a0);var _kth_wasm_16=Module["_kth_wasm_16"]=a0=>(_kth_wasm_16=Module["_kth_wasm_16"]=wasmExports["D"])(a0);var _kth_wasm_17=Module["_kth_wasm_17"]=a0=>(_kth_wasm_17=Module["_kth_wasm_17"]=wasmExports["E"])(a0);var _kth_wasm_18=Module["_kth_wasm_18"]=a0=>(_kth_wasm_18=Module["_kth_wasm_18"]=wasmExports["F"])(a0);var _kth_wasm_19=Module["_kth_wasm_19"]=a0=>(_kth_wasm_19=Module["_kth_wasm_19"]=wasmExports["G"])(a0);var _kth_wasm_20=Module["_kth_wasm_20"]=a0=>(_kth_wasm_20=Module["_kth_wasm_20"]=wasmExports["H"])(a0);var _kth_wasm_21=Module["_kth_wasm_21"]=a0=>(_kth_wasm_21=Module["_kth_wasm_21"]=wasmExports["I"])(a0);var _kth_wasm_22=Module["_kth_wasm_22"]=a0=>(_kth_wasm_22=Module["_kth_wasm_22"]=wasmExports["J"])(a0);var _kth_wasm_23=Module["_kth_wasm_23"]=a0=>(_kth_wasm_23=Module["_kth_wasm_23"]=wasmExports["K"])(a0);var _kth_wasm_24=Module["_kth_wasm_24"]=a0=>(_kth_wasm_24=Module["_kth_wasm_24"]=wasmExports["L"])(a0);var _kth_wasm_25=Module["_kth_wasm_25"]=a0=>(_kth_wasm_25=Module["_kth_wasm_25"]=wasmExports["M"])(a0);var _kth_wasm_26=Module["_kth_wasm_26"]=a0=>(_kth_wasm_26=Module["_kth_wasm_26"]=wasmExports["N"])(a0);var _kth_wasm_27=Module["_kth_wasm_27"]=a0=>(_kth_wasm_27=Module["_kth_wasm_27"]=wasmExports["O"])(a0);var _kth_wasm_28=Module["_kth_wasm_28"]=a0=>(_kth_wasm_28=Module["_kth_wasm_28"]=wasmExports["P"])(a0);var _kth_wasm_29=Module["_kth_wasm_29"]=a0=>(_kth_wasm_29=Module["_kth_wasm_29"]=wasmExports["Q"])(a0);var _kth_wasm_30=Module["_kth_wasm_30"]=a0=>(_kth_wasm_30=Module["_kth_wasm_30"]=wasmExports["R"])(a0);var _kth_wasm_31=Module["_kth_wasm_31"]=a0=>(_kth_wasm_31=Module["_kth_wasm_31"]=wasmExports["S"])(a0);var _kth_wasm_32=Module["_kth_wasm_32"]=a0=>(_kth_wasm_32=Module["_kth_wasm_32"]=wasmExports["T"])(a0);var _kth_wasm_33=Module["_kth_wasm_33"]=a0=>(_kth_wasm_33=Module["_kth_wasm_33"]=wasmExports["U"])(a0);var _kth_wasm_34=Module["_kth_wasm_34"]=a0=>(_kth_wasm_34=Module["_kth_wasm_34"]=wasmExports["V"])(a0);var _kth_wasm_35=Module["_kth_wasm_35"]=a0=>(_kth_wasm_35=Module["_kth_wasm_35"]=wasmExports["W"])(a0);var _kth_wasm_36=Module["_kth_wasm_36"]=a0=>(_kth_wasm_36=Module["_kth_wasm_36"]=wasmExports["X"])(a0);var _kth_wasm_37=Module["_kth_wasm_37"]=a0=>(_kth_wasm_37=Module["_kth_wasm_37"]=wasmExports["Y"])(a0);var _kth_wasm_38=Module["_kth_wasm_38"]=(a0,a1)=>(_kth_wasm_38=Module["_kth_wasm_38"]=wasmExports["Z"])(a0,a1);var _kth_wasm_39=Module["_kth_wasm_39"]=a0=>(_kth_wasm_39=Module["_kth_wasm_39"]=wasmExports["_"])(a0);var _kth_wasm_40=Module["_kth_wasm_40"]=()=>(_kth_wasm_40=Module["_kth_wasm_40"]=wasmExports["$"])();var _kth_wasm_41=Module["_kth_wasm_41"]=a0=>(_kth_wasm_41=Module["_kth_wasm_41"]=wasmExports["aa"])(a0);var _kth_wasm_42=Module["_kth_wasm_42"]=a0=>(_kth_wasm_42=Module["_kth_wasm_42"]=wasmExports["ba"])(a0);var _kth_wasm_43=Module["_kth_wasm_43"]=a0=>(_kth_wasm_43=Module["_kth_wasm_43"]=wasmExports["ca"])(a0);var _kth_wasm_44=Module["_kth_wasm_44"]=a0=>(_kth_wasm_44=Module["_kth_wasm_44"]=wasmExports["da"])(a0);var _kth_wasm_45=Module["_kth_wasm_45"]=a0=>(_kth_wasm_45=Module["_kth_wasm_45"]=wasmExports["ea"])(a0);var _kth_wasm_46=Module["_kth_wasm_46"]=a0=>(_kth_wasm_46=Module["_kth_wasm_46"]=wasmExports["fa"])(a0);var _kth_wasm_47=Module["_kth_wasm_47"]=(a0,a1)=>(_kth_wasm_47=Module["_kth_wasm_47"]=wasmExports["ga"])(a0,a1);var _kth_wasm_48=Module["_kth_wasm_48"]=a0=>(_kth_wasm_48=Module["_kth_wasm_48"]=wasmExports["ha"])(a0);var _kth_wasm_49_0=Module["_kth_wasm_49_0"]=()=>(_kth_wasm_49_0=Module["_kth_wasm_49_0"]=wasmExports["ia"])();var _kth_wasm_49_1=Module["_kth_wasm_49_1"]=a0=>(_kth_wasm_49_1=Module["_kth_wasm_49_1"]=wasmExports["ja"])(a0);var _kth_wasm_49_2=Module["_kth_wasm_49_2"]=(a0,a1,a2)=>(_kth_wasm_49_2=Module["_kth_wasm_49_2"]=wasmExports["ka"])(a0,a1,a2);var _kth_wasm_50=Module["_kth_wasm_50"]=a0=>(_kth_wasm_50=Module["_kth_wasm_50"]=wasmExports["la"])(a0);var _kth_wasm_51=Module["_kth_wasm_51"]=a0=>(_kth_wasm_51=Module["_kth_wasm_51"]=wasmExports["ma"])(a0);var _kth_wasm_52=Module["_kth_wasm_52"]=a0=>(_kth_wasm_52=Module["_kth_wasm_52"]=wasmExports["na"])(a0);var _kth_wasm_53=Module["_kth_wasm_53"]=a0=>(_kth_wasm_53=Module["_kth_wasm_53"]=wasmExports["oa"])(a0);var _kth_wasm_54=Module["_kth_wasm_54"]=a0=>(_kth_wasm_54=Module["_kth_wasm_54"]=wasmExports["pa"])(a0);var _kth_wasm_55=Module["_kth_wasm_55"]=a0=>(_kth_wasm_55=Module["_kth_wasm_55"]=wasmExports["qa"])(a0);var _kth_wasm_56=Module["_kth_wasm_56"]=a0=>(_kth_wasm_56=Module["_kth_wasm_56"]=wasmExports["ra"])(a0);var _kth_wasm_57=Module["_kth_wasm_57"]=a0=>(_kth_wasm_57=Module["_kth_wasm_57"]=wasmExports["sa"])(a0);var _kth_wasm_58=Module["_kth_wasm_58"]=(a0,a1)=>(_kth_wasm_58=Module["_kth_wasm_58"]=wasmExports["ta"])(a0,a1);var _kth_wasm_59=Module["_kth_wasm_59"]=(a0,a1)=>(_kth_wasm_59=Module["_kth_wasm_59"]=wasmExports["ua"])(a0,a1);var _kth_wasm_60=Module["_kth_wasm_60"]=a0=>(_kth_wasm_60=Module["_kth_wasm_60"]=wasmExports["va"])(a0);var _kth_wasm_61_0=Module["_kth_wasm_61_0"]=a0=>(_kth_wasm_61_0=Module["_kth_wasm_61_0"]=wasmExports["wa"])(a0);var _kth_wasm_61_1=Module["_kth_wasm_61_1"]=(a0,a1)=>(_kth_wasm_61_1=Module["_kth_wasm_61_1"]=wasmExports["xa"])(a0,a1);var _kth_wasm_62=Module["_kth_wasm_62"]=a0=>(_kth_wasm_62=Module["_kth_wasm_62"]=wasmExports["ya"])(a0);var _kth_wasm_63=Module["_kth_wasm_63"]=(a0,a1)=>(_kth_wasm_63=Module["_kth_wasm_63"]=wasmExports["za"])(a0,a1);var _kth_wasm_64=Module["_kth_wasm_64"]=a0=>(_kth_wasm_64=Module["_kth_wasm_64"]=wasmExports["Aa"])(a0);var _kth_wasm_65=Module["_kth_wasm_65"]=a0=>(_kth_wasm_65=Module["_kth_wasm_65"]=wasmExports["Ba"])(a0);var _kth_wasm_66=Module["_kth_wasm_66"]=a0=>(_kth_wasm_66=Module["_kth_wasm_66"]=wasmExports["Ca"])(a0);var _kth_wasm_67=Module["_kth_wasm_67"]=a0=>(_kth_wasm_67=Module["_kth_wasm_67"]=wasmExports["Da"])(a0);var _kth_wasm_68=Module["_kth_wasm_68"]=a0=>(_kth_wasm_68=Module["_kth_wasm_68"]=wasmExports["Ea"])(a0);var _kth_wasm_69_0=Module["_kth_wasm_69_0"]=()=>(_kth_wasm_69_0=Module["_kth_wasm_69_0"]=wasmExports["Fa"])();var _kth_wasm_69_1=Module["_kth_wasm_69_1"]=(a0,a1)=>(_kth_wasm_69_1=Module["_kth_wasm_69_1"]=wasmExports["Ga"])(a0,a1);var _kth_wasm_69_2=Module["_kth_wasm_69_2"]=(a0,a1)=>(_kth_wasm_69_2=Module["_kth_wasm_69_2"]=wasmExports["Ha"])(a0,a1);var _kth_wasm_69_3=Module["_kth_wasm_69_3"]=(a0,a1)=>(_kth_wasm_69_3=Module["_kth_wasm_69_3"]=wasmExports["Ia"])(a0,a1);var _kth_wasm_69_4=Module["_kth_wasm_69_4"]=(a0,a1,a2)=>(_kth_wasm_69_4=Module["_kth_wasm_69_4"]=wasmExports["Ja"])(a0,a1,a2);var _kth_wasm_70=Module["_kth_wasm_70"]=a0=>(_kth_wasm_70=Module["_kth_wasm_70"]=wasmExports["Ka"])(a0);var _kth_wasm_71=Module["_kth_wasm_71"]=a0=>(_kth_wasm_71=Module["_kth_wasm_71"]=wasmExports["La"])(a0);var _kth_wasm_72=Module["_kth_wasm_72"]=a0=>(_kth_wasm_72=Module["_kth_wasm_72"]=wasmExports["Ma"])(a0);var _kth_wasm_73=Module["_kth_wasm_73"]=a0=>(_kth_wasm_73=Module["_kth_wasm_73"]=wasmExports["Na"])(a0);var _kth_wasm_74=Module["_kth_wasm_74"]=a0=>(_kth_wasm_74=Module["_kth_wasm_74"]=wasmExports["Oa"])(a0);var _kth_wasm_75=Module["_kth_wasm_75"]=a0=>(_kth_wasm_75=Module["_kth_wasm_75"]=wasmExports["Pa"])(a0);var _kth_wasm_76=Module["_kth_wasm_76"]=a0=>(_kth_wasm_76=Module["_kth_wasm_76"]=wasmExports["Qa"])(a0);var _kth_wasm_77=Module["_kth_wasm_77"]=a0=>(_kth_wasm_77=Module["_kth_wasm_77"]=wasmExports["Ra"])(a0);var _kth_wasm_78=Module["_kth_wasm_78"]=a0=>(_kth_wasm_78=Module["_kth_wasm_78"]=wasmExports["Sa"])(a0);var _kth_wasm_79=Module["_kth_wasm_79"]=a0=>(_kth_wasm_79=Module["_kth_wasm_79"]=wasmExports["Ta"])(a0);var _kth_wasm_80_0=Module["_kth_wasm_80_0"]=()=>(_kth_wasm_80_0=Module["_kth_wasm_80_0"]=wasmExports["Ua"])();var _kth_wasm_80_1=Module["_kth_wasm_80_1"]=a0=>(_kth_wasm_80_1=Module["_kth_wasm_80_1"]=wasmExports["Va"])(a0);var _kth_wasm_80_2=Module["_kth_wasm_80_2"]=a0=>(_kth_wasm_80_2=Module["_kth_wasm_80_2"]=wasmExports["Wa"])(a0);var _kth_wasm_80_3=Module["_kth_wasm_80_3"]=(a0,a1)=>(_kth_wasm_80_3=Module["_kth_wasm_80_3"]=wasmExports["Xa"])(a0,a1);var _kth_wasm_81=Module["_kth_wasm_81"]=a0=>(_kth_wasm_81=Module["_kth_wasm_81"]=wasmExports["Ya"])(a0);var _kth_wasm_82=Module["_kth_wasm_82"]=a0=>(_kth_wasm_82=Module["_kth_wasm_82"]=wasmExports["Za"])(a0);var _kth_wasm_83=Module["_kth_wasm_83"]=a0=>(_kth_wasm_83=Module["_kth_wasm_83"]=wasmExports["_a"])(a0);var _kth_wasm_84=Module["_kth_wasm_84"]=a0=>(_kth_wasm_84=Module["_kth_wasm_84"]=wasmExports["$a"])(a0);var _kth_wasm_85=Module["_kth_wasm_85"]=(a0,a1)=>(_kth_wasm_85=Module["_kth_wasm_85"]=wasmExports["ab"])(a0,a1);var _kth_wasm_86=Module["_kth_wasm_86"]=(a0,a1)=>(_kth_wasm_86=Module["_kth_wasm_86"]=wasmExports["bb"])(a0,a1);var _kth_wasm_87=Module["_kth_wasm_87"]=a0=>(_kth_wasm_87=Module["_kth_wasm_87"]=wasmExports["cb"])(a0);var _kth_wasm_88=Module["_kth_wasm_88"]=(a0,a1)=>(_kth_wasm_88=Module["_kth_wasm_88"]=wasmExports["db"])(a0,a1);var _kth_wasm_89=Module["_kth_wasm_89"]=a0=>(_kth_wasm_89=Module["_kth_wasm_89"]=wasmExports["eb"])(a0);var _kth_wasm_90=Module["_kth_wasm_90"]=(a0,a1)=>(_kth_wasm_90=Module["_kth_wasm_90"]=wasmExports["fb"])(a0,a1);var _kth_wasm_91=Module["_kth_wasm_91"]=(a0,a1)=>(_kth_wasm_91=Module["_kth_wasm_91"]=wasmExports["gb"])(a0,a1);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["hb"])(a0,a1);var _strlen=Module["_strlen"]=a0=>(_strlen=Module["_strlen"]=wasmExports["ib"])(a0);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["kb"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["lb"])(a0);var ___trap=()=>(___trap=wasmExports["mb"])();function applySignatureConversions(exports){exports=Object.assign({},exports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;exports["malloc"]=makeWrapper_pp(exports["malloc"]);exports["stackSave"]=makeWrapper_p(exports["stackSave"]);exports["stackAlloc"]=makeWrapper_pp(exports["stackAlloc"]);return exports}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(shouldRunNow)callMain();postRun()}{doRun()}}var shouldRunNow=true;run();
+})()
diff --git a/examples/address-converter/kth.wasm b/examples/address-converter/kth.wasm
new file mode 100755
index 0000000..3e5c6c2
Binary files /dev/null and b/examples/address-converter/kth.wasm differ
diff --git a/examples/address-generator/index.html b/examples/address-generator/index.html
new file mode 100644
index 0000000..9d0f4ef
--- /dev/null
+++ b/examples/address-generator/index.html
@@ -0,0 +1,200 @@
+
+
+
+
+ Bitcoin Address Generator (Knuth)
+
+
+
+
+
+
+
+ Bitcoin Address Generator (Knuth)
+
+ Loading Knuth
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/address-generator/kth.js b/examples/address-generator/kth.js
new file mode 100644
index 0000000..229fbdd
--- /dev/null
+++ b/examples/address-generator/kth.js
@@ -0,0 +1,7 @@
+// Copyright (c) 2016-2023 Knuth Project developers.
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+(()=>{
+"use strict";var Module=typeof Module!="undefined"?Module:{};!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.kth=e():t.__KTH_MODULE__=e()}(globalThis,()=>(()=>{"use strict";var t={407:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EllipticCurve=void 0;const s=r(760);class a{static secretToPublic(t){const e=new s.EcCompressedNative;if(s.EllipticCurveNative.secretToPublic(e,t))return e}}e.EllipticCurve=a,e.default=a},490:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Kth=void 0;const s=r(760),a=r(33);class i{static getLibconfig(){const t=s.LibConfig.getLibconfig(),e={logLibrary:t.log_library,useLibmdbx:t.use_libmdbx,version:t.version,microarchitectureId:t.microarchitecture_id,currency:t.currency,mempool:t.mempool,dbReadonly:t.db_readonly,debugMode:t.debug_mode};return(0,a.free)(t),e}}e.Kth=i,e.default=i},644:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PaymentAddress=void 0;const s=r(760),a=r(33);class i{static fromNative(t,e=!1){const r=new i(t.encodedCashaddr(!1),!1,!1);return e&&(0,a.free)(t),r}static fromString(t){const e=new s.PaymentAddressNative(t);if(!e.isValid())return void(0,a.free)(e);const r=i.fromNative(e);return(0,a.free)(e),r}static isValid(t){const e=new s.PaymentAddressNative(t),r=e.isValid();return(0,a.free)(e),r}constructor(t,e=!1,r=!1){this.addressStr=t,this.tokenAware=e,this.legacy=r}toNative(){return new s.PaymentAddressNative(this.addressStr)}get hash(){const t=this.toNative(),e=t.hash20();return(0,a.free)(t),e}get version(){const t=this.toNative(),e=t.version();return(0,a.free)(t),e}encoded(){if(this.tokenAware){const t=this.toNative(),e=t.encodedCashaddr(!1);return(0,a.free)(t),e}return this.addressStr}encodedCashAddr(){const t=this.toNative(),e=t.encodedCashaddr(!1);return(0,a.free)(t),e}encodedCashTokens(){const t=this.toNative(),e=t.encodedCashaddr(!0);return(0,a.free)(t),e}encodedLegacy(){const t=this.toNative(),e=t.encodedLegacy();return(0,a.free)(t),e}}e.PaymentAddress=i,e.default=i},88:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Wallet=void 0;const s=r(407),a=r(760),i=r(644);class n{constructor(t,e,r="MAINNET"){this.mnemonic=t,this.derivationPath=e,this.network=r;const s=new a.StringListNative;this.mnemonic.forEach(t=>{s.pushBack(t)}),this.seed=a.WalletNative.mnemonicsToSeed(s);const i="MAINNET"===this.network?326702167824577054n:303293221666392015n;this.master=new a.HdPrivateNative(this.seed.hash,64,i),this.lastDerived=this.master.derivePrivate(2147483692);const n=this.derivationPath.split("/");this.lastDerived=n.reduce((t,e)=>{if("m"===e)return t;const r=e.endsWith("'");let s=parseInt(e,10);if(isNaN(s))throw new Error("Invalid derivation path.");return r&&(s+=2147483648),t.derivePrivate(s)},this.master)}get rootKey(){return this.master.encoded()}get extendedPrivateKey(){return this.lastDerived.encoded()}get extendedPublicKey(){return this.lastDerived.toPublic().encoded()}getAddress(t){const e=this.lastDerived.derivePrivate(t).secret(),r=s.default.secretToPublic(e);if(void 0===r)throw new Error("Invalid secret.");const n=new a.EcPublicNative(r,!0).toPaymentAddress("MAINNET"===this.network?0:5);return i.PaymentAddress.fromNative(n)}getAddresses(t=20,e=0){const r=[];for(let s=e;s{Object.defineProperty(e,"__esModule",{value:!0}),e.FETCH_WITH_SHARED_ARRAY_BUFFER=e.IS_WEB_WORKER=e.IS_NODE_WORKER=e.IS_NODE_MAIN_THREAD=e.IS_WEB_MAIN_THREAD=e.IS_WORKER=void 0,e.IS_WORKER="function"==typeof globalThis.importScripts,e.IS_WEB_MAIN_THREAD="object"==typeof window,e.IS_NODE_MAIN_THREAD=!e.IS_WEB_MAIN_THREAD&&!e.IS_WORKER,e.IS_NODE_WORKER=e.IS_WORKER&&"function"==typeof globalThis.require,e.IS_WEB_WORKER=e.IS_WORKER&&!e.IS_NODE_WORKER;const r=!!/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/.exec(globalThis?.navigator?.userAgent);e.FETCH_WITH_SHARED_ARRAY_BUFFER=r},183:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.malloc=e.free=e.Wallet=e.PaymentAddress=e.Kth=e.loadLib=void 0;const s=r(490);e.Kth=s.default;const a=r(644);e.PaymentAddress=a.default;const i=r(88);e.Wallet=i.default;const n=r(35);e.loadLib=n.default;const o=r(33);Object.defineProperty(e,"free",{enumerable:!0,get:function(){return o.free}}),Object.defineProperty(e,"malloc",{enumerable:!0,get:function(){return o.malloc}}),e.default={loadLib:n.default,Kth:s.default,PaymentAddress:a.default,Wallet:i.default,free:o.free,malloc:o.malloc}},344:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.stringToBytes=e.mapParallel=e.mapSeries=e.copyObject=e.isStringPair=e.isArrayArrayDate=e.isArrayDate=e.isDate=e.isArrayArrayString=e.isArrayString=void 0;const s=r(35),a=new RegExp("^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|([+-])?(((2[0-3]|[01][0-9])[0-5][0-9])|((2[0-3]|[01][0-9]):[0-5][0-9])))?$");function i(t){return null!=t&&a.test(t)}e.isArrayString=function(t){return t.length>0&&"string"==typeof t.find(t=>null!=t)},e.isArrayArrayString=function(t){if(t.length>0){const e=t.find(t=>t.length>0);return null!=e&&"string"==typeof e[0]}return!1},e.isDate=i,e.isArrayDate=function(t){return t.length>0&&i(t.find(t=>null!=t))},e.isArrayArrayDate=function(t){if(t.length>0){const e=t.find(t=>null!=t&&t.length>0&&null!=t.find(t=>null!=t));return null!=e&&i(e.find(t=>null!=t))}return!1},e.isStringPair=function(t){return null!=t&&"object"==typeof t&&2===t.length&&"string"==typeof t[0]&&"string"==typeof t[1]},e.copyObject=function(t,e){const r={};return e.forEach(e=>r[e]=t[e]),r},e.mapSeries=async function(t,e){const r=[];for(let s=0;s(async()=>{for(;a{})},613:function(t,e,r){var s=this&&this.__createBinding||(Object.create?function(t,e,r,s){void 0===s&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);a&&!("get"in a?!e.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){void 0===s&&(s=r),t[s]=e[r]}),a=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||s(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0});const i=r(354);r(344);const n=new Promise(t=>{Module.__resolveFilePaths=t});if(i.IS_WEB_MAIN_THREAD){const t=globalThis.fetch;globalThis.fetch=async(e,r)=>e.includes("kth.wasm")?(await n,globalThis.fetch=t,t(Module.locateFile("kth.wasm"),r)):t(e,r)}else if(i.IS_NODE_MAIN_THREAD){const t=getBinaryPromise;getBinaryPromise=async e=>(await n,t(Module.locateFile(e)))}const o=r(183);a(r(183),e),e.default=o.default},760:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.WalletNative=e.EcPublicNative=e.EcPrivateNative=e.PaymentAddressNative=e.HdPrivateNative=e.HdPublicNative=e.EllipticCurveNative=e.HdLineageNative=e.WifCompressedNative=e.WifUncompressedNative=e.EcSecretNative=e.EcUncompressedNative=e.EcCompressedNative=e.HdKeyNative=e.HdChainCodeNative=e.LongHashNative=e.HashNative=e.ShortHashNative=e.StringListNative=e.LibConfig=void 0;const s=r(554),a=r(63),i=Symbol("ptr"),n=(Symbol("derivedClass"),["bitcoin","bitcoin_cash","litecoin"]),o=["boost","spdlog","binlog"];class _{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get log_library(){return o[_kth_wasm_0(this[i])]}get use_libmdbx(){return!!_kth_wasm_1(this[i])}get version(){return(0,a.UTF8ToString)(_kth_wasm_2(this[i])>>>0)}get microarchitecture_id(){return(0,a.UTF8ToString)(_kth_wasm_3(this[i])>>>0)}get currency(){return n[_kth_wasm_4(this[i])]}get mempool(){return!!_kth_wasm_5(this[i])}get db_readonly(){return!!_kth_wasm_6(this[i])}get debug_mode(){return!!_kth_wasm_7(this[i])}_destructor(){_kth_wasm_8(this[i])}static getLibconfig(){return _._create(_kth_wasm_9()>>>0)}}e.LibConfig=_,e.StringListNative=class{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_10(this[i])}constructor(){this[i]=_kth_wasm_11()>>>0}pushBack(t){(0,s.clearStack)(),_kth_wasm_12(this[i],(0,s.allocateUTF8String)(t))}};class c{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_13(this[i])>>>0}_destructor(){_kth_wasm_14(this[i])}}e.ShortHashNative=c;class h{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_15(this[i])>>>0}_destructor(){_kth_wasm_16(this[i])}}e.HashNative=h;class u{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_17(this[i])>>>0}_destructor(){_kth_wasm_18(this[i])}}e.LongHashNative=u;class d{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_19(this[i])>>>0}_destructor(){_kth_wasm_20(this[i])}}e.HdChainCodeNative=d;class l{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_21(this[i])>>>0}_destructor(){_kth_wasm_22(this[i])}}e.HdKeyNative=l;class m{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_23(this[i])>>>0}_destructor(){_kth_wasm_24(this[i])}}e.EcCompressedNative=m,e.EcUncompressedNative=class{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_25(this[i])>>>0}_destructor(){_kth_wasm_26(this[i])}};class f{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get hash(){return _kth_wasm_27(this[i])>>>0}_destructor(){_kth_wasm_28(this[i])}}e.EcSecretNative=f;class p{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_29(this[i])>>>0}_destructor(){_kth_wasm_30(this[i])}}e.WifUncompressedNative=p;class w{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get data(){return _kth_wasm_31(this[i])>>>0}_destructor(){_kth_wasm_32(this[i])}}e.WifCompressedNative=w;class g{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}get prefixes(){return _kth_wasm_33(this[i])}get depth(){return _kth_wasm_34(this[i])}get parent_fingerprint(){return _kth_wasm_35(this[i])>>>0}get child_number(){return _kth_wasm_36(this[i])>>>0}_destructor(){_kth_wasm_37(this[i])}}e.HdLineageNative=g,e.EllipticCurveNative=class{static secretToPublic(t,e){return!!_kth_wasm_38(t[i],e[i])}};class v{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_39(this[i])}constructor(){this[i]=_kth_wasm_40()>>>0}isValid(){return!!_kth_wasm_41(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_42(this[i])>>>0)}chainCode(){return d._create(_kth_wasm_43(this[i])>>>0)}lineage(){return g._create(_kth_wasm_44(this[i])>>>0)}point(){return m._create(_kth_wasm_45(this[i])>>>0)}toHdKey(){return l._create(_kth_wasm_46(this[i])>>>0)}derivePublic(t){return v._create(_kth_wasm_47(this[i],t)>>>0)}}e.HdPublicNative=v;class y{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_48(this[i])}constructor(t,e,r){(0,s.clearStack)(),this[i]=null==t?_kth_wasm_49_0()>>>0:"string"==typeof t?_kth_wasm_49_1((0,s.allocateUTF8String)(t))>>>0:_kth_wasm_49_2(t,e,r)>>>0}isValid(){return!!_kth_wasm_50(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_51(this[i])>>>0)}secret(){return f._create(_kth_wasm_52(this[i])>>>0)}chainCode(){return d._create(_kth_wasm_53(this[i])>>>0)}lineage(){return g._create(_kth_wasm_54(this[i])>>>0)}point(){return m._create(_kth_wasm_55(this[i])>>>0)}toHdKeyNative(){return l._create(_kth_wasm_56(this[i])>>>0)}toPublic(){return v._create(_kth_wasm_57(this[i])>>>0)}derivePrivate(t){return y._create(_kth_wasm_58(this[i],t)>>>0)}derivePublic(t){return v._create(_kth_wasm_59(this[i],t)>>>0)}}e.HdPrivateNative=y;class k{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_60(this[i])}constructor(t,e){(0,s.clearStack)(),this[i]="string"==typeof t?_kth_wasm_61_0((0,s.allocateUTF8String)(t))>>>0:_kth_wasm_61_1(t[i],e)>>>0}encodedLegacy(){return(0,a.UTF8ToString)(_kth_wasm_62(this[i])>>>0)}encodedCashaddr(t){return(0,a.UTF8ToString)(_kth_wasm_63(this[i],t)>>>0)}hash20(){return c._create(_kth_wasm_64(this[i])>>>0)}hash32(){return h._create(_kth_wasm_65(this[i])>>>0)}version(){return _kth_wasm_66(this[i])}isValid(){return!!_kth_wasm_67(this[i])}}e.PaymentAddressNative=k;class b{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_68(this[i])}constructor(t,e,r){(0,s.clearStack)(),this[i]=null==t?_kth_wasm_69_0()>>>0:"string"==typeof t?_kth_wasm_69_1((0,s.allocateUTF8String)(t),e)>>>0:t instanceof w?_kth_wasm_69_2(t[i],e)>>>0:t instanceof p?_kth_wasm_69_3(t[i],e)>>>0:_kth_wasm_69_4(t[i],e,r)>>>0}isValid(){return!!_kth_wasm_70(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_71(this[i])>>>0)}secret(){return f._create(_kth_wasm_72(this[i])>>>0)}version(){return _kth_wasm_73(this[i])}paymentVersion(){return _kth_wasm_74(this[i])}wifVersion(){return _kth_wasm_75(this[i])}compressed(){return!!_kth_wasm_76(this[i])}toPublic(){return N._create(_kth_wasm_77(this[i])>>>0)}toPaymentAddress(){return k._create(_kth_wasm_78(this[i])>>>0)}}e.EcPrivateNative=b;class N{static _create(t){const e=Object.create(this.prototype);return e[i]=t,e}_destructor(){_kth_wasm_79(this[i])}constructor(t,e){(0,s.clearStack)(),this[i]=null==t?_kth_wasm_80_0()>>>0:"string"==typeof t?_kth_wasm_80_1((0,s.allocateUTF8String)(t))>>>0:t instanceof b?_kth_wasm_80_2(t[i])>>>0:_kth_wasm_80_3(t[i],e)>>>0}isValid(){return!!_kth_wasm_81(this[i])}encoded(){return(0,a.UTF8ToString)(_kth_wasm_82(this[i])>>>0)}point(){return m._create(_kth_wasm_83(this[i])>>>0)}compressed(){return!!_kth_wasm_84(this[i])}toUncompressed(t){return!!_kth_wasm_85(this[i],t[i])}toPaymentAddress(t){return k._create(_kth_wasm_86(this[i],t)>>>0)}}e.EcPublicNative=N,e.WalletNative=class{static mnemonicsToSeed(t){return u._create(_kth_wasm_87(t[i])>>>0)}static hdNew(t,e){return y._create(_kth_wasm_88(t[i],e)>>>0)}static hdPrivateToEc(t){return f._create(_kth_wasm_89(t[i])>>>0)}static ecToPublic(t,e){return N._create(_kth_wasm_90(t[i],e)>>>0)}static ecToAddress(t,e){return k._create(_kth_wasm_91(t[i],e)>>>0)}}},35:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0});const s=r(354);var a;let i;r(643),function(t){t[t.unloaded=0]="unloaded",t[t.loading=1]="loading",t[t.loaded=2]="loaded"}(a||(a={}));const n=new Promise(t=>i=t),o={};function _(t,e){if(_.status!==a.unloaded)return _.promise;if(Module.mainScriptUrlOrBlob=e??"kth.js",o["kth.wasm"]=t??"kth.wasm",s.IS_WEB_MAIN_THREAD&&"string"==typeof Module.mainScriptUrlOrBlob){const t=new URL(Module.mainScriptUrlOrBlob,location.href).toString();Module.mainScriptUrlOrBlob=t}function r(){_.status=a.loaded,i()}return s.IS_WEB_MAIN_THREAD?window.addEventListener("_kthWasmLoaded",r):s.IS_NODE_MAIN_THREAD&&(globalThis._kthWasmLoaded=r),_.status=a.loading,Module.__resolveFilePaths(),n}Module.locateFile=t=>o[t]??t,_.promise=n,_.status=a.unloaded,e.default=_},33:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.buffer=e.free=e.malloc=void 0;const r=Symbol("custom_malloc_sym");function s(){return HEAPU8.buffer}e.buffer=s,e.malloc=function(t,e){const a=e*t.BYTES_PER_ELEMENT,i=Module._malloc(a)>>>0,n=new t(s(),i,e);return n[r]=!0,n.ptr=i,n},e.free=function(t){"number"==typeof t?Module._free(t):!0===t[r]?Module._free(t.ptr):t._destructor()}},554:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.allocateUTF8String=e.clearStack=void 0;const s=r(35),a=r(63),i={reset(){this._usedBytes=0,this._toFree.forEach(t=>Module._free(t)),this._toFree.length=0},alloc(t){if(t>5120){const e=Module._malloc(t)>>>0;return this._toFree.push(e),e}if(this._usedBytes+t>this._size){const e=this._usedBytes+t+10240,r=Module._malloc(e)>>>0;0!==this._ptr&&this._toFree.push(this._ptr),this._ptr=r,this._usedBytes=0,this._size=e}const e=this._ptr+this._usedBytes;return this._usedBytes+=t,e},_ptr:0,_usedBytes:0,_size:0,_toFree:new Array};s.default.promise.then(()=>i.alloc(0)),e.clearStack=function(){i.reset()},e.allocateUTF8String=function(t){const e=3*t.length+10,r=i.alloc(e);return(0,a.StringToUTF8)(t,r,e),r}},63:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StringToUTF8=e.UTF8ToString=void 0;const r=new TextDecoder("utf8"),s=new TextEncoder,a=new Array(128).fill("").map((t,e)=>String.fromCodePoint(e));e.UTF8ToString=function(t,e){return 0===t?"":(null==e&&(e=Module._strlen(t)),0===e?"":e>30?r.decode(HEAPU8.subarray(t>>>0,t+e>>>0)):function(t,e){const r=HEAPU8,s=t+e;let i,n,o,_="";for(;t{Object.defineProperty(e,"__esModule",{value:!0}),e.default=""}},e={};return function r(s){var a=e[s];if(void 0!==a)return a.exports;var i=e[s]={exports:{}};return t[s].call(i.exports,i,i.exports,r),i.exports}(613)})());var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=console.log.bind(console);var err=console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;var wasmBinary;var noExitRuntime=true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var wasmExports;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){callRuntimeCallbacks(__ATPOSTRUN__)}function addOnInit(cb){__ATINIT__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++}function removeRunDependency(id){runDependencies--;if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="kth.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;exports=applySignatureConversions(exports);wasmExports=exports;wasmMemory=wasmExports["l"];updateMemoryViews();wasmTable=wasmExports["jb"];addOnInit(wasmExports["m"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var ASM_CONSTS={27940:()=>{if(typeof window!=="undefined"){window.dispatchEvent(new CustomEvent("_kthWasmLoaded"))}else{globalThis._kthWasmLoaded&&globalThis._kthWasmLoaded()}}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var _abort=()=>{abort("")};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++>>>0]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf>>>0]:(ch==106?HEAP64:HEAPF64)[buf++>>1]);++buf}return readEmAsmArgsArray};var runMainThreadEmAsm=(code,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)};var MAX_INT53=9007199254740992;var MIN_INT53=-9007199254740992;function bigintToI53Checked(num){return numMAX_INT53?NaN:Number(num)}function _emscripten_asm_const_async_on_main_thread(code,sigPtr,argbuf){code=bigintToI53Checked(code);sigPtr=bigintToI53Checked(sigPtr);argbuf=bigintToI53Checked(argbuf);return runMainThreadEmAsm(code,sigPtr,argbuf,0)}var _emscripten_exit_with_live_runtime=()=>{throw"unwind"};var getHeapMax=()=>4294901760;var _emscripten_get_heap_max=()=>BigInt(getHeapMax());var growMemory=size=>{var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize=bigintToI53Checked(requestedSize);var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0]=0};var UTF8Decoder=new TextDecoder("utf8");var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end>>>0];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr>>>0,end>>>0))};var SYSCALLS={varargs:undefined,get(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){__environ=bigintToI53Checked(__environ);environ_buf=bigintToI53Checked(environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count=bigintToI53Checked(penviron_count);penviron_buf_size=bigintToI53Checked(penviron_buf_size);var strings=getEnvStrings();HEAPU32[penviron_count>>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>>2]=bufSize;return 0}var _fd_close=fd=>52;function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset=bigintToI53Checked(newOffset);return 70}var printCharBuffers=[null,[],[]];var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov=bigintToI53Checked(iov);iovcnt=bigintToI53Checked(iovcnt);pnum=bigintToI53Checked(pnum);var num=0;for(var i=0;i>>2];var len=HEAPU32[iov+4>>>2];iov+=8;for(var j=0;j>>0])}num+=len}HEAPU32[pnum>>>2]=num;return 0}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var _strftime=function(s,maxsize,format,tm){s=bigintToI53Checked(s);maxsize=bigintToI53Checked(maxsize);format=bigintToI53Checked(format);tm=bigintToI53Checked(tm);var ret=(()=>{var tm_zone=HEAP32[tm+40>>>2];var date={tm_sec:HEAP32[tm>>>2],tm_min:HEAP32[tm+4>>>2],tm_hour:HEAP32[tm+8>>>2],tm_mday:HEAP32[tm+12>>>2],tm_mon:HEAP32[tm+16>>>2],tm_year:HEAP32[tm+20>>>2],tm_wday:HEAP32[tm+24>>>2],tm_yday:HEAP32[tm+28>>>2],tm_isdst:HEAP32[tm+32>>>2],tm_gmtoff:HEAP32[tm+36>>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>getWeekBasedYear(date).toString().substring(2),"%G":date=>getWeekBasedYear(date),"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>(date.tm_year+1900).toString().substring(2),"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1})();return BigInt(ret)};var _strftime_l=function(s,maxsize,format,tm,loc){s=bigintToI53Checked(s);maxsize=bigintToI53Checked(maxsize);format=bigintToI53Checked(format);tm=bigintToI53Checked(tm);loc=bigintToI53Checked(loc);var ret=(()=>_strftime(s,maxsize,format,tm))();return BigInt(ret)};var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var wasmImports={a:_abort,k:_emscripten_asm_const_async_on_main_thread,j:_emscripten_exit_with_live_runtime,e:_emscripten_get_heap_max,d:_emscripten_resize_heap,b:_environ_get,c:_environ_sizes_get,h:_fd_close,f:_fd_seek,g:_fd_write,i:_strftime_l};var asm=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["m"])();var _kth_wasm_0=Module["_kth_wasm_0"]=a0=>(_kth_wasm_0=Module["_kth_wasm_0"]=wasmExports["n"])(a0);var _kth_wasm_1=Module["_kth_wasm_1"]=a0=>(_kth_wasm_1=Module["_kth_wasm_1"]=wasmExports["o"])(a0);var _kth_wasm_2=Module["_kth_wasm_2"]=a0=>(_kth_wasm_2=Module["_kth_wasm_2"]=wasmExports["p"])(a0);var _kth_wasm_3=Module["_kth_wasm_3"]=a0=>(_kth_wasm_3=Module["_kth_wasm_3"]=wasmExports["q"])(a0);var _kth_wasm_4=Module["_kth_wasm_4"]=a0=>(_kth_wasm_4=Module["_kth_wasm_4"]=wasmExports["r"])(a0);var _kth_wasm_5=Module["_kth_wasm_5"]=a0=>(_kth_wasm_5=Module["_kth_wasm_5"]=wasmExports["s"])(a0);var _kth_wasm_6=Module["_kth_wasm_6"]=a0=>(_kth_wasm_6=Module["_kth_wasm_6"]=wasmExports["t"])(a0);var _kth_wasm_7=Module["_kth_wasm_7"]=a0=>(_kth_wasm_7=Module["_kth_wasm_7"]=wasmExports["u"])(a0);var _kth_wasm_8=Module["_kth_wasm_8"]=a0=>(_kth_wasm_8=Module["_kth_wasm_8"]=wasmExports["v"])(a0);var _kth_wasm_9=Module["_kth_wasm_9"]=()=>(_kth_wasm_9=Module["_kth_wasm_9"]=wasmExports["w"])();var _kth_wasm_10=Module["_kth_wasm_10"]=a0=>(_kth_wasm_10=Module["_kth_wasm_10"]=wasmExports["x"])(a0);var _kth_wasm_11=Module["_kth_wasm_11"]=()=>(_kth_wasm_11=Module["_kth_wasm_11"]=wasmExports["y"])();var _kth_wasm_12=Module["_kth_wasm_12"]=(a0,a1)=>(_kth_wasm_12=Module["_kth_wasm_12"]=wasmExports["z"])(a0,a1);var _kth_wasm_13=Module["_kth_wasm_13"]=a0=>(_kth_wasm_13=Module["_kth_wasm_13"]=wasmExports["A"])(a0);var _kth_wasm_14=Module["_kth_wasm_14"]=a0=>(_kth_wasm_14=Module["_kth_wasm_14"]=wasmExports["B"])(a0);var _kth_wasm_15=Module["_kth_wasm_15"]=a0=>(_kth_wasm_15=Module["_kth_wasm_15"]=wasmExports["C"])(a0);var _kth_wasm_16=Module["_kth_wasm_16"]=a0=>(_kth_wasm_16=Module["_kth_wasm_16"]=wasmExports["D"])(a0);var _kth_wasm_17=Module["_kth_wasm_17"]=a0=>(_kth_wasm_17=Module["_kth_wasm_17"]=wasmExports["E"])(a0);var _kth_wasm_18=Module["_kth_wasm_18"]=a0=>(_kth_wasm_18=Module["_kth_wasm_18"]=wasmExports["F"])(a0);var _kth_wasm_19=Module["_kth_wasm_19"]=a0=>(_kth_wasm_19=Module["_kth_wasm_19"]=wasmExports["G"])(a0);var _kth_wasm_20=Module["_kth_wasm_20"]=a0=>(_kth_wasm_20=Module["_kth_wasm_20"]=wasmExports["H"])(a0);var _kth_wasm_21=Module["_kth_wasm_21"]=a0=>(_kth_wasm_21=Module["_kth_wasm_21"]=wasmExports["I"])(a0);var _kth_wasm_22=Module["_kth_wasm_22"]=a0=>(_kth_wasm_22=Module["_kth_wasm_22"]=wasmExports["J"])(a0);var _kth_wasm_23=Module["_kth_wasm_23"]=a0=>(_kth_wasm_23=Module["_kth_wasm_23"]=wasmExports["K"])(a0);var _kth_wasm_24=Module["_kth_wasm_24"]=a0=>(_kth_wasm_24=Module["_kth_wasm_24"]=wasmExports["L"])(a0);var _kth_wasm_25=Module["_kth_wasm_25"]=a0=>(_kth_wasm_25=Module["_kth_wasm_25"]=wasmExports["M"])(a0);var _kth_wasm_26=Module["_kth_wasm_26"]=a0=>(_kth_wasm_26=Module["_kth_wasm_26"]=wasmExports["N"])(a0);var _kth_wasm_27=Module["_kth_wasm_27"]=a0=>(_kth_wasm_27=Module["_kth_wasm_27"]=wasmExports["O"])(a0);var _kth_wasm_28=Module["_kth_wasm_28"]=a0=>(_kth_wasm_28=Module["_kth_wasm_28"]=wasmExports["P"])(a0);var _kth_wasm_29=Module["_kth_wasm_29"]=a0=>(_kth_wasm_29=Module["_kth_wasm_29"]=wasmExports["Q"])(a0);var _kth_wasm_30=Module["_kth_wasm_30"]=a0=>(_kth_wasm_30=Module["_kth_wasm_30"]=wasmExports["R"])(a0);var _kth_wasm_31=Module["_kth_wasm_31"]=a0=>(_kth_wasm_31=Module["_kth_wasm_31"]=wasmExports["S"])(a0);var _kth_wasm_32=Module["_kth_wasm_32"]=a0=>(_kth_wasm_32=Module["_kth_wasm_32"]=wasmExports["T"])(a0);var _kth_wasm_33=Module["_kth_wasm_33"]=a0=>(_kth_wasm_33=Module["_kth_wasm_33"]=wasmExports["U"])(a0);var _kth_wasm_34=Module["_kth_wasm_34"]=a0=>(_kth_wasm_34=Module["_kth_wasm_34"]=wasmExports["V"])(a0);var _kth_wasm_35=Module["_kth_wasm_35"]=a0=>(_kth_wasm_35=Module["_kth_wasm_35"]=wasmExports["W"])(a0);var _kth_wasm_36=Module["_kth_wasm_36"]=a0=>(_kth_wasm_36=Module["_kth_wasm_36"]=wasmExports["X"])(a0);var _kth_wasm_37=Module["_kth_wasm_37"]=a0=>(_kth_wasm_37=Module["_kth_wasm_37"]=wasmExports["Y"])(a0);var _kth_wasm_38=Module["_kth_wasm_38"]=(a0,a1)=>(_kth_wasm_38=Module["_kth_wasm_38"]=wasmExports["Z"])(a0,a1);var _kth_wasm_39=Module["_kth_wasm_39"]=a0=>(_kth_wasm_39=Module["_kth_wasm_39"]=wasmExports["_"])(a0);var _kth_wasm_40=Module["_kth_wasm_40"]=()=>(_kth_wasm_40=Module["_kth_wasm_40"]=wasmExports["$"])();var _kth_wasm_41=Module["_kth_wasm_41"]=a0=>(_kth_wasm_41=Module["_kth_wasm_41"]=wasmExports["aa"])(a0);var _kth_wasm_42=Module["_kth_wasm_42"]=a0=>(_kth_wasm_42=Module["_kth_wasm_42"]=wasmExports["ba"])(a0);var _kth_wasm_43=Module["_kth_wasm_43"]=a0=>(_kth_wasm_43=Module["_kth_wasm_43"]=wasmExports["ca"])(a0);var _kth_wasm_44=Module["_kth_wasm_44"]=a0=>(_kth_wasm_44=Module["_kth_wasm_44"]=wasmExports["da"])(a0);var _kth_wasm_45=Module["_kth_wasm_45"]=a0=>(_kth_wasm_45=Module["_kth_wasm_45"]=wasmExports["ea"])(a0);var _kth_wasm_46=Module["_kth_wasm_46"]=a0=>(_kth_wasm_46=Module["_kth_wasm_46"]=wasmExports["fa"])(a0);var _kth_wasm_47=Module["_kth_wasm_47"]=(a0,a1)=>(_kth_wasm_47=Module["_kth_wasm_47"]=wasmExports["ga"])(a0,a1);var _kth_wasm_48=Module["_kth_wasm_48"]=a0=>(_kth_wasm_48=Module["_kth_wasm_48"]=wasmExports["ha"])(a0);var _kth_wasm_49_0=Module["_kth_wasm_49_0"]=()=>(_kth_wasm_49_0=Module["_kth_wasm_49_0"]=wasmExports["ia"])();var _kth_wasm_49_1=Module["_kth_wasm_49_1"]=a0=>(_kth_wasm_49_1=Module["_kth_wasm_49_1"]=wasmExports["ja"])(a0);var _kth_wasm_49_2=Module["_kth_wasm_49_2"]=(a0,a1,a2)=>(_kth_wasm_49_2=Module["_kth_wasm_49_2"]=wasmExports["ka"])(a0,a1,a2);var _kth_wasm_50=Module["_kth_wasm_50"]=a0=>(_kth_wasm_50=Module["_kth_wasm_50"]=wasmExports["la"])(a0);var _kth_wasm_51=Module["_kth_wasm_51"]=a0=>(_kth_wasm_51=Module["_kth_wasm_51"]=wasmExports["ma"])(a0);var _kth_wasm_52=Module["_kth_wasm_52"]=a0=>(_kth_wasm_52=Module["_kth_wasm_52"]=wasmExports["na"])(a0);var _kth_wasm_53=Module["_kth_wasm_53"]=a0=>(_kth_wasm_53=Module["_kth_wasm_53"]=wasmExports["oa"])(a0);var _kth_wasm_54=Module["_kth_wasm_54"]=a0=>(_kth_wasm_54=Module["_kth_wasm_54"]=wasmExports["pa"])(a0);var _kth_wasm_55=Module["_kth_wasm_55"]=a0=>(_kth_wasm_55=Module["_kth_wasm_55"]=wasmExports["qa"])(a0);var _kth_wasm_56=Module["_kth_wasm_56"]=a0=>(_kth_wasm_56=Module["_kth_wasm_56"]=wasmExports["ra"])(a0);var _kth_wasm_57=Module["_kth_wasm_57"]=a0=>(_kth_wasm_57=Module["_kth_wasm_57"]=wasmExports["sa"])(a0);var _kth_wasm_58=Module["_kth_wasm_58"]=(a0,a1)=>(_kth_wasm_58=Module["_kth_wasm_58"]=wasmExports["ta"])(a0,a1);var _kth_wasm_59=Module["_kth_wasm_59"]=(a0,a1)=>(_kth_wasm_59=Module["_kth_wasm_59"]=wasmExports["ua"])(a0,a1);var _kth_wasm_60=Module["_kth_wasm_60"]=a0=>(_kth_wasm_60=Module["_kth_wasm_60"]=wasmExports["va"])(a0);var _kth_wasm_61_0=Module["_kth_wasm_61_0"]=a0=>(_kth_wasm_61_0=Module["_kth_wasm_61_0"]=wasmExports["wa"])(a0);var _kth_wasm_61_1=Module["_kth_wasm_61_1"]=(a0,a1)=>(_kth_wasm_61_1=Module["_kth_wasm_61_1"]=wasmExports["xa"])(a0,a1);var _kth_wasm_62=Module["_kth_wasm_62"]=a0=>(_kth_wasm_62=Module["_kth_wasm_62"]=wasmExports["ya"])(a0);var _kth_wasm_63=Module["_kth_wasm_63"]=(a0,a1)=>(_kth_wasm_63=Module["_kth_wasm_63"]=wasmExports["za"])(a0,a1);var _kth_wasm_64=Module["_kth_wasm_64"]=a0=>(_kth_wasm_64=Module["_kth_wasm_64"]=wasmExports["Aa"])(a0);var _kth_wasm_65=Module["_kth_wasm_65"]=a0=>(_kth_wasm_65=Module["_kth_wasm_65"]=wasmExports["Ba"])(a0);var _kth_wasm_66=Module["_kth_wasm_66"]=a0=>(_kth_wasm_66=Module["_kth_wasm_66"]=wasmExports["Ca"])(a0);var _kth_wasm_67=Module["_kth_wasm_67"]=a0=>(_kth_wasm_67=Module["_kth_wasm_67"]=wasmExports["Da"])(a0);var _kth_wasm_68=Module["_kth_wasm_68"]=a0=>(_kth_wasm_68=Module["_kth_wasm_68"]=wasmExports["Ea"])(a0);var _kth_wasm_69_0=Module["_kth_wasm_69_0"]=()=>(_kth_wasm_69_0=Module["_kth_wasm_69_0"]=wasmExports["Fa"])();var _kth_wasm_69_1=Module["_kth_wasm_69_1"]=(a0,a1)=>(_kth_wasm_69_1=Module["_kth_wasm_69_1"]=wasmExports["Ga"])(a0,a1);var _kth_wasm_69_2=Module["_kth_wasm_69_2"]=(a0,a1)=>(_kth_wasm_69_2=Module["_kth_wasm_69_2"]=wasmExports["Ha"])(a0,a1);var _kth_wasm_69_3=Module["_kth_wasm_69_3"]=(a0,a1)=>(_kth_wasm_69_3=Module["_kth_wasm_69_3"]=wasmExports["Ia"])(a0,a1);var _kth_wasm_69_4=Module["_kth_wasm_69_4"]=(a0,a1,a2)=>(_kth_wasm_69_4=Module["_kth_wasm_69_4"]=wasmExports["Ja"])(a0,a1,a2);var _kth_wasm_70=Module["_kth_wasm_70"]=a0=>(_kth_wasm_70=Module["_kth_wasm_70"]=wasmExports["Ka"])(a0);var _kth_wasm_71=Module["_kth_wasm_71"]=a0=>(_kth_wasm_71=Module["_kth_wasm_71"]=wasmExports["La"])(a0);var _kth_wasm_72=Module["_kth_wasm_72"]=a0=>(_kth_wasm_72=Module["_kth_wasm_72"]=wasmExports["Ma"])(a0);var _kth_wasm_73=Module["_kth_wasm_73"]=a0=>(_kth_wasm_73=Module["_kth_wasm_73"]=wasmExports["Na"])(a0);var _kth_wasm_74=Module["_kth_wasm_74"]=a0=>(_kth_wasm_74=Module["_kth_wasm_74"]=wasmExports["Oa"])(a0);var _kth_wasm_75=Module["_kth_wasm_75"]=a0=>(_kth_wasm_75=Module["_kth_wasm_75"]=wasmExports["Pa"])(a0);var _kth_wasm_76=Module["_kth_wasm_76"]=a0=>(_kth_wasm_76=Module["_kth_wasm_76"]=wasmExports["Qa"])(a0);var _kth_wasm_77=Module["_kth_wasm_77"]=a0=>(_kth_wasm_77=Module["_kth_wasm_77"]=wasmExports["Ra"])(a0);var _kth_wasm_78=Module["_kth_wasm_78"]=a0=>(_kth_wasm_78=Module["_kth_wasm_78"]=wasmExports["Sa"])(a0);var _kth_wasm_79=Module["_kth_wasm_79"]=a0=>(_kth_wasm_79=Module["_kth_wasm_79"]=wasmExports["Ta"])(a0);var _kth_wasm_80_0=Module["_kth_wasm_80_0"]=()=>(_kth_wasm_80_0=Module["_kth_wasm_80_0"]=wasmExports["Ua"])();var _kth_wasm_80_1=Module["_kth_wasm_80_1"]=a0=>(_kth_wasm_80_1=Module["_kth_wasm_80_1"]=wasmExports["Va"])(a0);var _kth_wasm_80_2=Module["_kth_wasm_80_2"]=a0=>(_kth_wasm_80_2=Module["_kth_wasm_80_2"]=wasmExports["Wa"])(a0);var _kth_wasm_80_3=Module["_kth_wasm_80_3"]=(a0,a1)=>(_kth_wasm_80_3=Module["_kth_wasm_80_3"]=wasmExports["Xa"])(a0,a1);var _kth_wasm_81=Module["_kth_wasm_81"]=a0=>(_kth_wasm_81=Module["_kth_wasm_81"]=wasmExports["Ya"])(a0);var _kth_wasm_82=Module["_kth_wasm_82"]=a0=>(_kth_wasm_82=Module["_kth_wasm_82"]=wasmExports["Za"])(a0);var _kth_wasm_83=Module["_kth_wasm_83"]=a0=>(_kth_wasm_83=Module["_kth_wasm_83"]=wasmExports["_a"])(a0);var _kth_wasm_84=Module["_kth_wasm_84"]=a0=>(_kth_wasm_84=Module["_kth_wasm_84"]=wasmExports["$a"])(a0);var _kth_wasm_85=Module["_kth_wasm_85"]=(a0,a1)=>(_kth_wasm_85=Module["_kth_wasm_85"]=wasmExports["ab"])(a0,a1);var _kth_wasm_86=Module["_kth_wasm_86"]=(a0,a1)=>(_kth_wasm_86=Module["_kth_wasm_86"]=wasmExports["bb"])(a0,a1);var _kth_wasm_87=Module["_kth_wasm_87"]=a0=>(_kth_wasm_87=Module["_kth_wasm_87"]=wasmExports["cb"])(a0);var _kth_wasm_88=Module["_kth_wasm_88"]=(a0,a1)=>(_kth_wasm_88=Module["_kth_wasm_88"]=wasmExports["db"])(a0,a1);var _kth_wasm_89=Module["_kth_wasm_89"]=a0=>(_kth_wasm_89=Module["_kth_wasm_89"]=wasmExports["eb"])(a0);var _kth_wasm_90=Module["_kth_wasm_90"]=(a0,a1)=>(_kth_wasm_90=Module["_kth_wasm_90"]=wasmExports["fb"])(a0,a1);var _kth_wasm_91=Module["_kth_wasm_91"]=(a0,a1)=>(_kth_wasm_91=Module["_kth_wasm_91"]=wasmExports["gb"])(a0,a1);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["hb"])(a0,a1);var _strlen=Module["_strlen"]=a0=>(_strlen=Module["_strlen"]=wasmExports["ib"])(a0);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["kb"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["lb"])(a0);var ___trap=()=>(___trap=wasmExports["mb"])();function applySignatureConversions(exports){exports=Object.assign({},exports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;exports["malloc"]=makeWrapper_pp(exports["malloc"]);exports["stackSave"]=makeWrapper_p(exports["stackSave"]);exports["stackAlloc"]=makeWrapper_pp(exports["stackAlloc"]);return exports}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(shouldRunNow)callMain();postRun()}{doRun()}}var shouldRunNow=true;run();
+})()
diff --git a/examples/address-generator/kth.wasm b/examples/address-generator/kth.wasm
new file mode 100755
index 0000000..3e5c6c2
Binary files /dev/null and b/examples/address-generator/kth.wasm differ
diff --git a/package.json b/package.json
index a502923..5578171 100755
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@knuth/js-wasm",
- "version": "0.0.1",
+ "version": "0.0.2",
"publishConfig": {
"access": "public"
},