atsds 0.0.2 → 0.0.3-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/tsds.d.mts +94 -21
- package/dist/tsds.mjs +1 -1
- package/dist/tsds.mjs.map +1 -1
- package/package.json +3 -5
- package/dist/ds.d.mts +0 -129
- package/dist/ds.mjs +0 -2
- package/dist/ds.mjs.map +0 -1
package/README.md
CHANGED
package/dist/tsds.d.mts
CHANGED
|
@@ -1,8 +1,80 @@
|
|
|
1
|
+
type EmbindString = ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|string;
|
|
2
|
+
interface ClassHandle {
|
|
3
|
+
isAliasOf(other: ClassHandle): boolean;
|
|
4
|
+
delete(): void;
|
|
5
|
+
deleteLater(): this;
|
|
6
|
+
isDeleted(): boolean;
|
|
7
|
+
// @ts-ignore - If targeting lower than ESNext, this symbol might not exist.
|
|
8
|
+
[Symbol.dispose](): void;
|
|
9
|
+
clone(): this;
|
|
10
|
+
}
|
|
11
|
+
interface Buffer extends ClassHandle {
|
|
12
|
+
push_back(_0: number): void;
|
|
13
|
+
resize(_0: number, _1: number): void;
|
|
14
|
+
size(): number;
|
|
15
|
+
get(_0: number): number | undefined;
|
|
16
|
+
set(_0: number, _1: number): boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface String extends ClassHandle {
|
|
20
|
+
clone(): String;
|
|
21
|
+
data_size(): number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface Item extends ClassHandle {
|
|
25
|
+
clone(): Item;
|
|
26
|
+
name(): String | null;
|
|
27
|
+
data_size(): number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
interface Variable extends ClassHandle {
|
|
31
|
+
clone(): Variable;
|
|
32
|
+
name(): String | null;
|
|
33
|
+
data_size(): number;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
interface List extends ClassHandle {
|
|
37
|
+
clone(): List;
|
|
38
|
+
length(): number;
|
|
39
|
+
getitem(_0: number): Term | null;
|
|
40
|
+
data_size(): number;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface Term extends ClassHandle {
|
|
44
|
+
clone(): Term;
|
|
45
|
+
get_type(): TermType;
|
|
46
|
+
variable(): Variable | null;
|
|
47
|
+
item(): Item | null;
|
|
48
|
+
list(): List | null;
|
|
49
|
+
data_size(): number;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
interface Rule extends ClassHandle {
|
|
53
|
+
clone(): Rule;
|
|
54
|
+
conclusion(): Term | null;
|
|
55
|
+
length(): number;
|
|
56
|
+
getitem(_0: number): Term | null;
|
|
57
|
+
data_size(): number;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
interface TermTypeValue<T extends number> {
|
|
61
|
+
value: T;
|
|
62
|
+
}
|
|
63
|
+
type TermType = TermTypeValue<1>|TermTypeValue<2>|TermTypeValue<3>|TermTypeValue<0>;
|
|
64
|
+
|
|
65
|
+
interface Search extends ClassHandle {
|
|
66
|
+
reset(): void;
|
|
67
|
+
set_limit_size(_0: number): void;
|
|
68
|
+
set_buffer_size(_0: number): void;
|
|
69
|
+
add(_0: EmbindString): boolean;
|
|
70
|
+
execute(_0: any): number;
|
|
71
|
+
}
|
|
72
|
+
|
|
1
73
|
/**
|
|
2
74
|
* TypeScript wrapper for a deductive system implemented in WebAssembly.
|
|
3
75
|
* Provides classes and functions for working with logical terms, rules, and inference.
|
|
4
76
|
*/
|
|
5
|
-
|
|
77
|
+
|
|
6
78
|
/**
|
|
7
79
|
* Gets the current buffer size, or sets a new buffer size and returns the previous value.
|
|
8
80
|
* The buffer size is used for internal operations like conversions and transformations.
|
|
@@ -16,7 +88,7 @@ import type * as dst from "./ds.d.mts";
|
|
|
16
88
|
* const oldSize = buffer_size(2048); // Set new size, returns old size
|
|
17
89
|
* ```
|
|
18
90
|
*/
|
|
19
|
-
|
|
91
|
+
declare function buffer_size(size?: number): number;
|
|
20
92
|
/**
|
|
21
93
|
* Common interface for all deductive system types.
|
|
22
94
|
* @internal
|
|
@@ -30,8 +102,8 @@ interface Common {
|
|
|
30
102
|
* @internal
|
|
31
103
|
*/
|
|
32
104
|
interface StaticCommon<T extends Common> {
|
|
33
|
-
from_binary(buffer:
|
|
34
|
-
to_binary(value: T):
|
|
105
|
+
from_binary(buffer: Buffer): T;
|
|
106
|
+
to_binary(value: T): Buffer;
|
|
35
107
|
from_string(text: string, size: number): T;
|
|
36
108
|
to_string(value: T, size: number): string;
|
|
37
109
|
}
|
|
@@ -39,7 +111,7 @@ interface StaticCommon<T extends Common> {
|
|
|
39
111
|
* Valid initialization arguments for deductive system types.
|
|
40
112
|
* @internal
|
|
41
113
|
*/
|
|
42
|
-
type InitialArgument<T extends Common> = _common_t<T> | T | string |
|
|
114
|
+
type InitialArgument<T extends Common> = _common_t<T> | T | string | Buffer | null;
|
|
43
115
|
/**
|
|
44
116
|
* Base class for all deductive system wrapper types.
|
|
45
117
|
* Handles initialization, serialization, and common operations.
|
|
@@ -70,7 +142,7 @@ declare class _common_t<T extends Common> {
|
|
|
70
142
|
*
|
|
71
143
|
* @returns The binary data as a Buffer.
|
|
72
144
|
*/
|
|
73
|
-
data():
|
|
145
|
+
data(): Buffer;
|
|
74
146
|
/**
|
|
75
147
|
* Get the size of the data in bytes.
|
|
76
148
|
*
|
|
@@ -102,7 +174,7 @@ declare class _common_t<T extends Common> {
|
|
|
102
174
|
* console.log(str1.toString()); // "hello"
|
|
103
175
|
* ```
|
|
104
176
|
*/
|
|
105
|
-
|
|
177
|
+
declare class string_t extends _common_t<String> {
|
|
106
178
|
/**
|
|
107
179
|
* Creates a new string instance.
|
|
108
180
|
*
|
|
@@ -110,7 +182,7 @@ export declare class string_t extends _common_t<dst.String> {
|
|
|
110
182
|
* @param size - Optional buffer capacity for the internal storage.
|
|
111
183
|
* @throws {Error} If initialization fails.
|
|
112
184
|
*/
|
|
113
|
-
constructor(value: InitialArgument<
|
|
185
|
+
constructor(value: InitialArgument<String>, size?: number);
|
|
114
186
|
}
|
|
115
187
|
/**
|
|
116
188
|
* Wrapper class for logical variables in the deductive system.
|
|
@@ -122,7 +194,7 @@ export declare class string_t extends _common_t<dst.String> {
|
|
|
122
194
|
* console.log(var1.name().toString()); // "X"
|
|
123
195
|
* ```
|
|
124
196
|
*/
|
|
125
|
-
|
|
197
|
+
declare class variable_t extends _common_t<Variable> {
|
|
126
198
|
/**
|
|
127
199
|
* Creates a new variable instance.
|
|
128
200
|
*
|
|
@@ -130,7 +202,7 @@ export declare class variable_t extends _common_t<dst.Variable> {
|
|
|
130
202
|
* @param size - Optional buffer capacity for the internal storage.
|
|
131
203
|
* @throws {Error} If initialization fails.
|
|
132
204
|
*/
|
|
133
|
-
constructor(value: InitialArgument<
|
|
205
|
+
constructor(value: InitialArgument<Variable>, size?: number);
|
|
134
206
|
/**
|
|
135
207
|
* Get the name of this variable.
|
|
136
208
|
*
|
|
@@ -148,7 +220,7 @@ export declare class variable_t extends _common_t<dst.Variable> {
|
|
|
148
220
|
* console.log(item.name().toString()); // "atom"
|
|
149
221
|
* ```
|
|
150
222
|
*/
|
|
151
|
-
|
|
223
|
+
declare class item_t extends _common_t<Item> {
|
|
152
224
|
/**
|
|
153
225
|
* Creates a new item instance.
|
|
154
226
|
*
|
|
@@ -156,7 +228,7 @@ export declare class item_t extends _common_t<dst.Item> {
|
|
|
156
228
|
* @param size - Optional buffer capacity for the internal storage.
|
|
157
229
|
* @throws {Error} If initialization fails.
|
|
158
230
|
*/
|
|
159
|
-
constructor(value: InitialArgument<
|
|
231
|
+
constructor(value: InitialArgument<Item>, size?: number);
|
|
160
232
|
/**
|
|
161
233
|
* Get the name of this item.
|
|
162
234
|
*
|
|
@@ -175,7 +247,7 @@ export declare class item_t extends _common_t<dst.Item> {
|
|
|
175
247
|
* console.log(list.getitem(0).toString()); // "a"
|
|
176
248
|
* ```
|
|
177
249
|
*/
|
|
178
|
-
|
|
250
|
+
declare class list_t extends _common_t<List> {
|
|
179
251
|
/**
|
|
180
252
|
* Creates a new list instance.
|
|
181
253
|
*
|
|
@@ -183,7 +255,7 @@ export declare class list_t extends _common_t<dst.List> {
|
|
|
183
255
|
* @param size - Optional buffer capacity for the internal storage.
|
|
184
256
|
* @throws {Error} If initialization fails.
|
|
185
257
|
*/
|
|
186
|
-
constructor(value: InitialArgument<
|
|
258
|
+
constructor(value: InitialArgument<List>, size?: number);
|
|
187
259
|
/**
|
|
188
260
|
* Get the number of elements in the list.
|
|
189
261
|
*
|
|
@@ -208,7 +280,7 @@ export declare class list_t extends _common_t<dst.List> {
|
|
|
208
280
|
* const innerTerm = term.term(); // Get the underlying term type
|
|
209
281
|
* ```
|
|
210
282
|
*/
|
|
211
|
-
|
|
283
|
+
declare class term_t extends _common_t<Term> {
|
|
212
284
|
/**
|
|
213
285
|
* Creates a new term instance.
|
|
214
286
|
*
|
|
@@ -216,7 +288,7 @@ export declare class term_t extends _common_t<dst.Term> {
|
|
|
216
288
|
* @param size - Optional buffer capacity for the internal storage.
|
|
217
289
|
* @throws {Error} If initialization fails.
|
|
218
290
|
*/
|
|
219
|
-
constructor(value: InitialArgument<
|
|
291
|
+
constructor(value: InitialArgument<Term>, size?: number);
|
|
220
292
|
/**
|
|
221
293
|
* Extracts the underlying term and returns it as its concrete type (variable_t, item_t, or list_t).
|
|
222
294
|
*
|
|
@@ -278,7 +350,7 @@ export declare class term_t extends _common_t<dst.Term> {
|
|
|
278
350
|
* console.log(rule.length()); // 1 (number of premises)
|
|
279
351
|
* ```
|
|
280
352
|
*/
|
|
281
|
-
|
|
353
|
+
declare class rule_t extends _common_t<Rule> {
|
|
282
354
|
/**
|
|
283
355
|
* Creates a new rule instance.
|
|
284
356
|
*
|
|
@@ -286,7 +358,7 @@ export declare class rule_t extends _common_t<dst.Rule> {
|
|
|
286
358
|
* @param size - Optional buffer capacity for the internal storage.
|
|
287
359
|
* @throws {Error} If initialization fails.
|
|
288
360
|
*/
|
|
289
|
-
constructor(value: InitialArgument<
|
|
361
|
+
constructor(value: InitialArgument<Rule>, size?: number);
|
|
290
362
|
/**
|
|
291
363
|
* Get the number of premises in the rule.
|
|
292
364
|
*
|
|
@@ -380,8 +452,8 @@ export declare class rule_t extends _common_t<dst.Rule> {
|
|
|
380
452
|
* });
|
|
381
453
|
* ```
|
|
382
454
|
*/
|
|
383
|
-
|
|
384
|
-
_search:
|
|
455
|
+
declare class search_t {
|
|
456
|
+
_search: Search;
|
|
385
457
|
/**
|
|
386
458
|
* Creates a new search engine instance.
|
|
387
459
|
*
|
|
@@ -420,4 +492,5 @@ export declare class search_t {
|
|
|
420
492
|
*/
|
|
421
493
|
execute(callback: (candidate: rule_t) => boolean): number;
|
|
422
494
|
}
|
|
423
|
-
|
|
495
|
+
|
|
496
|
+
export { buffer_size, item_t, list_t, rule_t, search_t, string_t, term_t, variable_t };
|
package/dist/tsds.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"./ds.mjs";const t=await e();let r=1024;function n(e=0){const t=r;return 0!==e&&(r=e),t}class s{type;value;capacity;constructor(e,r,i=0){if(this.type=e,r instanceof s){if(this.value=r.value,this.capacity=r.capacity,0!==i)throw new Error("Cannot set capacity when copying from another instance.")}else if(r instanceof this.type)this.value=r,this.capacity=i;else if("string"==typeof r){if(this.capacity=0!==i?i:n(),this.value=this.type.from_string(r,this.capacity),null===this.value)throw new Error("Initialization from a string failed.")}else{if(!(r instanceof t.Buffer))throw new Error("Unsupported type for initialization.");if(this.value=this.type.from_binary(r),this.capacity=this.size(),0!==i)throw new Error("Cannot set capacity when initializing from bytes.")}}toString(){const e=this.type.to_string(this.value,n());if(""===e)throw new Error("Conversion to string failed.");return e}data(){return this.type.to_binary(this.value)}size(){return this.value.data_size()}copy(){return new(0,this.constructor)(this.value.clone(),this.size())}key(){return this.toString()}}class i extends s{constructor(e,r=0){super(t.String,e,r)}}class a extends s{constructor(e,r=0){super(t.Variable,e,r)}name(){return new i(this.value.name())}}class u extends s{constructor(e,r=0){super(t.Item,e,r)}name(){return new i(this.value.name())}}class l extends s{constructor(e,r=0){super(t.List,e,r)}length(){return this.value.length()}getitem(e){return new c(this.value.getitem(e))}}class c extends s{constructor(e,r=0){super(t.Term,e,r)}term(){const e=this.value.get_type();if(e===t.TermType.Variable)return new a(this.value.variable());if(e===t.TermType.Item)return new u(this.value.item());if(e===t.TermType.List)return new l(this.value.list());throw new Error("Unexpected term type.")}ground(e,r=""){const s=n(),i=t.Term.ground(this.value,e.value,r,s);return null===i?null:new c(i,s)}rename(e){const r=n(),s=t.Term.rename(this.value,e.value,r);return null===s?null:new c(s,r)}}class o extends s{constructor(e,r=0){super(t.Rule,e,r)}length(){return this.value.length()}getitem(e){return new c(this.value.getitem(e))}conclusion(){return new c(this.value.conclusion())}ground(e,r=""){const s=n(),i=t.Rule.ground(this.value,e.value,r,s);return null===i?null:new o(i,s)}match(e){const r=n(),s=t.Rule.match(this.value,e.value,r);return null===s?null:new o(s,r)}rename(e){const r=n(),s=t.Rule.rename(this.value,e.value,r);return null===s?null:new o(s,r)}}class h{_search;constructor(e=1e3,r=1e4){this._search=new t.Search(e,r)}set_limit_size(e){this._search.set_limit_size(e)}set_buffer_size(e){this._search.set_buffer_size(e)}reset(){this._search.reset()}add(e){return this._search.add(e)}execute(e){return this._search.execute(t=>e(new o(t).copy()))}}export{n as buffer_size,u as item_t,l as list_t,o as rule_t,h as search_t,i as string_t,c as term_t,a as variable_t};
|
|
1
|
+
const e=await async function(e={}){var t=e,r=!!globalThis.window,n=!!globalThis.WorkerGlobalScope,a=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;if(a){const{createRequire:e}=await import("module");var s=e(import.meta.url)}var i,o,u=(e,t)=>{throw t},l=import.meta.url,c="";if(a){var h=s("fs");l.startsWith("file:")&&(c=s("path").dirname(s("url").fileURLToPath(l))+"/"),o=e=>(e=S(e)?new URL(e):e,h.readFileSync(e)),i=async(e,t=!0)=>(e=S(e)?new URL(e):e,h.readFileSync(e,t?void 0:"utf8")),process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),u=(e,t)=>{throw process.exitCode=e,t}}else if(r||n){try{c=new URL(".",l).href}catch{}n&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),i=async e=>{if(S(e))return new Promise((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}console.log.bind(console);var p,d,f,v,m,y,g,$,w,b,T,C,P,_,W,A=console.error.bind(console),R=!1,S=e=>e.startsWith("file://"),F=!1;function O(){var e=ke.buffer;m=new Int8Array(e),g=new Int16Array(e),y=new Uint8Array(e),$=new Uint16Array(e),w=new Int32Array(e),b=new Uint32Array(e),T=new Float32Array(e),C=new Float64Array(e),P=new BigInt64Array(e),_=new BigUint64Array(e)}function E(e){t.onAbort?.(e),A(e="Aborted("+e+")"),R=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw v?.(r),r}function x(){return t.locateFile?(e="ds.wasm",t.locateFile?t.locateFile(e,c):c+e):new URL("ds.wasm",import.meta.url).href;var e}async function V(e){if(!p)try{var t=await i(e);return new Uint8Array(t)}catch{}return function(e){if(e==W&&p)return new Uint8Array(p);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}(e)}async function j(e,t,r){if(!e&&!S(t)&&!a)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){A(`wasm streaming compile failed: ${e}`),A("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await V(e);return await WebAssembly.instantiate(r,t)}catch(e){A(`failed to asynchronously prepare wasm: ${e}`),E(e)}}(t,r)}class k{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var D=e=>{for(;e.length>0;)e.shift()(t)},I=[],U=e=>I.push(e),B=[],z=e=>B.push(e),L=!0;class M{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){b[this.ptr+4>>2]=e}get_type(){return b[this.ptr+4>>2]}set_destructor(e){b[this.ptr+8>>2]=e}get_destructor(){return b[this.ptr+8>>2]}set_caught(e){e=e?1:0,m[this.ptr+12]=e}get_caught(){return 0!=m[this.ptr+12]}set_rethrown(e){e=e?1:0,m[this.ptr+13]=e}get_rethrown(){return 0!=m[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){b[this.ptr+16>>2]=e}get_adjusted_ptr(){return b[this.ptr+16>>2]}}var H=e=>{for(var t="";;){var r=y[e++];if(!r)return t;t+=String.fromCharCode(r)}},N={},G={},q={},X=class extends Error{constructor(e){super(e),this.name="BindingError"}},Y=e=>{throw new X(e)};function Z(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||Y(`type "${n}" must have a positive integer typeid pointer`),G.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Y(`Cannot register type '${n}' twice`)}if(G[e]=t,delete q[e],N.hasOwnProperty(e)){var a=N[e];delete N[e],a.forEach(e=>e())}}(e,t,r)}var J=(e,t,r)=>{switch(t){case 1:return r?e=>m[e]:e=>y[e];case 2:return r?e=>g[e>>1]:e=>$[e>>1];case 4:return r?e=>w[e>>2]:e=>b[e>>2];case 8:return r?e=>P[e>>3]:e=>_[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},K=e=>{Y(e.$$.ptrType.registeredClass.name+" instance already deleted")},Q=!1,ee=e=>{},te=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},re=e=>globalThis.FinalizationRegistry?(Q=new FinalizationRegistry(e=>{te(e.$$)}),re=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Q.register(e,r,e)}return e},ee=e=>Q.unregister(e),re(e)):(re=e=>e,e);function ne(){}var ae=(e,t)=>Object.defineProperty(t,"name",{value:e}),se={},ie=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||Y(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},oe=(e,r,n)=>{t.hasOwnProperty(e)?(Y(`Cannot register public name '${e}' twice`),ie(t,e,e),t[e].overloadTable.hasOwnProperty(n)&&Y(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),t[e].overloadTable[n]=r):(t[e]=r,t[e].argCount=n)};function ue(e,t,r,n,a,s,i,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=a,this.getActualType=s,this.upcast=i,this.downcast=o,this.pureVirtualFunctions=[]}var le=(e,t,r)=>{for(;t!==r;)t.upcast||Y(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e},ce=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function he(e,t){if(null===t)return this.isReference&&Y(`null is not a valid ${this.name}`),0;t.$$||Y(`Cannot pass "${ce(t)}" as a ${this.name}`),t.$$.ptr||Y(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return le(t.$$.ptr,r,this.registeredClass)}function pe(e,t){var r;if(null===t)return this.isReference&&Y(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||Y(`Cannot pass "${ce(t)}" as a ${this.name}`),t.$$.ptr||Y(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Y(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=le(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Y("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Y(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var a=t.clone();r=this.rawShare(r,Me.toHandle(()=>a.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:Y("Unsupporting sharing policy")}return r}function de(e,t){if(null===t)return this.isReference&&Y(`null is not a valid ${this.name}`),0;t.$$||Y(`Cannot pass "${ce(t)}" as a ${this.name}`),t.$$.ptr||Y(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Y(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return le(t.$$.ptr,r,this.registeredClass)}function fe(e){return this.fromWireType(b[e>>2])}var ve=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=ve(e,t,r.baseClass);return null===n?null:r.downcast(n)},me={},ye=(e,t)=>(t=((e,t)=>{for(void 0===t&&Y("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),me[t]),ge=class extends Error{constructor(e){super(e),this.name="InternalError"}},$e=e=>{throw new ge(e)},we=(e,t)=>(t.ptrType&&t.ptr||$e("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&$e("Both smartPtrType and smartPtr must be specified"),t.count={value:1},re(Object.create(e,{$$:{value:t,writable:!0}})));function be(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ye(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?we(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):we(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,i=this.registeredClass.getActualType(t),o=se[i];if(!o)return a.call(this);s=this.isConst?o.constPointerType:o.pointerType;var u=ve(t,this.registeredClass,s.registeredClass);return null===u?a.call(this):this.isSmartPointer?we(s.registeredClass.instancePrototype,{ptrType:s,ptr:u,smartPtrType:this,smartPtr:e}):we(s.registeredClass.instancePrototype,{ptrType:s,ptr:u})}function Te(e,t,r,n,a,s,i,o,u,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=a,this.pointeeType=s,this.sharingPolicy=i,this.rawGetPointee=o,this.rawConstructor=u,this.rawShare=l,this.rawDestructor=c,a||void 0!==t.baseClass?this.toWireType=pe:n?(this.toWireType=he,this.destructorFunction=null):(this.toWireType=de,this.destructorFunction=null)}var Ce=[],Pe=(e,t,r=!1)=>{e=H(e);var n,a,s=((a=Ce[n=t])||(Ce[n]=a=De.get(n)),a);return"function"!=typeof s&&Y(`unknown function pointer with signature ${e}: ${t}`),s};class _e extends Error{}var We=e=>{var t=xe(e),r=H(t);return je(t),r},Ae=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||G[t]||(q[t]?q[t].forEach(e):(r.push(t),n[t]=!0))}),new _e(`${e}: `+r.map(We).join([", "]))},Re=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&$e("Mismatched type converter count");for(var a=0;a<e.length;++a)Z(e[a],n[a])}e.forEach(e=>q[e]=t);var a=new Array(t.length),s=[],i=0;for(let[e,r]of t.entries())G.hasOwnProperty(r)?a[e]=G[r]:(s.push(r),N.hasOwnProperty(r)||(N[r]=[]),N[r].push(()=>{a[e]=G[r],++i===s.length&&n(a)}));0===s.length&&n(a)},Se=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Fe(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function Oe(e,t,r,n,a,s){var i=t.length;i<2&&Y("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,u=Fe(t),l=!t[0].isVoid,c=t[0],h=t[1],p=[e,Y,n,a,Se,c.fromWireType.bind(c),h?.toWireType.bind(h)],d=2;d<i;++d){var f=t[d];p.push(f.toWireType.bind(f))}if(!u)for(d=o?1:2;d<t.length;++d)null!==t[d].destructorFunction&&p.push(t[d].destructorFunction);let v=function(e,t,r,n){var a=Fe(e),s=e.length-2,i=[],o=["fn"];t&&o.push("thisWired");for(var u=0;u<s;++u)i.push(`arg${u}`),o.push(`arg${u}Wired`);i=i.join(","),o=o.join(",");var l=`return function (${i}) {\n`;a&&(l+="var destructors = [];\n");var c=a?"destructors":"null",h=["humanName","throwBindingError","invoker","fn","runDestructors","fromRetWire","toClassParamWire"];for(t&&(l+=`var thisWired = toClassParamWire(${c}, this);\n`),u=0;u<s;++u){var p=`toArg${u}Wire`;l+=`var arg${u}Wired = ${p}(${c}, arg${u});\n`,h.push(p)}if(l+=(r||n?"var rv = ":"")+`invoker(${o});\n`,a)l+="runDestructors(destructors);\n";else for(u=t?1:2;u<e.length;++u){var d=1===u?"thisWired":"arg"+(u-2)+"Wired";null!==e[u].destructorFunction&&(l+=`${d}_dtor(${d});\n`,h.push(`${d}_dtor`))}return r&&(l+="var ret = fromRetWire(rv);\nreturn ret;\n"),l+="}\n",new Function(h,l)}(t,o,l,s);var m=v(...p);return ae(e,m)}var Ee,xe,Ve,je,ke,De,Ie=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(b[t+4*n>>2]);return r},Ue=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Be=[],ze=[0,1,,1,null,1,!0,1,!1,1],Le=e=>{e>9&&0===--ze[e+1]&&(ze[e]=void 0,Be.push(e))},Me={toValue:e=>(e||Y(`Cannot use deleted val. handle = ${e}`),ze[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=Be.pop()||ze.length;return ze[t]=e,ze[t+1]=1,t}}}},He={name:"emscripten::val",fromWireType:e=>{var t=Me.toValue(e);return Le(e),t},toWireType:(e,t)=>Me.toHandle(t),readValueFromPointer:fe,destructorFunction:null},Ne=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(m[e])}:function(e){return this.fromWireType(y[e])};case 2:return r?function(e){return this.fromWireType(g[e>>1])}:function(e){return this.fromWireType($[e>>1])};case 4:return r?function(e){return this.fromWireType(w[e>>2])}:function(e){return this.fromWireType(b[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ge=(e,t)=>{var r=G[e];return void 0===r&&Y(`${t} has unknown type ${We(e)}`),r},qe=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(C[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Xe=Object.assign({optional:!0},He),Ye=globalThis.TextDecoder&&new TextDecoder,Ze=(e,t,r,n)=>{var a=t+r;if(n)return a;for(;e[t]&&!(t>=a);)++t;return t},Je=(e,t,r)=>e?((e,t=0,r,n)=>{var a=Ze(e,t,r,n);if(a-t>16&&e.buffer&&Ye)return Ye.decode(e.subarray(t,a));for(var s="";t<a;){var i=e[t++];if(128&i){var o=63&e[t++];if(192!=(224&i)){var u=63&e[t++];if((i=224==(240&i)?(15&i)<<12|o<<6|u:(7&i)<<18|o<<12|u<<6|63&e[t++])<65536)s+=String.fromCharCode(i);else{var l=i-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else s+=String.fromCharCode((31&i)<<6|o)}else s+=String.fromCharCode(i)}return s})(y,e,t,r):"",Ke=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Qe=(e,t,r)=>{var n=e>>1,a=Ze($,n,t/2,r);if(a-n>16&&Ke)return Ke.decode($.subarray(n,a));for(var s="",i=n;i<a;++i){var o=$[i];s+=String.fromCharCode(o)}return s},et=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var n=t,a=(r-=2)<2*e.length?r/2:e.length,s=0;s<a;++s){var i=e.charCodeAt(s);g[t>>1]=i,t+=2}return g[t>>1]=0,t-n},tt=e=>2*e.length,rt=(e,t,r)=>{for(var n="",a=e>>2,s=0;!(s>=t/4);s++){var i=b[a+s];if(!i&&!r)break;n+=String.fromCodePoint(i)}return n},nt=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var n=t,a=n+r-4,s=0;s<e.length;++s){var i=e.codePointAt(s);if(i>65535&&s++,w[t>>2]=i,(t+=4)+4>a)break}return w[t>>2]=0,t-n},at=e=>{for(var t=0,r=0;r<e.length;++r){e.codePointAt(r)>65535&&r++,t+=4}return t},st=0,it=[],ot=(e,t,r)=>{var n=[],a=e(n,r);return n.length&&(b[t>>2]=Me.toHandle(n)),a},ut={},lt=e=>{var t=ut[e];return void 0===t?H(e):t},ct={},ht=e=>{if(e instanceof k||"unwind"==e)return d;u(1,e)},pt=()=>L||st>0,dt=e=>{d=e,pt()||(t.onExit?.(e),R=!0),u(e,new k(e))},ft=(e,t)=>{d=e,dt(e)},vt=e=>{if(!R)try{e(),(()=>{if(!pt())try{ft(d)}catch(e){ht(e)}})()}catch(e){ht(e)}},mt=(e,t)=>Math.ceil(e/t)*t,yt=e=>{var t=(e-ke.buffer.byteLength+65535)/65536|0;try{return ke.grow(t),O(),1}catch(e){}};if((()=>{let e=ne.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof ne))return!1;if(!(e instanceof ne))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return t===n&&r===a},clone(){if(this.$$.ptr||K(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=re(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||K(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Y("Object already scheduled for deletion"),ee(this),te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||K(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Y("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(Te.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:fe,fromWireType:be}),t.noExitRuntime&&(L=t.noExitRuntime),t.print&&t.print,t.printErr&&(A=t.printErr),t.wasmBinary&&(p=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()();var gt,$t={l:(e,t,r)=>{throw new M(e).init(t,r),e},s:()=>E(""),o:(e,t,r,n,a)=>{t=H(t);const s=0n===n;let i=e=>e;if(s){const e=8*r;i=t=>BigInt.asUintN(e,t),a=i(a)}Z(e,{name:t,fromWireType:i,toWireType:(e,t)=>("number"==typeof t&&(t=BigInt(t)),t),readValueFromPointer:J(t,r,!s),destructorFunction:null})},w:(e,t,r,n)=>{Z(e,{name:t=H(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(y[e])},destructorFunction:null})},e:(e,r,n,a,s,i,o,u,l,c,h,p,d)=>{h=H(h),i=Pe(s,i),u&&=Pe(o,u),c&&=Pe(l,c),d=Pe(p,d);var f=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(h);oe(f,function(){Ae(`Cannot construct ${h} due to unbound types`,[a])}),Re([e,r,n],a?[a]:[],r=>{var n,s;r=r[0],s=a?(n=r.registeredClass).instancePrototype:ne.prototype;var o=ae(h,function(...e){if(Object.getPrototypeOf(this)!==l)throw new X(`Use 'new' to construct ${h}`);if(void 0===p.constructor_body)throw new X(`${h} has no accessible constructor`);var t=p.constructor_body[e.length];if(void 0===t)throw new X(`Tried to invoke ctor of ${h} with invalid number of parameters (${e.length}) - expected (${Object.keys(p.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)}),l=Object.create(s,{constructor:{value:o}});o.prototype=l;var p=new ue(h,o,l,d,n,i,u,c);p.baseClass&&(p.baseClass.__derivedClasses??=[],p.baseClass.__derivedClasses.push(p));var v=new Te(h,p,!0,!1,!1),m=new Te(h+"*",p,!1,!1,!1),y=new Te(h+" const*",p,!1,!0,!1);return se[e]={pointerType:m,constPointerType:y},((e,r,n)=>{t.hasOwnProperty(e)||$e("Replacing nonexistent public symbol"),void 0!==t[e].overloadTable&&void 0!==n||(t[e]=r,t[e].argCount=n)})(f,o),[v,m,y]})},b:(e,t,r,n,a,s,i,o,u)=>{var l=Ie(r,n);t=H(t),t=Ue(t),s=Pe(a,s,o),Re([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function a(){Ae(`Cannot call ${n} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var u=e.registeredClass.constructor;return void 0===u[t]?(a.argCount=r-1,u[t]=a):(ie(u,t,n),u[t].overloadTable[r-1]=a),Re([],l,a=>{var l=[a[0],null].concat(a.slice(1)),c=Oe(n,l,null,s,i,o);if(void 0===u[t].overloadTable?(c.argCount=r-1,u[t]=c):u[t].overloadTable[r-1]=c,e.registeredClass.__derivedClasses)for(const r of e.registeredClass.__derivedClasses)r.constructor.hasOwnProperty(t)||(r.constructor[t]=c);return[]}),[]})},n:(e,t,r,n,a,s)=>{var i=Ie(t,r);a=Pe(n,a),Re([],[e],e=>{var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new X(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Ae(`Cannot construct ${e.name} due to unbound types`,i)},Re([],i,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Oe(r,n,null,a,s),[])),[]})},a:(e,t,r,n,a,s,i,o,u,l)=>{var c=Ie(r,n);t=H(t),t=Ue(t),s=Pe(a,s,u),Re([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function a(){Ae(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,h=l[t];return void 0===h||void 0===h.overloadTable&&h.className!==e.name&&h.argCount===r-2?(a.argCount=r-2,a.className=e.name,l[t]=a):(ie(l,t,n),l[t].overloadTable[r-2]=a),Re([],c,a=>{var o=Oe(n,a,e,s,i,u);return void 0===l[t].overloadTable?(o.argCount=r-2,l[t]=o):l[t].overloadTable[r-2]=o,[]}),[]})},u:e=>Z(e,He),z:(e,t,r,n)=>{function a(){}t=H(t),a.values={},Z(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,readValueFromPointer:Ne(t,r,n),destructorFunction:null}),oe(t,a)},f:(e,t,r)=>{var n=Ge(e,"enum");t=H(t);var a=n.constructor,s=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:ae(`${n.name}_${t}`,function(){})}});a.values[r]=s,a[t]=s},m:(e,t,r)=>{Z(e,{name:t=H(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:qe(t,r),destructorFunction:null})},d:(e,t,r,n,a)=>{t=H(t);let s=e=>e;if(0===n){var i=32-8*r;s=e=>e<<i>>>i,a=s(a)}Z(e,{name:t,fromWireType:s,toWireType:(e,t)=>t,readValueFromPointer:J(t,r,0!==n),destructorFunction:null})},c:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function a(e){var t=b[e>>2],r=b[e+4>>2];return new n(m.buffer,r,t)}Z(e,{name:r=H(r),fromWireType:a,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},A:(e,t)=>{Z(e,Xe)},v:(e,t)=>{Z(e,{name:t=H(t),fromWireType(e){var t,r=b[e>>2];return t=Je(e+4,r,!0),je(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||Y("Cannot pass non-string to std::string"),r=n?(e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t})(t):t.length;var a=Ee(4+r+1),s=a+4;return b[a>>2]=r,n?((e,t,r,n)=>{if(!(n>0))return 0;for(var a=r,s=r+n-1,i=0;i<e.length;++i){var o=e.codePointAt(i);if(o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o,i++}}t[r]=0})(t,y,s,r+1):y.set(t,s),null!==e&&e.push(je,a),a},readValueFromPointer:fe,destructorFunction(e){je(e)}})},j:(e,t,r)=>{var n,a,s;r=H(r),2===t?(n=Qe,a=et,s=tt):(n=rt,a=nt,s=at),Z(e,{name:r,fromWireType:e=>{var r=b[e>>2],a=n(e+4,r*t,!0);return je(e),a},toWireType:(e,n)=>{"string"!=typeof n&&Y(`Cannot pass non-string to C++ string type ${r}`);var i=s(n),o=Ee(4+i+t);return b[o>>2]=i/t,a(n,o+4,i+t),null!==e&&e.push(je,o),o},readValueFromPointer:fe,destructorFunction(e){je(e)}})},x:(e,t)=>{Z(e,{isVoid:!0,name:t=H(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},q:()=>{L=!1,st=0},i:(e,t,r)=>{var[n,...a]=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=Ge(b[t+4*n>>2],`parameter ${n}`);return r})(e,t),s=n.toWireType.bind(n),i=a.map(e=>e.readValueFromPointer.bind(e));e--;var o,u={toValue:Me.toValue},l=i.map((e,t)=>{var r=`argFromPtr${t}`;return u[r]=e,`${r}(args${t?"+"+8*t:""})`});switch(r){case 0:o="toValue(handle)";break;case 2:o="new (toValue(handle))";break;case 3:o="";break;case 1:u.getStringOrSymbol=lt,o="toValue(handle)[getStringOrSymbol(methodName)]"}o+=`(${l})`,n.isVoid||(u.toReturnWire=s,u.emval_returnValue=ot,o=`return emval_returnValue(toReturnWire, destructorsRef, ${o})`),o=`return function (handle, methodName, destructorsRef, args) {\n ${o}\n }`;var c,h,p=new Function(Object.keys(u),o)(...Object.values(u)),d=`methodCaller<(${a.map(e=>e.name)}) => ${n.name}>`;return c=ae(d,p),h=it.length,it.push(c),h},k:Le,y:e=>{e>9&&(ze[e+1]+=1)},h:(e,t,r,n,a)=>it[e](t,r,n,a),g:e=>{var t=Me.toValue(e);Se(t),Le(e)},r:(e,t)=>{if(ct[e]&&(clearTimeout(ct[e].id),delete ct[e]),!t)return 0;var r=setTimeout(()=>{delete ct[e],vt(()=>Ve(e,performance.now()))},t);return ct[e]={id:r,timeout_ms:t},0},t:e=>{var t=y.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var a=t*(1+.2/n);a=Math.min(a,e+100663296);var s=Math.min(r,mt(Math.max(e,a),65536));if(yt(s))return!0}return!1},p:dt};return gt=await async function(){function e(e,t){return function(e){Ee=e.D,xe=e.E,Ve=e.F,je=e.H,ke=e.B,De=e.G}(gt=e.exports),O(),gt}var r={a:$t};return t.instantiateWasm?new Promise((n,a)=>{t.instantiateWasm(r,(t,r)=>{n(e(t))})}):(W??=x(),function(t){return e(t.instance)}(await j(p,W,r)))}(),function(){function e(){t.calledRun=!0,R||(F=!0,gt.C(),f?.(t),t.onRuntimeInitialized?.(),function(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)U(t.postRun.shift());D(I)}())}!function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)z(t.preRun.shift());D(B)}(),t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),e()},1)):e()}(),F?t:new Promise((e,t)=>{f=e,v=t})}();let t=1024;function r(e=0){const r=t;return 0!==e&&(t=e),r}class n{type;value;capacity;constructor(t,a,s=0){if(this.type=t,a instanceof n){if(this.value=a.value,this.capacity=a.capacity,0!==s)throw new Error("Cannot set capacity when copying from another instance.")}else if(a instanceof this.type)this.value=a,this.capacity=s;else if("string"==typeof a){if(this.capacity=0!==s?s:r(),this.value=this.type.from_string(a,this.capacity),null===this.value)throw new Error("Initialization from a string failed.")}else{if(!(a instanceof e.Buffer))throw new Error("Unsupported type for initialization.");if(this.value=this.type.from_binary(a),this.capacity=this.size(),0!==s)throw new Error("Cannot set capacity when initializing from bytes.")}}toString(){const e=this.type.to_string(this.value,r());if(""===e)throw new Error("Conversion to string failed.");return e}data(){return this.type.to_binary(this.value)}size(){return this.value.data_size()}copy(){return new(0,this.constructor)(this.value.clone(),this.size())}key(){return this.toString()}}class a extends n{constructor(t,r=0){super(e.String,t,r)}}class s extends n{constructor(t,r=0){super(e.Variable,t,r)}name(){return new a(this.value.name())}}class i extends n{constructor(t,r=0){super(e.Item,t,r)}name(){return new a(this.value.name())}}class o extends n{constructor(t,r=0){super(e.List,t,r)}length(){return this.value.length()}getitem(e){return new u(this.value.getitem(e))}}class u extends n{constructor(t,r=0){super(e.Term,t,r)}term(){const t=this.value.get_type();if(t===e.TermType.Variable)return new s(this.value.variable());if(t===e.TermType.Item)return new i(this.value.item());if(t===e.TermType.List)return new o(this.value.list());throw new Error("Unexpected term type.")}ground(t,n=""){const a=r(),s=e.Term.ground(this.value,t.value,n,a);return null===s?null:new u(s,a)}rename(t){const n=r(),a=e.Term.rename(this.value,t.value,n);return null===a?null:new u(a,n)}}class l extends n{constructor(t,r=0){super(e.Rule,t,r)}length(){return this.value.length()}getitem(e){return new u(this.value.getitem(e))}conclusion(){return new u(this.value.conclusion())}ground(t,n=""){const a=r(),s=e.Rule.ground(this.value,t.value,n,a);return null===s?null:new l(s,a)}match(t){const n=r(),a=e.Rule.match(this.value,t.value,n);return null===a?null:new l(a,n)}rename(t){const n=r(),a=e.Rule.rename(this.value,t.value,n);return null===a?null:new l(a,n)}}class c{_search;constructor(t=1e3,r=1e4){this._search=new e.Search(t,r)}set_limit_size(e){this._search.set_limit_size(e)}set_buffer_size(e){this._search.set_buffer_size(e)}reset(){this._search.reset()}add(e){return this._search.add(e)}execute(e){return this._search.execute(t=>e(new l(t).copy()))}}export{r as buffer_size,i as item_t,o as list_t,l as rule_t,c as search_t,a as string_t,u as term_t,s as variable_t};
|
|
2
2
|
//# sourceMappingURL=tsds.mjs.map
|
package/dist/tsds.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsds.mjs","sources":["../atsds/tsds.mts"],"sourcesContent":["/**\n * TypeScript wrapper for a deductive system implemented in WebAssembly.\n * Provides classes and functions for working with logical terms, rules, and inference.\n */\n\nimport create_ds from \"./ds.mjs\";\nimport type * as dst from \"./ds.d.mts\";\n\nconst ds: dst.EmbindModule = await create_ds();\n\nlet _buffer_size: number = 1024;\n\n/**\n * Gets the current buffer size, or sets a new buffer size and returns the previous value.\n * The buffer size is used for internal operations like conversions and transformations.\n *\n * @param size - The new buffer size to set. If 0 (default), the current size is returned without modification.\n * @returns The previous buffer size value.\n *\n * @example\n * ```typescript\n * const currentSize = buffer_size(); // Get current size\n * const oldSize = buffer_size(2048); // Set new size, returns old size\n * ```\n */\nexport function buffer_size(size: number = 0): number {\n const old_size = _buffer_size;\n if (size !== 0) {\n _buffer_size = size;\n }\n return old_size;\n}\n\n/**\n * Common interface for all deductive system types.\n * @internal\n */\ninterface Common {\n clone(): Common;\n data_size(): number;\n}\n\n/**\n * Static methods interface for deductive system types.\n * @internal\n */\ninterface StaticCommon<T extends Common> {\n from_binary(buffer: dst.Buffer): T;\n to_binary(value: T): dst.Buffer;\n from_string(text: string, size: number): T;\n to_string(value: T, size: number): string;\n}\n\n/**\n * Valid initialization arguments for deductive system types.\n * @internal\n */\ntype InitialArgument<T extends Common> = _common_t<T> | T | string | dst.Buffer | null;\n\n/**\n * Base class for all deductive system wrapper types.\n * Handles initialization, serialization, and common operations.\n * @internal\n */\nclass _common_t<T extends Common> {\n type: StaticCommon<T>;\n value: T;\n capacity: number;\n\n /**\n * Creates a new instance.\n *\n * @param type - The static type interface for this common type.\n * @param value - Initial value (can be another instance, base value, string, or buffer).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails or invalid arguments are provided.\n */\n constructor(type: StaticCommon<T>, value: InitialArgument<T>, size: number = 0) {\n this.type = type;\n if (value instanceof _common_t) {\n this.value = value.value;\n this.capacity = value.capacity;\n if (size !== 0) {\n throw new Error(\"Cannot set capacity when copying from another instance.\");\n }\n } else if (value instanceof (this.type as unknown as new () => T)) {\n this.value = value;\n this.capacity = size;\n } else if (typeof value === \"string\") {\n this.capacity = size !== 0 ? size : buffer_size();\n this.value = this.type.from_string(value, this.capacity);\n if (this.value === null) {\n throw new Error(\"Initialization from a string failed.\");\n }\n } else if (value instanceof ds.Buffer) {\n this.value = this.type.from_binary(value);\n this.capacity = this.size();\n if (size !== 0) {\n throw new Error(\"Cannot set capacity when initializing from bytes.\");\n }\n } else {\n throw new Error(\"Unsupported type for initialization.\");\n }\n }\n\n /**\n * Convert the value to a string representation.\n *\n * @returns The string representation.\n * @throws {Error} If conversion fails.\n */\n toString(): string {\n const result = this.type.to_string(this.value, buffer_size());\n if (result === \"\") {\n throw new Error(\"Conversion to string failed.\");\n }\n return result;\n }\n\n /**\n * Get the binary representation of the value.\n *\n * @returns The binary data as a Buffer.\n */\n data(): dst.Buffer {\n return this.type.to_binary(this.value);\n }\n\n /**\n * Get the size of the data in bytes.\n *\n * @returns The data size.\n */\n size(): number {\n return this.value.data_size();\n }\n\n /**\n * Create a deep copy of this instance.\n *\n * @returns A new instance with cloned value.\n */\n copy(): this {\n const this_constructor = this.constructor as new (value: T, size: number) => this;\n return new this_constructor(this.value.clone() as T, this.size());\n }\n\n /**\n * Get a key representation for this value.\n * The key equality is consistent with object equality.\n *\n * @returns The string key.\n */\n key(): string {\n return this.toString();\n }\n}\n\n/**\n * Wrapper class for deductive system strings.\n * Supports initialization from strings, buffers, or other instances.\n *\n * @example\n * ```typescript\n * const str1 = new string_t(\"hello\");\n * const str2 = new string_t(str1.data()); // From binary\n * console.log(str1.toString()); // \"hello\"\n * ```\n */\nexport class string_t extends _common_t<dst.String> {\n /**\n * Creates a new string instance.\n *\n * @param value - Initial value (string, buffer, or another string_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.String>, size: number = 0) {\n super(ds.String, value, size);\n }\n}\n\n/**\n * Wrapper class for logical variables in the deductive system.\n * Variables are used in logical terms and can be unified.\n *\n * @example\n * ```typescript\n * const var1 = new variable_t(\"`X\");\n * console.log(var1.name().toString()); // \"X\"\n * ```\n */\nexport class variable_t extends _common_t<dst.Variable> {\n /**\n * Creates a new variable instance.\n *\n * @param value - Initial value (string, buffer, or another variable_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Variable>, size: number = 0) {\n super(ds.Variable, value, size);\n }\n\n /**\n * Get the name of this variable.\n *\n * @returns The variable name as a string_t.\n */\n name(): string_t {\n return new string_t(this.value.name());\n }\n}\n\n/**\n * Wrapper class for items in the deductive system.\n * Items represent constants or functors in logical terms.\n *\n * @example\n * ```typescript\n * const item = new item_t(\"atom\");\n * console.log(item.name().toString()); // \"atom\"\n * ```\n */\nexport class item_t extends _common_t<dst.Item> {\n /**\n * Creates a new item instance.\n *\n * @param value - Initial value (string, buffer, or another item_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Item>, size: number = 0) {\n super(ds.Item, value, size);\n }\n\n /**\n * Get the name of this item.\n *\n * @returns The item name as a string_t.\n */\n name(): string_t {\n return new string_t(this.value.name());\n }\n}\n\n/**\n * Wrapper class for lists in the deductive system.\n * Lists contain ordered sequences of terms.\n *\n * @example\n * ```typescript\n * const list = new list_t(\"(a b c)\");\n * console.log(list.length()); // 3\n * console.log(list.getitem(0).toString()); // \"a\"\n * ```\n */\nexport class list_t extends _common_t<dst.List> {\n /**\n * Creates a new list instance.\n *\n * @param value - Initial value (string, buffer, or another list_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.List>, size: number = 0) {\n super(ds.List, value, size);\n }\n\n /**\n * Get the number of elements in the list.\n *\n * @returns The list length.\n */\n length(): number {\n return this.value.length();\n }\n\n /**\n * Get an element from the list by index.\n *\n * @param index - The zero-based index of the element.\n * @returns The term at the specified index.\n */\n getitem(index: number): term_t {\n return new term_t(this.value.getitem(index));\n }\n}\n\n/**\n * Wrapper class for logical terms in the deductive system.\n * A term can be a variable, item, or list.\n *\n * @example\n * ```typescript\n * const term = new term_t(\"(f `x a)\");\n * const innerTerm = term.term(); // Get the underlying term type\n * ```\n */\nexport class term_t extends _common_t<dst.Term> {\n /**\n * Creates a new term instance.\n *\n * @param value - Initial value (string, buffer, or another term_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Term>, size: number = 0) {\n super(ds.Term, value, size);\n }\n\n /**\n * Extracts the underlying term and returns it as its concrete type (variable_t, item_t, or list_t).\n *\n * @returns The term as a variable_t, item_t, or list_t.\n * @throws {Error} If the term type is unexpected.\n */\n term(): variable_t | item_t | list_t {\n const term_type: dst.TermType = this.value.get_type();\n if (term_type === ds.TermType.Variable) {\n return new variable_t(this.value.variable());\n } else if (term_type === ds.TermType.Item) {\n return new item_t(this.value.item());\n } else if (term_type === ds.TermType.List) {\n return new list_t(this.value.list());\n } else {\n throw new Error(\"Unexpected term type.\");\n }\n }\n\n /**\n * Ground this term using a dictionary to substitute variables with values.\n *\n * @param other - A term representing a dictionary (list of pairs). Each pair contains a variable and its substitution value.\n * Example: \"((`a b))\" means substitute variable `a with value b.\n * @param scope - Optional scope string for variable scoping.\n * @returns The grounded term, or null if grounding fails.\n *\n * @example\n * ```typescript\n * const a = new term_t(\"`a\");\n * const b = new term_t(\"((`a b))\");\n * console.log(a.ground(b).toString()); // \"b\"\n *\n * // With scope\n * const c = new term_t(\"`a\");\n * const d = new term_t(\"((x y `a `b) (y x `b `c))\");\n * console.log(c.ground(d, \"x\").toString()); // \"`c\"\n * ```\n */\n ground(other: term_t, scope: string = \"\"): term_t | null {\n const capacity = buffer_size();\n const term = ds.Term.ground(this.value, other.value, scope, capacity);\n if (term === null) {\n return null;\n }\n return new term_t(term, capacity);\n }\n\n /**\n * Rename all variables in this term by adding prefix and suffix.\n *\n * @param prefix_and_suffix - A term representing a list with two inner lists.\n * Each inner list contains 0 or 1 item representing the prefix and suffix.\n * Example: \"((pre_) (_suf))\" adds \"pre_\" as prefix and \"_suf\" as suffix.\n * @returns The renamed term, or null if renaming fails.\n *\n * @example\n * ```typescript\n * const a = new term_t(\"`x\");\n * const b = new term_t(\"((pre_) (_suf))\");\n * console.log(a.rename(b).toString()); // \"`pre_x_suf\"\n *\n * // With empty prefix (only suffix)\n * const c = new term_t(\"`x\");\n * const d = new term_t(\"(() (_suf))\");\n * console.log(c.rename(d).toString()); // \"`x_suf\"\n * ```\n */\n rename(prefix_and_suffix: term_t): term_t | null {\n const capacity = buffer_size();\n const term = ds.Term.rename(this.value, prefix_and_suffix.value, capacity);\n if (term === null) {\n return null;\n }\n return new term_t(term, capacity);\n }\n}\n\n/**\n * Wrapper class for logical rules in the deductive system.\n * A rule consists of zero or more premises (above the line) and a conclusion (below the line).\n *\n * @example\n * ```typescript\n * const rule = new rule_t(\"(father `X `Y)\\n----------\\n(parent `X `Y)\\n\");\n * console.log(rule.conclusion().toString()); // \"(parent `X `Y)\"\n * console.log(rule.length()); // 1 (number of premises)\n * ```\n */\nexport class rule_t extends _common_t<dst.Rule> {\n /**\n * Creates a new rule instance.\n *\n * @param value - Initial value (string, buffer, or another rule_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Rule>, size: number = 0) {\n super(ds.Rule, value, size);\n }\n\n /**\n * Get the number of premises in the rule.\n *\n * @returns The number of premises.\n */\n length(): number {\n return this.value.length();\n }\n\n /**\n * Get a premise term by index.\n *\n * @param index - The zero-based index of the premise.\n * @returns The premise term at the specified index.\n */\n getitem(index: number): term_t {\n return new term_t(this.value.getitem(index));\n }\n\n /**\n * Get the conclusion of the rule.\n *\n * @returns The conclusion term.\n */\n conclusion(): term_t {\n return new term_t(this.value.conclusion());\n }\n\n /**\n * Ground this rule using a dictionary to substitute variables with values.\n *\n * @param other - A rule representing a dictionary (list of pairs). Each pair contains a variable and its substitution value.\n * Example: new rule_t(\"((`a b))\") means substitute variable `a with value b.\n * @param scope - Optional scope string for variable scoping.\n * @returns The grounded rule, or null if grounding fails.\n *\n * @example\n * ```typescript\n * const a = new rule_t(\"`a\");\n * const b = new rule_t(\"((`a b))\");\n * console.log(a.ground(b).toString()); // \"----\\nb\\n\"\n *\n * // With scope\n * const c = new rule_t(\"`a\");\n * const d = new rule_t(\"((x y `a `b) (y x `b `c))\");\n * console.log(c.ground(d, \"x\").toString()); // \"----\\n`c\\n\"\n * ```\n */\n ground(other: rule_t, scope: string = \"\"): rule_t | null {\n const capacity = buffer_size();\n const rule = ds.Rule.ground(this.value, other.value, scope, capacity);\n if (rule === null) {\n return null;\n }\n return new rule_t(rule, capacity);\n }\n\n /**\n * Match this rule with another rule using unification.\n * This unifies the first premise of this rule with the other rule.\n * The other rule must be a fact (a rule without premises).\n *\n * @param other - The rule to match against (must be a fact without premises).\n * @returns The matched rule, or null if matching fails.\n *\n * @example\n * ```typescript\n * const mp = new rule_t(\"(`p -> `q)\\n`p\\n`q\\n\");\n * const pq = new rule_t(\"((! (! `x)) -> `x)\");\n * console.log(mp.match(pq).toString()); // \"(! (! `x))\\n----------\\n`x\\n\"\n * ```\n */\n match(other: rule_t): rule_t | null {\n const capacity = buffer_size();\n const rule = ds.Rule.match(this.value, other.value, capacity);\n if (rule === null) {\n return null;\n }\n return new rule_t(rule, capacity);\n }\n\n /**\n * Rename all variables in this rule by adding prefix and suffix.\n *\n * @param prefix_and_suffix - A rule with only a conclusion that is a list with two inner lists.\n * Each inner list contains 0 or 1 item representing the prefix and suffix.\n * Example: \"((pre_) (_suf))\" adds \"pre_\" as prefix and \"_suf\" as suffix.\n * @returns The renamed rule, or null if renaming fails.\n *\n * @example\n * ```typescript\n * const a = new rule_t(\"`x\");\n * const b = new rule_t(\"((pre_) (_suf))\");\n * console.log(a.rename(b).toString()); // \"----\\n`pre_x_suf\\n\"\n *\n * // With empty prefix (only suffix)\n * const c = new rule_t(\"`x\");\n * const d = new rule_t(\"(() (_suf))\");\n * console.log(c.rename(d).toString()); // \"----\\n`x_suf\\n\"\n * ```\n */\n rename(prefix_and_suffix: rule_t): rule_t | null {\n const capacity = buffer_size();\n const rule = ds.Rule.rename(this.value, prefix_and_suffix.value, capacity);\n if (rule === null) {\n return null;\n }\n return new rule_t(rule, capacity);\n }\n}\n\n/**\n * Search engine for the deductive system.\n * Manages a knowledge base of rules and performs logical inference.\n *\n * @example\n * ```typescript\n * const search = new search_t();\n * search.add(\"(parent john mary)\");\n * search.add(\"(father `X `Y)\\n----------\\n(parent `X `Y)\\n\");\n * search.execute((rule) => {\n * console.log(rule.toString());\n * return false; // Return false to continue, true to stop\n * });\n * ```\n */\nexport class search_t {\n _search: dst.Search;\n\n /**\n * Creates a new search engine instance.\n *\n * @param limit_size - Size of the buffer for storing the final objects (rules/facts) in the knowledge base (default: 1000).\n * @param buffer_size - Size of the buffer for internal operations like conversions and transformations (default: 10000).\n */\n constructor(limit_size: number = 1000, buffer_size: number = 10000) {\n this._search = new ds.Search(limit_size, buffer_size);\n }\n\n /**\n * Set the size of the buffer for storing final objects.\n *\n * @param limit_size - The new limit size for storing rules/facts.\n */\n set_limit_size(limit_size: number): void {\n this._search.set_limit_size(limit_size);\n }\n\n /**\n * Set the buffer size for internal operations.\n *\n * @param buffer_size - The new buffer size.\n */\n set_buffer_size(buffer_size: number): void {\n this._search.set_buffer_size(buffer_size);\n }\n\n /**\n * Reset the search engine, clearing all rules and facts.\n */\n reset(): void {\n this._search.reset();\n }\n\n /**\n * Add a rule or fact to the knowledge base.\n *\n * @param text - The rule or fact as a string.\n * @returns True if successfully added, false otherwise.\n */\n add(text: string): boolean {\n return this._search.add(text);\n }\n\n /**\n * Execute the search engine with a callback for each inferred rule.\n *\n * @param callback - Function called for each candidate rule. Return false to continue, true to stop.\n * @returns The number of rules processed.\n */\n execute(callback: (candidate: rule_t) => boolean): number {\n return this._search.execute((candidate: dst.Rule): boolean => {\n return callback(new rule_t(candidate).copy());\n });\n }\n}\n"],"names":["ds","create_ds","_buffer_size","buffer_size","size","old_size","_common_t","type","value","capacity","constructor","this","Error","from_string","Buffer","from_binary","toString","result","to_string","data","to_binary","data_size","copy","this_constructor","clone","key","string_t","super","String","variable_t","Variable","name","item_t","Item","list_t","List","length","getitem","index","term_t","Term","term","term_type","get_type","TermType","variable","item","list","ground","other","scope","rename","prefix_and_suffix","rule_t","Rule","conclusion","rule","match","search_t","_search","limit_size","Search","set_limit_size","set_buffer_size","reset","add","text","execute","callback","candidate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tsds.mjs","sources":["../atsds/tsds.mts","../atsds/ds.mjs"],"sourcesContent":["/**\n * TypeScript wrapper for a deductive system implemented in WebAssembly.\n * Provides classes and functions for working with logical terms, rules, and inference.\n */\n\nimport create_ds from \"./ds.mjs\";\nimport type * as dst from \"./ds.d.mts\";\n\nconst ds: dst.EmbindModule = await create_ds();\n\nlet _buffer_size: number = 1024;\n\n/**\n * Gets the current buffer size, or sets a new buffer size and returns the previous value.\n * The buffer size is used for internal operations like conversions and transformations.\n *\n * @param size - The new buffer size to set. If 0 (default), the current size is returned without modification.\n * @returns The previous buffer size value.\n *\n * @example\n * ```typescript\n * const currentSize = buffer_size(); // Get current size\n * const oldSize = buffer_size(2048); // Set new size, returns old size\n * ```\n */\nexport function buffer_size(size: number = 0): number {\n const old_size = _buffer_size;\n if (size !== 0) {\n _buffer_size = size;\n }\n return old_size;\n}\n\n/**\n * Common interface for all deductive system types.\n * @internal\n */\ninterface Common {\n clone(): Common;\n data_size(): number;\n}\n\n/**\n * Static methods interface for deductive system types.\n * @internal\n */\ninterface StaticCommon<T extends Common> {\n from_binary(buffer: dst.Buffer): T;\n to_binary(value: T): dst.Buffer;\n from_string(text: string, size: number): T;\n to_string(value: T, size: number): string;\n}\n\n/**\n * Valid initialization arguments for deductive system types.\n * @internal\n */\ntype InitialArgument<T extends Common> = _common_t<T> | T | string | dst.Buffer | null;\n\n/**\n * Base class for all deductive system wrapper types.\n * Handles initialization, serialization, and common operations.\n * @internal\n */\nclass _common_t<T extends Common> {\n type: StaticCommon<T>;\n value: T;\n capacity: number;\n\n /**\n * Creates a new instance.\n *\n * @param type - The static type interface for this common type.\n * @param value - Initial value (can be another instance, base value, string, or buffer).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails or invalid arguments are provided.\n */\n constructor(type: StaticCommon<T>, value: InitialArgument<T>, size: number = 0) {\n this.type = type;\n if (value instanceof _common_t) {\n this.value = value.value;\n this.capacity = value.capacity;\n if (size !== 0) {\n throw new Error(\"Cannot set capacity when copying from another instance.\");\n }\n } else if (value instanceof (this.type as unknown as new () => T)) {\n this.value = value;\n this.capacity = size;\n } else if (typeof value === \"string\") {\n this.capacity = size !== 0 ? size : buffer_size();\n this.value = this.type.from_string(value, this.capacity);\n if (this.value === null) {\n throw new Error(\"Initialization from a string failed.\");\n }\n } else if (value instanceof ds.Buffer) {\n this.value = this.type.from_binary(value);\n this.capacity = this.size();\n if (size !== 0) {\n throw new Error(\"Cannot set capacity when initializing from bytes.\");\n }\n } else {\n throw new Error(\"Unsupported type for initialization.\");\n }\n }\n\n /**\n * Convert the value to a string representation.\n *\n * @returns The string representation.\n * @throws {Error} If conversion fails.\n */\n toString(): string {\n const result = this.type.to_string(this.value, buffer_size());\n if (result === \"\") {\n throw new Error(\"Conversion to string failed.\");\n }\n return result;\n }\n\n /**\n * Get the binary representation of the value.\n *\n * @returns The binary data as a Buffer.\n */\n data(): dst.Buffer {\n return this.type.to_binary(this.value);\n }\n\n /**\n * Get the size of the data in bytes.\n *\n * @returns The data size.\n */\n size(): number {\n return this.value.data_size();\n }\n\n /**\n * Create a deep copy of this instance.\n *\n * @returns A new instance with cloned value.\n */\n copy(): this {\n const this_constructor = this.constructor as new (value: T, size: number) => this;\n return new this_constructor(this.value.clone() as T, this.size());\n }\n\n /**\n * Get a key representation for this value.\n * The key equality is consistent with object equality.\n *\n * @returns The string key.\n */\n key(): string {\n return this.toString();\n }\n}\n\n/**\n * Wrapper class for deductive system strings.\n * Supports initialization from strings, buffers, or other instances.\n *\n * @example\n * ```typescript\n * const str1 = new string_t(\"hello\");\n * const str2 = new string_t(str1.data()); // From binary\n * console.log(str1.toString()); // \"hello\"\n * ```\n */\nexport class string_t extends _common_t<dst.String> {\n /**\n * Creates a new string instance.\n *\n * @param value - Initial value (string, buffer, or another string_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.String>, size: number = 0) {\n super(ds.String, value, size);\n }\n}\n\n/**\n * Wrapper class for logical variables in the deductive system.\n * Variables are used in logical terms and can be unified.\n *\n * @example\n * ```typescript\n * const var1 = new variable_t(\"`X\");\n * console.log(var1.name().toString()); // \"X\"\n * ```\n */\nexport class variable_t extends _common_t<dst.Variable> {\n /**\n * Creates a new variable instance.\n *\n * @param value - Initial value (string, buffer, or another variable_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Variable>, size: number = 0) {\n super(ds.Variable, value, size);\n }\n\n /**\n * Get the name of this variable.\n *\n * @returns The variable name as a string_t.\n */\n name(): string_t {\n return new string_t(this.value.name());\n }\n}\n\n/**\n * Wrapper class for items in the deductive system.\n * Items represent constants or functors in logical terms.\n *\n * @example\n * ```typescript\n * const item = new item_t(\"atom\");\n * console.log(item.name().toString()); // \"atom\"\n * ```\n */\nexport class item_t extends _common_t<dst.Item> {\n /**\n * Creates a new item instance.\n *\n * @param value - Initial value (string, buffer, or another item_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Item>, size: number = 0) {\n super(ds.Item, value, size);\n }\n\n /**\n * Get the name of this item.\n *\n * @returns The item name as a string_t.\n */\n name(): string_t {\n return new string_t(this.value.name());\n }\n}\n\n/**\n * Wrapper class for lists in the deductive system.\n * Lists contain ordered sequences of terms.\n *\n * @example\n * ```typescript\n * const list = new list_t(\"(a b c)\");\n * console.log(list.length()); // 3\n * console.log(list.getitem(0).toString()); // \"a\"\n * ```\n */\nexport class list_t extends _common_t<dst.List> {\n /**\n * Creates a new list instance.\n *\n * @param value - Initial value (string, buffer, or another list_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.List>, size: number = 0) {\n super(ds.List, value, size);\n }\n\n /**\n * Get the number of elements in the list.\n *\n * @returns The list length.\n */\n length(): number {\n return this.value.length();\n }\n\n /**\n * Get an element from the list by index.\n *\n * @param index - The zero-based index of the element.\n * @returns The term at the specified index.\n */\n getitem(index: number): term_t {\n return new term_t(this.value.getitem(index));\n }\n}\n\n/**\n * Wrapper class for logical terms in the deductive system.\n * A term can be a variable, item, or list.\n *\n * @example\n * ```typescript\n * const term = new term_t(\"(f `x a)\");\n * const innerTerm = term.term(); // Get the underlying term type\n * ```\n */\nexport class term_t extends _common_t<dst.Term> {\n /**\n * Creates a new term instance.\n *\n * @param value - Initial value (string, buffer, or another term_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Term>, size: number = 0) {\n super(ds.Term, value, size);\n }\n\n /**\n * Extracts the underlying term and returns it as its concrete type (variable_t, item_t, or list_t).\n *\n * @returns The term as a variable_t, item_t, or list_t.\n * @throws {Error} If the term type is unexpected.\n */\n term(): variable_t | item_t | list_t {\n const term_type: dst.TermType = this.value.get_type();\n if (term_type === ds.TermType.Variable) {\n return new variable_t(this.value.variable());\n } else if (term_type === ds.TermType.Item) {\n return new item_t(this.value.item());\n } else if (term_type === ds.TermType.List) {\n return new list_t(this.value.list());\n } else {\n throw new Error(\"Unexpected term type.\");\n }\n }\n\n /**\n * Ground this term using a dictionary to substitute variables with values.\n *\n * @param other - A term representing a dictionary (list of pairs). Each pair contains a variable and its substitution value.\n * Example: \"((`a b))\" means substitute variable `a with value b.\n * @param scope - Optional scope string for variable scoping.\n * @returns The grounded term, or null if grounding fails.\n *\n * @example\n * ```typescript\n * const a = new term_t(\"`a\");\n * const b = new term_t(\"((`a b))\");\n * console.log(a.ground(b).toString()); // \"b\"\n *\n * // With scope\n * const c = new term_t(\"`a\");\n * const d = new term_t(\"((x y `a `b) (y x `b `c))\");\n * console.log(c.ground(d, \"x\").toString()); // \"`c\"\n * ```\n */\n ground(other: term_t, scope: string = \"\"): term_t | null {\n const capacity = buffer_size();\n const term = ds.Term.ground(this.value, other.value, scope, capacity);\n if (term === null) {\n return null;\n }\n return new term_t(term, capacity);\n }\n\n /**\n * Rename all variables in this term by adding prefix and suffix.\n *\n * @param prefix_and_suffix - A term representing a list with two inner lists.\n * Each inner list contains 0 or 1 item representing the prefix and suffix.\n * Example: \"((pre_) (_suf))\" adds \"pre_\" as prefix and \"_suf\" as suffix.\n * @returns The renamed term, or null if renaming fails.\n *\n * @example\n * ```typescript\n * const a = new term_t(\"`x\");\n * const b = new term_t(\"((pre_) (_suf))\");\n * console.log(a.rename(b).toString()); // \"`pre_x_suf\"\n *\n * // With empty prefix (only suffix)\n * const c = new term_t(\"`x\");\n * const d = new term_t(\"(() (_suf))\");\n * console.log(c.rename(d).toString()); // \"`x_suf\"\n * ```\n */\n rename(prefix_and_suffix: term_t): term_t | null {\n const capacity = buffer_size();\n const term = ds.Term.rename(this.value, prefix_and_suffix.value, capacity);\n if (term === null) {\n return null;\n }\n return new term_t(term, capacity);\n }\n}\n\n/**\n * Wrapper class for logical rules in the deductive system.\n * A rule consists of zero or more premises (above the line) and a conclusion (below the line).\n *\n * @example\n * ```typescript\n * const rule = new rule_t(\"(father `X `Y)\\n----------\\n(parent `X `Y)\\n\");\n * console.log(rule.conclusion().toString()); // \"(parent `X `Y)\"\n * console.log(rule.length()); // 1 (number of premises)\n * ```\n */\nexport class rule_t extends _common_t<dst.Rule> {\n /**\n * Creates a new rule instance.\n *\n * @param value - Initial value (string, buffer, or another rule_t).\n * @param size - Optional buffer capacity for the internal storage.\n * @throws {Error} If initialization fails.\n */\n constructor(value: InitialArgument<dst.Rule>, size: number = 0) {\n super(ds.Rule, value, size);\n }\n\n /**\n * Get the number of premises in the rule.\n *\n * @returns The number of premises.\n */\n length(): number {\n return this.value.length();\n }\n\n /**\n * Get a premise term by index.\n *\n * @param index - The zero-based index of the premise.\n * @returns The premise term at the specified index.\n */\n getitem(index: number): term_t {\n return new term_t(this.value.getitem(index));\n }\n\n /**\n * Get the conclusion of the rule.\n *\n * @returns The conclusion term.\n */\n conclusion(): term_t {\n return new term_t(this.value.conclusion());\n }\n\n /**\n * Ground this rule using a dictionary to substitute variables with values.\n *\n * @param other - A rule representing a dictionary (list of pairs). Each pair contains a variable and its substitution value.\n * Example: new rule_t(\"((`a b))\") means substitute variable `a with value b.\n * @param scope - Optional scope string for variable scoping.\n * @returns The grounded rule, or null if grounding fails.\n *\n * @example\n * ```typescript\n * const a = new rule_t(\"`a\");\n * const b = new rule_t(\"((`a b))\");\n * console.log(a.ground(b).toString()); // \"----\\nb\\n\"\n *\n * // With scope\n * const c = new rule_t(\"`a\");\n * const d = new rule_t(\"((x y `a `b) (y x `b `c))\");\n * console.log(c.ground(d, \"x\").toString()); // \"----\\n`c\\n\"\n * ```\n */\n ground(other: rule_t, scope: string = \"\"): rule_t | null {\n const capacity = buffer_size();\n const rule = ds.Rule.ground(this.value, other.value, scope, capacity);\n if (rule === null) {\n return null;\n }\n return new rule_t(rule, capacity);\n }\n\n /**\n * Match this rule with another rule using unification.\n * This unifies the first premise of this rule with the other rule.\n * The other rule must be a fact (a rule without premises).\n *\n * @param other - The rule to match against (must be a fact without premises).\n * @returns The matched rule, or null if matching fails.\n *\n * @example\n * ```typescript\n * const mp = new rule_t(\"(`p -> `q)\\n`p\\n`q\\n\");\n * const pq = new rule_t(\"((! (! `x)) -> `x)\");\n * console.log(mp.match(pq).toString()); // \"(! (! `x))\\n----------\\n`x\\n\"\n * ```\n */\n match(other: rule_t): rule_t | null {\n const capacity = buffer_size();\n const rule = ds.Rule.match(this.value, other.value, capacity);\n if (rule === null) {\n return null;\n }\n return new rule_t(rule, capacity);\n }\n\n /**\n * Rename all variables in this rule by adding prefix and suffix.\n *\n * @param prefix_and_suffix - A rule with only a conclusion that is a list with two inner lists.\n * Each inner list contains 0 or 1 item representing the prefix and suffix.\n * Example: \"((pre_) (_suf))\" adds \"pre_\" as prefix and \"_suf\" as suffix.\n * @returns The renamed rule, or null if renaming fails.\n *\n * @example\n * ```typescript\n * const a = new rule_t(\"`x\");\n * const b = new rule_t(\"((pre_) (_suf))\");\n * console.log(a.rename(b).toString()); // \"----\\n`pre_x_suf\\n\"\n *\n * // With empty prefix (only suffix)\n * const c = new rule_t(\"`x\");\n * const d = new rule_t(\"(() (_suf))\");\n * console.log(c.rename(d).toString()); // \"----\\n`x_suf\\n\"\n * ```\n */\n rename(prefix_and_suffix: rule_t): rule_t | null {\n const capacity = buffer_size();\n const rule = ds.Rule.rename(this.value, prefix_and_suffix.value, capacity);\n if (rule === null) {\n return null;\n }\n return new rule_t(rule, capacity);\n }\n}\n\n/**\n * Search engine for the deductive system.\n * Manages a knowledge base of rules and performs logical inference.\n *\n * @example\n * ```typescript\n * const search = new search_t();\n * search.add(\"(parent john mary)\");\n * search.add(\"(father `X `Y)\\n----------\\n(parent `X `Y)\\n\");\n * search.execute((rule) => {\n * console.log(rule.toString());\n * return false; // Return false to continue, true to stop\n * });\n * ```\n */\nexport class search_t {\n _search: dst.Search;\n\n /**\n * Creates a new search engine instance.\n *\n * @param limit_size - Size of the buffer for storing the final objects (rules/facts) in the knowledge base (default: 1000).\n * @param buffer_size - Size of the buffer for internal operations like conversions and transformations (default: 10000).\n */\n constructor(limit_size: number = 1000, buffer_size: number = 10000) {\n this._search = new ds.Search(limit_size, buffer_size);\n }\n\n /**\n * Set the size of the buffer for storing final objects.\n *\n * @param limit_size - The new limit size for storing rules/facts.\n */\n set_limit_size(limit_size: number): void {\n this._search.set_limit_size(limit_size);\n }\n\n /**\n * Set the buffer size for internal operations.\n *\n * @param buffer_size - The new buffer size.\n */\n set_buffer_size(buffer_size: number): void {\n this._search.set_buffer_size(buffer_size);\n }\n\n /**\n * Reset the search engine, clearing all rules and facts.\n */\n reset(): void {\n this._search.reset();\n }\n\n /**\n * Add a rule or fact to the knowledge base.\n *\n * @param text - The rule or fact as a string.\n * @returns True if successfully added, false otherwise.\n */\n add(text: string): boolean {\n return this._search.add(text);\n }\n\n /**\n * Execute the search engine with a callback for each inferred rule.\n *\n * @param callback - Function called for each candidate rule. Return false to continue, true to stop.\n * @returns The number of rules processed.\n */\n execute(callback: (candidate: rule_t) => boolean): number {\n return this._search.execute((candidate: dst.Rule): boolean => {\n return callback(new rule_t(candidate).copy());\n });\n }\n}\n","async function Module(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!=\"renderer\";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import(\"module\");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");if(_scriptName.startsWith(\"file:\")){scriptDirectory=require(\"path\").dirname(require(\"url\").fileURLToPath(_scriptName))+\"/\"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:\"utf8\");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(\".\",_scriptName).href}catch{}{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=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:\"same-origin\"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+\" : \"+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith(\"file://\");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports[\"C\"]()}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module[\"onAbort\"]?.(what);what=\"Aborted(\"+what+\")\";err(what);ABORT=true;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module[\"locateFile\"]){return locateFile(\"ds.wasm\")}return new URL(\"ds.wasm\",import.meta.url).href}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\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result[\"instance\"])}var info=getWasmImports();if(Module[\"instantiateWasm\"]){return new Promise((resolve,reject)=>{Module[\"instantiateWasm\"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var __abort_js=()=>abort(\"\");var AsciiToString=ptr=>{var str=\"\";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};var throwBindingError=message=>{throw new BindingError(message)};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];case 8:return signed?pointer=>HEAP64[pointer>>3]:pointer=>HEAPU64[pointer>>3];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0n;let fromWireType=value=>value;if(isUnsignedType){const bitSize=size*8;fromWireType=value=>BigInt.asUintN(bitSize,value);maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>{if(typeof value==\"number\"){value=BigInt(value)}return value},readValueFromPointer:integerReadValueFromPointer(name,size,!isUnsignedType),destructorFunction:null})};var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},readValueFromPointer:function(pointer){return this.fromWireType(HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var attachFinalizer=handle=>{if(!globalThis.FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}};var delayFunction;var init_ClassHandle=()=>{let proto=ClassHandle.prototype;Object.assign(proto,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}});const symbolDispose=Symbol.dispose;if(symbolDispose){proto[symbolDispose]=proto[\"delete\"]}};function ClassHandle(){}var createNamedFunction=(name,func)=>Object.defineProperty(func,\"name\",{value:name});var registeredPointers={};var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};var embindRepr=v=>{if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle[\"delete\"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this.fromWireType(HEAPU32[pointer>>2])}var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var InternalError=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};var throwInternalError=message=>{throw new InternalError(message)};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this.toWireType=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this.toWireType=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this.toWireType=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistent public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var embind__requireFunction=(signature,rawFunction,isAsync=false)=>{signature=AsciiToString(signature);function makeDynCaller(){var rtn=getWasmTableEntry(rawFunction);return rtn}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};class UnboundTypeError extends Error{}var getTypeName=type=>{var ptr=___getTypeName(type);var rv=AsciiToString(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;for(let[i,dt]of dependentTypes.entries()){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}}if(0===unregisteredTypes.length){onComplete(typeConverters)}};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=AsciiToString(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(`Use 'new' to construct ${name}`)}if(undefined===registeredClass.constructor_body){throw new BindingError(`${name} has no accessible constructor`)}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){return true}}return false}function createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync){var needsDestructorStack=usesDestructorStack(argTypes);var argCount=argTypes.length-2;var argsList=[];var argsListWired=[\"fn\"];if(isClassMethodFunc){argsListWired.push(\"thisWired\")}for(var i=0;i<argCount;++i){argsList.push(`arg${i}`);argsListWired.push(`arg${i}Wired`)}argsList=argsList.join(\",\");argsListWired=argsListWired.join(\",\");var invokerFnBody=`return function (${argsList}) {\\n`;if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"humanName\",\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"fromRetWire\",\"toClassParamWire\"];if(isClassMethodFunc){invokerFnBody+=`var thisWired = toClassParamWire(${dtorStack}, this);\\n`}for(var i=0;i<argCount;++i){var argName=`toArg${i}Wire`;invokerFnBody+=`var arg${i}Wired = ${argName}(${dtorStack}, arg${i});\\n`;args1.push(argName)}invokerFnBody+=(returns||isAsync?\"var rv = \":\"\")+`invoker(${argsListWired});\\n`;if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=`${paramName}_dtor(${paramName});\\n`;args1.push(`${paramName}_dtor`)}}}if(returns){invokerFnBody+=\"var ret = fromRetWire(rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";return new Function(args1,invokerFnBody)}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=!argTypes[0].isVoid;var retType=argTypes[0];var instType=argTypes[1];var closureArgs=[humanName,throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,retType.fromWireType.bind(retType),instType?.toWireType.bind(instType)];for(var i=2;i<argCount;++i){var argType=argTypes[i];closureArgs.push(argType.toWireType.bind(argType))}if(!needsDestructorStack){for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){if(argTypes[i].destructorFunction!==null){closureArgs.push(argTypes[i].destructorFunction)}}}let invokerFactory=createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync);var invokerFn=invokerFactory(...closureArgs);return createNamedFunction(humanName,invokerFn)}var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf(\"(\");if(argsIndex===-1)return signature;return signature.slice(0,argsIndex)};var __embind_register_class_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})};var __embind_register_class_constructor=(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[0,1,,1,null,1,true,1,false,1];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var Emval={toValue:handle=>{if(!handle){throwBindingError(`Cannot use deleted val. handle = ${handle}`)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:\"emscripten::val\",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var enumReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?function(pointer){return this.fromWireType(HEAP8[pointer])}:function(pointer){return this.fromWireType(HEAPU8[pointer])};case 2:return signed?function(pointer){return this.fromWireType(HEAP16[pointer>>1])}:function(pointer){return this.fromWireType(HEAPU16[pointer>>1])};case 4:return signed?function(pointer){return this.fromWireType(HEAP32[pointer>>2])}:function(pointer){return this.fromWireType(HEAPU32[pointer>>2])};default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_enum=(rawType,name,size,isSigned)=>{name=AsciiToString(name);function ctor(){}ctor.values={};registerType(rawType,{name,constructor:ctor,fromWireType:function(c){return this.constructor.values[c]},toWireType:(destructors,c)=>c.value,readValueFromPointer:enumReadValueFromPointer(name,size,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var __embind_register_enum_value=(rawEnumType,name,enumValue)=>{var enumType=requireRegisteredType(rawEnumType,\"enum\");name=AsciiToString(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(`${enumType.name}_${name}`,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this.fromWireType(HEAPF32[pointer>>2])};case 8:return function(pointer){return this.fromWireType(HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0;let fromWireType=value=>value;if(isUnsignedType){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift;maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>value,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=AsciiToString(name);registerType(rawType,{name,fromWireType:decodeMemoryView,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var EmValOptionalType=Object.assign({optional:true},EmValType);var __embind_register_optional=(rawOptionalType,rawType)=>{registerType(rawOptionalType,EmValOptionalType)};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):\"\";var __embind_register_std_string=(rawType,name)=>{name=AsciiToString(name);var stdStringIsUTF8=true;registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){str=UTF8ToString(payload,length,true)}else{str=\"\";for(var i=0;i<length;++i){str+=String.fromCharCode(HEAPU8[payload+i])}}_free(value);return str},toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||ArrayBuffer.isView(value)&&value.BYTES_PER_ELEMENT==1)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(valueIsOfTypeString){if(stdStringIsUTF8){stringToUTF8(value,ptr,length+1)}else{for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(base);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}}else{HEAPU8.set(value,ptr)}if(destructors!==null){destructors.push(_free,base)}return base},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var UTF16Decoder=globalThis.TextDecoder?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx));var str=\"\";for(var i=idx;i<endIdx;++i){var codeUnit=HEAPU16[i];str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str=\"\";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=AsciiToString(name);var decodeString,encodeString,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16}else{decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str=decodeString(value+4,length*charSize,true);_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=AsciiToString(name);registerType(rawType,{isVoid:true,name,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var emval_methodCallers=[];var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*4>>2],`parameter ${i}`)}return a};var emval_returnValue=(toReturnWire,destructorsRef,handle)=>{var destructors=[];var result=toReturnWire(destructors,handle);if(destructors.length){HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return AsciiToString(address)}return symbol};var __emval_create_invoker=(argCount,argTypesPtr,kind)=>{var GenericWireTypeSize=8;var[retType,...argTypes]=emval_lookupTypes(argCount,argTypesPtr);var toReturnWire=retType.toWireType.bind(retType);var argFromPtr=argTypes.map(type=>type.readValueFromPointer.bind(type));argCount--;var captures={toValue:Emval.toValue};var args=argFromPtr.map((argFromPtr,i)=>{var captureName=`argFromPtr${i}`;captures[captureName]=argFromPtr;return`${captureName}(args${i?\"+\"+i*GenericWireTypeSize:\"\"})`});var functionBody;switch(kind){case 0:functionBody=\"toValue(handle)\";break;case 2:functionBody=\"new (toValue(handle))\";break;case 3:functionBody=\"\";break;case 1:captures[\"getStringOrSymbol\"]=getStringOrSymbol;functionBody=\"toValue(handle)[getStringOrSymbol(methodName)]\";break}functionBody+=`(${args})`;if(!retType.isVoid){captures[\"toReturnWire\"]=toReturnWire;captures[\"emval_returnValue\"]=emval_returnValue;functionBody=`return emval_returnValue(toReturnWire, destructorsRef, ${functionBody})`}functionBody=`return function (handle, methodName, destructorsRef, args) {\\n ${functionBody}\\n }`;var invokerFunction=new Function(Object.keys(captures),functionBody)(...Object.values(captures));var functionName=`methodCaller<(${argTypes.map(t=>t.name)}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_incref=handle=>{if(handle>9){emval_handles[handle+1]+=1}};var __emval_invoke=(caller,handle,methodName,destructorsRef,args)=>emval_methodCallers[caller](handle,methodName,destructorsRef,args);var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var timers={};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module[\"onExit\"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};init_ClassHandle();init_RegisteredPointer();{if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(Module[\"print\"])out=Module[\"print\"];if(Module[\"printErr\"])err=Module[\"printErr\"];if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].shift()()}}}var _malloc,___getTypeName,__emscripten_timeout,_free,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_malloc=wasmExports[\"D\"];___getTypeName=wasmExports[\"E\"];__emscripten_timeout=wasmExports[\"F\"];_free=wasmExports[\"H\"];memory=wasmMemory=wasmExports[\"B\"];__indirect_function_table=wasmTable=wasmExports[\"G\"]}var wasmImports={l:___cxa_throw,s:__abort_js,o:__embind_register_bigint,w:__embind_register_bool,e:__embind_register_class,b:__embind_register_class_class_function,n:__embind_register_class_constructor,a:__embind_register_class_function,u:__embind_register_emval,z:__embind_register_enum,f:__embind_register_enum_value,m:__embind_register_float,d:__embind_register_integer,c:__embind_register_memory_view,A:__embind_register_optional,v:__embind_register_std_string,j:__embind_register_std_wstring,x:__embind_register_void,q:__emscripten_runtime_keepalive_clear,i:__emval_create_invoker,k:__emval_decref,y:__emval_incref,h:__emval_invoke,g:__emval_run_destructors,r:__setitimer_js,t:_emscripten_resize_heap,p:_proc_exit};function run(){preRun();function doRun(){Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module[\"onRuntimeInitialized\"]?.();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(()=>{setTimeout(()=>Module[\"setStatus\"](\"\"),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}\n;return moduleRtn}export default Module;\n"],"names":["ds","async","moduleArg","Module","ENVIRONMENT_IS_WEB","globalThis","window","ENVIRONMENT_IS_WORKER","WorkerGlobalScope","ENVIRONMENT_IS_NODE","process","versions","node","type","createRequire","import","require","url","readAsync","readBinary","quit_","status","toThrow","_scriptName","scriptDirectory","fs","startsWith","dirname","fileURLToPath","filename","isFileURI","URL","readFileSync","binary","undefined","argv","length","replace","slice","exitCode","href","xhr","XMLHttpRequest","open","responseType","send","Uint8Array","response","Promise","resolve","reject","onload","onerror","fetch","credentials","ok","arrayBuffer","Error","console","log","bind","wasmBinary","EXITSTATUS","readyPromiseResolve","readyPromiseReject","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAPF64","HEAP64","HEAPU64","wasmBinaryFile","err","error","ABORT","runtimeInitialized","updateMemoryViews","b","wasmMemory","buffer","Int8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","abort","what","e","WebAssembly","RuntimeError","findWasmBinary","path","getWasmBinary","binaryFile","file","getBinarySync","instantiateAsync","imports","instantiateStreaming","reason","instantiate","instantiateArrayBuffer","ExitStatus","name","constructor","this","message","callRuntimeCallbacks","callbacks","shift","onPostRuns","addOnPostRun","cb","push","onPreRuns","addOnPreRun","noExitRuntime","ExceptionInfo","excPtr","ptr","set_type","get_type","set_destructor","destructor","get_destructor","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","init","set_adjusted_ptr","adjustedPtr","get_adjusted_ptr","AsciiToString","str","ch","String","fromCharCode","awaitingDependencies","registeredTypes","typeDependencies","BindingError","super","throwBindingError","registerType","rawType","registeredInstance","options","hasOwnProperty","ignoreDuplicateRegistrations","forEach","sharedRegisterType","integerReadValueFromPointer","width","signed","pointer","TypeError","throwInstanceAlreadyDeleted","obj","$$","ptrType","registeredClass","finalizationRegistry","detachFinalizer","handle","releaseClassHandle","count","value","smartPtr","smartPtrType","rawDestructor","runDestructor","attachFinalizer","FinalizationRegistry","info","register","unregister","ClassHandle","createNamedFunction","func","Object","defineProperty","registeredPointers","ensureOverloadTable","proto","methodName","humanName","overloadTable","prevFunc","args","apply","argCount","exposePublicSymbol","numArguments","RegisteredClass","instancePrototype","baseClass","getActualType","upcast","downcast","pureVirtualFunctions","upcastPointer","ptrClass","desiredClass","embindRepr","v","t","toString","constNoSmartPtrRawPointerToWireType","destructors","isReference","handleClass","genericPointerToWireType","isSmartPointer","rawConstructor","isConst","sharingPolicy","clonedHandle","rawShare","Emval","toHandle","nonConstNoSmartPtrRawPointerToWireType","readPointer","fromWireType","downcastPointer","rv","registeredInstances","getInheritedInstance","class_","getBasestPointer","InternalError","throwInternalError","makeClassHandle","prototype","record","create","writable","RegisteredPointer_fromWireType","rawPointer","getPointee","makeDefaultHandle","pointeeType","toType","actualType","registeredPointerRecord","call","constPointerType","pointerType","dp","RegisteredPointer","rawGetPointee","toWireType","destructorFunction","wasmTableMirror","embind__requireFunction","signature","rawFunction","isAsync","funcPtr","fp","wasmTable","get","UnboundTypeError","getTypeName","___getTypeName","_free","throwUnboundTypeError","types","unboundTypes","seen","visit","map","join","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","i","Array","unregisteredTypes","registered","dt","entries","runDestructors","pop","del","usesDestructorStack","argTypes","craftInvokerFunction","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","returns","isVoid","retType","instType","closureArgs","argType","invokerFactory","argsList","argsListWired","invokerFnBody","dtorStack","args1","argName","paramName","Function","createJsInvoker","invokerFn","_malloc","__emscripten_timeout","heap32VectorToArray","firstElement","array","getFunctionName","argsIndex","trim","indexOf","emval_freelist","emval_handles","__emval_decref","toValue","EmValType","readValueFromPointer","enumReadValueFromPointer","requireRegisteredType","impl","floatReadValueFromPointer","EmValOptionalType","assign","optional","UTF8Decoder","TextDecoder","findStringEnd","heapOrArray","idx","maxBytesToRead","ignoreNul","maxIdx","UTF8ToString","endPtr","decode","subarray","u0","u1","u2","UTF8ArrayToString","UTF16Decoder","UTF16ToString","endIdx","codeUnit","stringToUTF16","outPtr","maxBytesToWrite","startPtr","numCharsToWrite","charCodeAt","lengthBytesUTF16","UTF32ToString","startIdx","utf32","fromCodePoint","stringToUTF32","codePoint","codePointAt","lengthBytesUTF32","len","runtimeKeepaliveCounter","emval_methodCallers","emval_returnValue","toReturnWire","destructorsRef","result","emval_symbols","getStringOrSymbol","address","symbol","timers","handleException","keepRuntimeAlive","_proc_exit","code","_exit","implicit","callUserCallback","maybeExit","alignMemory","size","alignment","Math","ceil","growMemory","pages","byteLength","grow","isAliasOf","other","leftClass","left","rightClass","right","clone","preservePointerOnDelete","o","getPrototypeOf","deleteScheduled","isDeleted","deleteLater","symbolDispose","Symbol","dispose","init_ClassHandle","wasmExports","wasmImports","l","s","primitiveType","minRange","maxRange","isUnsignedType","bitSize","BigInt","asUintN","w","trueValue","falseValue","wt","rawPointerType","rawConstPointerType","baseClassRawType","getActualTypeSignature","upcastSignature","downcastSignature","destructorSignature","legalFunctionName","f","makeLegalFunctionName","base","basePrototype","constructor_body","body","keys","__derivedClasses","referenceConverter","pointerConverter","constPointerConverter","replacePublicSymbol","rawClassType","rawArgTypesAddr","invokerSignature","rawInvoker","fn","isNonnullReturn","rawArgTypes","unboundTypesHandler","substring","invokerArgsArray","concat","derivedClass","n","invoker","splice","a","context","isPureVirtual","method","className","memberFunction","u","z","isSigned","ctor","values","c","rawEnumType","enumValue","enumType","Enum","Value","m","d","bitshift","dataTypeIndex","TA","decodeMemoryView","data","A","rawOptionalType","ArrayBuffer","valueIsOfTypeString","isView","BYTES_PER_ELEMENT","lengthBytesUTF8","heap","outIdx","stringToUTF8Array","set","j","charSize","decodeString","encodeString","lengthBytesUTF","x","q","argTypesPtr","kind","emval_lookupTypes","argFromPtr","functionBody","captures","captureName","caller","id","invokerFunction","functionName","k","y","h","g","r","which","timeout_ms","clearTimeout","setTimeout","performance","now","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","min","newSize","max","p","receiveInstance","instance","module","assignWasmExports","exports","inst","mod","receiveInstantiationResult","doRun","postRun","preRun","run","create_ds","_buffer_size","buffer_size","old_size","_common_t","capacity","from_string","Buffer","from_binary","to_string","to_binary","data_size","copy","this_constructor","key","string_t","variable_t","Variable","item_t","Item","list_t","List","getitem","index","term_t","Term","term","term_type","TermType","variable","item","list","ground","scope","rename","prefix_and_suffix","rule_t","Rule","conclusion","rule","match","search_t","_search","limit_size","Search","set_limit_size","set_buffer_size","reset","add","text","execute","callback","candidate"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -14,13 +14,10 @@
|
|
|
14
14
|
"browser": "dist/tsds.mjs",
|
|
15
15
|
"types": "dist/tsds.d.mts",
|
|
16
16
|
"files": [
|
|
17
|
-
"dist/
|
|
18
|
-
"dist/ds.d.mts",
|
|
19
|
-
"dist/ds.mjs.map",
|
|
17
|
+
"dist/tsds.d.mts",
|
|
20
18
|
"dist/ds.wasm",
|
|
21
19
|
"dist/ds.wasm.map",
|
|
22
20
|
"dist/tsds.mjs",
|
|
23
|
-
"dist/tsds.d.mts",
|
|
24
21
|
"dist/tsds.mjs.map"
|
|
25
22
|
],
|
|
26
23
|
"scripts": {
|
|
@@ -40,10 +37,11 @@
|
|
|
40
37
|
"jest": "^30.2.0",
|
|
41
38
|
"npm-run-all": "^4.1.5",
|
|
42
39
|
"rollup": "^4.53.3",
|
|
40
|
+
"rollup-plugin-dts": "^6.3.0",
|
|
43
41
|
"ts-jest": "^29.4.5",
|
|
44
42
|
"ts-node": "^10.9.2",
|
|
45
43
|
"tslib": "^2.8.1",
|
|
46
44
|
"typescript": "^5.9.3"
|
|
47
45
|
},
|
|
48
|
-
"version": "0.0.
|
|
46
|
+
"version": "0.0.3-alpha1"
|
|
49
47
|
}
|
package/dist/ds.d.mts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
// TypeScript bindings for emscripten-generated code. Automatically generated at compile time.
|
|
2
|
-
interface WasmModule {
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
type EmbindString = ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|string;
|
|
6
|
-
export interface ClassHandle {
|
|
7
|
-
isAliasOf(other: ClassHandle): boolean;
|
|
8
|
-
delete(): void;
|
|
9
|
-
deleteLater(): this;
|
|
10
|
-
isDeleted(): boolean;
|
|
11
|
-
// @ts-ignore - If targeting lower than ESNext, this symbol might not exist.
|
|
12
|
-
[Symbol.dispose](): void;
|
|
13
|
-
clone(): this;
|
|
14
|
-
}
|
|
15
|
-
export interface Buffer extends ClassHandle {
|
|
16
|
-
push_back(_0: number): void;
|
|
17
|
-
resize(_0: number, _1: number): void;
|
|
18
|
-
size(): number;
|
|
19
|
-
get(_0: number): number | undefined;
|
|
20
|
-
set(_0: number, _1: number): boolean;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface String extends ClassHandle {
|
|
24
|
-
clone(): String;
|
|
25
|
-
data_size(): number;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface Item extends ClassHandle {
|
|
29
|
-
clone(): Item;
|
|
30
|
-
name(): String | null;
|
|
31
|
-
data_size(): number;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface Variable extends ClassHandle {
|
|
35
|
-
clone(): Variable;
|
|
36
|
-
name(): String | null;
|
|
37
|
-
data_size(): number;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export interface List extends ClassHandle {
|
|
41
|
-
clone(): List;
|
|
42
|
-
length(): number;
|
|
43
|
-
getitem(_0: number): Term | null;
|
|
44
|
-
data_size(): number;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export interface Term extends ClassHandle {
|
|
48
|
-
clone(): Term;
|
|
49
|
-
get_type(): TermType;
|
|
50
|
-
variable(): Variable | null;
|
|
51
|
-
item(): Item | null;
|
|
52
|
-
list(): List | null;
|
|
53
|
-
data_size(): number;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export interface Rule extends ClassHandle {
|
|
57
|
-
clone(): Rule;
|
|
58
|
-
conclusion(): Term | null;
|
|
59
|
-
length(): number;
|
|
60
|
-
getitem(_0: number): Term | null;
|
|
61
|
-
data_size(): number;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface TermTypeValue<T extends number> {
|
|
65
|
-
value: T;
|
|
66
|
-
}
|
|
67
|
-
export type TermType = TermTypeValue<1>|TermTypeValue<2>|TermTypeValue<3>|TermTypeValue<0>;
|
|
68
|
-
|
|
69
|
-
export interface Search extends ClassHandle {
|
|
70
|
-
reset(): void;
|
|
71
|
-
set_limit_size(_0: number): void;
|
|
72
|
-
set_buffer_size(_0: number): void;
|
|
73
|
-
add(_0: EmbindString): boolean;
|
|
74
|
-
execute(_0: any): number;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
interface EmbindModule {
|
|
78
|
-
Buffer: {
|
|
79
|
-
new(): Buffer;
|
|
80
|
-
};
|
|
81
|
-
String: {
|
|
82
|
-
from_binary(_0: Buffer): String;
|
|
83
|
-
to_binary(_0: String | null): Buffer;
|
|
84
|
-
from_string(_0: EmbindString, _1: number): String;
|
|
85
|
-
to_string(_0: String | null, _1: number): string;
|
|
86
|
-
};
|
|
87
|
-
Item: {
|
|
88
|
-
from_binary(_0: Buffer): Item;
|
|
89
|
-
to_binary(_0: Item | null): Buffer;
|
|
90
|
-
from_string(_0: EmbindString, _1: number): Item;
|
|
91
|
-
to_string(_0: Item | null, _1: number): string;
|
|
92
|
-
};
|
|
93
|
-
Variable: {
|
|
94
|
-
from_binary(_0: Buffer): Variable;
|
|
95
|
-
to_binary(_0: Variable | null): Buffer;
|
|
96
|
-
from_string(_0: EmbindString, _1: number): Variable;
|
|
97
|
-
to_string(_0: Variable | null, _1: number): string;
|
|
98
|
-
};
|
|
99
|
-
List: {
|
|
100
|
-
from_binary(_0: Buffer): List;
|
|
101
|
-
to_binary(_0: List | null): Buffer;
|
|
102
|
-
from_string(_0: EmbindString, _1: number): List;
|
|
103
|
-
to_string(_0: List | null, _1: number): string;
|
|
104
|
-
};
|
|
105
|
-
Term: {
|
|
106
|
-
from_binary(_0: Buffer): Term;
|
|
107
|
-
to_binary(_0: Term | null): Buffer;
|
|
108
|
-
rename(_0: Term | null, _1: Term | null, _2: number): Term;
|
|
109
|
-
from_string(_0: EmbindString, _1: number): Term;
|
|
110
|
-
to_string(_0: Term | null, _1: number): string;
|
|
111
|
-
ground(_0: Term | null, _1: Term | null, _2: EmbindString, _3: number): Term;
|
|
112
|
-
};
|
|
113
|
-
Rule: {
|
|
114
|
-
from_binary(_0: Buffer): Rule;
|
|
115
|
-
to_binary(_0: Rule | null): Buffer;
|
|
116
|
-
match(_0: Rule | null, _1: Rule | null, _2: number): Rule;
|
|
117
|
-
rename(_0: Rule | null, _1: Rule | null, _2: number): Rule;
|
|
118
|
-
from_string(_0: EmbindString, _1: number): Rule;
|
|
119
|
-
to_string(_0: Rule | null, _1: number): string;
|
|
120
|
-
ground(_0: Rule | null, _1: Rule | null, _2: EmbindString, _3: number): Rule;
|
|
121
|
-
};
|
|
122
|
-
TermType: {Variable: TermTypeValue<1>, Item: TermTypeValue<2>, List: TermTypeValue<3>, Null: TermTypeValue<0>};
|
|
123
|
-
Search: {
|
|
124
|
-
new(_0: number, _1: number): Search;
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export type MainModule = WasmModule & EmbindModule;
|
|
129
|
-
export default function MainModuleFactory (options?: unknown): Promise<MainModule>;
|
package/dist/ds.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
async function r(r={}){var e=r,t=!!globalThis.window,n=!!globalThis.WorkerGlobalScope,a=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;if(a){const{createRequire:r}=await import("module");var s=r(import.meta.url)}var i,o,u=(r,e)=>{throw e},l=import.meta.url,c="";if(a){var p=s("fs");l.startsWith("file:")&&(c=s("path").dirname(s("url").fileURLToPath(l))+"/"),o=r=>(r=_(r)?new URL(r):r,p.readFileSync(r)),i=async(r,e=!0)=>(r=_(r)?new URL(r):r,p.readFileSync(r,e?void 0:"utf8")),process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),u=(r,e)=>{throw process.exitCode=r,e}}else if(t||n){try{c=new URL(".",l).href}catch{}n&&(o=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),i=async r=>{if(_(r))return new Promise((e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t(n.status)},n.onerror=t,n.send(null)});var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)}}console.log.bind(console);var h,d,f,v,y,m,$,g,w,b,T,C,P,W,A,F=console.error.bind(console),R=!1,_=r=>r.startsWith("file://"),S=!1;function O(){var r=xr.buffer;y=new Int8Array(r),$=new Int16Array(r),m=new Uint8Array(r),g=new Uint16Array(r),w=new Int32Array(r),b=new Uint32Array(r),T=new Float32Array(r),C=new Float64Array(r),P=new BigInt64Array(r),W=new BigUint64Array(r)}function E(r){e.onAbort?.(r),F(r="Aborted("+r+")"),R=!0,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw v?.(t),t}function V(){return e.locateFile?(r="ds.wasm",e.locateFile?e.locateFile(r,c):c+r):new URL("ds.wasm",import.meta.url).href;var r}async function j(r){if(!h)try{var e=await i(r);return new Uint8Array(e)}catch{}return function(r){if(r==A&&h)return new Uint8Array(h);if(o)return o(r);throw"both async and sync fetching of the wasm failed"}(r)}async function k(r,e,t){if(!r&&!_(e)&&!a)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(r){F(`wasm streaming compile failed: ${r}`),F("falling back to ArrayBuffer instantiation")}return async function(r,e){try{var t=await j(r);return await WebAssembly.instantiate(t,e)}catch(r){F(`failed to asynchronously prepare wasm: ${r}`),E(r)}}(e,t)}class x{name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var D=r=>{for(;r.length>0;)r.shift()(e)},U=[],I=r=>U.push(r),B=[],L=r=>B.push(r),M=!0;class H{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){b[this.ptr+4>>2]=r}get_type(){return b[this.ptr+4>>2]}set_destructor(r){b[this.ptr+8>>2]=r}get_destructor(){return b[this.ptr+8>>2]}set_caught(r){r=r?1:0,y[this.ptr+12]=r}get_caught(){return 0!=y[this.ptr+12]}set_rethrown(r){r=r?1:0,y[this.ptr+13]=r}get_rethrown(){return 0!=y[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){b[this.ptr+16>>2]=r}get_adjusted_ptr(){return b[this.ptr+16>>2]}}var N=r=>{for(var e="";;){var t=m[r++];if(!t)return e;e+=String.fromCharCode(t)}},G={},z={},q={},X=class extends Error{constructor(r){super(r),this.name="BindingError"}},Y=r=>{throw new X(r)};function Z(r,e,t={}){return function(r,e,t={}){var n=e.name;if(r||Y(`type "${n}" must have a positive integer typeid pointer`),z.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;Y(`Cannot register type '${n}' twice`)}if(z[r]=e,delete q[r],G.hasOwnProperty(r)){var a=G[r];delete G[r],a.forEach(r=>r())}}(r,e,t)}var J=(r,e,t)=>{switch(e){case 1:return t?r=>y[r]:r=>m[r];case 2:return t?r=>$[r>>1]:r=>g[r>>1];case 4:return t?r=>w[r>>2]:r=>b[r>>2];case 8:return t?r=>P[r>>3]:r=>W[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},K=r=>{Y(r.$$.ptrType.registeredClass.name+" instance already deleted")},Q=!1,rr=r=>{},er=r=>{r.count.value-=1,0===r.count.value&&(r=>{r.smartPtr?r.smartPtrType.rawDestructor(r.smartPtr):r.ptrType.registeredClass.rawDestructor(r.ptr)})(r)},tr=r=>globalThis.FinalizationRegistry?(Q=new FinalizationRegistry(r=>{er(r.$$)}),tr=r=>{var e=r.$$;if(!!e.smartPtr){var t={$$:e};Q.register(r,t,r)}return r},rr=r=>Q.unregister(r),tr(r)):(tr=r=>r,r);function nr(){}var ar=(r,e)=>Object.defineProperty(e,"name",{value:r}),sr={},ir=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||Y(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},or=(r,t,n)=>{e.hasOwnProperty(r)?(Y(`Cannot register public name '${r}' twice`),ir(e,r,r),e[r].overloadTable.hasOwnProperty(n)&&Y(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),e[r].overloadTable[n]=t):(e[r]=t,e[r].argCount=n)};function ur(r,e,t,n,a,s,i,o){this.name=r,this.constructor=e,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=s,this.upcast=i,this.downcast=o,this.pureVirtualFunctions=[]}var lr=(r,e,t)=>{for(;e!==t;)e.upcast||Y(`Expected null or instance of ${t.name}, got an instance of ${e.name}`),r=e.upcast(r),e=e.baseClass;return r},cr=r=>{if(null===r)return"null";var e=typeof r;return"object"===e||"array"===e||"function"===e?r.toString():""+r};function pr(r,e){if(null===e)return this.isReference&&Y(`null is not a valid ${this.name}`),0;e.$$||Y(`Cannot pass "${cr(e)}" as a ${this.name}`),e.$$.ptr||Y(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=e.$$.ptrType.registeredClass;return lr(e.$$.ptr,t,this.registeredClass)}function hr(r,e){var t;if(null===e)return this.isReference&&Y(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==r&&r.push(this.rawDestructor,t),t):0;e&&e.$$||Y(`Cannot pass "${cr(e)}" as a ${this.name}`),e.$$.ptr||Y(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&e.$$.ptrType.isConst&&Y(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);var n=e.$$.ptrType.registeredClass;if(t=lr(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&Y("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?t=e.$$.smartPtr:Y(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)t=e.$$.smartPtr;else{var a=e.clone();t=this.rawShare(t,Hr.toHandle(()=>a.delete())),null!==r&&r.push(this.rawDestructor,t)}break;default:Y("Unsupporting sharing policy")}return t}function dr(r,e){if(null===e)return this.isReference&&Y(`null is not a valid ${this.name}`),0;e.$$||Y(`Cannot pass "${cr(e)}" as a ${this.name}`),e.$$.ptr||Y(`Cannot pass deleted object as a pointer of type ${this.name}`),e.$$.ptrType.isConst&&Y(`Cannot convert argument of type ${e.$$.ptrType.name} to parameter type ${this.name}`);var t=e.$$.ptrType.registeredClass;return lr(e.$$.ptr,t,this.registeredClass)}function fr(r){return this.fromWireType(b[r>>2])}var vr=(r,e,t)=>{if(e===t)return r;if(void 0===t.baseClass)return null;var n=vr(r,e,t.baseClass);return null===n?null:t.downcast(n)},yr={},mr=(r,e)=>(e=((r,e)=>{for(void 0===e&&Y("ptr should not be undefined");r.baseClass;)e=r.upcast(e),r=r.baseClass;return e})(r,e),yr[e]),$r=class extends Error{constructor(r){super(r),this.name="InternalError"}},gr=r=>{throw new $r(r)},wr=(r,e)=>(e.ptrType&&e.ptr||gr("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&gr("Both smartPtrType and smartPtr must be specified"),e.count={value:1},tr(Object.create(r,{$$:{value:e,writable:!0}})));function br(r){var e=this.getPointee(r);if(!e)return this.destructor(r),null;var t=mr(this.registeredClass,e);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=e,t.$$.smartPtr=r,t.clone();var n=t.clone();return this.destructor(r),n}function a(){return this.isSmartPointer?wr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:r}):wr(this.registeredClass.instancePrototype,{ptrType:this,ptr:r})}var s,i=this.registeredClass.getActualType(e),o=sr[i];if(!o)return a.call(this);s=this.isConst?o.constPointerType:o.pointerType;var u=vr(e,this.registeredClass,s.registeredClass);return null===u?a.call(this):this.isSmartPointer?wr(s.registeredClass.instancePrototype,{ptrType:s,ptr:u,smartPtrType:this,smartPtr:r}):wr(s.registeredClass.instancePrototype,{ptrType:s,ptr:u})}function Tr(r,e,t,n,a,s,i,o,u,l,c){this.name=r,this.registeredClass=e,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=s,this.sharingPolicy=i,this.rawGetPointee=o,this.rawConstructor=u,this.rawShare=l,this.rawDestructor=c,a||void 0!==e.baseClass?this.toWireType=hr:n?(this.toWireType=pr,this.destructorFunction=null):(this.toWireType=dr,this.destructorFunction=null)}var Cr=[],Pr=(r,e,t=!1)=>{r=N(r);var n,a,s=((a=Cr[n=e])||(Cr[n]=a=Dr.get(n)),a);return"function"!=typeof s&&Y(`unknown function pointer with signature ${r}: ${e}`),s};class Wr extends Error{}var Ar=r=>{var e=Vr(r),t=N(e);return kr(e),t},Fr=(r,e)=>{var t=[],n={};throw e.forEach(function r(e){n[e]||z[e]||(q[e]?q[e].forEach(r):(t.push(e),n[e]=!0))}),new Wr(`${r}: `+t.map(Ar).join([", "]))},Rr=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&gr("Mismatched type converter count");for(var a=0;a<r.length;++a)Z(r[a],n[a])}r.forEach(r=>q[r]=e);var a=new Array(e.length),s=[],i=0;for(let[r,t]of e.entries())z.hasOwnProperty(t)?a[r]=z[t]:(s.push(t),G.hasOwnProperty(t)||(G[t]=[]),G[t].push(()=>{a[r]=z[t],++i===s.length&&n(a)}));0===s.length&&n(a)},_r=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function Sr(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}function Or(r,e,t,n,a,s){var i=e.length;i<2&&Y("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==e[1]&&null!==t,u=Sr(e),l=!e[0].isVoid,c=e[0],p=e[1],h=[r,Y,n,a,_r,c.fromWireType.bind(c),p?.toWireType.bind(p)],d=2;d<i;++d){var f=e[d];h.push(f.toWireType.bind(f))}if(!u)for(d=o?1:2;d<e.length;++d)null!==e[d].destructorFunction&&h.push(e[d].destructorFunction);let v=function(r,e,t,n){var a=Sr(r),s=r.length-2,i=[],o=["fn"];e&&o.push("thisWired");for(var u=0;u<s;++u)i.push(`arg${u}`),o.push(`arg${u}Wired`);i=i.join(","),o=o.join(",");var l=`return function (${i}) {\n`;a&&(l+="var destructors = [];\n");var c=a?"destructors":"null",p=["humanName","throwBindingError","invoker","fn","runDestructors","fromRetWire","toClassParamWire"];for(e&&(l+=`var thisWired = toClassParamWire(${c}, this);\n`),u=0;u<s;++u){var h=`toArg${u}Wire`;l+=`var arg${u}Wired = ${h}(${c}, arg${u});\n`,p.push(h)}if(l+=(t||n?"var rv = ":"")+`invoker(${o});\n`,a)l+="runDestructors(destructors);\n";else for(u=e?1:2;u<r.length;++u){var d=1===u?"thisWired":"arg"+(u-2)+"Wired";null!==r[u].destructorFunction&&(l+=`${d}_dtor(${d});\n`,p.push(`${d}_dtor`))}return t&&(l+="var ret = fromRetWire(rv);\nreturn ret;\n"),l+="}\n",new Function(p,l)}(e,o,l,s);var y=v(...h);return ar(r,y)}var Er,Vr,jr,kr,xr,Dr,Ur=(r,e)=>{for(var t=[],n=0;n<r;n++)t.push(b[e+4*n>>2]);return t},Ir=r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)},Br=[],Lr=[0,1,,1,null,1,!0,1,!1,1],Mr=r=>{r>9&&0===--Lr[r+1]&&(Lr[r]=void 0,Br.push(r))},Hr={toValue:r=>(r||Y(`Cannot use deleted val. handle = ${r}`),Lr[r]),toHandle:r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=Br.pop()||Lr.length;return Lr[e]=r,Lr[e+1]=1,e}}}},Nr={name:"emscripten::val",fromWireType:r=>{var e=Hr.toValue(r);return Mr(r),e},toWireType:(r,e)=>Hr.toHandle(e),readValueFromPointer:fr,destructorFunction:null},Gr=(r,e,t)=>{switch(e){case 1:return t?function(r){return this.fromWireType(y[r])}:function(r){return this.fromWireType(m[r])};case 2:return t?function(r){return this.fromWireType($[r>>1])}:function(r){return this.fromWireType(g[r>>1])};case 4:return t?function(r){return this.fromWireType(w[r>>2])}:function(r){return this.fromWireType(b[r>>2])};default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},zr=(r,e)=>{var t=z[r];return void 0===t&&Y(`${e} has unknown type ${Ar(r)}`),t},qr=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(T[r>>2])};case 8:return function(r){return this.fromWireType(C[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}},Xr=Object.assign({optional:!0},Nr),Yr=globalThis.TextDecoder&&new TextDecoder,Zr=(r,e,t,n)=>{var a=e+t;if(n)return a;for(;r[e]&&!(e>=a);)++e;return e},Jr=(r,e,t)=>r?((r,e=0,t,n)=>{var a=Zr(r,e,t,n);if(a-e>16&&r.buffer&&Yr)return Yr.decode(r.subarray(e,a));for(var s="";e<a;){var i=r[e++];if(128&i){var o=63&r[e++];if(192!=(224&i)){var u=63&r[e++];if((i=224==(240&i)?(15&i)<<12|o<<6|u:(7&i)<<18|o<<12|u<<6|63&r[e++])<65536)s+=String.fromCharCode(i);else{var l=i-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else s+=String.fromCharCode((31&i)<<6|o)}else s+=String.fromCharCode(i)}return s})(m,r,e,t):"",Kr=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Qr=(r,e,t)=>{var n=r>>1,a=Zr(g,n,e/2,t);if(a-n>16&&Kr)return Kr.decode(g.subarray(n,a));for(var s="",i=n;i<a;++i){var o=g[i];s+=String.fromCharCode(o)}return s},re=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,a=(t-=2)<2*r.length?t/2:r.length,s=0;s<a;++s){var i=r.charCodeAt(s);$[e>>1]=i,e+=2}return $[e>>1]=0,e-n},ee=r=>2*r.length,te=(r,e,t)=>{for(var n="",a=r>>2,s=0;!(s>=e/4);s++){var i=b[a+s];if(!i&&!t)break;n+=String.fromCodePoint(i)}return n},ne=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,a=n+t-4,s=0;s<r.length;++s){var i=r.codePointAt(s);if(i>65535&&s++,w[e>>2]=i,(e+=4)+4>a)break}return w[e>>2]=0,e-n},ae=r=>{for(var e=0,t=0;t<r.length;++t){r.codePointAt(t)>65535&&t++,e+=4}return e},se=0,ie=[],oe=(r,e,t)=>{var n=[],a=r(n,t);return n.length&&(b[e>>2]=Hr.toHandle(n)),a},ue={},le=r=>{var e=ue[r];return void 0===e?N(r):e},ce={},pe=r=>{if(r instanceof x||"unwind"==r)return d;u(1,r)},he=()=>M||se>0,de=r=>{d=r,he()||(e.onExit?.(r),R=!0),u(r,new x(r))},fe=(r,e)=>{d=r,de(r)},ve=r=>{if(!R)try{r(),(()=>{if(!he())try{fe(d)}catch(r){pe(r)}})()}catch(r){pe(r)}},ye=(r,e)=>Math.ceil(r/e)*e,me=r=>{var e=(r-xr.buffer.byteLength+65535)/65536|0;try{return xr.grow(e),O(),1}catch(r){}};if((()=>{let r=nr.prototype;Object.assign(r,{isAliasOf(r){if(!(this instanceof nr))return!1;if(!(r instanceof nr))return!1;var e=this.$$.ptrType.registeredClass,t=this.$$.ptr;r.$$=r.$$;for(var n=r.$$.ptrType.registeredClass,a=r.$$.ptr;e.baseClass;)t=e.upcast(t),e=e.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return e===n&&t===a},clone(){if(this.$$.ptr||K(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var r,e=tr(Object.create(Object.getPrototypeOf(this),{$$:{value:(r=this.$$,{count:r.count,deleteScheduled:r.deleteScheduled,preservePointerOnDelete:r.preservePointerOnDelete,ptr:r.ptr,ptrType:r.ptrType,smartPtr:r.smartPtr,smartPtrType:r.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||K(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Y("Object already scheduled for deletion"),rr(this),er(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||K(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Y("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}});const e=Symbol.dispose;e&&(r[e]=r.delete)})(),Object.assign(Tr.prototype,{getPointee(r){return this.rawGetPointee&&(r=this.rawGetPointee(r)),r},destructor(r){this.rawDestructor?.(r)},readValueFromPointer:fr,fromWireType:br}),e.noExitRuntime&&(M=e.noExitRuntime),e.print&&e.print,e.printErr&&(F=e.printErr),e.wasmBinary&&(h=e.wasmBinary),e.arguments&&e.arguments,e.thisProgram&&e.thisProgram,e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.shift()();var $e,ge={l:(r,e,t)=>{throw new H(r).init(e,t),r},s:()=>E(""),o:(r,e,t,n,a)=>{e=N(e);const s=0n===n;let i=r=>r;if(s){const r=8*t;i=e=>BigInt.asUintN(r,e),a=i(a)}Z(r,{name:e,fromWireType:i,toWireType:(r,e)=>("number"==typeof e&&(e=BigInt(e)),e),readValueFromPointer:J(e,t,!s),destructorFunction:null})},w:(r,e,t,n)=>{Z(r,{name:e=N(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},readValueFromPointer:function(r){return this.fromWireType(m[r])},destructorFunction:null})},e:(r,t,n,a,s,i,o,u,l,c,p,h,d)=>{p=N(p),i=Pr(s,i),u&&=Pr(o,u),c&&=Pr(l,c),d=Pr(h,d);var f=(r=>{var e=(r=r.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=48&&e<=57?`_${r}`:r})(p);or(f,function(){Fr(`Cannot construct ${p} due to unbound types`,[a])}),Rr([r,t,n],a?[a]:[],t=>{var n,s;t=t[0],s=a?(n=t.registeredClass).instancePrototype:nr.prototype;var o=ar(p,function(...r){if(Object.getPrototypeOf(this)!==l)throw new X(`Use 'new' to construct ${p}`);if(void 0===h.constructor_body)throw new X(`${p} has no accessible constructor`);var e=h.constructor_body[r.length];if(void 0===e)throw new X(`Tried to invoke ctor of ${p} with invalid number of parameters (${r.length}) - expected (${Object.keys(h.constructor_body).toString()}) parameters instead!`);return e.apply(this,r)}),l=Object.create(s,{constructor:{value:o}});o.prototype=l;var h=new ur(p,o,l,d,n,i,u,c);h.baseClass&&(h.baseClass.__derivedClasses??=[],h.baseClass.__derivedClasses.push(h));var v=new Tr(p,h,!0,!1,!1),y=new Tr(p+"*",h,!1,!1,!1),m=new Tr(p+" const*",h,!1,!0,!1);return sr[r]={pointerType:y,constPointerType:m},((r,t,n)=>{e.hasOwnProperty(r)||gr("Replacing nonexistent public symbol"),void 0!==e[r].overloadTable&&void 0!==n||(e[r]=t,e[r].argCount=n)})(f,o),[v,y,m]})},b:(r,e,t,n,a,s,i,o,u)=>{var l=Ur(t,n);e=N(e),e=Ir(e),s=Pr(a,s,o),Rr([],[r],r=>{var n=`${(r=r[0]).name}.${e}`;function a(){Fr(`Cannot call ${n} due to unbound types`,l)}e.startsWith("@@")&&(e=Symbol[e.substring(2)]);var u=r.registeredClass.constructor;return void 0===u[e]?(a.argCount=t-1,u[e]=a):(ir(u,e,n),u[e].overloadTable[t-1]=a),Rr([],l,a=>{var l=[a[0],null].concat(a.slice(1)),c=Or(n,l,null,s,i,o);if(void 0===u[e].overloadTable?(c.argCount=t-1,u[e]=c):u[e].overloadTable[t-1]=c,r.registeredClass.__derivedClasses)for(const t of r.registeredClass.__derivedClasses)t.constructor.hasOwnProperty(e)||(t.constructor[e]=c);return[]}),[]})},n:(r,e,t,n,a,s)=>{var i=Ur(e,t);a=Pr(n,a),Rr([],[r],r=>{var t=`constructor ${(r=r[0]).name}`;if(void 0===r.registeredClass.constructor_body&&(r.registeredClass.constructor_body=[]),void 0!==r.registeredClass.constructor_body[e-1])throw new X(`Cannot register multiple constructors with identical number of parameters (${e-1}) for class '${r.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return r.registeredClass.constructor_body[e-1]=()=>{Fr(`Cannot construct ${r.name} due to unbound types`,i)},Rr([],i,n=>(n.splice(1,0,null),r.registeredClass.constructor_body[e-1]=Or(t,n,null,a,s),[])),[]})},a:(r,e,t,n,a,s,i,o,u,l)=>{var c=Ur(t,n);e=N(e),e=Ir(e),s=Pr(a,s,u),Rr([],[r],r=>{var n=`${(r=r[0]).name}.${e}`;function a(){Fr(`Cannot call ${n} due to unbound types`,c)}e.startsWith("@@")&&(e=Symbol[e.substring(2)]),o&&r.registeredClass.pureVirtualFunctions.push(e);var l=r.registeredClass.instancePrototype,p=l[e];return void 0===p||void 0===p.overloadTable&&p.className!==r.name&&p.argCount===t-2?(a.argCount=t-2,a.className=r.name,l[e]=a):(ir(l,e,n),l[e].overloadTable[t-2]=a),Rr([],c,a=>{var o=Or(n,a,r,s,i,u);return void 0===l[e].overloadTable?(o.argCount=t-2,l[e]=o):l[e].overloadTable[t-2]=o,[]}),[]})},u:r=>Z(r,Nr),z:(r,e,t,n)=>{function a(){}e=N(e),a.values={},Z(r,{name:e,constructor:a,fromWireType:function(r){return this.constructor.values[r]},toWireType:(r,e)=>e.value,readValueFromPointer:Gr(e,t,n),destructorFunction:null}),or(e,a)},f:(r,e,t)=>{var n=zr(r,"enum");e=N(e);var a=n.constructor,s=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:ar(`${n.name}_${e}`,function(){})}});a.values[t]=s,a[e]=s},m:(r,e,t)=>{Z(r,{name:e=N(e),fromWireType:r=>r,toWireType:(r,e)=>e,readValueFromPointer:qr(e,t),destructorFunction:null})},d:(r,e,t,n,a)=>{e=N(e);let s=r=>r;if(0===n){var i=32-8*t;s=r=>r<<i>>>i,a=s(a)}Z(r,{name:e,fromWireType:s,toWireType:(r,e)=>e,readValueFromPointer:J(e,t,0!==n),destructorFunction:null})},c:(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function a(r){var e=b[r>>2],t=b[r+4>>2];return new n(y.buffer,t,e)}Z(r,{name:t=N(t),fromWireType:a,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},A:(r,e)=>{Z(r,Xr)},v:(r,e)=>{Z(r,{name:e=N(e),fromWireType(r){var e,t=b[r>>2];return e=Jr(r+4,t,!0),kr(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||Y("Cannot pass non-string to std::string"),t=n?(r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e})(e):e.length;var a=Er(4+t+1),s=a+4;return b[a>>2]=t,n?((r,e,t,n)=>{if(!(n>0))return 0;for(var a=t,s=t+n-1,i=0;i<r.length;++i){var o=r.codePointAt(i);if(o<=127){if(t>=s)break;e[t++]=o}else if(o<=2047){if(t+1>=s)break;e[t++]=192|o>>6,e[t++]=128|63&o}else if(o<=65535){if(t+2>=s)break;e[t++]=224|o>>12,e[t++]=128|o>>6&63,e[t++]=128|63&o}else{if(t+3>=s)break;e[t++]=240|o>>18,e[t++]=128|o>>12&63,e[t++]=128|o>>6&63,e[t++]=128|63&o,i++}}e[t]=0})(e,m,s,t+1):m.set(e,s),null!==r&&r.push(kr,a),a},readValueFromPointer:fr,destructorFunction(r){kr(r)}})},j:(r,e,t)=>{var n,a,s;t=N(t),2===e?(n=Qr,a=re,s=ee):(n=te,a=ne,s=ae),Z(r,{name:t,fromWireType:r=>{var t=b[r>>2],a=n(r+4,t*e,!0);return kr(r),a},toWireType:(r,n)=>{"string"!=typeof n&&Y(`Cannot pass non-string to C++ string type ${t}`);var i=s(n),o=Er(4+i+e);return b[o>>2]=i/e,a(n,o+4,i+e),null!==r&&r.push(kr,o),o},readValueFromPointer:fr,destructorFunction(r){kr(r)}})},x:(r,e)=>{Z(r,{isVoid:!0,name:e=N(e),fromWireType:()=>{},toWireType:(r,e)=>{}})},q:()=>{M=!1,se=0},i:(r,e,t)=>{var[n,...a]=((r,e)=>{for(var t=new Array(r),n=0;n<r;++n)t[n]=zr(b[e+4*n>>2],`parameter ${n}`);return t})(r,e),s=n.toWireType.bind(n),i=a.map(r=>r.readValueFromPointer.bind(r));r--;var o,u={toValue:Hr.toValue},l=i.map((r,e)=>{var t=`argFromPtr${e}`;return u[t]=r,`${t}(args${e?"+"+8*e:""})`});switch(t){case 0:o="toValue(handle)";break;case 2:o="new (toValue(handle))";break;case 3:o="";break;case 1:u.getStringOrSymbol=le,o="toValue(handle)[getStringOrSymbol(methodName)]"}o+=`(${l})`,n.isVoid||(u.toReturnWire=s,u.emval_returnValue=oe,o=`return emval_returnValue(toReturnWire, destructorsRef, ${o})`),o=`return function (handle, methodName, destructorsRef, args) {\n ${o}\n }`;var c,p,h=new Function(Object.keys(u),o)(...Object.values(u)),d=`methodCaller<(${a.map(r=>r.name)}) => ${n.name}>`;return c=ar(d,h),p=ie.length,ie.push(c),p},k:Mr,y:r=>{r>9&&(Lr[r+1]+=1)},h:(r,e,t,n,a)=>ie[r](e,t,n,a),g:r=>{var e=Hr.toValue(r);_r(e),Mr(r)},r:(r,e)=>{if(ce[r]&&(clearTimeout(ce[r].id),delete ce[r]),!e)return 0;var t=setTimeout(()=>{delete ce[r],ve(()=>jr(r,performance.now()))},e);return ce[r]={id:t,timeout_ms:e},0},t:r=>{var e=m.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n=1;n<=4;n*=2){var a=e*(1+.2/n);a=Math.min(a,r+100663296);var s=Math.min(t,ye(Math.max(r,a),65536));if(me(s))return!0}return!1},p:de};return $e=await async function(){function r(r,e){return function(r){Er=r.D,Vr=r.E,jr=r.F,kr=r.H,xr=r.B,Dr=r.G}($e=r.exports),O(),$e}var t={a:ge};return e.instantiateWasm?new Promise((n,a)=>{e.instantiateWasm(t,(e,t)=>{n(r(e))})}):(A??=V(),function(e){return r(e.instance)}(await k(h,A,t)))}(),function(){function r(){e.calledRun=!0,R||(S=!0,$e.C(),f?.(e),e.onRuntimeInitialized?.(),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)I(e.postRun.shift());D(U)}())}!function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)L(e.preRun.shift());D(B)}(),e.setStatus?(e.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>e.setStatus(""),1),r()},1)):r()}(),S?e:new Promise((r,e)=>{f=r,v=e})}export{r as default};
|
|
2
|
-
//# sourceMappingURL=ds.mjs.map
|
package/dist/ds.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ds.mjs","sources":["../atsds/ds.mjs"],"sourcesContent":["async function Module(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!=\"renderer\";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import(\"module\");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");if(_scriptName.startsWith(\"file:\")){scriptDirectory=require(\"path\").dirname(require(\"url\").fileURLToPath(_scriptName))+\"/\"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:\"utf8\");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(\".\",_scriptName).href}catch{}{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=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:\"same-origin\"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+\" : \"+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith(\"file://\");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports[\"C\"]()}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module[\"onAbort\"]?.(what);what=\"Aborted(\"+what+\")\";err(what);ABORT=true;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module[\"locateFile\"]){return locateFile(\"ds.wasm\")}return new URL(\"ds.wasm\",import.meta.url).href}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\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result[\"instance\"])}var info=getWasmImports();if(Module[\"instantiateWasm\"]){return new Promise((resolve,reject)=>{Module[\"instantiateWasm\"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var __abort_js=()=>abort(\"\");var AsciiToString=ptr=>{var str=\"\";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};var throwBindingError=message=>{throw new BindingError(message)};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];case 8:return signed?pointer=>HEAP64[pointer>>3]:pointer=>HEAPU64[pointer>>3];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0n;let fromWireType=value=>value;if(isUnsignedType){const bitSize=size*8;fromWireType=value=>BigInt.asUintN(bitSize,value);maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>{if(typeof value==\"number\"){value=BigInt(value)}return value},readValueFromPointer:integerReadValueFromPointer(name,size,!isUnsignedType),destructorFunction:null})};var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},readValueFromPointer:function(pointer){return this.fromWireType(HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var attachFinalizer=handle=>{if(!globalThis.FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}};var delayFunction;var init_ClassHandle=()=>{let proto=ClassHandle.prototype;Object.assign(proto,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}});const symbolDispose=Symbol.dispose;if(symbolDispose){proto[symbolDispose]=proto[\"delete\"]}};function ClassHandle(){}var createNamedFunction=(name,func)=>Object.defineProperty(func,\"name\",{value:name});var registeredPointers={};var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};var embindRepr=v=>{if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle[\"delete\"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this.fromWireType(HEAPU32[pointer>>2])}var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var InternalError=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};var throwInternalError=message=>{throw new InternalError(message)};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this.toWireType=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this.toWireType=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this.toWireType=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistent public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var embind__requireFunction=(signature,rawFunction,isAsync=false)=>{signature=AsciiToString(signature);function makeDynCaller(){var rtn=getWasmTableEntry(rawFunction);return rtn}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};class UnboundTypeError extends Error{}var getTypeName=type=>{var ptr=___getTypeName(type);var rv=AsciiToString(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;for(let[i,dt]of dependentTypes.entries()){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}}if(0===unregisteredTypes.length){onComplete(typeConverters)}};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=AsciiToString(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(`Use 'new' to construct ${name}`)}if(undefined===registeredClass.constructor_body){throw new BindingError(`${name} has no accessible constructor`)}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){return true}}return false}function createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync){var needsDestructorStack=usesDestructorStack(argTypes);var argCount=argTypes.length-2;var argsList=[];var argsListWired=[\"fn\"];if(isClassMethodFunc){argsListWired.push(\"thisWired\")}for(var i=0;i<argCount;++i){argsList.push(`arg${i}`);argsListWired.push(`arg${i}Wired`)}argsList=argsList.join(\",\");argsListWired=argsListWired.join(\",\");var invokerFnBody=`return function (${argsList}) {\\n`;if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"humanName\",\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"fromRetWire\",\"toClassParamWire\"];if(isClassMethodFunc){invokerFnBody+=`var thisWired = toClassParamWire(${dtorStack}, this);\\n`}for(var i=0;i<argCount;++i){var argName=`toArg${i}Wire`;invokerFnBody+=`var arg${i}Wired = ${argName}(${dtorStack}, arg${i});\\n`;args1.push(argName)}invokerFnBody+=(returns||isAsync?\"var rv = \":\"\")+`invoker(${argsListWired});\\n`;if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=`${paramName}_dtor(${paramName});\\n`;args1.push(`${paramName}_dtor`)}}}if(returns){invokerFnBody+=\"var ret = fromRetWire(rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";return new Function(args1,invokerFnBody)}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=!argTypes[0].isVoid;var retType=argTypes[0];var instType=argTypes[1];var closureArgs=[humanName,throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,retType.fromWireType.bind(retType),instType?.toWireType.bind(instType)];for(var i=2;i<argCount;++i){var argType=argTypes[i];closureArgs.push(argType.toWireType.bind(argType))}if(!needsDestructorStack){for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){if(argTypes[i].destructorFunction!==null){closureArgs.push(argTypes[i].destructorFunction)}}}let invokerFactory=createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync);var invokerFn=invokerFactory(...closureArgs);return createNamedFunction(humanName,invokerFn)}var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf(\"(\");if(argsIndex===-1)return signature;return signature.slice(0,argsIndex)};var __embind_register_class_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})};var __embind_register_class_constructor=(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[0,1,,1,null,1,true,1,false,1];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var Emval={toValue:handle=>{if(!handle){throwBindingError(`Cannot use deleted val. handle = ${handle}`)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:\"emscripten::val\",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var enumReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?function(pointer){return this.fromWireType(HEAP8[pointer])}:function(pointer){return this.fromWireType(HEAPU8[pointer])};case 2:return signed?function(pointer){return this.fromWireType(HEAP16[pointer>>1])}:function(pointer){return this.fromWireType(HEAPU16[pointer>>1])};case 4:return signed?function(pointer){return this.fromWireType(HEAP32[pointer>>2])}:function(pointer){return this.fromWireType(HEAPU32[pointer>>2])};default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_enum=(rawType,name,size,isSigned)=>{name=AsciiToString(name);function ctor(){}ctor.values={};registerType(rawType,{name,constructor:ctor,fromWireType:function(c){return this.constructor.values[c]},toWireType:(destructors,c)=>c.value,readValueFromPointer:enumReadValueFromPointer(name,size,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var __embind_register_enum_value=(rawEnumType,name,enumValue)=>{var enumType=requireRegisteredType(rawEnumType,\"enum\");name=AsciiToString(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(`${enumType.name}_${name}`,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this.fromWireType(HEAPF32[pointer>>2])};case 8:return function(pointer){return this.fromWireType(HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0;let fromWireType=value=>value;if(isUnsignedType){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift;maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>value,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=AsciiToString(name);registerType(rawType,{name,fromWireType:decodeMemoryView,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var EmValOptionalType=Object.assign({optional:true},EmValType);var __embind_register_optional=(rawOptionalType,rawType)=>{registerType(rawOptionalType,EmValOptionalType)};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):\"\";var __embind_register_std_string=(rawType,name)=>{name=AsciiToString(name);var stdStringIsUTF8=true;registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){str=UTF8ToString(payload,length,true)}else{str=\"\";for(var i=0;i<length;++i){str+=String.fromCharCode(HEAPU8[payload+i])}}_free(value);return str},toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||ArrayBuffer.isView(value)&&value.BYTES_PER_ELEMENT==1)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(valueIsOfTypeString){if(stdStringIsUTF8){stringToUTF8(value,ptr,length+1)}else{for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(base);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}}else{HEAPU8.set(value,ptr)}if(destructors!==null){destructors.push(_free,base)}return base},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var UTF16Decoder=globalThis.TextDecoder?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx));var str=\"\";for(var i=idx;i<endIdx;++i){var codeUnit=HEAPU16[i];str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str=\"\";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=AsciiToString(name);var decodeString,encodeString,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16}else{decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str=decodeString(value+4,length*charSize,true);_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=AsciiToString(name);registerType(rawType,{isVoid:true,name,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var emval_methodCallers=[];var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*4>>2],`parameter ${i}`)}return a};var emval_returnValue=(toReturnWire,destructorsRef,handle)=>{var destructors=[];var result=toReturnWire(destructors,handle);if(destructors.length){HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return AsciiToString(address)}return symbol};var __emval_create_invoker=(argCount,argTypesPtr,kind)=>{var GenericWireTypeSize=8;var[retType,...argTypes]=emval_lookupTypes(argCount,argTypesPtr);var toReturnWire=retType.toWireType.bind(retType);var argFromPtr=argTypes.map(type=>type.readValueFromPointer.bind(type));argCount--;var captures={toValue:Emval.toValue};var args=argFromPtr.map((argFromPtr,i)=>{var captureName=`argFromPtr${i}`;captures[captureName]=argFromPtr;return`${captureName}(args${i?\"+\"+i*GenericWireTypeSize:\"\"})`});var functionBody;switch(kind){case 0:functionBody=\"toValue(handle)\";break;case 2:functionBody=\"new (toValue(handle))\";break;case 3:functionBody=\"\";break;case 1:captures[\"getStringOrSymbol\"]=getStringOrSymbol;functionBody=\"toValue(handle)[getStringOrSymbol(methodName)]\";break}functionBody+=`(${args})`;if(!retType.isVoid){captures[\"toReturnWire\"]=toReturnWire;captures[\"emval_returnValue\"]=emval_returnValue;functionBody=`return emval_returnValue(toReturnWire, destructorsRef, ${functionBody})`}functionBody=`return function (handle, methodName, destructorsRef, args) {\\n ${functionBody}\\n }`;var invokerFunction=new Function(Object.keys(captures),functionBody)(...Object.values(captures));var functionName=`methodCaller<(${argTypes.map(t=>t.name)}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_incref=handle=>{if(handle>9){emval_handles[handle+1]+=1}};var __emval_invoke=(caller,handle,methodName,destructorsRef,args)=>emval_methodCallers[caller](handle,methodName,destructorsRef,args);var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var timers={};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module[\"onExit\"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};init_ClassHandle();init_RegisteredPointer();{if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(Module[\"print\"])out=Module[\"print\"];if(Module[\"printErr\"])err=Module[\"printErr\"];if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].shift()()}}}var _malloc,___getTypeName,__emscripten_timeout,_free,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_malloc=wasmExports[\"D\"];___getTypeName=wasmExports[\"E\"];__emscripten_timeout=wasmExports[\"F\"];_free=wasmExports[\"H\"];memory=wasmMemory=wasmExports[\"B\"];__indirect_function_table=wasmTable=wasmExports[\"G\"]}var wasmImports={l:___cxa_throw,s:__abort_js,o:__embind_register_bigint,w:__embind_register_bool,e:__embind_register_class,b:__embind_register_class_class_function,n:__embind_register_class_constructor,a:__embind_register_class_function,u:__embind_register_emval,z:__embind_register_enum,f:__embind_register_enum_value,m:__embind_register_float,d:__embind_register_integer,c:__embind_register_memory_view,A:__embind_register_optional,v:__embind_register_std_string,j:__embind_register_std_wstring,x:__embind_register_void,q:__emscripten_runtime_keepalive_clear,i:__emval_create_invoker,k:__emval_decref,y:__emval_incref,h:__emval_invoke,g:__emval_run_destructors,r:__setitimer_js,t:_emscripten_resize_heap,p:_proc_exit};function run(){preRun();function doRun(){Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module[\"onRuntimeInitialized\"]?.();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(()=>{setTimeout(()=>Module[\"setStatus\"](\"\"),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}\n;return moduleRtn}export default Module;\n"],"names":["async","Module","moduleArg","ENVIRONMENT_IS_WEB","globalThis","window","ENVIRONMENT_IS_WORKER","WorkerGlobalScope","ENVIRONMENT_IS_NODE","process","versions","node","type","createRequire","import","require","url","readAsync","readBinary","quit_","status","toThrow","_scriptName","scriptDirectory","fs","startsWith","dirname","fileURLToPath","filename","isFileURI","URL","readFileSync","binary","undefined","argv","length","replace","slice","exitCode","href","xhr","XMLHttpRequest","open","responseType","send","Uint8Array","response","Promise","resolve","reject","onload","onerror","fetch","credentials","ok","arrayBuffer","Error","console","log","bind","wasmBinary","EXITSTATUS","readyPromiseResolve","readyPromiseReject","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAPF64","HEAP64","HEAPU64","wasmBinaryFile","err","error","ABORT","runtimeInitialized","updateMemoryViews","b","wasmMemory","buffer","Int8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","abort","what","e","WebAssembly","RuntimeError","findWasmBinary","path","getWasmBinary","binaryFile","file","getBinarySync","instantiateAsync","imports","instantiateStreaming","reason","instantiate","instantiateArrayBuffer","ExitStatus","name","constructor","this","message","callRuntimeCallbacks","callbacks","shift","onPostRuns","addOnPostRun","cb","push","onPreRuns","addOnPreRun","noExitRuntime","ExceptionInfo","excPtr","ptr","set_type","get_type","set_destructor","destructor","get_destructor","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","init","set_adjusted_ptr","adjustedPtr","get_adjusted_ptr","AsciiToString","str","ch","String","fromCharCode","awaitingDependencies","registeredTypes","typeDependencies","BindingError","super","throwBindingError","registerType","rawType","registeredInstance","options","hasOwnProperty","ignoreDuplicateRegistrations","forEach","sharedRegisterType","integerReadValueFromPointer","width","signed","pointer","TypeError","throwInstanceAlreadyDeleted","obj","$$","ptrType","registeredClass","finalizationRegistry","detachFinalizer","handle","releaseClassHandle","count","value","smartPtr","smartPtrType","rawDestructor","runDestructor","attachFinalizer","FinalizationRegistry","info","register","unregister","ClassHandle","createNamedFunction","func","Object","defineProperty","registeredPointers","ensureOverloadTable","proto","methodName","humanName","overloadTable","prevFunc","args","apply","argCount","exposePublicSymbol","numArguments","RegisteredClass","instancePrototype","baseClass","getActualType","upcast","downcast","pureVirtualFunctions","upcastPointer","ptrClass","desiredClass","embindRepr","v","t","toString","constNoSmartPtrRawPointerToWireType","destructors","isReference","handleClass","genericPointerToWireType","isSmartPointer","rawConstructor","isConst","sharingPolicy","clonedHandle","rawShare","Emval","toHandle","nonConstNoSmartPtrRawPointerToWireType","readPointer","fromWireType","downcastPointer","rv","registeredInstances","getInheritedInstance","class_","getBasestPointer","InternalError","throwInternalError","makeClassHandle","prototype","record","create","writable","RegisteredPointer_fromWireType","rawPointer","getPointee","makeDefaultHandle","pointeeType","toType","actualType","registeredPointerRecord","call","constPointerType","pointerType","dp","RegisteredPointer","rawGetPointee","toWireType","destructorFunction","wasmTableMirror","embind__requireFunction","signature","rawFunction","isAsync","funcPtr","fp","wasmTable","get","UnboundTypeError","getTypeName","___getTypeName","_free","throwUnboundTypeError","types","unboundTypes","seen","visit","map","join","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","i","Array","unregisteredTypes","registered","dt","entries","runDestructors","pop","del","usesDestructorStack","argTypes","craftInvokerFunction","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","returns","isVoid","retType","instType","closureArgs","argType","invokerFactory","argsList","argsListWired","invokerFnBody","dtorStack","args1","argName","paramName","Function","createJsInvoker","invokerFn","_malloc","__emscripten_timeout","heap32VectorToArray","firstElement","array","getFunctionName","argsIndex","trim","indexOf","emval_freelist","emval_handles","__emval_decref","toValue","EmValType","readValueFromPointer","enumReadValueFromPointer","requireRegisteredType","impl","floatReadValueFromPointer","EmValOptionalType","assign","optional","UTF8Decoder","TextDecoder","findStringEnd","heapOrArray","idx","maxBytesToRead","ignoreNul","maxIdx","UTF8ToString","endPtr","decode","subarray","u0","u1","u2","UTF8ArrayToString","UTF16Decoder","UTF16ToString","endIdx","codeUnit","stringToUTF16","outPtr","maxBytesToWrite","startPtr","numCharsToWrite","charCodeAt","lengthBytesUTF16","UTF32ToString","startIdx","utf32","fromCodePoint","stringToUTF32","codePoint","codePointAt","lengthBytesUTF32","len","runtimeKeepaliveCounter","emval_methodCallers","emval_returnValue","toReturnWire","destructorsRef","result","emval_symbols","getStringOrSymbol","address","symbol","timers","handleException","keepRuntimeAlive","_proc_exit","code","_exit","implicit","callUserCallback","maybeExit","alignMemory","size","alignment","Math","ceil","growMemory","pages","byteLength","grow","isAliasOf","other","leftClass","left","rightClass","right","clone","preservePointerOnDelete","o","getPrototypeOf","deleteScheduled","isDeleted","deleteLater","symbolDispose","Symbol","dispose","init_ClassHandle","wasmExports","wasmImports","l","s","primitiveType","minRange","maxRange","isUnsignedType","bitSize","BigInt","asUintN","w","trueValue","falseValue","wt","rawPointerType","rawConstPointerType","baseClassRawType","getActualTypeSignature","upcastSignature","downcastSignature","destructorSignature","legalFunctionName","f","makeLegalFunctionName","base","basePrototype","constructor_body","body","keys","__derivedClasses","referenceConverter","pointerConverter","constPointerConverter","replacePublicSymbol","rawClassType","rawArgTypesAddr","invokerSignature","rawInvoker","fn","isNonnullReturn","rawArgTypes","unboundTypesHandler","substring","invokerArgsArray","concat","derivedClass","n","invoker","splice","a","context","isPureVirtual","method","className","memberFunction","u","z","isSigned","ctor","values","c","rawEnumType","enumValue","enumType","Enum","Value","m","d","bitshift","dataTypeIndex","TA","decodeMemoryView","data","A","rawOptionalType","ArrayBuffer","valueIsOfTypeString","isView","BYTES_PER_ELEMENT","lengthBytesUTF8","heap","outIdx","stringToUTF8Array","set","j","charSize","decodeString","encodeString","lengthBytesUTF","x","q","argTypesPtr","kind","emval_lookupTypes","argFromPtr","functionBody","captures","captureName","caller","id","invokerFunction","functionName","k","y","h","g","r","which","timeout_ms","clearTimeout","setTimeout","performance","now","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","min","newSize","max","p","receiveInstance","instance","module","assignWasmExports","exports","inst","mod","receiveInstantiationResult","doRun","postRun","preRun","run"],"mappings":"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"}
|