mol_vary 0.0.21 → 0.0.23
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 +11 -10
- package/node.d.ts +476 -3
- package/node.d.ts.map +1 -1
- package/node.deps.json +1 -1
- package/node.js +2132 -28
- package/node.js.map +1 -1
- package/node.mjs +2132 -28
- package/node.test.js +3719 -3681
- package/node.test.js.map +1 -1
- package/package.json +55 -3
- package/web.d.ts +14 -3
- package/web.d.ts.map +1 -1
- package/web.deps.json +1 -1
- package/web.js +58 -28
- package/web.js.map +1 -1
- package/web.mjs +58 -28
- package/web.test.js +29 -21
- package/web.test.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mol_vary",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"exports": {
|
|
5
5
|
"node": {
|
|
6
6
|
"import": "./node.mjs",
|
|
@@ -22,7 +22,59 @@
|
|
|
22
22
|
"$mol_charset",
|
|
23
23
|
"$mol_charset_decode_from",
|
|
24
24
|
"$mol_charset_decode",
|
|
25
|
-
"$mol_charset_encoding"
|
|
25
|
+
"$mol_charset_encoding",
|
|
26
|
+
"$mol_dom",
|
|
27
|
+
"$mol_dom_context",
|
|
28
|
+
"$node",
|
|
29
|
+
"$mol_exec",
|
|
30
|
+
"$mol_run",
|
|
31
|
+
"$mol_error_mix",
|
|
32
|
+
"$mol_error",
|
|
33
|
+
"$mol_func_name",
|
|
34
|
+
"$mol_func",
|
|
35
|
+
"$mol_object",
|
|
36
|
+
"$mol_object2",
|
|
37
|
+
"$mol_ambient",
|
|
38
|
+
"$mol_owning",
|
|
39
|
+
"$mol_delegate",
|
|
40
|
+
"$mol_fail_hidden",
|
|
41
|
+
"$mol_type_writable",
|
|
42
|
+
"$mol_type",
|
|
43
|
+
"$mol_env",
|
|
44
|
+
"$mol_wire",
|
|
45
|
+
"$mol_wire_sub",
|
|
46
|
+
"$mol_wire_pub",
|
|
47
|
+
"$mol_guid",
|
|
48
|
+
"$mol_wire_cursor",
|
|
49
|
+
"$mol_wire_sync",
|
|
50
|
+
"$mol_wire_task",
|
|
51
|
+
"$mol_wire_fiber",
|
|
52
|
+
"$mol_wire_pub_sub",
|
|
53
|
+
"$mol_dev_format",
|
|
54
|
+
"$mol_dev",
|
|
55
|
+
"$mol_after_tick",
|
|
56
|
+
"$mol_after",
|
|
57
|
+
"$mol_promise_like",
|
|
58
|
+
"$mol_promise",
|
|
59
|
+
"$mol_compare_deep",
|
|
60
|
+
"$mol_compare",
|
|
61
|
+
"$mol_log3",
|
|
62
|
+
"$mol_tree2_from_json",
|
|
63
|
+
"$mol_tree2_from",
|
|
64
|
+
"$mol_tree2",
|
|
65
|
+
"$mol_span",
|
|
66
|
+
"$mol_tree2_from_string",
|
|
67
|
+
"$mol_error_syntax",
|
|
68
|
+
"$mol_tree2_to_string",
|
|
69
|
+
"$mol_tree2_to",
|
|
70
|
+
"$mol_maybe",
|
|
71
|
+
"$mol_term_color",
|
|
72
|
+
"$mol_term",
|
|
73
|
+
"$mol_fail_catch",
|
|
74
|
+
"$mol_fail_log",
|
|
75
|
+
"$mol_try"
|
|
26
76
|
],
|
|
27
|
-
"dependencies": {
|
|
77
|
+
"dependencies": {
|
|
78
|
+
"jsdom": "*"
|
|
79
|
+
}
|
|
28
80
|
}
|
package/web.d.ts
CHANGED
|
@@ -36,6 +36,17 @@ declare namespace $ {
|
|
|
36
36
|
function $mol_charset_decode_from(buffer: Uint8Array, from: number, count: number): readonly [string, number];
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
declare namespace $ {
|
|
40
|
+
var $mol_dom_context: typeof globalThis;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
declare namespace $ {
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare namespace $ {
|
|
47
|
+
var $mol_dom: typeof globalThis;
|
|
48
|
+
}
|
|
49
|
+
|
|
39
50
|
declare namespace $ {
|
|
40
51
|
enum $mol_vary_tip {
|
|
41
52
|
uint = 0,
|
|
@@ -65,11 +76,11 @@ declare namespace $ {
|
|
|
65
76
|
class $mol_vary extends DataView<ArrayBuffer> {
|
|
66
77
|
static pack(data: unknown): Uint8Array<ArrayBuffer>;
|
|
67
78
|
static take(buf: Uint8Array<ArrayBuffer>): unknown;
|
|
68
|
-
static leanes: Map<object, (val: any) => readonly any[]>;
|
|
69
|
-
static keys: Map<object, readonly string[]>;
|
|
70
79
|
static riches: Map<string, (...vals: readonly any[]) => object>;
|
|
71
|
-
static type<const Instance extends object, const Keys extends readonly any[], const Vals extends readonly any[]>(
|
|
80
|
+
static type<const Instance extends object, const Keys extends readonly any[], const Vals extends readonly any[]>(Class: new (...vals: any[]) => Instance, keys: Keys, lean: (obj: Instance) => Vals, rich: (...vals: Vals) => Instance): void;
|
|
72
81
|
}
|
|
82
|
+
const $mol_vary_lean: unique symbol;
|
|
83
|
+
const $mol_vary_keys: unique symbol;
|
|
73
84
|
}
|
|
74
85
|
|
|
75
86
|
export = $;
|
package/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../mam.d.ts","../../fail/fail.d.ts","../../charset/encode/encode.d.ts","../../charset/encoding/encoding.d.ts","../../charset/decode/decode.d.ts","../../charset/decode/from/from.d.ts","../vary.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":[null,null,null,null,null,null,null]}
|
|
1
|
+
{"version":3,"sources":["../../../mam.d.ts","../../fail/fail.d.ts","../../charset/encode/encode.d.ts","../../charset/encoding/encoding.d.ts","../../charset/decode/decode.d.ts","../../charset/decode/from/from.d.ts","../../dom/context/context.d.ts","../../dom/context/context.web.d.ts","../../dom/dom.d.ts","../vary.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;ACFA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":[null,null,null,null,null,null,null,null,null,null]}
|
package/web.deps.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"files":["mam.ts","LICENSE","README.md","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/fail/fail.ts","mol/charset/encode/encode.ts","mol/charset/encoding/encoding.ts","mol/charset/decode/decode.ts","mol/charset/decode/from/from.ts","mol/vary/vary.ts","mol/vary/readme.md"],"mods":{},"deps_in":{"mol":{"mol/vary":-999,"mol/fail":-999,"mol/charset":-999},"":{"mol":-999},"mol/fail":{"mol/vary":-4},"mol/charset/encode":{"mol/vary":-4},"mol/charset":{"mol/charset/encode":-999,"mol/charset/decode":-999,"mol/charset/encoding":-999},"mol/charset/decode/from":{"mol/vary":-4},"mol/charset/decode":{"mol/charset/decode/from":-999},"mol/charset/encoding":{"mol/charset/decode":-1}},"deps_out":{"mol/vary":{"mol":-999,"mol/fail":-4,"mol/charset/encode":-4,"mol/charset/decode/from":-4},"mol":{"":-999},"mol/fail":{"mol":-999},"mol/charset/encode":{"mol/charset":-999},"mol/charset":{"mol":-999},"mol/charset/decode/from":{"mol/charset/decode":-999},"mol/charset/decode":{"mol/charset":-999,"mol/charset/encoding":-1},"mol/charset/encoding":{"mol/charset":-999}},"sloc":{"ts":
|
|
1
|
+
{"files":["mam.ts","LICENSE","README.md","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/fail/fail.ts","mol/charset/encode/encode.ts","mol/charset/encoding/encoding.ts","mol/charset/decode/decode.ts","mol/charset/decode/from/from.ts","mol/dom/context/context.ts","mol/dom/context/context.web.ts","mol/dom/dom.ts","mol/vary/vary.ts","mol/vary/readme.md"],"mods":{},"deps_in":{"mol":{"mol/vary":-999,"mol/fail":-999,"mol/charset":-999,"mol/dom":-999},"":{"mol":-999},"mol/fail":{"mol/vary":-4},"mol/charset/encode":{"mol/vary":-4},"mol/charset":{"mol/charset/encode":-999,"mol/charset/decode":-999,"mol/charset/encoding":-999},"mol/charset/decode/from":{"mol/vary":-4},"mol/charset/decode":{"mol/charset/decode/from":-999},"mol/charset/encoding":{"mol/charset/decode":-1},"mol/dom":{"mol/vary":-2},"mol/dom/context":{"mol/dom":-1},"mol/dom/context/context.ts":{"mol/dom/context":0}},"deps_out":{"mol/vary":{"mol":-999,"mol/fail":-4,"mol/charset/encode":-4,"mol/charset/decode/from":-4,"mol/dom":-2},"mol":{"":-999},"mol/fail":{"mol":-999},"mol/charset/encode":{"mol/charset":-999},"mol/charset":{"mol":-999},"mol/charset/decode/from":{"mol/charset/decode":-999},"mol/charset/decode":{"mol/charset":-999,"mol/charset/encoding":-1},"mol/charset/encoding":{"mol/charset":-999},"mol/dom":{"mol":-999,"mol/dom/context":-1},"mol/dom/context":{"mol/dom/context/context.ts":0},"mol/dom/context/context.ts":{}},"sloc":{"ts":554,"LICENSE":113,"md":526,"js":9,"json":82,"tree":41,"CNAME":1},"deps":{"mol/vary":{"..":-999,"/mol/vary/tip":-1,"/mol/vary/len":-1,"/mol/vary/spec":-1,"/mol/vary/tip/spec":-2,"/mol/vary":-1,"/mol/fail":-4,"/mol/vary/tip/link":-4,"/mol/vary/tip/text":-4,"/mol/charset/encode/to":-4,"/mol/vary/tip/blob":-4,"/mol/vary/tip/uint":-4,"/mol/vary/tip/sint":-4,"/mol/vary/spec/fp32":-4,"/mol/vary/spec/fp64":-4,"/mol/vary/tip/list":-4,"/mol/vary/keys":-1,"/mol/vary/lean":-1,"/mol/vary/tip/tupl":-4,"/mol/vary/spec/both":-5,"/mol/vary/spec/true":-5,"/mol/vary/spec/fake":-5,"/mol/vary/spec/none":-5,"/mol/charset/decode/from":-4,"/mol/vary/spec/fp16":-5,"/mol/vary/type":-1,"/mol/dom":-2,"/mol/dom/document/create/element":-3,"/mol/dom/document/create/text/node":-4},"mol":{"..":-999},"":{},"mol/fail":{"..":-999,"/mol/fail":-1},"mol/charset/encode":{"..":-999,"/mol/charset/encode":-1,"/mol/charset/encode/to":-1,"/mol/charset/encode/size":-1},"mol/charset":{"..":-999},"mol/charset/decode/from":{"..":-999,"/mol/charset/decode/from":-1},"mol/charset/decode":{"..":-999,"/mol/charset/encoding":-1,"/mol/charset/decode":-1},"mol/charset/encoding":{"..":-999,"/mol/charset/encoding":-1},"mol/dom":{"..":-999,"/mol/dom":-1,"/mol/dom/context":-1},"mol/dom/context":{"..":-999,"/mol/dom/context":-1,"./context.ts":0},"mol/dom/context/context.ts":{"/mol/dom/context":-1}}}
|
package/web.js
CHANGED
|
@@ -117,27 +117,27 @@ var $;
|
|
|
117
117
|
var $;
|
|
118
118
|
(function ($) {
|
|
119
119
|
function $mol_charset_decode_from(buffer, from, count) {
|
|
120
|
-
|
|
120
|
+
const codes = [];
|
|
121
121
|
let pos = from;
|
|
122
|
-
while (pos < buffer.length &&
|
|
122
|
+
while (pos < buffer.length && codes.length < count) {
|
|
123
123
|
const byte1 = buffer[pos++];
|
|
124
124
|
if (byte1 <= 0x7F) {
|
|
125
|
-
|
|
125
|
+
codes.push(byte1);
|
|
126
126
|
}
|
|
127
127
|
else if ((byte1 & 0xE0) === 0xC0) {
|
|
128
128
|
if (pos >= buffer.length)
|
|
129
129
|
break;
|
|
130
130
|
const byte2 = buffer[pos++];
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
const code = ((byte1 & 0x1F) << 6) | (byte2 & 0x3F);
|
|
132
|
+
codes.push(code);
|
|
133
133
|
}
|
|
134
134
|
else if ((byte1 & 0xF0) === 0xE0) {
|
|
135
135
|
if (pos + 1 >= buffer.length)
|
|
136
136
|
break;
|
|
137
137
|
const byte2 = buffer[pos++];
|
|
138
138
|
const byte3 = buffer[pos++];
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
const code = ((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) | (byte3 & 0x3F);
|
|
140
|
+
codes.push(code);
|
|
141
141
|
}
|
|
142
142
|
else if ((byte1 & 0xF8) === 0xF0) {
|
|
143
143
|
if (pos + 2 >= buffer.length)
|
|
@@ -150,21 +150,41 @@ var $;
|
|
|
150
150
|
code -= 0x10000;
|
|
151
151
|
const hi = 0xD800 + (code >> 10);
|
|
152
152
|
const lo = 0xDC00 + (code & 0x3FF);
|
|
153
|
-
|
|
153
|
+
codes.push(hi, lo);
|
|
154
154
|
}
|
|
155
155
|
else {
|
|
156
|
-
|
|
156
|
+
codes.push(code);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
else {
|
|
160
|
-
|
|
160
|
+
codes.push(0xFFFD);
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
return [
|
|
163
|
+
return [String.fromCharCode(...codes), pos - from];
|
|
164
164
|
}
|
|
165
165
|
$.$mol_charset_decode_from = $mol_charset_decode_from;
|
|
166
166
|
})($ || ($ = {}));
|
|
167
167
|
|
|
168
|
+
;
|
|
169
|
+
"use strict";
|
|
170
|
+
var $;
|
|
171
|
+
(function ($) {
|
|
172
|
+
})($ || ($ = {}));
|
|
173
|
+
|
|
174
|
+
;
|
|
175
|
+
"use strict";
|
|
176
|
+
var $;
|
|
177
|
+
(function ($) {
|
|
178
|
+
$.$mol_dom_context = self;
|
|
179
|
+
})($ || ($ = {}));
|
|
180
|
+
|
|
181
|
+
;
|
|
182
|
+
"use strict";
|
|
183
|
+
var $;
|
|
184
|
+
(function ($) {
|
|
185
|
+
$.$mol_dom = $mol_dom_context;
|
|
186
|
+
})($ || ($ = {}));
|
|
187
|
+
|
|
168
188
|
;
|
|
169
189
|
"use strict";
|
|
170
190
|
var $;
|
|
@@ -276,7 +296,7 @@ var $;
|
|
|
276
296
|
pos += 8;
|
|
277
297
|
}
|
|
278
298
|
else {
|
|
279
|
-
$mol_fail(new Error('Number too high', { cause: val }));
|
|
299
|
+
$mol_fail(new Error('Number too high', { cause: { val } }));
|
|
280
300
|
}
|
|
281
301
|
};
|
|
282
302
|
const dump_string = (val) => {
|
|
@@ -347,10 +367,8 @@ var $;
|
|
|
347
367
|
const offset = offsets.get(val);
|
|
348
368
|
if (offset !== undefined)
|
|
349
369
|
return dump_unum($mol_vary_tip.link, offset);
|
|
350
|
-
const
|
|
351
|
-
const
|
|
352
|
-
const keys = lean ? this.keys.get(proto) : Object.keys(val);
|
|
353
|
-
const vals = lean ? lean(val) : Object.values(val);
|
|
370
|
+
const keys = val[$.$mol_vary_keys] ?? Object.keys(val);
|
|
371
|
+
const vals = val[$.$mol_vary_lean]?.(val) ?? Object.values(val);
|
|
354
372
|
dump_unum($mol_vary_tip.tupl, vals.length);
|
|
355
373
|
acquire(vals.length * 2 * 9);
|
|
356
374
|
for (const item of keys)
|
|
@@ -589,22 +607,34 @@ var $;
|
|
|
589
607
|
};
|
|
590
608
|
return read_vary();
|
|
591
609
|
}
|
|
592
|
-
static leanes = new Map();
|
|
593
|
-
static keys = new Map();
|
|
594
610
|
static riches = new Map();
|
|
595
|
-
static type(keys,
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
this.leanes.set(proto, lean);
|
|
600
|
-
this.keys.set(proto, keys);
|
|
601
|
-
this.riches.set(shape, rich);
|
|
611
|
+
static type(Class, keys, lean, rich) {
|
|
612
|
+
this.riches.set(JSON.stringify(keys), rich);
|
|
613
|
+
Class.prototype[$.$mol_vary_lean] = lean;
|
|
614
|
+
Class.prototype[$.$mol_vary_keys] = keys;
|
|
602
615
|
}
|
|
603
616
|
}
|
|
604
617
|
$.$mol_vary = $mol_vary;
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
$mol_vary.type(['
|
|
618
|
+
$.$mol_vary_lean = Symbol.for('$mol_vary_lean');
|
|
619
|
+
$.$mol_vary_keys = Symbol.for('$mol_vary_keys');
|
|
620
|
+
$mol_vary.type(Map, ['keys', 'vals'], obj => [[...obj.keys()], [...obj.values()]], (keys, vals) => new Map(keys.map((k, i) => [k, vals[i]])));
|
|
621
|
+
$mol_vary.type(Set, ['set'], obj => [[...obj.values()]], vals => new Set(vals));
|
|
622
|
+
$mol_vary.type(Date, ['unix_time'], obj => [obj.valueOf() / 1000], ts => new Date(ts * 1000));
|
|
623
|
+
$mol_vary.type($mol_dom.Element, ['elem', 'keys', 'vals', 'kids'], node => {
|
|
624
|
+
const attrs = [...node.attributes];
|
|
625
|
+
const kids = [...node.childNodes].map(kid => kid instanceof $mol_dom.Text ? kid.nodeValue : kid);
|
|
626
|
+
return [node.nodeName, attrs.map(attr => attr.nodeName), attrs.map(attr => attr.nodeValue), kids];
|
|
627
|
+
}, (name, keys, vals, kids) => {
|
|
628
|
+
const el = $mol_dom.document.createElement(name);
|
|
629
|
+
for (let i = 0; i < keys.length; ++i)
|
|
630
|
+
el.setAttribute(keys[i], vals[i]);
|
|
631
|
+
for (let kid of kids) {
|
|
632
|
+
if (typeof kid === 'string')
|
|
633
|
+
kid = $mol_dom.document.createTextNode(kid);
|
|
634
|
+
el.appendChild(kid);
|
|
635
|
+
}
|
|
636
|
+
return el;
|
|
637
|
+
});
|
|
608
638
|
})($ || ($ = {}));
|
|
609
639
|
|
|
610
640
|
|
package/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["-","../../../mam.ts","../../../mol/fail/fail.ts","../../../mol/charset/encode/encode.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/decode/from/from.ts","../../../mol/vary/vary.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\tlet buf = new Uint8Array( 2**12 ) // 4KB Mem Page\n\t\n\texport function $mol_charset_encode( str: string ) {\n\t\tconst capacity = str.length * 3\n\t\tif( buf.byteLength < capacity ) buf = new Uint8Array( capacity )\n\t\treturn buf.slice( 0, $mol_charset_encode_to( str, buf ) )\n\t}\n\n\texport function $mol_charset_encode_to( str: string, buf: Uint8Array< ArrayBuffer >, from = 0 ) {\n\n\t\tlet pos = from\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) { // ASCII - 1 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = code\n\t\t\t\t\n\t\t\t} else if( code < 0x800 ) { // 2 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xc0 | ( code >> 6 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else if( code < 0xd800 || code >= 0xe000 ) { // 3 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xe0 | ( code >> 12 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( code >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else { // surrogate pair\n\t\t\t\t\n\t\t\t\tconst point = ( ( code - 0xd800 ) << 10 ) + str.charCodeAt( ++ i ) + 0x2400\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xf0 | ( point >> 18 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 12 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( point & 0x3f )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn pos - from\n\t}\n\n\texport function $mol_charset_encode_size( str: string ) {\n\n\t\tlet size = 0\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) size += 1\n\t\t\telse if( code < 0x800 ) size += 2\n\t\t\telse if( code < 0xd800 || code >= 0xe000 ) size += 3\n\t\t\telse size += 4\n\t\t\t\n\t\t}\n\n\t\treturn size\n\t}\n\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: AllowSharedBufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\n\t/** Reads `count` chars from UTF8 `buffer` starting `from` offset. */\n\texport function $mol_charset_decode_from( buffer: Uint8Array, from: number, count: number ) {\n\t\t\n\t\tlet res = ''\n\t\tlet pos = from\n\t\t\n\t\twhile( pos < buffer.length && res.length < count ) {\n\t\t\t\n\t\t\tconst byte1 = buffer[ pos ++ ]\n\t\t\t\n\t\t\tif( byte1 <= 0x7F ) {\n\t\t\t\t\n\t\t\t\tres += String.fromCharCode( byte1 )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xE0 ) === 0xC0 ) {\n\t\t\t\t\n\t\t\t\tif( pos >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tlet code = ( ( byte1 & 0x1F ) << 6 ) | ( byte2 & 0x3F )\n\t\t\t\t\n\t\t\t\tres += String.fromCharCode( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF0 ) === 0xE0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 1 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tlet code = ( ( byte1 & 0x0F ) << 12 ) | ( ( byte2 & 0x3F ) << 6 ) | ( byte3 & 0x3F )\n\t\t\t\t\n\t\t\t\tres += String.fromCharCode( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF8 ) === 0xF0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 2 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tconst byte4 = buffer[ pos ++ ]\n\t\t\t\tlet code = ( ( byte1 & 0x07 ) << 18 ) | ( ( byte2 & 0x3F ) << 12 ) | ( ( byte3 & 0x3F ) << 6 ) | ( byte4 & 0x3F )\n\t\t\t\t\n\t\t\t\tif( code > 0xFFFF ) { // Surrogate pair\n\t\t\t\t\t\n\t\t\t\t\tcode -= 0x10000\n\t\t\t\t\tconst hi = 0xD800 + ( code >> 10 )\n\t\t\t\t\tconst lo = 0xDC00 + ( code & 0x3FF )\n\t\t\t\t\t\n\t\t\t\t\tres += String.fromCharCode( hi, lo )\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tres += String.fromCharCode( code )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tres += '�'\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn [ res, pos - from ] as const\n\t}\n\n}\n","namespace $ {\n\t\n\texport enum $mol_vary_tip {\n\t\tuint = 0b000 << 5,\n\t\tlink = 0b001 << 5,\n\t\tspec = 0b010 << 5,\n\t\tlist = 0b011 << 5,\n\t\ttext = 0b100 << 5,\n\t\tblob = 0b101 << 5,\n\t\ttupl = 0b110 << 5,\n\t\tsint = 0b111 << 5,\n\t}\n\t\n\texport const $mol_vary_len = {\n\t\t1: 28,\n\t\t2: 29,\n\t\t4: 30,\n\t\t8: 31,\n\t} as const\n\t\n\texport enum $mol_vary_spec {\n\t\tnone = 'N'.charCodeAt(0),\n\t\ttrue = 'T'.charCodeAt(0),\n\t\tfake = 'F'.charCodeAt(0),\n\t\tboth = 'B'.charCodeAt(0),\n\t\tfp16 = $mol_vary_tip.spec | 29,\n\t\tfp32 = $mol_vary_tip.spec | 30,\n\t\tfp64 = $mol_vary_tip.spec | 31,\n\t}\n\t\n\tlet buffer = new Uint8Array( 256 )\n\tlet pack = new DataView( buffer.buffer )\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary extends DataView< ArrayBuffer > {\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tstatic pack( data: unknown ) {\n\t\t\t\n\t\t\tlet pos = 0\n\t\t\tlet capacity = 0\n\t\t\tconst offsets = new Map< unknown, number >()\n\t\t\t\n\t\t\tconst acquire = ( size: number )=> {\n\t\t\t\tif( size < 0 ) return\n\t\t\t\tcapacity += size\n\t\t\t\tif( buffer.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( buffer )\n\t\t\t\tbuffer = buffer2\n\t\t\t\tpack = new DataView( buffer.buffer )\n\t\t\t}\n\t\t\t\n\t\t\tconst release = ( size: number )=> {\n\t\t\t\tcapacity -= size\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_snum = ( val: number | bigint )=> {\n\t\t\t\tif( val >= -28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val >= -(2**7) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[1]\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val >= -(2**15) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[2]\n\t\t\t\t\tpack.setInt16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val >= -(2**31) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[4]\n\t\t\t\t\tpack.setInt32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val >= -(2n**63n) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[8]\n\t\t\t\t\tpack.setBigInt64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Number too low', { cause: val } ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\tif( val < 28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val < 2**8 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[1]\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val < 2**16 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[2]\n\t\t\t\t\tpack.setUint16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val < 2**32 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[4]\n\t\t\t\t\tpack.setUint32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val < 2n**64n ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[8]\n\t\t\t\t\tpack.setBigUint64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Number too high', { cause: val } ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_string = ( val: string )=> {\n\t\t\t\t\n\t\t\t\tif( val.length ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.text, val.length )\n\t\t\t\tacquire( val.length * 3 )\n\t\t\t\tconst len = $mol_charset_encode_to( val, buffer, pos )\n\t\t\t\tpos += len\n\t\t\t\trelease( val.length * 3 - len )\n\t\t\t\t\n\t\t\t\tif( val.length ) offsets.set( val, offsets.size )\n\t\t\t\treturn\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_buffer = ( val: ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\t\n\t\t\t\tif( val.byteLength ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.blob, val.byteLength )\n\t\t\t\t\n\t\t\t\tif( val instanceof Uint8Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[1]\n\t\t\t\telse if( val instanceof Uint16Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[2]\n\t\t\t\telse if( val instanceof Uint32Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigUint64Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[8]\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[1]\n\t\t\t\telse if( val instanceof Int16Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[2]\n\t\t\t\telse if( val instanceof Int32Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigInt64Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[8]\n\t\t\t\t\n\t\t\t\t// else if( val instanceof Float16Array ) pos += pack.tlen( pos, 'spec', $mol_vary_spec.fp16 ) // compatibility issues\n\t\t\t\telse if( val instanceof Float32Array ) buffer[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) buffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\n\t\t\t\telse $mol_fail( new Error( `Unsupported type` ) )\n\t\t\t\t\n\t\t\t\tconst src = ( val instanceof Uint8Array ) ? val : new Uint8Array( val.buffer, val.byteOffset, val.byteLength )\n\t\t\t\tacquire( val.byteLength )\n\t\t\t\tbuffer.set( src, pos )\n\t\t\t\tpos += val.byteLength\n\t\t\t\t\t\n\t\t\t\tif( val.byteLength ) offsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_list = ( val: any[] )=> {\n\t\t\t\t\n\t\t\t\tif( val.length ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.list, val.length )\n\t\t\t\tacquire( val.length * 9 )\n\t\t\t\tfor( const item of val ) dump( item )\n\t\t\t\n\t\t\t\tif( val.length ) offsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_object = ( val: object )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tconst proto = Reflect.getPrototypeOf( val )!\n\t\t\t\tconst lean = this.leanes.get( proto )\n\t\t\t\t\n\t\t\t\tconst keys = lean ? this.keys.get( proto )! : Object.keys( val )\n\t\t\t\tconst vals = lean ? lean( val ) : Object.values( val )\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.tupl, vals.length )\n\t\t\t\tacquire( vals.length * 2 * 9 )\n\t\t\t\tfor( const item of keys ) dump( item )\n\t\t\t\tfor( const item of vals ) dump( item )\n\t\t\t\t\n\t\t\t\tif( vals.length ) offsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\t/** Recursive fills buffer with data. */\n\t\t\tconst dump = ( val: unknown )=> {\n\t\t\t\t\n\t\t\t\t// if( pos >= size ) $mol_fail( new Error( 'Wrong buffer length', { cause: buffer } ) )\n\t\t\t\t\n\t\t\t\tswitch( typeof val ) {\n\t\t\t\t\t\n\t\t\t\t\tcase 'undefined': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.both\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'boolean': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = val ? $mol_vary_spec.true : $mol_vary_spec.fake\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'number': {\n\t\t\t\t\t\tif( !Number.isInteger( val ) ) {\n\t\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\t\t\t\tpack.setFloat64( pos, val, true )\n\t\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcase 'bigint': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( val < 0 ) {\n\t\t\t\t\t\t\tdump_snum( val )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdump_unum( $mol_vary_tip.uint, val )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'string': return dump_string( val )\n\t\t\t\t\t\n\t\t\t\t\tcase 'object': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !val ) {\n\t\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\t\treturn buffer[ pos ++ ] = $mol_vary_spec.none\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( ArrayBuffer.isView( val ) ) return dump_buffer( val as ArrayBufferView< ArrayBuffer > )\n\t\t\t\t\t\tif( Array.isArray( val ) ) return dump_list( val )\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn dump_object( val )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_fail( new Error( `Unsupported type` ) )\n\t\t\t}\n\t\t\t\n\t\t\tdump( data )\n\t\t\t\n\t\t\treturn buffer.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\tstatic take( buf: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst pack = new $mol_vary( buf.buffer, buf.byteOffset, buf.byteLength )\n\t\t\tconst stream = [] as unknown[]\n\t\t\tlet pos = 0;\n\t\t\t\n\t\t\tconst read_unum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\t++ pos\n\t\t\t\tconst num = kind & 0b11111\n\t\t\t\tif( num < 28 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === 28 ) {\n\t\t\t\t\tres = buffer[ pos ++ ]\n\t\t\t\t} else if( num === 29 ) {\n\t\t\t\t\tres = pack.getUint16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === 30 ) {\n\t\t\t\t\tres = pack.getUint32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === 31 ) {\n\t\t\t\t\tres = pack.getBigUint64( pos, true )\n\t\t\t\t\tif( res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported unum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_snum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst num = pack.getInt8( pos ++ )\n\t\t\t\tif( num >= -28 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === -29 ) {\n\t\t\t\t\tres = pack.getInt8( pos )\n\t\t\t\t\tpos += 1\n\t\t\t\t} else if( num === -30 ) {\n\t\t\t\t\tres= pack.getInt16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === -31 ) {\n\t\t\t\t\tres = pack.getInt32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === -32 ) {\n\t\t\t\t\tres = pack.getBigInt64( pos, true )\n\t\t\t\t\tif( res >= Number.MIN_SAFE_INTEGER && res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported snum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_text = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst [ text, bytes ] = $mol_charset_decode_from( buf, pack.byteOffset + pos, len )\n\t\t\t\tpos += bytes\n\t\t\t\tif( text.length ) stream.push( text )\n\t\t\t\treturn text\n\t\t\t}\n\t\t\t\n\t\t\tconst read_buffer = ( len: number, TypedArray: new( buf: ArrayBuffer )=> ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\tconst bin = new TypedArray( buf.slice( pos, pos + len ).buffer )\n\t\t\t\tpos += len\n\t\t\t\tif( len ) stream.push( bin )\n\t\t\t\treturn bin\n\t\t\t}\n\t\t\t\n\t\t\tconst read_blob = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst kind_item = buffer[ pos ++ ]\n\t\t\t\t\n\t\t\t\tswitch( kind_item ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_len[1]: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len[2]: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len[4]: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len[8]: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len[1] + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len[2] + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len[4] + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len[8] + 256: return read_buffer( len, BigInt64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp16: return read_buffer( len, Float16Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp32: return read_buffer( len, Float32Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp64: return read_buffer( len, Float64Array )\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported blob item kind', { cause: { kind_item } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst read_list = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst list = new Array( len ) as any[]\n\t\t\t\tfor( let i = 0; i < len; ++i ) list[i] = read_vary()\n\t\t\t\tif( len ) stream.push( list )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\tconst read_link = ( kind: number )=> {\n\t\t\t\tconst index = read_unum( kind ) as number\n\t\t\t\tif( index >= stream.length ) $mol_fail( new Error( 'Too large index', { cause: { index, exists: stream.length } } ) )\n\t\t\t\treturn stream[ index ]\n\t\t\t}\n\t\t\t\n\t\t\tconst read_tupl = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\t\n\t\t\t\tconst keys = new Array( len ) as any[]\n\t\t\t\tconst vals = new Array( len ) as any[]\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < len; ++i ) keys[i] = read_vary()\n\t\t\t\tfor( let i = 0; i < len; ++i ) vals[i] = read_vary()\n\t\t\t\t\n\t\t\t\tconst shape = JSON.stringify( keys )\n\t\t\t\t\n\t\t\t\tlet obj\n\t\t\t\tconst rich = this.riches.get( shape )\n\t\t\t\tif( rich ) {\n\t\t\t\t\tobj = rich( ... vals )\n\t\t\t\t} else {\n\t\t\t\t\tobj = {} as any\n\t\t\t\t\tfor( let i = 0; i < len; ++i ) obj[ keys[i] ] = vals[i]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( vals.length ) stream.push( obj )\n\t\t\t\t\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tconst read_spec = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.none:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn null\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fake:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn false\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.true:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn true\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.both:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp64: {\n\t\t\t\t\t\tconst val = pack.getFloat64( ++ pos, true )\n\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp32: {\n\t\t\t\t\t\tconst val = pack.getFloat32( ++ pos, true )\n\t\t\t\t\t\tpos += 4\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp16: {\n\t\t\t\t\t\tconst val = pack.getFloat16( ++ pos, true )\n\t\t\t\t\t\tpos += 2\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported spec', { cause: { kind } } ) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst read_vary = ()=> {\n\t\t\t\t\n\t\t\t\tconst kind = buffer[ pos ]\n\t\t\t\tconst tip = kind & 0b111_00000\n\t\t\t\t\n\t\t\t\tswitch( tip ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.uint: return read_unum( kind )\n\t\t\t\t\tcase $mol_vary_tip.sint: return read_snum( kind )\n\t\t\t\t\tcase $mol_vary_tip.link: return read_link( kind )\n\t\t\t\t\tcase $mol_vary_tip.text: return read_text( kind )\n\t\t\t\t\tcase $mol_vary_tip.list: return read_list( kind )\n\t\t\t\t\tcase $mol_vary_tip.blob: return read_blob( kind )\n\t\t\t\t\tcase $mol_vary_tip.tupl: return read_tupl( kind )\n\t\t\t\t\tcase $mol_vary_tip.spec: return read_spec( kind )\n\t\t\t\t\t\n\t\t\t\t\tdefault: $mol_fail( new Error( 'Unsupported tip', { cause: { tip } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn read_vary()\n\t\t}\n\t\t\n\t\tstatic leanes = new Map< object, ( val: any )=> readonly any[] >()\n\t\tstatic keys = new Map< object, readonly string[] >()\n\t\tstatic riches = new Map< string/*shape*/, ( ... vals: readonly any[] )=> object >()\n\t\t\n\t\t/** Adds custom types support. */\n\t\tstatic type<\n\t\t\tconst Instance extends object,\n\t\t\tconst Keys extends readonly any[],\n\t\t\tconst Vals extends readonly any[],\n\t\t>(\n\t\t\tkeys: Keys,\n\t\t\trich: ( ( ... vals: Vals )=> Instance ) | ( ()=> Instance ),\n\t\t\tlean: ( obj: Instance )=> Vals,\n\t\t) {\n\t\t\t\n\t\t\tconst obj = rich()\n\t\t\tconst proto = Reflect.getPrototypeOf( obj )!\n\t\t\tconst shape = JSON.stringify( keys )\n\t\t\t\n\t\t\tthis.leanes.set( proto, lean )\n\t\t\tthis.keys.set( proto, keys )\n\t\t\tthis.riches.set( shape, rich )\n\t\t}\n\t\t\n\t}\n\t\n\t/** Native Map support */\n\t$mol_vary.type(\n\t\t[ 'keys', 'vals' ],\n\t\t( keys = [] as readonly any[], vals = [] as readonly any[] )=> new Map( keys.map( ( k, i )=> [ k, vals[i] ] ) ),\n\t\tobj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t)\n\t\n\t/** Native Set support */\n\t$mol_vary.type(\n\t\t[ 'set' ],\n\t\t( vals = [] as readonly any[] )=> new Set( vals ),\n\t\tobj => [ [ ... obj.values() ] ],\n\t)\n\t\n\t/** Native Date support */\n\t$mol_vary.type(\n\t\t[ 'unix_time' ],\n\t\t( ts = 0 )=> new Date( ts * 1000 ),\n\t\tobj => [ obj.valueOf() / 1000 ],\n\t)\n\t\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["-","../../../mam.ts","../../../mol/fail/fail.ts","../../../mol/charset/encode/encode.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/decode/from/from.ts","../../../mol/dom/context/context.ts","../../../mol/dom/context/context.web.ts","../../../mol/dom/dom.ts","../../../mol/vary/vary.ts"],"names":[],"mappings":";;;AAAA;AACA;AACA;AACA;;ACHA,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;AAK3B,IAAU,CAAC,CAQV;AARD,WAAU,CAAC;AAQX,CAAC,EARS,CAAC,KAAD,CAAC,QAQV;AAED,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;;;ADflB;AACA;AACA;;;;;;;;;;;;;;;AEFA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,SAAS,CAAE,KAAW;QACrC,MAAM,KAAK,CAAA;IACZ,CAAC;IAFe,WAAS,YAExB,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAmEV;AAnED,WAAU,CAAC;IAEV,IAAI,GAAG,GAAG,IAAI,UAAU,CAAE,CAAC,IAAE,EAAE,CAAE,CAAA;IAEjC,SAAgB,mBAAmB,CAAE,GAAW;QAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,CAAC,UAAU,GAAG,QAAQ;YAAG,GAAG,GAAG,IAAI,UAAU,CAAE,QAAQ,CAAE,CAAA;QAChE,OAAO,GAAG,CAAC,KAAK,CAAE,CAAC,EAAE,sBAAsB,CAAE,GAAG,EAAE,GAAG,CAAE,CAAE,CAAA;IAC1D,CAAC;IAJe,qBAAmB,sBAIlC,CAAA;IAED,SAAgB,sBAAsB,CAAE,GAAW,EAAE,GAA8B,EAAE,IAAI,GAAG,CAAC;QAE5F,IAAI,GAAG,GAAG,IAAI,CAAA;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAG,CAAC;YAEtC,IAAI,IAAI,GAAG,GAAG,CAAC,UAAU,CAAE,CAAC,CAAE,CAAA;YAE9B,IAAI,IAAI,GAAG,IAAI,EAAG,CAAC;gBAElB,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,CAAA;YAErB,CAAC;iBAAM,IAAI,IAAI,GAAG,KAAK,EAAG,CAAC;gBAE1B,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,IAAI,IAAI,CAAC,CAAE,CAAA;gBACpC,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,IAAI,GAAG,IAAI,CAAE,CAAA;YAEvC,CAAC;iBAAM,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,EAAG,CAAC;gBAE7C,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,IAAI,IAAI,EAAE,CAAE,CAAA;gBACrC,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,CAAE,IAAI,IAAI,CAAC,CAAE,GAAG,IAAI,CAAE,CAAA;gBAC/C,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,IAAI,GAAG,IAAI,CAAE,CAAA;YAEvC,CAAC;iBAAM,CAAC;gBAEP,MAAM,KAAK,GAAG,CAAE,CAAE,IAAI,GAAG,MAAM,CAAE,IAAI,EAAE,CAAE,GAAG,GAAG,CAAC,UAAU,CAAE,EAAG,CAAC,CAAE,GAAG,MAAM,CAAA;gBAE3E,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,KAAK,IAAI,EAAE,CAAE,CAAA;gBACtC,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,CAAE,KAAK,IAAI,EAAE,CAAE,GAAG,IAAI,CAAE,CAAA;gBACjD,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,CAAE,KAAK,IAAI,CAAC,CAAE,GAAG,IAAI,CAAE,CAAA;gBAChD,GAAG,CAAE,GAAG,EAAG,CAAE,GAAG,IAAI,GAAG,CAAE,KAAK,GAAG,IAAI,CAAE,CAAA;YAExC,CAAC;QAEF,CAAC;QAED,OAAO,GAAG,GAAG,IAAI,CAAA;IAClB,CAAC;IArCe,wBAAsB,yBAqCrC,CAAA;IAED,SAAgB,wBAAwB,CAAE,GAAW;QAEpD,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAG,CAAC;YAEtC,IAAI,IAAI,GAAG,GAAG,CAAC,UAAU,CAAE,CAAC,CAAE,CAAA;YAE9B,IAAI,IAAI,GAAG,IAAI;gBAAG,IAAI,IAAI,CAAC,CAAA;iBACtB,IAAI,IAAI,GAAG,KAAK;gBAAG,IAAI,IAAI,CAAC,CAAA;iBAC5B,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM;gBAAG,IAAI,IAAI,CAAC,CAAA;;gBAC/C,IAAI,IAAI,CAAC,CAAA;QAEf,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAhBe,0BAAwB,2BAgBvC,CAAA;AAEF,CAAC,EAnES,CAAC,KAAD,CAAC,QAmEV;;;;;;;ACnED,IAAU,CAAC,CAeV;AAfD,WAAU,CAAC;IAEV,MAAM,QAAQ,GAAG,EAAwD,CAAA;IAEzE,SAAgB,mBAAmB,CAClC,MAA+B,EAC/B,WAAkC,MAAM;QAGxC,IAAI,OAAO,GAAG,QAAQ,CAAE,QAAQ,CAAE,CAAA;QAClC,IAAI,CAAC,OAAO;YAAG,OAAO,GAAG,QAAQ,CAAE,QAAQ,CAAE,GAAG,IAAI,WAAW,CAAE,QAAQ,CAAE,CAAA;QAE3E,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAE,CAAA;IAChC,CAAC;IATe,qBAAmB,sBASlC,CAAA;AAEF,CAAC,EAfS,CAAC,KAAD,CAAC,QAeV;;;;ACfD,IAAU,CAAC,CAiEV;AAjED,WAAU,CAAC;IAGV,SAAgB,wBAAwB,CAAE,MAAkB,EAAE,IAAY,EAAE,KAAa;QAExF,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAA;QAEd,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,EAAG,CAAC;YAErD,MAAM,KAAK,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;YAE9B,IAAI,KAAK,IAAI,IAAI,EAAG,CAAC;gBAEpB,KAAK,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;YAEpB,CAAC;iBAAM,IAAI,CAAE,KAAK,GAAG,IAAI,CAAE,KAAK,IAAI,EAAG,CAAC;gBAEvC,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM;oBAAG,MAAK;gBAEhC,MAAM,KAAK,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBAC9B,MAAM,IAAI,GAAG,CAAE,CAAE,KAAK,GAAG,IAAI,CAAE,IAAI,CAAC,CAAE,GAAG,CAAE,KAAK,GAAG,IAAI,CAAE,CAAA;gBAEzD,KAAK,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAEnB,CAAC;iBAAM,IAAI,CAAE,KAAK,GAAG,IAAI,CAAE,KAAK,IAAI,EAAG,CAAC;gBAEvC,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM;oBAAG,MAAK;gBAEpC,MAAM,KAAK,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBAC9B,MAAM,IAAI,GAAG,CAAE,CAAE,KAAK,GAAG,IAAI,CAAE,IAAI,EAAE,CAAE,GAAG,CAAE,CAAE,KAAK,GAAG,IAAI,CAAE,IAAI,CAAC,CAAE,GAAG,CAAE,KAAK,GAAG,IAAI,CAAE,CAAA;gBAEtF,KAAK,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAEnB,CAAC;iBAAM,IAAI,CAAE,KAAK,GAAG,IAAI,CAAE,KAAK,IAAI,EAAG,CAAC;gBAEvC,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM;oBAAG,MAAK;gBAEpC,MAAM,KAAK,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBAC9B,IAAI,IAAI,GAAG,CAAE,CAAE,KAAK,GAAG,IAAI,CAAE,IAAI,EAAE,CAAE,GAAG,CAAE,CAAE,KAAK,GAAG,IAAI,CAAE,IAAI,EAAE,CAAE,GAAG,CAAE,CAAE,KAAK,GAAG,IAAI,CAAE,IAAI,CAAC,CAAE,GAAG,CAAE,KAAK,GAAG,IAAI,CAAE,CAAA;gBAEjH,IAAI,IAAI,GAAG,MAAM,EAAG,CAAC;oBAEpB,IAAI,IAAI,OAAO,CAAA;oBACf,MAAM,EAAE,GAAG,MAAM,GAAG,CAAE,IAAI,IAAI,EAAE,CAAE,CAAA;oBAClC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAE,IAAI,GAAG,KAAK,CAAE,CAAA;oBAEpC,KAAK,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;gBAErB,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBACnB,CAAC;YAEF,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YACrB,CAAC;QAEF,CAAC;QAED,OAAO,CAAE,MAAM,CAAC,YAAY,CAAE,GAAI,KAAK,CAAE,EAAE,GAAG,GAAG,IAAI,CAAW,CAAA;IACjE,CAAC;IA5De,0BAAwB,2BA4DvC,CAAA;AAEF,CAAC,EAjES,CAAC,KAAD,CAAC,QAiEV;;;;ACjED,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;AAIX,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;IAEV,CAAC,CAAC,gBAAgB,GAAG,IAAW,CAAA;AAEjC,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;IAEC,UAAQ,GAAG,gBAAgB,CAAA;AAEvC,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAshBV;AAthBD,WAAU,CAAC;IAEV,IAAY,aASX;IATD,WAAY,aAAa;QACxB,iDAAiB,CAAA;QACjB,kDAAiB,CAAA;QACjB,kDAAiB,CAAA;QACjB,kDAAiB,CAAA;QACjB,mDAAiB,CAAA;QACjB,mDAAiB,CAAA;QACjB,mDAAiB,CAAA;QACjB,mDAAiB,CAAA;IAClB,CAAC,EATW,aAAa,GAAb,eAAa,KAAb,eAAa,QASxB;IAEY,eAAa,GAAG;QAC5B,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;KACI,CAAA;IAEV,IAAY,cAQX;IARD,WAAY,cAAc;QACzB,wCAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAA,CAAA;QACxB,wCAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAA,CAAA;QACxB,wCAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAA,CAAA;QACxB,wCAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAA,CAAA;QACxB,oDAA8B,CAAA;QAC9B,oDAA8B,CAAA;QAC9B,oDAA8B,CAAA;IAC/B,CAAC,EARW,cAAc,GAAd,gBAAc,KAAd,gBAAc,QAQzB;IAED,IAAI,MAAM,GAAG,IAAI,UAAU,CAAE,GAAG,CAAE,CAAA;IAClC,IAAI,IAAI,GAAG,IAAI,QAAQ,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;IAGxC,MAAa,SAAU,SAAQ,QAAuB;QAGrD,MAAM,CAAC,IAAI,CAAE,IAAa;YAEzB,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAA;YAE5C,MAAM,OAAO,GAAG,CAAE,IAAY,EAAE,EAAE;gBACjC,IAAI,IAAI,GAAG,CAAC;oBAAG,OAAM;gBACrB,QAAQ,IAAI,IAAI,CAAA;gBAChB,IAAI,MAAM,CAAC,UAAU,IAAI,QAAQ;oBAAG,OAAM;gBAC1C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAE,IAAI,CAAC,IAAI,CAAE,QAAQ,GAAG,IAAI,CAAE,GAAG,IAAI,CAAE,CAAA;gBACrE,OAAO,CAAC,GAAG,CAAE,MAAM,CAAE,CAAA;gBACrB,MAAM,GAAG,OAAO,CAAA;gBAChB,IAAI,GAAG,IAAI,QAAQ,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;YACrC,CAAC,CAAA;YAED,MAAM,OAAO,GAAG,CAAE,IAAY,EAAE,EAAE;gBACjC,QAAQ,IAAI,IAAI,CAAA;YACjB,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,GAAoB,EAAE,EAAE;gBAC3C,IAAI,GAAG,IAAI,CAAC,EAAE,EAAG,CAAC;oBACjB,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBAChC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,EAAG,CAAC;oBAC5B,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACpC,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBAChC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,EAAG,CAAC;oBAC7B,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACpC,IAAI,CAAC,QAAQ,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBACzC,GAAG,IAAI,CAAC,CAAA;oBACR,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,EAAG,CAAC;oBAC7B,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACpC,IAAI,CAAC,QAAQ,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBACzC,GAAG,IAAI,CAAC,CAAA;oBACR,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,IAAE,GAAG,CAAC,EAAG,CAAC;oBAC/B,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACpC,IAAI,CAAC,WAAW,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBAC5C,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAE,IAAI,KAAK,CAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAE,CAAE,CAAA;gBAC3D,CAAC;YACF,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,GAAW,EAAE,GAAoB,EAAE,EAAE;gBACxD,IAAI,GAAG,GAAG,EAAE,EAAG,CAAC;oBACf,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBACtC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,GAAG,CAAC,IAAE,CAAC,EAAG,CAAC;oBACxB,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACzC,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBAChC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,GAAG,CAAC,IAAE,EAAE,EAAG,CAAC;oBACzB,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACzC,IAAI,CAAC,SAAS,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBAC1C,GAAG,IAAI,CAAC,CAAA;oBACR,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,GAAG,CAAC,IAAE,EAAE,EAAG,CAAC;oBACzB,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACzC,IAAI,CAAC,SAAS,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBAC1C,GAAG,IAAI,CAAC,CAAA;oBACR,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,GAAG,EAAE,IAAE,GAAG,EAAG,CAAC;oBAC3B,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;oBACzC,IAAI,CAAC,YAAY,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBAC7C,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAE,IAAI,KAAK,CAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBAChE,CAAC;YACF,CAAC,CAAA;YAED,MAAM,WAAW,GAAG,CAAE,GAAW,EAAE,EAAE;gBAEpC,IAAI,GAAG,CAAC,MAAM,EAAG,CAAC;oBACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,GAAG,CAAE,CAAA;oBACjC,IAAI,MAAM,KAAK,SAAS;wBAAG,OAAO,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAE,CAAA;gBAC1E,CAAC;gBAED,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAE,CAAA;gBAC3C,OAAO,CAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;gBACzB,MAAM,GAAG,GAAG,sBAAsB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAE,CAAA;gBACtD,GAAG,IAAI,GAAG,CAAA;gBACV,OAAO,CAAE,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAE,CAAA;gBAE/B,IAAI,GAAG,CAAC,MAAM;oBAAG,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;gBACjD,OAAM;YAEP,CAAC,CAAA;YAED,MAAM,WAAW,GAAG,CAAE,GAAmC,EAAE,EAAE;gBAE5D,IAAI,GAAG,CAAC,UAAU,EAAG,CAAC;oBACrB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,GAAG,CAAE,CAAA;oBACjC,IAAI,MAAM,KAAK,SAAS;wBAAG,OAAO,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAE,CAAA;gBAC1E,CAAC;gBAED,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAE,CAAA;gBAE/C,IAAI,GAAG,YAAY,UAAU;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBACnF,IAAI,GAAG,YAAY,WAAW;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBACzF,IAAI,GAAG,YAAY,WAAW;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBACzF,IAAI,GAAG,YAAY,cAAc;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBAE5F,IAAI,GAAG,YAAY,SAAS;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBACxF,IAAI,GAAG,YAAY,UAAU;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBACzF,IAAI,GAAG,YAAY,UAAU;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBACzF,IAAI,GAAG,YAAY,aAAa;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,CAAA;qBAG5F,IAAI,GAAG,YAAY,YAAY;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;qBACxE,IAAI,GAAG,YAAY,YAAY;oBAAG,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;;oBAExE,SAAS,CAAE,IAAI,KAAK,CAAE,kBAAkB,CAAE,CAAE,CAAA;gBAEjD,MAAM,GAAG,GAAG,CAAE,GAAG,YAAY,UAAU,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAE,CAAA;gBAC9G,OAAO,CAAE,GAAG,CAAC,UAAU,CAAE,CAAA;gBACzB,MAAM,CAAC,GAAG,CAAE,GAAG,EAAE,GAAG,CAAE,CAAA;gBACtB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAA;gBAErB,IAAI,GAAG,CAAC,UAAU;oBAAG,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YACtD,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,GAAU,EAAE,EAAE;gBAEjC,IAAI,GAAG,CAAC,MAAM,EAAG,CAAC;oBACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,GAAG,CAAE,CAAA;oBACjC,IAAI,MAAM,KAAK,SAAS;wBAAG,OAAO,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAE,CAAA;gBAC1E,CAAC;gBAED,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAE,CAAA;gBAC3C,OAAO,CAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;gBACzB,KAAK,MAAM,IAAI,IAAI,GAAG;oBAAG,IAAI,CAAE,IAAI,CAAE,CAAA;gBAErC,IAAI,GAAG,CAAC,MAAM;oBAAG,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YAElD,CAAC,CAAA;YAED,MAAM,WAAW,GAAG,CAAE,GAAW,EAAE,EAAE;gBAEpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,GAAG,CAAE,CAAA;gBACjC,IAAI,MAAM,KAAK,SAAS;oBAAG,OAAO,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAE,CAAA;gBAEzE,MAAM,IAAI,GAAK,GAAY,CAAE,EAAA,cAAc,CAAE,IAAI,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBACnE,MAAM,IAAI,GAAK,GAAY,CAAE,EAAA,cAAc,CAAE,EAAE,CAAE,GAAG,CAAE,IAAI,MAAM,CAAC,MAAM,CAAE,GAAG,CAAE,CAAA;gBAE9E,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAE,CAAA;gBAC5C,OAAO,CAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAE,CAAA;gBAC9B,KAAK,MAAM,IAAI,IAAI,IAAI;oBAAG,IAAI,CAAE,IAAI,CAAE,CAAA;gBACtC,KAAK,MAAM,IAAI,IAAI,IAAI;oBAAG,IAAI,CAAE,IAAI,CAAE,CAAA;gBAEtC,IAAI,IAAI,CAAC,MAAM;oBAAG,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YACnD,CAAC,CAAA;YAGD,MAAM,IAAI,GAAG,CAAE,GAAY,EAAE,EAAE;gBAE9B,QAAQ,OAAO,GAAG,EAAG,CAAC;oBAErB,KAAK,WAAW,CAAC,CAAC,CAAC;wBAClB,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;wBACtC,OAAO,CAAE,CAAC,CAAE,CAAA;wBACZ,OAAM;oBACP,CAAC;oBAED,KAAK,SAAS,CAAC,CAAC,CAAC;wBAChB,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAA;wBAClE,OAAO,CAAE,CAAC,CAAE,CAAA;wBACZ,OAAM;oBACP,CAAC;oBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAE,GAAG,CAAE,EAAG,CAAC;4BAC/B,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;4BACtC,IAAI,CAAC,UAAU,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAE,CAAA;4BACjC,GAAG,IAAI,CAAC,CAAA;4BACR,OAAM;wBACP,CAAC;oBACF,CAAC;oBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;wBAEf,IAAI,GAAG,GAAG,CAAC,EAAG,CAAC;4BACd,SAAS,CAAE,GAAG,CAAE,CAAA;wBACjB,CAAC;6BAAM,CAAC;4BACP,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAE,CAAA;wBACrC,CAAC;wBAED,OAAM;oBACP,CAAC;oBAED,KAAK,QAAQ,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,CAAE,CAAA;oBAExC,KAAK,QAAQ,CAAC,CAAC,CAAC;wBAEf,IAAI,CAAC,GAAG,EAAG,CAAC;4BACX,OAAO,CAAE,CAAC,CAAE,CAAA;4BACZ,OAAO,MAAM,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;wBAC9C,CAAC;wBACD,IAAI,WAAW,CAAC,MAAM,CAAE,GAAG,CAAE;4BAAG,OAAO,WAAW,CAAE,GAAqC,CAAE,CAAA;wBAC3F,IAAI,KAAK,CAAC,OAAO,CAAE,GAAG,CAAE;4BAAG,OAAO,SAAS,CAAE,GAAG,CAAE,CAAA;wBAElD,OAAO,WAAW,CAAE,GAAG,CAAE,CAAA;oBAE1B,CAAC;gBAEF,CAAC;gBAED,SAAS,CAAE,IAAI,KAAK,CAAE,kBAAkB,CAAE,CAAE,CAAA;YAC7C,CAAC,CAAA;YAED,IAAI,CAAE,IAAI,CAAE,CAAA;YAEZ,OAAO,MAAM,CAAC,KAAK,CAAE,CAAC,EAAE,GAAG,CAAE,CAAA;QAE9B,CAAC;QAGD,MAAM,CAAC,IAAI,CAAE,GAA8B;YAE1C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAE,CAAA;YACxE,MAAM,MAAM,GAAG,EAAe,CAAA;YAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;YAEZ,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBAEnC,EAAG,GAAG,CAAA;gBACN,MAAM,GAAG,GAAG,IAAI,GAAG,OAAO,CAAA;gBAC1B,IAAI,GAAG,GAAG,EAAE;oBAAG,OAAO,GAAG,CAAA;gBAEzB,IAAI,GAAG,GAAG,CAAoB,CAAA;gBAE9B,IAAI,GAAG,KAAK,EAAE,EAAG,CAAC;oBACjB,GAAG,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBACvB,CAAC;qBAAM,IAAI,GAAG,KAAK,EAAE,EAAG,CAAC;oBACxB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACjC,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,EAAE,EAAG,CAAC;oBACxB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACjC,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,EAAE,EAAG,CAAC;oBACxB,GAAG,GAAG,IAAI,CAAC,YAAY,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACpC,IAAI,GAAG,IAAI,MAAM,CAAC,gBAAgB;wBAAG,GAAG,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBACxD,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAE,IAAI,KAAK,CAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBACjE,CAAC;gBAED,OAAO,GAAG,CAAA;YACX,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAE,GAAG,EAAG,CAAE,CAAA;gBAClC,IAAI,GAAG,IAAI,CAAC,EAAE;oBAAG,OAAO,GAAG,CAAA;gBAE3B,IAAI,GAAG,GAAG,CAAoB,CAAA;gBAE9B,IAAI,GAAG,KAAK,CAAC,EAAE,EAAG,CAAC;oBAClB,GAAG,GAAG,IAAI,CAAC,OAAO,CAAE,GAAG,CAAE,CAAA;oBACzB,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAG,CAAC;oBACzB,GAAG,GAAE,IAAI,CAAC,QAAQ,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBAC/B,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAG,CAAC;oBACzB,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBAChC,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAG,CAAC;oBACzB,GAAG,GAAG,IAAI,CAAC,WAAW,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACnC,IAAI,GAAG,IAAI,MAAM,CAAC,gBAAgB,IAAI,GAAG,IAAI,MAAM,CAAC,gBAAgB;wBAAG,GAAG,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBAC1F,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAE,IAAI,KAAK,CAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBACjE,CAAC;gBAED,OAAO,GAAG,CAAA;YACX,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBACnC,MAAM,GAAG,GAAG,SAAS,CAAE,IAAI,CAAY,CAAA;gBACvC,MAAM,CAAE,IAAI,EAAE,KAAK,CAAE,GAAG,wBAAwB,CAAE,GAAG,EAAE,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,GAAG,CAAE,CAAA;gBACnF,GAAG,IAAI,KAAK,CAAA;gBACZ,IAAI,IAAI,CAAC,MAAM;oBAAG,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBACrC,OAAO,IAAI,CAAA;YACZ,CAAC,CAAA;YAED,MAAM,WAAW,GAAG,CAAE,GAAW,EAAE,UAAoE,EAAE,EAAE;gBAC1G,MAAM,GAAG,GAAG,IAAI,UAAU,CAAE,GAAG,CAAC,KAAK,CAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAE,CAAC,MAAM,CAAE,CAAA;gBAChE,GAAG,IAAI,GAAG,CAAA;gBACV,IAAI,GAAG;oBAAG,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAC5B,OAAO,GAAG,CAAA;YACX,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBAEnC,MAAM,GAAG,GAAG,SAAS,CAAE,IAAI,CAAY,CAAA;gBACvC,MAAM,SAAS,GAAG,MAAM,CAAE,GAAG,EAAG,CAAE,CAAA;gBAElC,QAAQ,SAAS,EAAG,CAAC;oBAEpB,KAAK,EAAA,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,UAAU,CAAE,CAAA;oBAC5D,KAAK,EAAA,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,WAAW,CAAE,CAAA;oBAC7D,KAAK,EAAA,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,WAAW,CAAE,CAAA;oBAC7D,KAAK,EAAA,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,cAAc,CAAE,CAAA;oBAEhE,KAAK,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,SAAS,CAAE,CAAA;oBAClE,KAAK,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,UAAU,CAAE,CAAA;oBACnE,KAAK,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,UAAU,CAAE,CAAA;oBACnE,KAAK,CAAC,EAAA,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,aAAa,CAAE,CAAA;oBAEtE,KAAK,aAAa,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,YAAY,CAAE,CAAA;oBACtF,KAAK,aAAa,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,YAAY,CAAE,CAAA;oBACtF,KAAK,aAAa,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,YAAY,CAAE,CAAA;oBAEtF;wBACC,SAAS,CAAE,IAAI,KAAK,CAAE,4BAA4B,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAE,CAAE,CAAA;gBAClF,CAAC;YAEF,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBACnC,MAAM,GAAG,GAAG,SAAS,CAAE,IAAI,CAAY,CAAA;gBACvC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAE,GAAG,CAAW,CAAA;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC;oBAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAA;gBACpD,IAAI,GAAG;oBAAG,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBAC7B,OAAO,IAAI,CAAA;YACZ,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBACnC,MAAM,KAAK,GAAG,SAAS,CAAE,IAAI,CAAY,CAAA;gBACzC,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM;oBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAE,CAAE,CAAA;gBACrH,OAAO,MAAM,CAAE,KAAK,CAAE,CAAA;YACvB,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBAEnC,MAAM,GAAG,GAAG,SAAS,CAAE,IAAI,CAAY,CAAA;gBAEvC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAE,GAAG,CAAW,CAAA;gBACtC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAE,GAAG,CAAW,CAAA;gBAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC;oBAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAA;gBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC;oBAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAA;gBAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAA;gBAEpC,IAAI,GAAG,CAAA;gBACP,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE,KAAK,CAAE,CAAA;gBACrC,IAAI,IAAI,EAAG,CAAC;oBACX,GAAG,GAAG,IAAI,CAAE,GAAI,IAAI,CAAE,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACP,GAAG,GAAG,EAAS,CAAA;oBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC;wBAAG,GAAG,CAAE,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACxD,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM;oBAAG,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAEpC,OAAO,GAAG,CAAA;YACX,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBAEnC,QAAQ,IAAI,EAAG,CAAC;oBAEf,KAAK,cAAc,CAAC,IAAI;wBACvB,EAAG,GAAG,CAAA;wBACN,OAAO,IAAI,CAAA;oBAEZ,KAAK,cAAc,CAAC,IAAI;wBACvB,EAAG,GAAG,CAAA;wBACN,OAAO,KAAK,CAAA;oBAEb,KAAK,cAAc,CAAC,IAAI;wBACvB,EAAG,GAAG,CAAA;wBACN,OAAO,IAAI,CAAA;oBAEZ,KAAK,cAAc,CAAC,IAAI;wBACvB,EAAG,GAAG,CAAA;wBACN,OAAO,SAAS,CAAA;oBAEjB,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAE,EAAG,GAAG,EAAE,IAAI,CAAE,CAAA;wBAC3C,GAAG,IAAI,CAAC,CAAA;wBACR,OAAO,GAAG,CAAA;oBACX,CAAC;oBAED,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAE,EAAG,GAAG,EAAE,IAAI,CAAE,CAAA;wBAC3C,GAAG,IAAI,CAAC,CAAA;wBACR,OAAO,GAAG,CAAA;oBACX,CAAC;oBAED,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAE,EAAG,GAAG,EAAE,IAAI,CAAE,CAAA;wBAC3C,GAAG,IAAI,CAAC,CAAA;wBACR,OAAO,GAAG,CAAA;oBACX,CAAC;oBAED;wBACC,SAAS,CAAE,IAAI,KAAK,CAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAE,CAAE,CAAA;gBAEnE,CAAC;YAEF,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,GAAE,EAAE;gBAErB,MAAM,IAAI,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,WAAW,CAAA;gBAE9B,QAAQ,GAAG,EAAG,CAAC;oBAEd,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBACjD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBACjD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBACjD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBACjD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBACjD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBACjD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBACjD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;oBAEjD,OAAO,CAAC,CAAC,SAAS,CAAE,IAAI,KAAK,CAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBACzE,CAAC;YAEF,CAAC,CAAA;YAED,OAAO,SAAS,EAAE,CAAA;QACnB,CAAC;QAED,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,EAA4D,CAAA;QAGnF,MAAM,CAAC,IAAI,CAKV,KAAwC,EACxC,IAAU,EACV,IAA8B,EAC9B,IAAmC;YAEnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,EAAE,IAAI,CAAE,CAC9C;YAAE,KAAK,CAAC,SAAkB,CAAE,EAAA,cAAc,CAAE,GAAG,IAAI,CACnD;YAAE,KAAK,CAAC,SAAkB,CAAE,EAAA,cAAc,CAAE,GAAG,IAAI,CAAA;QACrD,CAAC;;IAjcW,WAAS,YAmcrB,CAAA;IAEY,gBAAc,GAAG,MAAM,CAAC,GAAG,CAAE,gBAAgB,CAAE,CAAA;IAC/C,gBAAc,GAAG,MAAM,CAAC,GAAG,CAAE,gBAAgB,CAAE,CAAA;IAG5D,SAAS,CAAC,IAAI,CACb,GAAG,EACH,CAAE,MAAM,EAAE,MAAM,CAAE,EAClB,GAAG,CAAC,EAAE,CAAC,CAAE,CAAE,GAAI,GAAG,CAAC,IAAI,EAAE,CAAE,EAAE,CAAE,GAAI,GAAG,CAAC,MAAM,EAAE,CAAE,CAAE,EACnD,CAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAE,IAAI,CAAC,GAAG,CAAE,CAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,CAAE,CAAE,CACjE,CAAA;IAGD,SAAS,CAAC,IAAI,CACb,GAAG,EACH,CAAE,KAAK,CAAE,EACT,GAAG,CAAC,EAAE,CAAC,CAAE,CAAE,GAAI,GAAG,CAAC,MAAM,EAAE,CAAE,CAAE,EAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAE,IAAI,CAAE,CACvB,CAAA;IAGD,SAAS,CAAC,IAAI,CACb,IAAI,EACJ,CAAE,WAAW,CAAE,EACf,GAAG,CAAC,EAAE,CAAC,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAE,EAC/B,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAE,EAAE,GAAG,IAAI,CAAE,CAC3B,CAAA;IAGD,SAAS,CAAC,IAAI,CACb,QAAQ,CAAC,OAAO,EAChB,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAE,EAClC,IAAI,CAAC,EAAE;QACN,MAAM,KAAK,GAAG,CAAE,GAAI,IAAI,CAAC,UAAU,CAAE,CAAA;QACrC,MAAM,IAAI,GAAG,CAAE,GAAI,IAAI,CAAC,UAAU,CAAE,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAU,CAAC,CAAC,CAAC,GAAG,CAAE,CAAA;QACtG,OAAO,CAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAE,EAAE,KAAK,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAU,CAAE,EAAE,IAAI,CAAE,CAAA;IACzG,CAAC,EACD,CAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAE,IAAI,CAAE,CAAA;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAAG,EAAE,CAAC,YAAY,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,CAAA;QAC1E,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;YACvB,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAG,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAE,GAAG,CAAE,CAAA;YAC3E,EAAE,CAAC,WAAW,CAAE,GAAG,CAAE,CAAA;QACtB,CAAC;QACD,OAAO,EAAE,CAAA;IACV,CAAC,CACD,CAAA;AAEF,CAAC,EAthBS,CAAC,KAAD,CAAC,QAshBV;;","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\tlet buf = new Uint8Array( 2**12 ) // 4KB Mem Page\n\t\n\texport function $mol_charset_encode( str: string ) {\n\t\tconst capacity = str.length * 3\n\t\tif( buf.byteLength < capacity ) buf = new Uint8Array( capacity )\n\t\treturn buf.slice( 0, $mol_charset_encode_to( str, buf ) )\n\t}\n\n\texport function $mol_charset_encode_to( str: string, buf: Uint8Array< ArrayBuffer >, from = 0 ) {\n\n\t\tlet pos = from\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) { // ASCII - 1 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = code\n\t\t\t\t\n\t\t\t} else if( code < 0x800 ) { // 2 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xc0 | ( code >> 6 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else if( code < 0xd800 || code >= 0xe000 ) { // 3 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xe0 | ( code >> 12 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( code >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else { // surrogate pair\n\t\t\t\t\n\t\t\t\tconst point = ( ( code - 0xd800 ) << 10 ) + str.charCodeAt( ++ i ) + 0x2400\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xf0 | ( point >> 18 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 12 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( point & 0x3f )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn pos - from\n\t}\n\n\texport function $mol_charset_encode_size( str: string ) {\n\n\t\tlet size = 0\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) size += 1\n\t\t\telse if( code < 0x800 ) size += 2\n\t\t\telse if( code < 0xd800 || code >= 0xe000 ) size += 3\n\t\t\telse size += 4\n\t\t\t\n\t\t}\n\n\t\treturn size\n\t}\n\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: AllowSharedBufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\n\t/** Reads `count` chars from UTF8 `buffer` starting `from` offset. */\n\texport function $mol_charset_decode_from( buffer: Uint8Array, from: number, count: number ) {\n\t\t\n\t\tconst codes: number[] = []\n\t\tlet pos = from\n\t\t\n\t\twhile( pos < buffer.length && codes.length < count ) {\n\t\t\t\n\t\t\tconst byte1 = buffer[ pos ++ ]\n\t\t\t\n\t\t\tif( byte1 <= 0x7F ) {\n\t\t\t\t\n\t\t\t\tcodes.push( byte1 )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xE0 ) === 0xC0 ) {\n\t\t\t\t\n\t\t\t\tif( pos >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst code = ( ( byte1 & 0x1F ) << 6 ) | ( byte2 & 0x3F )\n\t\t\t\t\n\t\t\t\tcodes.push( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF0 ) === 0xE0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 1 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tconst code = ( ( byte1 & 0x0F ) << 12 ) | ( ( byte2 & 0x3F ) << 6 ) | ( byte3 & 0x3F )\n\t\t\t\t\n\t\t\t\tcodes.push( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF8 ) === 0xF0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 2 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tconst byte4 = buffer[ pos ++ ]\n\t\t\t\tlet code = ( ( byte1 & 0x07 ) << 18 ) | ( ( byte2 & 0x3F ) << 12 ) | ( ( byte3 & 0x3F ) << 6 ) | ( byte4 & 0x3F )\n\t\t\t\t\n\t\t\t\tif( code > 0xFFFF ) { // Surrogate pair\n\t\t\t\t\t\n\t\t\t\t\tcode -= 0x10000\n\t\t\t\t\tconst hi = 0xD800 + ( code >> 10 )\n\t\t\t\t\tconst lo = 0xDC00 + ( code & 0x3FF )\n\t\t\t\t\t\n\t\t\t\t\tcodes.push( hi, lo )\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\tcodes.push( code )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tcodes.push( 0xFFFD ) // �\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn [ String.fromCharCode( ... codes ), pos - from ] as const\n\t}\n\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\t\n\texport enum $mol_vary_tip {\n\t\tuint = 0b000 << 5,\n\t\tlink = 0b001 << 5,\n\t\tspec = 0b010 << 5,\n\t\tlist = 0b011 << 5,\n\t\ttext = 0b100 << 5,\n\t\tblob = 0b101 << 5,\n\t\ttupl = 0b110 << 5,\n\t\tsint = 0b111 << 5,\n\t}\n\t\n\texport const $mol_vary_len = {\n\t\t1: 28,\n\t\t2: 29,\n\t\t4: 30,\n\t\t8: 31,\n\t} as const\n\t\n\texport enum $mol_vary_spec {\n\t\tnone = 'N'.charCodeAt(0),\n\t\ttrue = 'T'.charCodeAt(0),\n\t\tfake = 'F'.charCodeAt(0),\n\t\tboth = 'B'.charCodeAt(0),\n\t\tfp16 = $mol_vary_tip.spec | 29,\n\t\tfp32 = $mol_vary_tip.spec | 30,\n\t\tfp64 = $mol_vary_tip.spec | 31,\n\t}\n\t\n\tlet buffer = new Uint8Array( 256 )\n\tlet pack = new DataView( buffer.buffer )\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary extends DataView< ArrayBuffer > {\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tstatic pack( data: unknown ) {\n\t\t\t\n\t\t\tlet pos = 0\n\t\t\tlet capacity = 0\n\t\t\tconst offsets = new Map< unknown, number >()\n\t\t\t\n\t\t\tconst acquire = ( size: number )=> {\n\t\t\t\tif( size < 0 ) return\n\t\t\t\tcapacity += size\n\t\t\t\tif( buffer.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( buffer )\n\t\t\t\tbuffer = buffer2\n\t\t\t\tpack = new DataView( buffer.buffer )\n\t\t\t}\n\t\t\t\n\t\t\tconst release = ( size: number )=> {\n\t\t\t\tcapacity -= size\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_snum = ( val: number | bigint )=> {\n\t\t\t\tif( val >= -28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val >= -(2**7) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[1]\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val >= -(2**15) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[2]\n\t\t\t\t\tpack.setInt16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val >= -(2**31) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[4]\n\t\t\t\t\tpack.setInt32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val >= -(2n**63n) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[8]\n\t\t\t\t\tpack.setBigInt64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Number too low', { cause: val } ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\tif( val < 28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val < 2**8 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[1]\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val < 2**16 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[2]\n\t\t\t\t\tpack.setUint16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val < 2**32 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[4]\n\t\t\t\t\tpack.setUint32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val < 2n**64n ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[8]\n\t\t\t\t\tpack.setBigUint64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_string = ( val: string )=> {\n\t\t\t\t\n\t\t\t\tif( val.length ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.text, val.length )\n\t\t\t\tacquire( val.length * 3 )\n\t\t\t\tconst len = $mol_charset_encode_to( val, buffer, pos )\n\t\t\t\tpos += len\n\t\t\t\trelease( val.length * 3 - len )\n\t\t\t\t\n\t\t\t\tif( val.length ) offsets.set( val, offsets.size )\n\t\t\t\treturn\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_buffer = ( val: ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\t\n\t\t\t\tif( val.byteLength ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.blob, val.byteLength )\n\t\t\t\t\n\t\t\t\tif( val instanceof Uint8Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[1]\n\t\t\t\telse if( val instanceof Uint16Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[2]\n\t\t\t\telse if( val instanceof Uint32Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigUint64Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[8]\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[1]\n\t\t\t\telse if( val instanceof Int16Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[2]\n\t\t\t\telse if( val instanceof Int32Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigInt64Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[8]\n\t\t\t\t\n\t\t\t\t// else if( val instanceof Float16Array ) pos += pack.tlen( pos, 'spec', $mol_vary_spec.fp16 ) // compatibility issues\n\t\t\t\telse if( val instanceof Float32Array ) buffer[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) buffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\n\t\t\t\telse $mol_fail( new Error( `Unsupported type` ) )\n\t\t\t\t\n\t\t\t\tconst src = ( val instanceof Uint8Array ) ? val : new Uint8Array( val.buffer, val.byteOffset, val.byteLength )\n\t\t\t\tacquire( val.byteLength )\n\t\t\t\tbuffer.set( src, pos )\n\t\t\t\tpos += val.byteLength\n\t\t\t\t\t\n\t\t\t\tif( val.byteLength ) offsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_list = ( val: any[] )=> {\n\t\t\t\t\n\t\t\t\tif( val.length ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.list, val.length )\n\t\t\t\tacquire( val.length * 9 )\n\t\t\t\tfor( const item of val ) dump( item )\n\t\t\t\n\t\t\t\tif( val.length ) offsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_object = ( val: object )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tconst keys = ( val as any )[ $mol_vary_keys ] ?? Object.keys( val )\n\t\t\t\tconst vals = ( val as any )[ $mol_vary_lean ]?.( val ) ?? Object.values( val )\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.tupl, vals.length )\n\t\t\t\tacquire( vals.length * 2 * 9 )\n\t\t\t\tfor( const item of keys ) dump( item )\n\t\t\t\tfor( const item of vals ) dump( item )\n\t\t\t\t\n\t\t\t\tif( vals.length ) offsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\t/** Recursive fills buffer with data. */\n\t\t\tconst dump = ( val: unknown )=> {\n\t\t\t\t\n\t\t\t\tswitch( typeof val ) {\n\t\t\t\t\t\n\t\t\t\t\tcase 'undefined': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.both\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'boolean': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = val ? $mol_vary_spec.true : $mol_vary_spec.fake\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'number': {\n\t\t\t\t\t\tif( !Number.isInteger( val ) ) {\n\t\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\t\t\t\tpack.setFloat64( pos, val, true )\n\t\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcase 'bigint': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( val < 0 ) {\n\t\t\t\t\t\t\tdump_snum( val )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdump_unum( $mol_vary_tip.uint, val )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'string': return dump_string( val )\n\t\t\t\t\t\n\t\t\t\t\tcase 'object': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !val ) {\n\t\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\t\treturn buffer[ pos ++ ] = $mol_vary_spec.none\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( ArrayBuffer.isView( val ) ) return dump_buffer( val as ArrayBufferView< ArrayBuffer > )\n\t\t\t\t\t\tif( Array.isArray( val ) ) return dump_list( val )\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn dump_object( val )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_fail( new Error( `Unsupported type` ) )\n\t\t\t}\n\t\t\t\n\t\t\tdump( data )\n\t\t\t\n\t\t\treturn buffer.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\tstatic take( buf: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst pack = new $mol_vary( buf.buffer, buf.byteOffset, buf.byteLength )\n\t\t\tconst stream = [] as unknown[]\n\t\t\tlet pos = 0;\n\t\t\t\n\t\t\tconst read_unum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\t++ pos\n\t\t\t\tconst num = kind & 0b11111\n\t\t\t\tif( num < 28 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === 28 ) {\n\t\t\t\t\tres = buffer[ pos ++ ]\n\t\t\t\t} else if( num === 29 ) {\n\t\t\t\t\tres = pack.getUint16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === 30 ) {\n\t\t\t\t\tres = pack.getUint32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === 31 ) {\n\t\t\t\t\tres = pack.getBigUint64( pos, true )\n\t\t\t\t\tif( res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported unum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_snum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst num = pack.getInt8( pos ++ )\n\t\t\t\tif( num >= -28 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === -29 ) {\n\t\t\t\t\tres = pack.getInt8( pos )\n\t\t\t\t\tpos += 1\n\t\t\t\t} else if( num === -30 ) {\n\t\t\t\t\tres= pack.getInt16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === -31 ) {\n\t\t\t\t\tres = pack.getInt32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === -32 ) {\n\t\t\t\t\tres = pack.getBigInt64( pos, true )\n\t\t\t\t\tif( res >= Number.MIN_SAFE_INTEGER && res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported snum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_text = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst [ text, bytes ] = $mol_charset_decode_from( buf, pack.byteOffset + pos, len )\n\t\t\t\tpos += bytes\n\t\t\t\tif( text.length ) stream.push( text )\n\t\t\t\treturn text\n\t\t\t}\n\t\t\t\n\t\t\tconst read_buffer = ( len: number, TypedArray: new( buf: ArrayBuffer )=> ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\tconst bin = new TypedArray( buf.slice( pos, pos + len ).buffer )\n\t\t\t\tpos += len\n\t\t\t\tif( len ) stream.push( bin )\n\t\t\t\treturn bin\n\t\t\t}\n\t\t\t\n\t\t\tconst read_blob = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst kind_item = buffer[ pos ++ ]\n\t\t\t\t\n\t\t\t\tswitch( kind_item ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_len[1]: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len[2]: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len[4]: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len[8]: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len[1] + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len[2] + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len[4] + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len[8] + 256: return read_buffer( len, BigInt64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp16: return read_buffer( len, Float16Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp32: return read_buffer( len, Float32Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp64: return read_buffer( len, Float64Array )\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported blob item kind', { cause: { kind_item } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst read_list = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst list = new Array( len ) as any[]\n\t\t\t\tfor( let i = 0; i < len; ++i ) list[i] = read_vary()\n\t\t\t\tif( len ) stream.push( list )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\tconst read_link = ( kind: number )=> {\n\t\t\t\tconst index = read_unum( kind ) as number\n\t\t\t\tif( index >= stream.length ) $mol_fail( new Error( 'Too large index', { cause: { index, exists: stream.length } } ) )\n\t\t\t\treturn stream[ index ]\n\t\t\t}\n\t\t\t\n\t\t\tconst read_tupl = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\t\n\t\t\t\tconst keys = new Array( len ) as any[]\n\t\t\t\tconst vals = new Array( len ) as any[]\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < len; ++i ) keys[i] = read_vary()\n\t\t\t\tfor( let i = 0; i < len; ++i ) vals[i] = read_vary()\n\t\t\t\t\n\t\t\t\tconst shape = JSON.stringify( keys )\n\t\t\t\t\n\t\t\t\tlet obj\n\t\t\t\tconst rich = this.riches.get( shape )\n\t\t\t\tif( rich ) {\n\t\t\t\t\tobj = rich( ... vals )\n\t\t\t\t} else {\n\t\t\t\t\tobj = {} as any\n\t\t\t\t\tfor( let i = 0; i < len; ++i ) obj[ keys[i] ] = vals[i]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( vals.length ) stream.push( obj )\n\t\t\t\t\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tconst read_spec = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.none:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn null\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fake:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn false\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.true:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn true\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.both:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp64: {\n\t\t\t\t\t\tconst val = pack.getFloat64( ++ pos, true )\n\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp32: {\n\t\t\t\t\t\tconst val = pack.getFloat32( ++ pos, true )\n\t\t\t\t\t\tpos += 4\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp16: {\n\t\t\t\t\t\tconst val = pack.getFloat16( ++ pos, true )\n\t\t\t\t\t\tpos += 2\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported spec', { cause: { kind } } ) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst read_vary = ()=> {\n\t\t\t\t\n\t\t\t\tconst kind = buffer[ pos ]\n\t\t\t\tconst tip = kind & 0b111_00000\n\t\t\t\t\n\t\t\t\tswitch( tip ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.uint: return read_unum( kind )\n\t\t\t\t\tcase $mol_vary_tip.sint: return read_snum( kind )\n\t\t\t\t\tcase $mol_vary_tip.link: return read_link( kind )\n\t\t\t\t\tcase $mol_vary_tip.text: return read_text( kind )\n\t\t\t\t\tcase $mol_vary_tip.list: return read_list( kind )\n\t\t\t\t\tcase $mol_vary_tip.blob: return read_blob( kind )\n\t\t\t\t\tcase $mol_vary_tip.tupl: return read_tupl( kind )\n\t\t\t\t\tcase $mol_vary_tip.spec: return read_spec( kind )\n\t\t\t\t\t\n\t\t\t\t\tdefault: $mol_fail( new Error( 'Unsupported tip', { cause: { tip } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn read_vary()\n\t\t}\n\t\t\n\t\tstatic riches = new Map< string/*shape*/, ( ... vals: readonly any[] )=> object >()\n\t\t\n\t\t/** Adds custom types support. */\n\t\tstatic type<\n\t\t\tconst Instance extends object,\n\t\t\tconst Keys extends readonly any[],\n\t\t\tconst Vals extends readonly any[],\n\t\t>(\n\t\t\tClass: new( ... vals: any[] )=> Instance,\n\t\t\tkeys: Keys,\n\t\t\tlean: ( obj: Instance )=> Vals,\n\t\t\trich: ( ... vals: Vals )=> Instance,\n\t\t) {\n\t\t\tthis.riches.set( JSON.stringify( keys ), rich )\n\t\t\t;( Class.prototype as any )[ $mol_vary_lean ] = lean\n\t\t\t;( Class.prototype as any )[ $mol_vary_keys ] = keys\n\t\t}\n\t\t\n\t}\n\t\n\texport const $mol_vary_lean = Symbol.for( '$mol_vary_lean' )\n\texport const $mol_vary_keys = Symbol.for( '$mol_vary_keys' )\n\t\n\t/** Native Map support */\n\t$mol_vary.type(\n\t\tMap,\n\t\t[ 'keys', 'vals' ],\n\t\tobj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t\t( keys, vals )=> new Map( keys.map( ( k, i )=> [ k, vals[i] ] ) ),\n\t)\n\t\n\t/** Native Set support */\n\t$mol_vary.type(\n\t\tSet,\n\t\t[ 'set' ],\n\t\tobj => [ [ ... obj.values() ] ],\n\t\tvals => new Set( vals ),\n\t)\n\t\n\t/** Native Date support */\n\t$mol_vary.type(\n\t\tDate,\n\t\t[ 'unix_time' ],\n\t\tobj => [ obj.valueOf() / 1000 ],\n\t\tts => new Date( ts * 1000 ),\n\t)\n\t\n\t/** Native Element support */\n\t$mol_vary.type(\n\t\t$mol_dom.Element,\n\t\t[ 'elem', 'keys', 'vals', 'kids' ],\n\t\tnode => {\n\t\t\tconst attrs = [ ... node.attributes ]\n\t\t\tconst kids = [ ... node.childNodes ].map( kid => kid instanceof $mol_dom.Text ? kid.nodeValue! : kid )\n\t\t\treturn [ node.nodeName, attrs.map( attr => attr.nodeName ), attrs.map( attr => attr.nodeValue! ), kids ]\n\t\t},\n\t\t( name, keys, vals, kids )=> {\n\t\t\tconst el = $mol_dom.document.createElement( name )\n\t\t\tfor( let i = 0; i < keys.length; ++i ) el.setAttribute( keys[i], vals[i] )\n\t\t\tfor( let kid of kids ) {\n\t\t\t\tif( typeof kid === 'string' ) kid = $mol_dom.document.createTextNode( kid )\n\t\t\t\tel.appendChild( kid )\n\t\t\t}\n\t\t\treturn el\n\t\t},\n\t)\n\t\n}\n"]}
|