mol_vary 0.0.69 → 0.0.71

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mol_vary",
3
- "version": "0.0.69",
3
+ "version": "0.0.71",
4
4
  "exports": {
5
5
  "node": {
6
6
  "import": "./node.mjs",
@@ -29,6 +29,8 @@
29
29
  "$mol_dom",
30
30
  "$mol_dom_context",
31
31
  "$node",
32
+ "$node_internal_check",
33
+ "$node_internal",
32
34
  "$mol_exec",
33
35
  "$mol_run",
34
36
  "$mol_error_mix",
@@ -73,13 +75,14 @@
73
75
  "$mol_maybe",
74
76
  "$mol_term_color",
75
77
  "$mol_term",
76
- "$mol_fail_catch",
77
78
  "$mol_fail_log",
79
+ "$mol_fail_catch",
78
80
  "$mol_try",
79
81
  "$mol_dom_serialize",
80
82
  "$mol_dom_parse"
81
83
  ],
82
84
  "dependencies": {
85
+ "internal": "*",
83
86
  "jsdom": "*"
84
87
  }
85
88
  }
package/web.js CHANGED
@@ -474,8 +474,8 @@ var $;
474
474
  if (stack.includes(val))
475
475
  $mol_fail(new Error('Cyclic refs', { cause: { stack, val } }));
476
476
  stack.push(val);
477
- for (const item of val)
478
- dump(item);
477
+ for (let i = 0; i < val.length; ++i)
478
+ dump(val[i]);
479
479
  if (stack.at(-1) !== val)
480
480
  $mol_fail(new Error('Broken stack', { cause: { stack, val } }));
481
481
  stack.pop();
@@ -495,65 +495,67 @@ var $;
495
495
  const offset = offsets.get(val);
496
496
  if (offset !== undefined)
497
497
  return dump_unum($mol_vary_tip.link, offset);
498
- const [keys, vals] = this.lean_find(val)?.(val) ?? [shape(val), Object.values(val)];
498
+ const { 0: keys, 1: vals } = this.lean_find(val)?.(val) ?? [shape(val), Object.values(val)];
499
499
  dump_unum($mol_vary_tip.tupl, vals.length);
500
500
  acquire((vals.length + 1) * 9);
501
501
  dump_list(keys);
502
502
  if (stack.includes(val))
503
503
  $mol_fail(new Error('Cyclic refs', { cause: { stack, val } }));
504
504
  stack.push(val);
505
- for (const item of vals)
506
- dump(item);
505
+ for (let i = 0; i < vals.length; ++i)
506
+ dump(vals[i]);
507
507
  if (stack.at(-1) !== val)
508
508
  $mol_fail(new Error('Broken stack', { cause: { stack, val } }));
509
509
  stack.pop();
510
510
  offsets.set(val, offsets.size);
511
511
  };
512
- const dump = (val) => {
513
- switch (typeof val) {
514
- case 'undefined': {
515
- this.array[pos++] = $mol_vary_spec.both;
516
- release(8);
517
- return;
518
- }
519
- case 'boolean': {
520
- this.array[pos++] = val ? $mol_vary_spec.true : $mol_vary_spec.fake;
521
- release(8);
522
- return;
523
- }
524
- case 'number': {
525
- if (!Number.isInteger(val))
526
- return dump_float(val);
512
+ const dumpers = {
513
+ undefined: () => {
514
+ this.array[pos++] = $mol_vary_spec.both;
515
+ capacity -= 8;
516
+ },
517
+ boolean: val => {
518
+ this.array[pos++] = val ? $mol_vary_spec.true : $mol_vary_spec.fake;
519
+ capacity -= 8;
520
+ },
521
+ number: val => {
522
+ if (!Number.isInteger(val))
523
+ dump_float(val);
524
+ else
525
+ dumpers.bigint(val);
526
+ },
527
+ bigint: val => {
528
+ if (val < 0) {
529
+ dump_snum(val);
527
530
  }
528
- case 'bigint': {
529
- if (val < 0) {
530
- dump_snum(val);
531
- }
532
- else {
533
- dump_unum($mol_vary_tip.uint, val);
534
- }
535
- return;
531
+ else {
532
+ dump_unum($mol_vary_tip.uint, val);
536
533
  }
537
- case 'string': return dump_string(val);
538
- case 'object': {
539
- if (!val) {
540
- release(8);
541
- return this.array[pos++] = $mol_vary_spec.none;
542
- }
543
- if (ArrayBuffer.isView(val))
544
- return dump_buffer(val);
545
- if (Array.isArray(val))
546
- return dump_list(val);
547
- return dump_object(val);
534
+ },
535
+ string: val => dump_string(val),
536
+ object: val => {
537
+ if (!val) {
538
+ capacity -= 8;
539
+ return this.array[pos++] = $mol_vary_spec.none;
548
540
  }
541
+ if (Array.isArray(val))
542
+ return dump_list(val);
543
+ if (ArrayBuffer.isView(val))
544
+ return dump_buffer(val);
545
+ return dump_object(val);
549
546
  }
550
- $mol_fail(new Error(`Unsupported type`));
551
547
  };
552
- for (const item of data) {
548
+ const dump = (val) => {
549
+ const dumper = dumpers[typeof val];
550
+ if (!dumper)
551
+ $mol_fail(new Error(`Unsupported type`));
552
+ dumper(val);
553
+ };
554
+ for (let i = 0; i < data.length; ++i) {
553
555
  capacity += 9;
554
- dump(item);
556
+ dump(data[i]);
555
557
  if (stack.length)
556
- $mol_fail(new Error('Stack underflow', { cause: { stack, item } }));
558
+ $mol_fail(new Error('Stack underflow', { cause: { stack, item: data[i] } }));
557
559
  offsets.clear();
558
560
  }
559
561
  if (pos !== capacity)
@@ -758,12 +760,12 @@ var $;
758
760
  }
759
761
  rich_node(keys) {
760
762
  let node = this.rich_index;
761
- for (const key of keys) {
762
- let sub = node.get(key);
763
+ for (let i = 0; i < keys.length; ++i) {
764
+ let sub = node.get(keys[i]);
763
765
  if (sub)
764
766
  node = sub;
765
767
  else
766
- node.set(key, node = new Map);
768
+ node.set(keys[i], node = new Map);
767
769
  }
768
770
  return node;
769
771
  }
package/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["-","../../../mam.ts","../../../mol/bigint/encode/encode.ts","../../../mol/fail/fail.ts","../../../mol/charset/encode/encode.ts","../../../mol/bigint/decode/decode.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/dom/serialize/serialize.ts","../../../mol/dom/parse/parse.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,CAyBV;AAzBD,WAAU,CAAC;IAEV,SAAgB,kBAAkB,CAAE,GAAW;QAE9C,MAAM,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QAE7B,MAAM,KAAK,GAAG,EAAc,CAAA;QAC5B,GAAG,CAAC;YAEH,IAAI,IAAI,GAAG,KAAK,GAAG,MAAM,CAAE,GAAG,GAAG,IAAI,CAAE,CAAA;YACvC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAElB,IAAI,GAAG,KAAK,EAAE;gBAAG,SAAQ;YAEzB,IAAG,CAAE,KAAK,GAAG,GAAG,CAAE,KAAG,CAAE,IAAI,GAAG,GAAG,CAAE;gBAClC,KAAK,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;YAEpB,MAAK;QAEN,CAAC,QAAQ,GAAG,EAAE;QAEd,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IArBe,oBAAkB,qBAqBjC,CAAA;AAEF,CAAC,EAzBS,CAAC,KAAD,CAAC,QAyBV;;;;ACzBD,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,CAuBV;AAvBD,WAAU,CAAC;IAEV,SAAgB,kBAAkB,CAAE,GAA8B;QAEjE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAG,OAAO,IAAI,aAAa,CAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA;QACnF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAG,OAAO,MAAM,CAAE,IAAI,UAAU,CAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,CAAA;QAC1F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAG,OAAO,MAAM,CAAE,IAAI,UAAU,CAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,CAAA;QAC1F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAG,OAAO,MAAM,CAAE,IAAI,SAAS,CAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,CAAA;QAEzF,MAAM,KAAK,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7C,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAG,CAAC;YACpD,MAAM,IAAI,MAAM,CAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAE,IAAI,MAAM,CAAA;QAC7C,CAAC;QAED,IAAI,KAAK;YAAG,MAAM,GAAG,CAAE,MAAM,GAAG,EAAE,CAAE,GAAG,CAAC,EAAE,CAAA;QAE1C,OAAO,MAAM,CAAA;IACd,CAAC;IAnBe,oBAAkB,qBAmBjC,CAAA;AAEF,CAAC,EAvBS,CAAC,KAAD,CAAC,QAuBV;;;;;;;ACvBD,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,CASV;AATD,WAAU,CAAC;IAEV,SAAgB,kBAAkB,CACjC,IAAU;QAEV,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAA;QACrD,OAAO,UAAU,CAAC,iBAAiB,CAAE,IAAI,CAAE,CAAA;IAC5C,CAAC;IALe,oBAAkB,qBAKjC,CAAA;AAEF,CAAC,EATS,CAAC,KAAD,CAAC,QASV;;;;ACTD,IAAU,CAAC,CAgBV;AAhBD,WAAU,CAAC;IAEV,SAAgB,cAAc,CAC7B,IAAa,EACb,OAAgC,uBAAuB;QAGvD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAA;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;QAEjD,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,CAAE,aAAa,CAAE,CAAA;QACvD,IAAI,KAAK,CAAC,MAAM;YAAG,MAAM,IAAI,KAAK,CAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAY,CAAE,CAAA;QAE3D,OAAO,GAAG,CAAA;IACX,CAAC;IAZe,gBAAc,iBAY7B,CAAA;AAEF,CAAC,EAhBS,CAAC,KAAD,CAAC,QAgBV;;;;AChBD,IAAU,CAAC,CA8oBV;AA9oBD,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;IAED,IAAY,aAMX;IAND,WAAY,aAAa;QACxB,8CAAO,CAAA;QACP,8CAAO,CAAA;QACP,8CAAO,CAAA;QACP,8CAAO,CAAA;QACP,8CAAO,CAAA;IACR,CAAC,EANW,aAAa,GAAb,eAAa,KAAb,eAAa,QAMxB;IAED,IAAY,cAUX;IAVD,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,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,wCAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAA,CAAA;IACzB,CAAC,EAVW,cAAc,GAAd,gBAAc,KAAd,gBAAc,QAUzB;IAED,MAAM,UAAU,GAAG,CAAE,IAAoB,EAAE,EAAE,CAAC,CAAE,IAAoB,EAAE,EAAE;QACvE,MAAM,GAAG,GAAG,EAAS,CAAA;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAAG,GAAG,CAAE,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/D,OAAO,GAAG,CAAA;IACX,CAAC,CAAA;IAGD,MAAa,eAAgB,SAAQ,MAAM;QAE1C,WAAW,GAAG,MAAM,CAAE,gBAAgB,CAAE,CAAA;QAExC,KAAK,GAAG,IAAI,UAAU,CAAE,GAAG,CAAE,CAAA;QAC7B,MAAM,GAAG,IAAI,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAE,CAAA;QAG1C,IAAI,CAAE,IAAwB;YAE7B,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAA;YAC5C,MAAM,KAAK,GAAG,EAAW,CAAA;YAEzB,MAAM,OAAO,GAAG,CAAE,IAAY,EAAE,EAAE;gBACjC,IAAI,IAAI,GAAG,CAAC;oBAAG,OAAM;gBACrB,QAAQ,IAAI,IAAI,CAAA;gBAChB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ;oBAAG,OAAM;gBAC9C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAE,IAAI,CAAC,IAAI,CAAE,QAAQ,GAAG,IAAI,CAAE,GAAG,IAAI,CAAE,CAAA;gBACrE,OAAO,CAAC,GAAG,CAAE,IAAI,CAAC,KAAK,CAAE,CAAA;gBACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA;gBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAE,CAAA;YAChD,CAAC,CAAA;YAED,MAAM,OAAO,GAAG,CAAE,IAAY,EAAE,EAAE;gBACjC,QAAQ,IAAI,IAAI,CAAA;YACjB,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,GAAW,EAAE,GAAoB,EAAE,EAAE;gBAExD,IAAI,GAAG,GAAG,aAAa,CAAC,EAAE,EAAG,CAAC;oBAC7B,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBAC1C,OAAO,CAAC,CAAC,CAAC,CAAA;oBACV,OAAM;gBACP,CAAC;gBAED,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI,EAAG,CAAC;oBAChC,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,IAAI,GAAG,GAAG,CAAC,IAAE,CAAC,EAAG,CAAC;oBACjB,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,aAAa,CAAC,EAAE,CAAA;oBAC7C,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBACpC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,GAAG,CAAC,IAAE,EAAE,EAAG,CAAC;oBACzB,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,aAAa,CAAC,EAAE,CAAA;oBAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBACjD,GAAG,IAAI,CAAC,CAAA;oBACR,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,GAAG,CAAC,IAAE,EAAE,EAAG,CAAC;oBACzB,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,aAAa,CAAC,EAAE,CAAA;oBAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBACjD,GAAG,IAAI,CAAC,CAAA;oBACR,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,GAAG,EAAE,IAAE,GAAG,EAAG,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,GAAG,aAAa,CAAC,EAAE,CAAA;oBAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBACpD,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAE,GAAa,CAAE,CAAA;gBAC3B,CAAC;gBAED,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI;oBAAG,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YAEjE,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,GAAoB,EAAE,EAAE;gBAE3C,IAAI,GAAG,GAAG,CAAE,aAAa,CAAC,EAAE,EAAG,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBACpC,OAAO,CAAC,CAAC,CAAC,CAAA;oBACV,OAAM;gBACP,CAAC;gBAED,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,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,EAAG,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,CAAE,aAAa,CAAC,EAAE,CAAA;oBACzC,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;oBACpC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;qBAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,EAAG,CAAC;oBAC7B,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAI,CAAC,aAAa,CAAC,EAAE,CAAA;oBACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBAChD,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,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,CAAE,aAAa,CAAC,EAAE,CAAA;oBACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBAChD,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,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,CAAE,aAAa,CAAC,EAAE,CAAA;oBACzC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAE,GAAG,EAAE,MAAM,CAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAA;oBACnD,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAE,GAAa,CAAE,CAAA;gBAC3B,CAAC;gBAED,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YAEjC,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,GAAW,EAAE,EAAE;gBAElC,MAAM,GAAG,GAAG,kBAAkB,CAAE,GAAa,CAAE,CAAA;gBAE/C,IAAI,GAAG,CAAC,UAAU,GAAG,CAAE,CAAC,IAAE,EAAE,GAAG,CAAC,CAAE;oBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBACpG,OAAO,CAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAE,CAAA;gBAE7B,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,CAAE,aAAa,CAAC,EAAE,CAAA;gBACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAE,CAAA;gBACtD,GAAG,IAAI,CAAC,CAAA;gBAER,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,GAAG,EAAE,GAAG,CAAE,CAAA;gBAC1B,GAAG,IAAI,GAAG,CAAC,UAAU,CAAA;YAEtB,CAAC,CAAA;YAED,MAAM,UAAU,GAAG,CAAE,GAAW,EAAE,EAAE;gBAEnC,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,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;gBAC1C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAE,CAAA;gBACxC,GAAG,IAAI,CAAC,CAAA;gBAER,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YACjC,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,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,IAAI,CAAC,KAAK,EAAE,GAAG,CAAE,CAAA;gBAC1D,GAAG,IAAI,GAAG,CAAA;gBACV,OAAO,CAAE,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAE,CAAA;gBAE/B,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;gBAChC,OAAM;YAEP,CAAC,CAAA;YAED,MAAM,WAAW,GAAG,CAAE,GAAmC,EAAE,EAAE;gBAE5D,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,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAE,CAAA;gBAC/C,OAAO,CAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAE,CAAA;gBAE7B,IAAI,GAAG,YAAY,UAAU;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,EAAE,CAAA;qBACvF,IAAI,GAAG,YAAY,WAAW;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,EAAE,CAAA;qBAC7F,IAAI,GAAG,YAAY,WAAW;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,EAAE,CAAA;qBAC7F,IAAI,GAAG,YAAY,cAAc;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,EAAE,CAAA;qBAEhG,IAAI,GAAG,YAAY,SAAS;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA;qBAC5F,IAAI,GAAG,YAAY,UAAU;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA;qBAC7F,IAAI,GAAG,YAAY,UAAU;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA;qBAC7F,IAAI,GAAG,YAAY,aAAa;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA;qBAEhG,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,GAAG,YAAY,YAAY;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;qBAClH,IAAI,GAAG,YAAY,YAAY;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;qBAC5E,IAAI,GAAG,YAAY,YAAY;oBAAG,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;;oBAE5E,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,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,GAAG,EAAE,GAAG,CAAE,CAAA;gBAC1B,GAAG,IAAI,GAAG,CAAC,UAAU,CAAA;gBAErB,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YACjC,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,GAAU,EAAE,EAAE;gBAEjC,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,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAE,CAAA;gBAC3C,OAAO,CAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;gBAEzB,IAAI,KAAK,CAAC,QAAQ,CAAE,GAAG,CAAE;oBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBAC9F,KAAK,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAEjB,KAAK,MAAM,IAAI,IAAI,GAAG;oBAAG,IAAI,CAAE,IAAI,CAAE,CAAA;gBAErC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBAC9F,KAAK,CAAC,GAAG,EAAE,CAAA;gBAEX,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YAEjC,CAAC,CAAA;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAA;YACzC,MAAM,KAAK,GAAG,CAAE,GAAQ,EAAE,EAAE;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAChC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAE,GAAG,CAAE,CAAA;gBAC/B,IAAI,KAAK;oBAAG,OAAO,KAAK,CAAA;gBACxB,MAAM,CAAC,GAAG,CAAE,GAAG,EAAE,KAAK,CAAE,CAAA;gBACxB,OAAO,KAAK,CAAA;YACb,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,CAAE,IAAI,EAAE,IAAI,CAAE,GAAG,IAAI,CAAC,SAAS,CAAE,GAAG,CAAE,EAAE,CAAE,GAAG,CAAE,IAAI,CAAE,KAAK,CAAE,GAAG,CAAE,EAAE,MAAM,CAAC,MAAM,CAAE,GAAG,CAAE,CAAE,CAAA;gBAE/F,SAAS,CAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAE,CAAA;gBAC5C,OAAO,CAAE,CAAC,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;gBAC9B,SAAS,CAAE,IAAI,CAAE,CAAA;gBAEjB,IAAI,KAAK,CAAC,QAAQ,CAAE,GAAG,CAAE;oBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBAC9F,KAAK,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAEjB,KAAK,MAAM,IAAI,IAAI,IAAI;oBAAG,IAAI,CAAE,IAAI,CAAE,CAAA;gBAEtC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBAC9F,KAAK,CAAC,GAAG,EAAE,CAAA;gBAEX,OAAO,CAAC,GAAG,CAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAE,CAAA;YACjC,CAAC,CAAA;YAGD,MAAM,IAAI,GAAG,CAAE,GAAY,EAAE,EAAE;gBAE9B,QAAQ,OAAO,GAAG,EAAG,CAAC;oBAErB,KAAK,WAAW,CAAC,CAAC,CAAC;wBAClB,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;wBAC1C,OAAO,CAAE,CAAC,CAAE,CAAA;wBACZ,OAAM;oBACP,CAAC;oBAED,KAAK,SAAS,CAAC,CAAC,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAA;wBACtE,OAAO,CAAE,CAAC,CAAE,CAAA;wBACZ,OAAM;oBACP,CAAC;oBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAE,GAAG,CAAE;4BAAG,OAAO,UAAU,CAAE,GAAG,CAAE,CAAA;oBACxD,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,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,CAAE,GAAG,cAAc,CAAC,IAAI,CAAA;wBAClD,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,KAAK,MAAM,IAAI,IAAI,IAAI,EAAG,CAAC;gBAC1B,QAAQ,IAAI,CAAC,CAAA;gBACb,IAAI,CAAE,IAAI,CAAE,CAAA;gBACZ,IAAI,KAAK,CAAC,MAAM;oBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAE,CAAE,CAAA;gBAC1F,OAAO,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ;gBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,yBAAyB,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAE,CAAE,CAAA;YAEpH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,EAAE,GAAG,CAAE,CAAA;QAElC,CAAC;QAGD,IAAI,CAAE,KAAgC;YAErC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAE,CAAA;YAC/E,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,aAAa,CAAC,EAAE;oBAAG,OAAO,GAAG,CAAA;gBAEvC,IAAI,GAAG,GAAG,CAAoB,CAAA;gBAE9B,IAAI,GAAG,KAAK,aAAa,CAAC,EAAE,EAAG,CAAC;oBAC/B,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAE,GAAG,EAAG,CAAE,CAAA;gBAChC,CAAC;qBAAM,IAAI,GAAG,KAAK,aAAa,CAAC,EAAE,EAAG,CAAC;oBACtC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACnC,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,aAAa,CAAC,EAAE,EAAG,CAAC;oBACtC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACnC,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,aAAa,CAAC,EAAE,EAAG,CAAC;oBACtC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACtC,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,IAAI,CAAE,IAAI,GAAG,WAAW,CAAE,KAAK,aAAa,CAAC,IAAI;oBAAG,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAEtE,OAAO,GAAG,CAAA;YACX,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,CAAE,IAAY,EAAE,EAAE;gBAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAE,GAAG,EAAG,CAAE,CAAA;gBACpC,IAAI,GAAG,GAAG,CAAE,aAAa,CAAC,EAAE;oBAAG,OAAO,GAAG,CAAA;gBAEzC,IAAI,GAAG,GAAG,CAAoB,CAAA;gBAE9B,IAAI,GAAG,KAAK,CAAE,aAAa,CAAC,EAAE,EAAG,CAAC;oBACjC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAE,GAAG,EAAG,CAAE,CAAA;gBAC/B,CAAC;qBAAM,IAAI,GAAG,KAAK,CAAE,aAAa,CAAC,EAAE,EAAG,CAAC;oBACxC,GAAG,GAAE,MAAM,CAAC,QAAQ,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACjC,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,CAAE,aAAa,CAAC,EAAE,EAAG,CAAC;oBACxC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBAClC,GAAG,IAAI,CAAC,CAAA;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,CAAE,aAAa,CAAC,EAAE,EAAG,CAAC;oBACxC,GAAG,GAAG,MAAM,CAAC,WAAW,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACrC,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,IAAI,GAAG,KAAK,CAAE,aAAa,CAAC,EAAE,EAAG,CAAC;oBACxC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,IAAI,CAAE,GAAG,CAAC,CAAA;oBAC7C,GAAG,IAAI,CAAC,CAAA;oBACR,GAAG,GAAG,kBAAkB,CAAE,IAAI,UAAU,CAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,GAAG,CAAE,CAAE,CAAA;oBACzF,GAAG,IAAI,GAAG,CAAA;gBACX,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAE,IAAI,KAAK,CAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAE,CAAE,CAAA;gBACjE,CAAC;gBAED,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAElB,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,KAAK,EAAE,GAAG,EAAE,GAAG,CAAE,CAAA;gBACnE,GAAG,IAAI,KAAK,CAAA;gBACZ,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBACnB,OAAO,IAAI,CAAA;YACZ,CAAC,CAAA;YAED,MAAM,WAAW,GAAG,CAAE,GAAW,EAAE,UAAoE,EAAE,EAAE;gBAC1G,MAAM,GAAG,GAAG,IAAI,UAAU,CAAE,KAAK,CAAC,KAAK,CAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAE,CAAC,MAAM,CAAE,CAAA;gBAClE,GAAG,IAAI,GAAG,CAAA;gBACV,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAClB,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,CAAC,QAAQ,CAAE,GAAG,EAAG,CAAE,CAAA;gBAE3C,QAAQ,SAAS,EAAG,CAAC;oBAEpB,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,UAAU,CAAE,CAAA;oBAC5D,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,WAAW,CAAE,CAAA;oBAC7D,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,WAAW,CAAE,CAAA;oBAC7D,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,cAAc,CAAE,CAAA;oBAEhE,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,SAAS,CAAE,CAAA;oBAClE,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,UAAU,CAAE,CAAA;oBACnE,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,WAAW,CAAE,GAAG,EAAE,UAAU,CAAE,CAAA;oBACnE,KAAK,CAAC,aAAa,CAAC,EAAE,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,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBACnB,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,SAAS,EAAuB,CAAA;gBAC7C,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;gBAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAA;gBACnC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;gBAE3B,IAAI,CAAC,IAAI;oBAAG,IAAI,CAAC,GAAG,CAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAE,IAAI,CAAE,CAAE,CAAA;gBAEvD,MAAM,GAAG,GAAG,IAAI,CAAE,IAAI,CAAE,CAAA;gBAExB,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBAElB,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,MAAM,CAAC,UAAU,CAAE,EAAG,GAAG,EAAE,IAAI,CAAE,CAAA;wBAC7C,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;wBAClB,GAAG,IAAI,CAAC,CAAA;wBACR,OAAO,GAAG,CAAA;oBACX,CAAC;oBAED,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAE,EAAG,GAAG,EAAE,IAAI,CAAE,CAAA;wBAC7C,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;wBAClB,GAAG,IAAI,CAAC,CAAA;wBACR,OAAO,GAAG,CAAA;oBACX,CAAC;oBAED,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAE,EAAG,GAAG,EAAE,IAAI,CAAE,CAAA;wBAC7C,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;wBAClB,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,CAAC,QAAQ,CAAE,GAAG,CAAE,CAAA;gBACnC,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,MAAM,MAAM,GAAG,EAAe,CAAA;YAC9B,OAAO,GAAG,GAAG,KAAK,CAAC,UAAU,EAAG,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAE,SAAS,EAAE,CAAE,CAAA;gBAC1B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YAClB,CAAC;YAED,OAAO,MAAM,CAAA;QACd,CAAC;QAED,UAAU,GAAG,IAAI,GAAG,CAAuB;YAC1C,CAAE,IAAI,EAAE,GAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;SACnB,CAAC,CAAA;QAGF,IAAI;YACH,MAAM,IAAI,GAAG,IAAI,eAAe,CAAA;YAChC,MAAM,CAAC,cAAc,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;YACnC,MAAM,WAAW,GAAG,CAAE,GAA8B,EAAiB,EAAE,CAAC,IAAI,GAAG,CAC9E,CAAE,GAAI,GAAG,CAAE,CAAC,GAAG,CACd,CAAC,CAAE,CAAC,EAAE,CAAC,CAAE,EAAC,EAAE,CAAC,CAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAE,CAAC,CAAE,CAAE,CACrD,CACD,CAAA;YACD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAE,IAAI,CAAC,UAAU,CAAE,CAAA;YAChD,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,SAAS,CAAE,IAAuB;YAEjC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAG,CAAC;gBACzB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,CAAA;gBAEzB,IAAI,GAAG;oBAAG,IAAI,GAAG,GAAG,CAAA;;oBACf,IAAI,CAAC,GAAG,CAAE,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,CAAE,CAAA;YAErC,CAAC;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,SAAS,CAAE,GAAQ;YAElB,MAAM,IAAI,GAAG,GAAG,CAAE,IAAI,CAAC,WAAW,CAAE,CAAA;YACpC,IAAI,IAAI;gBAAG,OAAO,IAAI,CAAA;YAEtB,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAE,IAAI,CAAE,CAAA;YACzC,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS;gBAAG,OAAM;YAErC,OAAO,GAAG,CAAC,SAAS,CAAE,GAAG,CAAE,CAAA;QAC5B,CAAC;QAGD,IAAI,CAID,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAK1B;YACA,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAC,GAAG,CAAE,IAAI,EAAE,IAAI,CAAE,CACvC;YAAE,IAAI,CAAC,SAAkB,CAAE,IAAI,CAAC,WAAW,CAAE,GAAG,CAAE,GAAa,EAAE,EAAE,CAAC,CAAE,IAAI,EAAE,IAAI,CAAE,GAAG,CAAE,CAAE,CAAA;QAC3F,CAAC;KAED;IAhkBY,iBAAe,kBAgkB3B,CAAA;IAEU,WAAS,GAAG,IAAI,eAAe,CAAA;IAG1C,EAAA,SAAS,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAE,MAAM,EAAE,MAAM,CAAE;QACxB,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAE,CAAE,GAAI,GAAG,CAAC,IAAI,EAAE,CAAE,EAAE,CAAE,GAAI,GAAG,CAAC,MAAM,EAAE,CAAE,CAAE;QACzD,IAAI,EAAE,CAAC,CAAE,IAAI,EAAE,IAAI,CAAE,EAAC,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;KACzE,CAAC,CAAA;IAGF,EAAA,SAAS,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAE,KAAK,CAAE;QACf,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAE,CAAE,GAAI,GAAG,CAAC,MAAM,EAAE,CAAE,CAAE;QACrC,IAAI,EAAE,CAAC,CAAE,IAAI,CAAE,EAAC,EAAE,CAAC,IAAI,GAAG,CAAE,IAAI,CAAE;KAClC,CAAC,CAAA;IAGF,EAAA,SAAS,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,CAAE,WAAW,CAAE;QACrB,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAE;QACrC,IAAI,EAAE,CAAC,CAAE,EAAE,CAAE,EAAC,EAAE,CAAC,IAAI,IAAI,CAAE,EAAE,GAAG,IAAI,CAAE;KACtC,CAAC,CAAA;IAEF,IAAI,SAAS,IAAI,QAAQ,EAAG,CAAC;QAE5B,EAAA,SAAS,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,QAAQ,CAAC,OAAO;YACtB,IAAI,EAAE,CAAE,KAAK,CAAE;YACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAE,kBAAkB,CAAE,IAAI,CAAE,CAAE;YAC5C,IAAI,EAAE,CAAC,CAAE,IAAI,CAAE,EAAE,EAAE,CAAC,cAAc,CAAE,IAAI,EAAE,iBAAiB,CAAE,CAAC,eAAe;SAC7E,CAAC,CAAA;IACH,CAAC;AAEF,CAAC,EA9oBS,CAAC,KAAD,CAAC,QA8oBV;;","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\t\n\texport function $mol_bigint_encode( num: bigint ) {\n\n\t\tconst minus = num < 0n ? 255 : 0;\n\t\tnum = minus ? -num - 1n : num\n\t\t\n\t\tconst bytes = [] as number[]\n\t\tdo {\n\t\t\t\n\t\t\tlet byte = minus ^ Number( num & 255n )\n\t\t\tbytes.push( byte )\n\t\t\t\n\t\t\tif( num >>= 8n ) continue\n\t\t\t\n\t\t\tif(( minus & 128 )!==( byte & 128 ))\n\t\t\t\tbytes.push( minus )\n\t\t\t\n\t\t\tbreak\n\t\t\t\n\t\t} while( num )\n\t\n\t\treturn new Uint8Array(bytes);\n\t}\n\t\n}\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\t\n\texport function $mol_bigint_decode( buf: Uint8Array< ArrayBuffer > ) {\n\t\t\n\t\tif( buf.length === 8 ) return new BigInt64Array( buf.buffer, buf.byteOffset, 1 )[0]\n\t\tif( buf.length === 4 ) return BigInt( new Int32Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 2 ) return BigInt( new Int16Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 1 ) return BigInt( new Int8Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\t\n\t\tconst minus = ( buf.at(-1)! & 128 ) ? 255 : 0\n\t\t\n\t\tlet result = 0n\n\t\tlet offset = 0n\n\t\t\n\t\tfor( let i = 0; i < buf.length; i++, offset += 8n ) {\n\t\t\tresult |= BigInt( buf[i] ^ minus ) << offset\n\t\t}\n\t\t\n\t\tif( minus ) result = ( result + 1n ) * -1n\n\t\n\t\treturn result\n\t}\n\t\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\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\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\tblob = 0b100 << 5,\n\t\ttext = 0b101 << 5,\n\t\ttupl = 0b110 << 5,\n\t\tsint = 0b111 << 5,\n\t}\n\t\n\texport enum $mol_vary_len {\n\t\tL1 = 28,\n\t\tL2 = 29,\n\t\tL4 = 30,\n\t\tL8 = 31,\n\t\tLA = 32,\n\t}\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 = 'H'.charCodeAt(0),\n\t\tfp32 = 'S'.charCodeAt(0),\n\t\tfp64 = 'D'.charCodeAt(0),\n\t\tf128 = 'Q'.charCodeAt(0),\n\t\tf256 = 'O'.charCodeAt(0),\n\t}\n\t\n\tconst pojo_maker = ( keys: readonly any[] )=> ( vals: readonly any[] )=> {\n\t\tconst obj = {} as any\n\t\tfor( let i = 0; i < keys.length; ++i ) obj[ keys[i] ] = vals[i]\n\t\treturn obj\n\t}\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary_class extends Object {\n\t\t\n\t\tlean_symbol = Symbol( '$mol_vary_lean' )\n\t\n\t\tarray = new Uint8Array( 256 )\n\t\tbuffer = new DataView( this.array.buffer )\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tpack( data: readonly 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\tconst stack = [] as any[]\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( this.array.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( this.array )\n\t\t\t\tthis.array = buffer2\n\t\t\t\tthis.buffer = new DataView( this.array.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_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val < $mol_vary_len.L1 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) {\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\tif( val < 2**8 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | $mol_vary_len.L1\n\t\t\t\t\tthis.array[ 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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.setBigUint64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) offsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_snum = ( val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val > - $mol_vary_len.L1 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn \n\t\t\t\t}\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\tif( val >= -(2**7) ) {\n\t\t\t\t\tthis.array[ pos ++ ] = - $mol_vary_len.L1\n\t\t\t\t\tthis.array[ 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\tthis.array[ pos ++ ] = -$mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.setBigInt64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_bint = ( val: bigint )=> {\n\t\t\t\t\n\t\t\t\tconst buf = $mol_bigint_encode( val as bigint )\n\t\t\t\t\n\t\t\t\tif( buf.byteLength > ( 2**16 + 8 ) ) $mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\tacquire( buf.byteLength - 6 )\n\t\t\t\t\n\t\t\t\tthis.array[ pos ++ ] = - $mol_vary_len.LA\n\t\t\t\tthis.buffer.setUint16( pos, buf.byteLength - 9, true )\n\t\t\t\tpos += 2\n\t\t\t\t\n\t\t\t\tthis.array.set( buf, pos )\n\t\t\t\tpos += buf.byteLength\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_float = ( val: number )=> {\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\t\n\t\t\t\tthis.array[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\tthis.buffer.setFloat64( pos, val, true )\n\t\t\t\tpos += 8\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\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\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\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, this.array, 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\toffsets.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\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\tdump_unum( $mol_vary_tip.blob, val.byteLength )\n\t\t\t\tacquire( 1 + val.byteLength )\n\t\t\t\t\n\t\t\t\tif( val instanceof Uint8Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L1\n\t\t\t\telse if( val instanceof Uint16Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L2\n\t\t\t\telse if( val instanceof Uint32Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigUint64Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L1\n\t\t\t\telse if( val instanceof Int16Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L2\n\t\t\t\telse if( val instanceof Int32Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigInt64Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( typeof Float16Array === 'function' && val instanceof Float16Array ) this.array[ pos ++ ] = $mol_vary_spec.fp16\n\t\t\t\telse if( val instanceof Float32Array ) this.array[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) this.array[ 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\tthis.array.set( src, pos )\n\t\t\t\tpos += val.byteLength\n\t\t\t\t\n\t\t\t\toffsets.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\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\tdump_unum( $mol_vary_tip.list, val.length )\n\t\t\t\tacquire( val.length * 9 )\n\t\t\t\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( const item of val ) dump( item )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\n\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst shapes = new Map< string, any[] >()\n\t\t\tconst shape = ( val: any )=> {\n\t\t\t\tconst keys1 = Object.keys( val )\n\t\t\t\tconst key = keys1.join('\\0')\n\t\t\t\tconst keys2 = shapes.get( key ) \n\t\t\t\tif( keys2 ) return keys2\n\t\t\t\tshapes.set( key, keys1 )\n\t\t\t\treturn keys1\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, vals ] = this.lean_find( val )?.( val ) ?? [ shape( 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+1) * 9 )\n\t\t\t\tdump_list( keys )\n\t\t\t\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( const item of vals ) dump( item )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\n\t\t\t\t\n\t\t\t\toffsets.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\tthis.array[ 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\tthis.array[ 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 ) ) return dump_float( val )\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 this.array[ 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\tfor( const item of data ) {\n\t\t\t\tcapacity += 9\n\t\t\t\tdump( item )\n\t\t\t\tif( stack.length ) $mol_fail( new Error( 'Stack underflow', { cause: { stack, item } } ) )\n\t\t\t\toffsets.clear()\n\t\t\t}\n\t\t\t\n\t\t\tif( pos !== capacity ) $mol_fail( new Error( 'Wrong reserved capacity', { cause: { capacity, size: pos, data } } ) )\n\t\t\t\n\t\t\treturn this.array.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\ttake( array: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst buffer = new DataView( array.buffer, array.byteOffset, array.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 < $mol_vary_len.L1 ) 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 === $mol_vary_len.L1 ) {\n\t\t\t\t\tres = buffer.getUint8( pos ++ )\n\t\t\t\t} else if( num === $mol_vary_len.L2 ) {\n\t\t\t\t\tres = buffer.getUint16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === $mol_vary_len.L4 ) {\n\t\t\t\t\tres = buffer.getUint32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === $mol_vary_len.L8 ) {\n\t\t\t\t\tres = buffer.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\tif( ( kind & 0b111_00000 ) === $mol_vary_tip.uint ) stream.push( res )\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 = buffer.getInt8( pos ++ )\n\t\t\t\tif( num > - $mol_vary_len.L1 ) 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 === - $mol_vary_len.L1 ) {\n\t\t\t\t\tres = buffer.getInt8( pos ++ )\n\t\t\t\t} else if( num === - $mol_vary_len.L2 ) {\n\t\t\t\t\tres= buffer.getInt16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === - $mol_vary_len.L4 ) {\n\t\t\t\t\tres = buffer.getInt32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === - $mol_vary_len.L8 ) {\n\t\t\t\t\tres = buffer.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 if( num === - $mol_vary_len.LA ) {\n\t\t\t\t\tconst len = buffer.getUint16( pos, true ) + 9\n\t\t\t\t\tpos += 2\n\t\t\t\t\tres = $mol_bigint_decode( new Uint8Array( buffer.buffer, buffer.byteOffset + pos, len ) )\n\t\t\t\t\tpos += len\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\tstream.push( res )\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( array, pos, len )\n\t\t\t\tpos += bytes\n\t\t\t\tstream.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( array.slice( pos, pos + len ).buffer )\n\t\t\t\tpos += len\n\t\t\t\tstream.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.getUint8( 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.L1: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len.L2: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len.L4: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len.L8: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len.L1 + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len.L2 + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len.L4 + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len.L8 + 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\tstream.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 = read_vary() as readonly string[]\n\t\t\t\tconst vals = new Array( len ) as any[]\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 node = this.rich_node( keys )\n\t\t\t\tlet rich = node.get( null )\n\t\t\t\t\n\t\t\t\tif( !rich ) node.set( null, rich = pojo_maker( keys ) )\n\t\t\t\t\n\t\t\t\tconst obj = rich( vals )\n\t\t\t\t\n\t\t\t\tstream.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 = buffer.getFloat64( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\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 = buffer.getFloat32( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\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 = buffer.getFloat16( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\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.getUint8( 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\tconst result = [] as unknown[]\n\t\t\twhile( pos < array.byteLength ) {\n\t\t\t\tresult.push( read_vary() )\n\t\t\t\tstream.length = 0\t\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\t\t\n\t\trich_index = new Map< string | null, any >([\n\t\t\t[ null, ()=> ({}) ]\n\t\t])\n\t\t\n\t\t/** Isolated Vary for custom types */\n\t\tzone() {\n\t\t\tconst room = new $mol_vary_class\n\t\t\tObject.setPrototypeOf( room, this )\n\t\t\tconst index_clone = ( map: Map< string | null, any > ): Map<any,any> => new Map(\n\t\t\t\t[ ... map ].map(\n\t\t\t\t\t([ k, v ])=> [ k, k === null ? v : index_clone( v ) ]\n\t\t\t\t)\n\t\t\t)\n\t\t\troom.rich_index = index_clone( this.rich_index )\n\t\t\treturn room\n\t\t}\n\t\t\n\t\trich_node( keys: readonly string[] ) {\n\t\t\t\n\t\t\tlet node = this.rich_index\n\t\t\tfor( const key of keys ) {\n\t\t\t\tlet sub = node.get( key )\n\t\t\t\t\n\t\t\t\tif( sub ) node = sub\n\t\t\t\telse node.set( key, node = new Map )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tlean_find( val: any ) {\n\t\t\t\n\t\t\tconst lean = val[ this.lean_symbol ]\n\t\t\tif( lean ) return lean\n\t\t\t\n\t\t\tconst sup = Object.getPrototypeOf( this )\n\t\t\tif( sup === Object.prototype ) return\n\t\t\t\n\t\t\treturn sup.lean_find( val )\n\t\t}\n\t\t\n\t\t/** Adds custom types support. */\n\t\ttype<\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>( { type, keys, rich, lean }: {\n\t\t\ttype: 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.rich_node( keys ).set( null, rich )\n\t\t\t;( type.prototype as any )[ this.lean_symbol ] = ( val: Instance )=> [ keys, lean( val ) ]\n\t\t}\n\t\t\n\t}\n\t\n\texport let $mol_vary = new $mol_vary_class\n\t\t\n\t/** Native Map support */\n\t$mol_vary.type({\n\t\ttype: Map,\n\t\tkeys: [ 'keys', 'vals' ],\n\t\tlean: obj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t\trich: ([ 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\ttype: Set,\n\t\tkeys: [ 'set' ],\n\t\tlean: obj => [ [ ... obj.values() ] ],\n\t\trich: ([ vals ])=> new Set( vals ),\n\t})\n\t\n\t/** Native Date support */\n\t$mol_vary.type({\n\t\ttype: Date,\n\t\tkeys: [ 'unix_time' ],\n\t\tlean: obj => [ obj.valueOf() / 1000 ],\n\t\trich: ([ ts ])=> new Date( ts * 1000 ),\n\t})\n\t\n\tif( 'Element' in $mol_dom ) { // Absent in workers\n\t\t/** Native Element support */\n\t\t$mol_vary.type({\n\t\t\ttype: $mol_dom.Element,\n\t\t\tkeys: [ 'XML' ],\n\t\t\tlean: node => [ $mol_dom_serialize( node ) ],\n\t\t\trich: ([ text ]) => $mol_dom_parse( text, 'application/xml' ).documentElement,\n\t\t})\n\t}\n\t\n}\n"]}
1
+ {"version":3,"sources":["-","../../../mam.ts","../../../mol/bigint/encode/encode.ts","../../../mol/fail/fail.ts","../../../mol/charset/encode/encode.ts","../../../mol/bigint/decode/decode.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/dom/serialize/serialize.ts","../../../mol/dom/parse/parse.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\t\n\texport function $mol_bigint_encode( num: bigint ) {\n\n\t\tconst minus = num < 0n ? 255 : 0;\n\t\tnum = minus ? -num - 1n : num\n\t\t\n\t\tconst bytes = [] as number[]\n\t\tdo {\n\t\t\t\n\t\t\tlet byte = minus ^ Number( num & 255n )\n\t\t\tbytes.push( byte )\n\t\t\t\n\t\t\tif( num >>= 8n ) continue\n\t\t\t\n\t\t\tif(( minus & 128 )!==( byte & 128 ))\n\t\t\t\tbytes.push( minus )\n\t\t\t\n\t\t\tbreak\n\t\t\t\n\t\t} while( num )\n\t\n\t\treturn new Uint8Array(bytes);\n\t}\n\t\n}\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\t\n\texport function $mol_bigint_decode( buf: Uint8Array< ArrayBuffer > ) {\n\t\t\n\t\tif( buf.length === 8 ) return new BigInt64Array( buf.buffer, buf.byteOffset, 1 )[0]\n\t\tif( buf.length === 4 ) return BigInt( new Int32Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 2 ) return BigInt( new Int16Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 1 ) return BigInt( new Int8Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\t\n\t\tconst minus = ( buf.at(-1)! & 128 ) ? 255 : 0\n\t\t\n\t\tlet result = 0n\n\t\tlet offset = 0n\n\t\t\n\t\tfor( let i = 0; i < buf.length; i++, offset += 8n ) {\n\t\t\tresult |= BigInt( buf[i] ^ minus ) << offset\n\t\t}\n\t\t\n\t\tif( minus ) result = ( result + 1n ) * -1n\n\t\n\t\treturn result\n\t}\n\t\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\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\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\tblob = 0b100 << 5,\n\t\ttext = 0b101 << 5,\n\t\ttupl = 0b110 << 5,\n\t\tsint = 0b111 << 5,\n\t}\n\t\n\texport enum $mol_vary_len {\n\t\tL1 = 28,\n\t\tL2 = 29,\n\t\tL4 = 30,\n\t\tL8 = 31,\n\t\tLA = 32,\n\t}\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 = 'H'.charCodeAt(0),\n\t\tfp32 = 'S'.charCodeAt(0),\n\t\tfp64 = 'D'.charCodeAt(0),\n\t\tf128 = 'Q'.charCodeAt(0),\n\t\tf256 = 'O'.charCodeAt(0),\n\t}\n\t\n\tconst pojo_maker = ( keys: readonly any[] )=> ( vals: readonly any[] )=> {\n\t\tconst obj = {} as any\n\t\tfor( let i = 0; i < keys.length; ++i ) obj[ keys[i] ] = vals[i]\n\t\treturn obj\n\t}\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary_class extends Object {\n\t\t\n\t\tlean_symbol = Symbol( '$mol_vary_lean' )\n\t\n\t\tarray = new Uint8Array( 256 )\n\t\tbuffer = new DataView( this.array.buffer )\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tpack( data: readonly 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\tconst stack = [] as any[]\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( this.array.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( this.array )\n\t\t\t\tthis.array = buffer2\n\t\t\t\tthis.buffer = new DataView( this.array.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_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val < $mol_vary_len.L1 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) {\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\tif( val < 2**8 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | $mol_vary_len.L1\n\t\t\t\t\tthis.array[ 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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.setBigUint64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) offsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_snum = ( val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val > - $mol_vary_len.L1 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn \n\t\t\t\t}\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\tif( val >= -(2**7) ) {\n\t\t\t\t\tthis.array[ pos ++ ] = - $mol_vary_len.L1\n\t\t\t\t\tthis.array[ 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\tthis.array[ pos ++ ] = -$mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.setBigInt64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_bint = ( val: bigint )=> {\n\t\t\t\t\n\t\t\t\tconst buf = $mol_bigint_encode( val as bigint )\n\t\t\t\t\n\t\t\t\tif( buf.byteLength > ( 2**16 + 8 ) ) $mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\tacquire( buf.byteLength - 6 )\n\t\t\t\t\n\t\t\t\tthis.array[ pos ++ ] = - $mol_vary_len.LA\n\t\t\t\tthis.buffer.setUint16( pos, buf.byteLength - 9, true )\n\t\t\t\tpos += 2\n\t\t\t\t\n\t\t\t\tthis.array.set( buf, pos )\n\t\t\t\tpos += buf.byteLength\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_float = ( val: number )=> {\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\t\n\t\t\t\tthis.array[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\tthis.buffer.setFloat64( pos, val, true )\n\t\t\t\tpos += 8\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\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\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\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, this.array, 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\toffsets.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\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\tdump_unum( $mol_vary_tip.blob, val.byteLength )\n\t\t\t\tacquire( 1 + val.byteLength )\n\t\t\t\t\n\t\t\t\tif( val instanceof Uint8Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L1\n\t\t\t\telse if( val instanceof Uint16Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L2\n\t\t\t\telse if( val instanceof Uint32Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigUint64Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L1\n\t\t\t\telse if( val instanceof Int16Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L2\n\t\t\t\telse if( val instanceof Int32Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigInt64Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( typeof Float16Array === 'function' && val instanceof Float16Array ) this.array[ pos ++ ] = $mol_vary_spec.fp16\n\t\t\t\telse if( val instanceof Float32Array ) this.array[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) this.array[ 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\tthis.array.set( src, pos )\n\t\t\t\tpos += val.byteLength\n\t\t\t\t\n\t\t\t\toffsets.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\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\tdump_unum( $mol_vary_tip.list, val.length )\n\t\t\t\tacquire( val.length * 9 )\n\t\t\t\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < val.length; ++ i ) dump( val[i] )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\n\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst shapes = new Map< string, any[] >()\n\t\t\tconst shape = ( val: any )=> {\n\t\t\t\tconst keys1 = Object.keys( val )\n\t\t\t\tconst key = keys1.join('\\0')\n\t\t\t\tconst keys2 = shapes.get( key ) \n\t\t\t\tif( keys2 ) return keys2\n\t\t\t\tshapes.set( key, keys1 )\n\t\t\t\treturn keys1\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 { 0: keys, 1: vals } = this.lean_find( val )?.( val ) ?? [ shape( 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+1) * 9 )\n\t\t\t\tdump_list( keys )\n\t\t\t\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < vals.length; ++ i ) dump( vals[i] )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\tconst dumpers: Record< string, ( val: unknown )=> void > = {\n\t\t\t\tundefined: ()=> {\n\t\t\t\t\tthis.array[ pos ++ ] = $mol_vary_spec.both\n\t\t\t\t\tcapacity -= 8\n\t\t\t\t},\n\t\t\t\tboolean: val => {\n\t\t\t\t\tthis.array[ pos ++ ] = val ? $mol_vary_spec.true : $mol_vary_spec.fake\n\t\t\t\t\tcapacity -= 8\n\t\t\t\t},\n\t\t\t\tnumber: val => {\n\t\t\t\t\tif( !Number.isInteger( val ) ) dump_float( val as number )\n\t\t\t\t\telse dumpers.bigint( val )\n\t\t\t\t},\n\t\t\t\tbigint: val => {\n\t\t\t\t\tif( val as bigint < 0 ) {\n\t\t\t\t\t\tdump_snum( val as bigint )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdump_unum( $mol_vary_tip.uint, val as bigint )\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstring: val => dump_string( val as string ),\n\t\t\t\tobject: val => {\n\t\t\t\t\tif( !val ) {\n\t\t\t\t\t\tcapacity -= 8\n\t\t\t\t\t\treturn this.array[ pos ++ ] = $mol_vary_spec.none\n\t\t\t\t\t}\n\t\t\t\t\tif( Array.isArray( val ) ) return dump_list( val )\n\t\t\t\t\tif( ArrayBuffer.isView( val ) ) return dump_buffer( val as ArrayBufferView< ArrayBuffer > )\n\t\t\t\t\t\n\t\t\t\t\treturn dump_object( val )\n\t\t\t\t}\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\tconst dumper = dumpers[ typeof val ]\n\t\t\t\tif( !dumper ) $mol_fail( new Error( `Unsupported type` ) )\n\t\t\t\tdumper( val )\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0; i < data.length; ++ i ) {\n\t\t\t\tcapacity += 9\n\t\t\t\tdump( data[i] )\n\t\t\t\tif( stack.length ) $mol_fail( new Error( 'Stack underflow', { cause: { stack, item: data[i] } } ) )\n\t\t\t\toffsets.clear()\n\t\t\t}\n\t\t\t\n\t\t\tif( pos !== capacity ) $mol_fail( new Error( 'Wrong reserved capacity', { cause: { capacity, size: pos, data } } ) )\n\t\t\t\n\t\t\treturn this.array.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\ttake( array: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst buffer = new DataView( array.buffer, array.byteOffset, array.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 < $mol_vary_len.L1 ) 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 === $mol_vary_len.L1 ) {\n\t\t\t\t\tres = buffer.getUint8( pos ++ )\n\t\t\t\t} else if( num === $mol_vary_len.L2 ) {\n\t\t\t\t\tres = buffer.getUint16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === $mol_vary_len.L4 ) {\n\t\t\t\t\tres = buffer.getUint32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === $mol_vary_len.L8 ) {\n\t\t\t\t\tres = buffer.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\tif( ( kind & 0b111_00000 ) === $mol_vary_tip.uint ) stream.push( res )\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 = buffer.getInt8( pos ++ )\n\t\t\t\tif( num > - $mol_vary_len.L1 ) 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 === - $mol_vary_len.L1 ) {\n\t\t\t\t\tres = buffer.getInt8( pos ++ )\n\t\t\t\t} else if( num === - $mol_vary_len.L2 ) {\n\t\t\t\t\tres= buffer.getInt16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === - $mol_vary_len.L4 ) {\n\t\t\t\t\tres = buffer.getInt32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === - $mol_vary_len.L8 ) {\n\t\t\t\t\tres = buffer.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 if( num === - $mol_vary_len.LA ) {\n\t\t\t\t\tconst len = buffer.getUint16( pos, true ) + 9\n\t\t\t\t\tpos += 2\n\t\t\t\t\tres = $mol_bigint_decode( new Uint8Array( buffer.buffer, buffer.byteOffset + pos, len ) )\n\t\t\t\t\tpos += len\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\tstream.push( res )\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( array, pos, len )\n\t\t\t\tpos += bytes\n\t\t\t\tstream.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( array.slice( pos, pos + len ).buffer )\n\t\t\t\tpos += len\n\t\t\t\tstream.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.getUint8( 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.L1: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len.L2: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len.L4: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len.L8: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len.L1 + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len.L2 + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len.L4 + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len.L8 + 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\tstream.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 = read_vary() as readonly string[]\n\t\t\t\tconst vals = new Array( len ) as any[]\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 node = this.rich_node( keys )\n\t\t\t\tlet rich = node.get( null )\n\t\t\t\t\n\t\t\t\tif( !rich ) node.set( null, rich = pojo_maker( keys ) )\n\t\t\t\t\n\t\t\t\tconst obj = rich( vals )\n\t\t\t\t\n\t\t\t\tstream.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 = buffer.getFloat64( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\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 = buffer.getFloat32( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\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 = buffer.getFloat16( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\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.getUint8( 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\tconst result = [] as unknown[]\n\t\t\twhile( pos < array.byteLength ) {\n\t\t\t\tresult.push( read_vary() )\n\t\t\t\tstream.length = 0\t\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\t\t\n\t\trich_index = new Map< string | null, any >([\n\t\t\t[ null, ()=> ({}) ]\n\t\t])\n\t\t\n\t\t/** Isolated Vary for custom types */\n\t\tzone() {\n\t\t\tconst room = new $mol_vary_class\n\t\t\tObject.setPrototypeOf( room, this )\n\t\t\tconst index_clone = ( map: Map< string | null, any > ): Map<any,any> => new Map(\n\t\t\t\t[ ... map ].map(\n\t\t\t\t\t([ k, v ])=> [ k, k === null ? v : index_clone( v ) ]\n\t\t\t\t)\n\t\t\t)\n\t\t\troom.rich_index = index_clone( this.rich_index )\n\t\t\treturn room\n\t\t}\n\t\t\n\t\trich_node( keys: readonly string[] ) {\n\t\t\t\n\t\t\tlet node = this.rich_index\n\t\t\tfor( let i = 0; i < keys.length; ++ i ) {\n\t\t\t\tlet sub = node.get( keys[i] )\n\t\t\t\t\n\t\t\t\tif( sub ) node = sub\n\t\t\t\telse node.set( keys[i], node = new Map )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tlean_find( val: any ) {\n\t\t\t\n\t\t\tconst lean = val[ this.lean_symbol ]\n\t\t\tif( lean ) return lean\n\t\t\t\n\t\t\tconst sup = Object.getPrototypeOf( this )\n\t\t\tif( sup === Object.prototype ) return\n\t\t\t\n\t\t\treturn sup.lean_find( val )\n\t\t}\n\t\t\n\t\t/** Adds custom types support. */\n\t\ttype<\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>( { type, keys, rich, lean }: {\n\t\t\ttype: 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.rich_node( keys ).set( null, rich )\n\t\t\t;( type.prototype as any )[ this.lean_symbol ] = ( val: Instance )=> [ keys, lean( val ) ]\n\t\t}\n\t\t\n\t}\n\t\n\texport let $mol_vary = new $mol_vary_class\n\t\t\n\t/** Native Map support */\n\t$mol_vary.type({\n\t\ttype: Map,\n\t\tkeys: [ 'keys', 'vals' ],\n\t\tlean: obj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t\trich: ([ 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\ttype: Set,\n\t\tkeys: [ 'set' ],\n\t\tlean: obj => [ [ ... obj.values() ] ],\n\t\trich: ([ vals ])=> new Set( vals ),\n\t})\n\t\n\t/** Native Date support */\n\t$mol_vary.type({\n\t\ttype: Date,\n\t\tkeys: [ 'unix_time' ],\n\t\tlean: obj => [ obj.valueOf() / 1000 ],\n\t\trich: ([ ts ])=> new Date( ts * 1000 ),\n\t})\n\t\n\tif( 'Element' in $mol_dom ) { // Absent in workers\n\t\t/** Native Element support */\n\t\t$mol_vary.type({\n\t\t\ttype: $mol_dom.Element,\n\t\t\tkeys: [ 'XML' ],\n\t\t\tlean: node => [ $mol_dom_serialize( node ) ],\n\t\t\trich: ([ text ]) => $mol_dom_parse( text, 'application/xml' ).documentElement,\n\t\t})\n\t}\n\t\n}\n"]}
package/web.mjs CHANGED
@@ -474,8 +474,8 @@ var $;
474
474
  if (stack.includes(val))
475
475
  $mol_fail(new Error('Cyclic refs', { cause: { stack, val } }));
476
476
  stack.push(val);
477
- for (const item of val)
478
- dump(item);
477
+ for (let i = 0; i < val.length; ++i)
478
+ dump(val[i]);
479
479
  if (stack.at(-1) !== val)
480
480
  $mol_fail(new Error('Broken stack', { cause: { stack, val } }));
481
481
  stack.pop();
@@ -495,65 +495,67 @@ var $;
495
495
  const offset = offsets.get(val);
496
496
  if (offset !== undefined)
497
497
  return dump_unum($mol_vary_tip.link, offset);
498
- const [keys, vals] = this.lean_find(val)?.(val) ?? [shape(val), Object.values(val)];
498
+ const { 0: keys, 1: vals } = this.lean_find(val)?.(val) ?? [shape(val), Object.values(val)];
499
499
  dump_unum($mol_vary_tip.tupl, vals.length);
500
500
  acquire((vals.length + 1) * 9);
501
501
  dump_list(keys);
502
502
  if (stack.includes(val))
503
503
  $mol_fail(new Error('Cyclic refs', { cause: { stack, val } }));
504
504
  stack.push(val);
505
- for (const item of vals)
506
- dump(item);
505
+ for (let i = 0; i < vals.length; ++i)
506
+ dump(vals[i]);
507
507
  if (stack.at(-1) !== val)
508
508
  $mol_fail(new Error('Broken stack', { cause: { stack, val } }));
509
509
  stack.pop();
510
510
  offsets.set(val, offsets.size);
511
511
  };
512
- const dump = (val) => {
513
- switch (typeof val) {
514
- case 'undefined': {
515
- this.array[pos++] = $mol_vary_spec.both;
516
- release(8);
517
- return;
518
- }
519
- case 'boolean': {
520
- this.array[pos++] = val ? $mol_vary_spec.true : $mol_vary_spec.fake;
521
- release(8);
522
- return;
523
- }
524
- case 'number': {
525
- if (!Number.isInteger(val))
526
- return dump_float(val);
512
+ const dumpers = {
513
+ undefined: () => {
514
+ this.array[pos++] = $mol_vary_spec.both;
515
+ capacity -= 8;
516
+ },
517
+ boolean: val => {
518
+ this.array[pos++] = val ? $mol_vary_spec.true : $mol_vary_spec.fake;
519
+ capacity -= 8;
520
+ },
521
+ number: val => {
522
+ if (!Number.isInteger(val))
523
+ dump_float(val);
524
+ else
525
+ dumpers.bigint(val);
526
+ },
527
+ bigint: val => {
528
+ if (val < 0) {
529
+ dump_snum(val);
527
530
  }
528
- case 'bigint': {
529
- if (val < 0) {
530
- dump_snum(val);
531
- }
532
- else {
533
- dump_unum($mol_vary_tip.uint, val);
534
- }
535
- return;
531
+ else {
532
+ dump_unum($mol_vary_tip.uint, val);
536
533
  }
537
- case 'string': return dump_string(val);
538
- case 'object': {
539
- if (!val) {
540
- release(8);
541
- return this.array[pos++] = $mol_vary_spec.none;
542
- }
543
- if (ArrayBuffer.isView(val))
544
- return dump_buffer(val);
545
- if (Array.isArray(val))
546
- return dump_list(val);
547
- return dump_object(val);
534
+ },
535
+ string: val => dump_string(val),
536
+ object: val => {
537
+ if (!val) {
538
+ capacity -= 8;
539
+ return this.array[pos++] = $mol_vary_spec.none;
548
540
  }
541
+ if (Array.isArray(val))
542
+ return dump_list(val);
543
+ if (ArrayBuffer.isView(val))
544
+ return dump_buffer(val);
545
+ return dump_object(val);
549
546
  }
550
- $mol_fail(new Error(`Unsupported type`));
551
547
  };
552
- for (const item of data) {
548
+ const dump = (val) => {
549
+ const dumper = dumpers[typeof val];
550
+ if (!dumper)
551
+ $mol_fail(new Error(`Unsupported type`));
552
+ dumper(val);
553
+ };
554
+ for (let i = 0; i < data.length; ++i) {
553
555
  capacity += 9;
554
- dump(item);
556
+ dump(data[i]);
555
557
  if (stack.length)
556
- $mol_fail(new Error('Stack underflow', { cause: { stack, item } }));
558
+ $mol_fail(new Error('Stack underflow', { cause: { stack, item: data[i] } }));
557
559
  offsets.clear();
558
560
  }
559
561
  if (pos !== capacity)
@@ -758,12 +760,12 @@ var $;
758
760
  }
759
761
  rich_node(keys) {
760
762
  let node = this.rich_index;
761
- for (const key of keys) {
762
- let sub = node.get(key);
763
+ for (let i = 0; i < keys.length; ++i) {
764
+ let sub = node.get(keys[i]);
763
765
  if (sub)
764
766
  node = sub;
765
767
  else
766
- node.set(key, node = new Map);
768
+ node.set(keys[i], node = new Map);
767
769
  }
768
770
  return node;
769
771
  }
package/web.test.js CHANGED
@@ -1242,8 +1242,6 @@ var $;
1242
1242
  for (let i = 1; i < args.length; ++i) {
1243
1243
  if ($mol_compare_deep(args[0], args[i]))
1244
1244
  continue;
1245
- if (args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === args[i].outerHTML)
1246
- continue;
1247
1245
  return $mol_fail(new Error(`Equality assertion failure`, { cause: { 0: args[0], [i]: args[i] } }));
1248
1246
  }
1249
1247
  }