@feelyourprotocol/binarytree 8141.0.0

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.
Files changed (124) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +46 -0
  3. package/dist/cjs/binaryTree.d.ts +167 -0
  4. package/dist/cjs/binaryTree.d.ts.map +1 -0
  5. package/dist/cjs/binaryTree.js +606 -0
  6. package/dist/cjs/binaryTree.js.map +1 -0
  7. package/dist/cjs/constructors.d.ts +4 -0
  8. package/dist/cjs/constructors.d.ts.map +1 -0
  9. package/dist/cjs/constructors.js +44 -0
  10. package/dist/cjs/constructors.js.map +1 -0
  11. package/dist/cjs/db/checkpoint.d.ts +87 -0
  12. package/dist/cjs/db/checkpoint.d.ts.map +1 -0
  13. package/dist/cjs/db/checkpoint.js +257 -0
  14. package/dist/cjs/db/checkpoint.js.map +1 -0
  15. package/dist/cjs/db/index.d.ts +2 -0
  16. package/dist/cjs/db/index.d.ts.map +1 -0
  17. package/dist/cjs/db/index.js +18 -0
  18. package/dist/cjs/db/index.js.map +1 -0
  19. package/dist/cjs/index.d.ts +7 -0
  20. package/dist/cjs/index.d.ts.map +1 -0
  21. package/dist/cjs/index.js +23 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/cjs/node/index.d.ts +4 -0
  24. package/dist/cjs/node/index.d.ts.map +1 -0
  25. package/dist/cjs/node/index.js +20 -0
  26. package/dist/cjs/node/index.js.map +1 -0
  27. package/dist/cjs/node/internalNode.d.ts +37 -0
  28. package/dist/cjs/node/internalNode.d.ts.map +1 -0
  29. package/dist/cjs/node/internalNode.js +92 -0
  30. package/dist/cjs/node/internalNode.js.map +1 -0
  31. package/dist/cjs/node/stemNode.d.ts +34 -0
  32. package/dist/cjs/node/stemNode.d.ts.map +1 -0
  33. package/dist/cjs/node/stemNode.js +75 -0
  34. package/dist/cjs/node/stemNode.js.map +1 -0
  35. package/dist/cjs/node/types.d.ts +35 -0
  36. package/dist/cjs/node/types.d.ts.map +1 -0
  37. package/dist/cjs/node/types.js +9 -0
  38. package/dist/cjs/node/types.js.map +1 -0
  39. package/dist/cjs/node/util.d.ts +9 -0
  40. package/dist/cjs/node/util.d.ts.map +1 -0
  41. package/dist/cjs/node/util.js +40 -0
  42. package/dist/cjs/node/util.js.map +1 -0
  43. package/dist/cjs/package.json +3 -0
  44. package/dist/cjs/proof.d.ts +16 -0
  45. package/dist/cjs/proof.d.ts.map +1 -0
  46. package/dist/cjs/proof.js +49 -0
  47. package/dist/cjs/proof.js.map +1 -0
  48. package/dist/cjs/types.d.ts +45 -0
  49. package/dist/cjs/types.d.ts.map +1 -0
  50. package/dist/cjs/types.js +6 -0
  51. package/dist/cjs/types.js.map +1 -0
  52. package/dist/cjs/util.d.ts +17 -0
  53. package/dist/cjs/util.d.ts.map +1 -0
  54. package/dist/cjs/util.js +71 -0
  55. package/dist/cjs/util.js.map +1 -0
  56. package/dist/esm/binaryTree.d.ts +167 -0
  57. package/dist/esm/binaryTree.d.ts.map +1 -0
  58. package/dist/esm/binaryTree.js +602 -0
  59. package/dist/esm/binaryTree.js.map +1 -0
  60. package/dist/esm/constructors.d.ts +4 -0
  61. package/dist/esm/constructors.d.ts.map +1 -0
  62. package/dist/esm/constructors.js +41 -0
  63. package/dist/esm/constructors.js.map +1 -0
  64. package/dist/esm/db/checkpoint.d.ts +87 -0
  65. package/dist/esm/db/checkpoint.d.ts.map +1 -0
  66. package/dist/esm/db/checkpoint.js +253 -0
  67. package/dist/esm/db/checkpoint.js.map +1 -0
  68. package/dist/esm/db/index.d.ts +2 -0
  69. package/dist/esm/db/index.d.ts.map +1 -0
  70. package/dist/esm/db/index.js +2 -0
  71. package/dist/esm/db/index.js.map +1 -0
  72. package/dist/esm/index.d.ts +7 -0
  73. package/dist/esm/index.d.ts.map +1 -0
  74. package/dist/esm/index.js +7 -0
  75. package/dist/esm/index.js.map +1 -0
  76. package/dist/esm/node/index.d.ts +4 -0
  77. package/dist/esm/node/index.d.ts.map +1 -0
  78. package/dist/esm/node/index.js +4 -0
  79. package/dist/esm/node/index.js.map +1 -0
  80. package/dist/esm/node/internalNode.d.ts +37 -0
  81. package/dist/esm/node/internalNode.d.ts.map +1 -0
  82. package/dist/esm/node/internalNode.js +88 -0
  83. package/dist/esm/node/internalNode.js.map +1 -0
  84. package/dist/esm/node/stemNode.d.ts +34 -0
  85. package/dist/esm/node/stemNode.d.ts.map +1 -0
  86. package/dist/esm/node/stemNode.js +71 -0
  87. package/dist/esm/node/stemNode.js.map +1 -0
  88. package/dist/esm/node/types.d.ts +35 -0
  89. package/dist/esm/node/types.d.ts.map +1 -0
  90. package/dist/esm/node/types.js +6 -0
  91. package/dist/esm/node/types.js.map +1 -0
  92. package/dist/esm/node/util.d.ts +9 -0
  93. package/dist/esm/node/util.d.ts.map +1 -0
  94. package/dist/esm/node/util.js +33 -0
  95. package/dist/esm/node/util.js.map +1 -0
  96. package/dist/esm/package.json +3 -0
  97. package/dist/esm/proof.d.ts +16 -0
  98. package/dist/esm/proof.d.ts.map +1 -0
  99. package/dist/esm/proof.js +45 -0
  100. package/dist/esm/proof.js.map +1 -0
  101. package/dist/esm/types.d.ts +45 -0
  102. package/dist/esm/types.d.ts.map +1 -0
  103. package/dist/esm/types.js +3 -0
  104. package/dist/esm/types.js.map +1 -0
  105. package/dist/esm/util.d.ts +17 -0
  106. package/dist/esm/util.d.ts.map +1 -0
  107. package/dist/esm/util.js +66 -0
  108. package/dist/esm/util.js.map +1 -0
  109. package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -0
  110. package/dist/tsconfig.prod.esm.tsbuildinfo +1 -0
  111. package/package.json +77 -0
  112. package/src/binaryTree.ts +742 -0
  113. package/src/constructors.ts +50 -0
  114. package/src/db/checkpoint.ts +297 -0
  115. package/src/db/index.ts +1 -0
  116. package/src/index.ts +6 -0
  117. package/src/node/index.ts +3 -0
  118. package/src/node/internalNode.ts +112 -0
  119. package/src/node/stemNode.ts +87 -0
  120. package/src/node/types.ts +41 -0
  121. package/src/node/util.ts +38 -0
  122. package/src/proof.ts +54 -0
  123. package/src/types.ts +58 -0
  124. package/src/util.ts +80 -0
@@ -0,0 +1,71 @@
1
+ import { RLP } from '@feelyourprotocol/rlp';
2
+ import { EthereumJSErrorWithoutCode } from '@feelyourprotocol/util';
3
+ import { BinaryNodeType, NODE_WIDTH } from "./types.js";
4
+ export class StemBinaryNode {
5
+ constructor(options) {
6
+ this.type = BinaryNodeType.Stem;
7
+ this.stem = options.stem;
8
+ this.values = options.values ?? new Array(256).fill(null);
9
+ }
10
+ static fromRawNode(rawNode) {
11
+ const nodeType = rawNode[0][0];
12
+ if (nodeType !== BinaryNodeType.Stem) {
13
+ throw EthereumJSErrorWithoutCode('Invalid node type');
14
+ }
15
+ // The length of the rawNode should be the # of values (node width) + 2 for the node type and the stem
16
+ if (rawNode.length !== NODE_WIDTH + 2) {
17
+ throw EthereumJSErrorWithoutCode('Invalid node length');
18
+ }
19
+ const stem = rawNode[1];
20
+ const rawValues = rawNode.slice(2, rawNode.length);
21
+ const values = rawValues.map((el) => (el.length === 0 ? null : el));
22
+ return new StemBinaryNode({ stem, values });
23
+ }
24
+ /**
25
+ * Generates a new Stem node
26
+ * @param stem the 31 byte stem corresponding to the where the stem node is located in the tree
27
+ * @returns a new Stem node
28
+ */
29
+ static create(stem) {
30
+ return new StemBinaryNode({ stem });
31
+ }
32
+ // Retrieve the value at the provided index from the values array
33
+ getValue(index) {
34
+ return this.values[index];
35
+ }
36
+ setValue(index, value) {
37
+ this.values[index] = value;
38
+ }
39
+ /**
40
+ * @returns the RLP serialized node
41
+ */
42
+ serialize() {
43
+ return RLP.encode(this.raw());
44
+ }
45
+ /**
46
+ * Returns the raw serialized representation of the node as an array of Uint8Arrays.
47
+ * The returned array is constructed as follows:
48
+ * - The first element is a Uint8Array containing a single byte that represents the node type,
49
+ * - The second element is the node's `stem` property.
50
+ * - The remaining elements are derived from the node's `values` array:
51
+ * - For each value, if it is `null`, it is converted to an empty Uint8Array.
52
+ * - Otherwise, the value is included as-is.
53
+ *
54
+ * @returns {Uint8Array[]} An array of Uint8Arrays representing the node's raw data.
55
+ */
56
+ raw() {
57
+ return [
58
+ new Uint8Array([BinaryNodeType.Stem]),
59
+ this.stem,
60
+ ...this.values.map((val) => {
61
+ switch (val) {
62
+ case null:
63
+ return new Uint8Array();
64
+ default:
65
+ return val;
66
+ }
67
+ }),
68
+ ];
69
+ }
70
+ }
71
+ //# sourceMappingURL=stemNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stemNode.js","sourceRoot":"","sources":["../../../src/node/stemNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvD,MAAM,OAAO,cAAc;IAMzB,YAAY,OAAsD;QAF3D,SAAI,GAAG,cAAc,CAAC,IAAI,CAAA;QAG/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAqB;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,QAAQ,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,0BAA0B,CAAC,mBAAmB,CAAC,CAAA;QACvD,CAAC;QAED,sGAAsG;QACtG,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,0BAA0B,CAAC,qBAAqB,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAEnE,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAAgB;QAC5B,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,iEAAiE;IACjE,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,KAAwB;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;;;;;;OAUG;IACH,GAAG;QACD,OAAO;YACL,IAAI,UAAU,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI;YACT,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,IAAI;wBACP,OAAO,IAAI,UAAU,EAAE,CAAA;oBACzB;wBACE,OAAO,GAAG,CAAA;gBACd,CAAC;YACH,CAAC,CAAC;SACH,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import type { InternalBinaryNode } from './internalNode.ts';
2
+ import type { StemBinaryNode } from './stemNode.ts';
3
+ export type BinaryNodeType = (typeof BinaryNodeType)[keyof typeof BinaryNodeType];
4
+ export declare const BinaryNodeType: {
5
+ readonly Internal: 0;
6
+ readonly Stem: 1;
7
+ };
8
+ export interface TypedBinaryNode {
9
+ [BinaryNodeType.Internal]: InternalBinaryNode;
10
+ [BinaryNodeType.Stem]: StemBinaryNode;
11
+ }
12
+ export type BinaryNode = TypedBinaryNode[BinaryNodeType];
13
+ /**
14
+ * @dev A child node in a binary tree internal node.
15
+ * @param hash The hash of the child node.
16
+ * @param path The path to the child node, in bits.
17
+ * */
18
+ export type ChildBinaryNode = {
19
+ hash: Uint8Array;
20
+ path: number[];
21
+ };
22
+ interface InternalBinaryNodeOptions {
23
+ children?: (ChildBinaryNode | null)[];
24
+ }
25
+ interface StemBinaryNodeOptions {
26
+ stem: Uint8Array;
27
+ values?: (Uint8Array | null)[];
28
+ }
29
+ export interface BinaryNodeOptions {
30
+ [BinaryNodeType.Internal]: InternalBinaryNodeOptions;
31
+ [BinaryNodeType.Stem]: StemBinaryNodeOptions;
32
+ }
33
+ export declare const NODE_WIDTH = 256;
34
+ export {};
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/node/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAA;AACjF,eAAO,MAAM,cAAc;;;CAGjB,CAAA;AAEV,MAAM,WAAW,eAAe;IAC9B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7C,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CACtC;AAED,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;AAExD;;;;KAIK;AACL,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,UAAU,yBAAyB;IACjC,QAAQ,CAAC,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAA;CACtC;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAA;IACpD,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAA;CAC7C;AAED,eAAO,MAAM,UAAU,MAAM,CAAA"}
@@ -0,0 +1,6 @@
1
+ export const BinaryNodeType = {
2
+ Internal: 0,
3
+ Stem: 1,
4
+ };
5
+ export const NODE_WIDTH = 256;
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/node/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;CACC,CAAA;AAiCV,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { InternalBinaryNode } from './internalNode.ts';
2
+ import { StemBinaryNode } from './stemNode.ts';
3
+ import { type BinaryNode } from './types.ts';
4
+ export declare function decodeRawBinaryNode(raw: Uint8Array[]): BinaryNode;
5
+ export declare function decodeBinaryNode(raw: Uint8Array): BinaryNode;
6
+ export declare function isRawBinaryNode(node: Uint8Array | Uint8Array[]): node is Uint8Array[];
7
+ export declare function isInternalBinaryNode(node: BinaryNode): node is InternalBinaryNode;
8
+ export declare function isStemBinaryNode(node: BinaryNode): node is StemBinaryNode;
9
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/node/util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,YAAY,CAAA;AAE5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,UAAU,CAUjE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,cAM/C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,IAAI,UAAU,EAAE,CAErF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,kBAAkB,CAEjF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,cAAc,CAEzE"}
@@ -0,0 +1,33 @@
1
+ import { RLP } from '@feelyourprotocol/rlp';
2
+ import { EthereumJSErrorWithoutCode } from '@feelyourprotocol/util';
3
+ import { InternalBinaryNode } from "./internalNode.js";
4
+ import { StemBinaryNode } from "./stemNode.js";
5
+ import { BinaryNodeType } from "./types.js";
6
+ export function decodeRawBinaryNode(raw) {
7
+ const nodeType = raw[0][0];
8
+ switch (nodeType) {
9
+ case BinaryNodeType.Internal:
10
+ return InternalBinaryNode.fromRawNode(raw);
11
+ case BinaryNodeType.Stem:
12
+ return StemBinaryNode.fromRawNode(raw);
13
+ default:
14
+ throw EthereumJSErrorWithoutCode('Invalid node type');
15
+ }
16
+ }
17
+ export function decodeBinaryNode(raw) {
18
+ const decoded = RLP.decode(Uint8Array.from(raw));
19
+ if (!Array.isArray(decoded)) {
20
+ throw EthereumJSErrorWithoutCode('Invalid node');
21
+ }
22
+ return decodeRawBinaryNode(decoded);
23
+ }
24
+ export function isRawBinaryNode(node) {
25
+ return Array.isArray(node) && !(node instanceof Uint8Array);
26
+ }
27
+ export function isInternalBinaryNode(node) {
28
+ return node.type === BinaryNodeType.Internal;
29
+ }
30
+ export function isStemBinaryNode(node) {
31
+ return node.type === BinaryNodeType.Stem;
32
+ }
33
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/node/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,UAAU,mBAAmB,CAAC,GAAiB;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,cAAc,CAAC,QAAQ;YAC1B,OAAO,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC5C,KAAK,cAAc,CAAC,IAAI;YACtB,OAAO,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACxC;YACE,MAAM,0BAA0B,CAAC,mBAAmB,CAAC,CAAA;IACzD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAe;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAiB,CAAA;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,0BAA0B,CAAC,cAAc,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAA+B;IAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,QAAQ,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAA;AAC1C,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,16 @@
1
+ import type { BinaryTree } from './binaryTree.ts';
2
+ /**
3
+ * Saves the nodes from a proof into the tree.
4
+ * @param proof
5
+ */
6
+ export declare function binaryTreeFromProof(proof: Uint8Array[]): Promise<BinaryTree>;
7
+ /**
8
+ * Verifies a proof.
9
+ * @param rootHash
10
+ * @param key
11
+ * @param proof
12
+ * @throws If proof is found to be invalid.
13
+ * @returns The value from the key, or null if valid proof of non-existence.
14
+ */
15
+ export declare function verifyBinaryProof(rootHash: Uint8Array, key: Uint8Array, proof: Uint8Array[]): Promise<Uint8Array | null>;
16
+ //# sourceMappingURL=proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/proof.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIjD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAUlF;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,UAAU,EACpB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgB5B"}
@@ -0,0 +1,45 @@
1
+ import { EthereumJSErrorWithoutCode, equalsBytes } from '@feelyourprotocol/util';
2
+ import { createBinaryTree } from "./constructors.js";
3
+ import { decodeBinaryNode } from "./node/index.js";
4
+ /**
5
+ * Saves the nodes from a proof into the tree.
6
+ * @param proof
7
+ */
8
+ export async function binaryTreeFromProof(proof) {
9
+ const proofTrie = await createBinaryTree();
10
+ const putStack = proof.map((bytes) => {
11
+ const node = decodeBinaryNode(bytes);
12
+ return [proofTrie['merkelize'](node), node];
13
+ });
14
+ await proofTrie.saveStack(putStack);
15
+ const root = putStack[0][0];
16
+ proofTrie.root(root);
17
+ return proofTrie;
18
+ }
19
+ /**
20
+ * Verifies a proof.
21
+ * @param rootHash
22
+ * @param key
23
+ * @param proof
24
+ * @throws If proof is found to be invalid.
25
+ * @returns The value from the key, or null if valid proof of non-existence.
26
+ */
27
+ export async function verifyBinaryProof(rootHash, key, proof) {
28
+ const proofTrie = await binaryTreeFromProof(proof);
29
+ if (!equalsBytes(proofTrie.root(), rootHash)) {
30
+ throw EthereumJSErrorWithoutCode('rootHash does not match proof root');
31
+ }
32
+ const [value] = await proofTrie.get(key.slice(0, 31), [key[31]]);
33
+ const valueNode = decodeBinaryNode(proof[proof.length - 1]);
34
+ const expectedValue = valueNode.values[key[31]];
35
+ if (!expectedValue) {
36
+ if (value) {
37
+ throw EthereumJSErrorWithoutCode('Proof is invalid');
38
+ }
39
+ }
40
+ else if (value && !equalsBytes(value, expectedValue)) {
41
+ throw EthereumJSErrorWithoutCode('Proof is invalid');
42
+ }
43
+ return value;
44
+ }
45
+ //# sourceMappingURL=proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.js","sourceRoot":"","sources":["../../src/proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMlD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAmB;IAC3D,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAA;IAC1C,MAAM,QAAQ,GAA+B,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAoB,EACpB,GAAe,EACf,KAAmB;IAEnB,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,0BAA0B,CAAC,oCAAoC,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAmB,CAAA;IAC7E,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,0BAA0B,CAAC,kBAAkB,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;QACvD,MAAM,0BAA0B,CAAC,kBAAkB,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { DB, ValueEncoding } from '@feelyourprotocol/util';
2
+ export interface BinaryTreeOpts {
3
+ /**
4
+ * A database instance.
5
+ */
6
+ db: DB<string, string | Uint8Array>;
7
+ /**
8
+ * A `Uint8Array` for the root of a previously stored tree
9
+ */
10
+ root?: Uint8Array;
11
+ /**
12
+ * Store the root inside the database after every `write` operation
13
+ */
14
+ useRootPersistence: boolean;
15
+ /**
16
+ * LRU cache for tree nodes to allow for faster node retrieval.
17
+ *
18
+ * Default: 0 (deactivated)
19
+ */
20
+ cacheSize: number;
21
+ /**
22
+ * Hash function used for hashing the tree nodes.
23
+ */
24
+ hashFunction: (msg: Uint8Array) => Uint8Array;
25
+ }
26
+ export interface CheckpointDBOpts {
27
+ /**
28
+ * A database instance.
29
+ */
30
+ db: DB<string, string | Uint8Array>;
31
+ /**
32
+ * ValueEncoding of the database (the values which are `put`/`get` in the db are of this type). Defaults to `string`
33
+ */
34
+ valueEncoding?: ValueEncoding;
35
+ /**
36
+ * Cache size (default: 0)
37
+ */
38
+ cacheSize?: number;
39
+ }
40
+ export type Checkpoint = {
41
+ keyValueMap: Map<string, Uint8Array | undefined>;
42
+ root: Uint8Array;
43
+ };
44
+ export declare const ROOT_DB_KEY: Uint8Array<ArrayBufferLike>;
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAA;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;IAEjB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAA;IAE3B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,UAAU,CAAA;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAA;IAEnC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,UAAU,GAAG;IAGvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,CAAA;IAChD,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,6BAA0B,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { utf8ToBytes } from '@feelyourprotocol/util';
2
+ export const ROOT_DB_KEY = utf8ToBytes('__root__');
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAyD9C,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { type PrefixedHexString } from '@feelyourprotocol/util';
2
+ import type { BinaryTree } from './binaryTree.ts';
3
+ /**
4
+ * Recursively walks down the tree from a given starting node and returns all the leaf values
5
+ * @param tree - The binary tree
6
+ * @param startingNode - The starting node
7
+ * @returns An array of key-value pairs containing the tree keys and associated values
8
+ */
9
+ export declare const dumpLeafValues: (tree: BinaryTree, startingNode: Uint8Array) => Promise<[PrefixedHexString, PrefixedHexString][] | undefined>;
10
+ /**
11
+ * Recursively walks down the tree from a given starting node and returns all the node paths and hashes
12
+ * @param tree - The binary tree
13
+ * @param startingNode - The starting node
14
+ * @returns An array of key-value pairs containing the tree paths and associated hashes
15
+ */
16
+ export declare const dumpNodeHashes: (tree: BinaryTree, startingNode: Uint8Array) => Promise<[string, PrefixedHexString][] | undefined>;
17
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAwC,MAAM,kBAAkB,CAAA;AAM/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,UAAU,EAChB,cAAc,UAAU,KACvB,OAAO,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,GAAG,SAAS,CAsB9D,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,UAAU,EAChB,cAAc,UAAU,KACvB,OAAO,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,SAAS,CA6BnD,CAAA"}
@@ -0,0 +1,66 @@
1
+ import { bytesToHex, concatBytes, equalsBytes } from '@feelyourprotocol/util';
2
+ import { InternalBinaryNode } from "./node/internalNode.js";
3
+ import { StemBinaryNode } from "./node/stemNode.js";
4
+ import { decodeBinaryNode } from "./node/util.js";
5
+ /**
6
+ * Recursively walks down the tree from a given starting node and returns all the leaf values
7
+ * @param tree - The binary tree
8
+ * @param startingNode - The starting node
9
+ * @returns An array of key-value pairs containing the tree keys and associated values
10
+ */
11
+ export const dumpLeafValues = async (tree, startingNode) => {
12
+ if (equalsBytes(startingNode, tree.EMPTY_TREE_ROOT) === true)
13
+ return;
14
+ // Retrieve starting node from DB
15
+ const rawNode = await tree['_db'].get(startingNode);
16
+ if (rawNode === undefined)
17
+ return;
18
+ const node = decodeBinaryNode(rawNode);
19
+ const entries = [];
20
+ if (node instanceof StemBinaryNode) {
21
+ for (const [idx, val] of node.values.entries()) {
22
+ if (val !== null) {
23
+ entries.push([bytesToHex(concatBytes(node.stem, Uint8Array.from([idx]))), bytesToHex(val)]);
24
+ }
25
+ }
26
+ return entries;
27
+ }
28
+ else {
29
+ const childPaths = node.children
30
+ .filter((value) => value !== null)
31
+ .map((value) => dumpLeafValues(tree, value.hash));
32
+ const res = (await Promise.all(childPaths)).filter((val) => val !== undefined);
33
+ return res.flat(1);
34
+ }
35
+ };
36
+ /**
37
+ * Recursively walks down the tree from a given starting node and returns all the node paths and hashes
38
+ * @param tree - The binary tree
39
+ * @param startingNode - The starting node
40
+ * @returns An array of key-value pairs containing the tree paths and associated hashes
41
+ */
42
+ export const dumpNodeHashes = async (tree, startingNode) => {
43
+ let entries = [];
44
+ // Retrieve starting node from DB
45
+ const rawNode = await tree['_db'].get(startingNode);
46
+ if (rawNode === undefined)
47
+ return;
48
+ const node = decodeBinaryNode(rawNode);
49
+ // If current node is root, push '0x' for path and node hash for commitment
50
+ equalsBytes(startingNode, tree.root()) && entries.push(['0x', bytesToHex(startingNode)]);
51
+ if (node instanceof InternalBinaryNode) {
52
+ const children = node.children.filter((value) => value !== null);
53
+ // Push non-null children paths and hashes
54
+ for (const child of children) {
55
+ entries.push([child.path.join(''), bytesToHex(child.hash)]);
56
+ }
57
+ // Recursively call dumpNodeHashes on each child node
58
+ const childPaths = (await Promise.all(children.map((value) => dumpNodeHashes(tree, value.hash))))
59
+ .filter((val) => val !== undefined)
60
+ .flat(1);
61
+ // Add all child paths and hashes to entries
62
+ entries = [...entries, ...childPaths];
63
+ }
64
+ return entries;
65
+ };
66
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAgB,EAChB,YAAwB,EACuC,EAAE;IACjE,IAAI,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI;QAAE,OAAM;IACpE,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACnD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAM;IACjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,OAAO,GAA6C,EAAE,CAAA;IAC5D,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC7F,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ;aAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;aACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAEpD,MAAM,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAA;QAC9E,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAA6C,CAAA;IAChE,CAAC;AACH,CAAC,CAAA;AACD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAgB,EAChB,YAAwB,EAC4B,EAAE;IACtD,IAAI,OAAO,GAAkC,EAAE,CAAA;IAC/C,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACnD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAM;IAEjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACtC,2EAA2E;IAC3E,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxF,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAsB,CAAA;QAErF,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7D,CAAC;QAED,qDAAqD;QACrD,MAAM,UAAU,GAAG,CACjB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7E;aACE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEV,4CAA4C;QAC5C,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAkC,CAAA;IACxE,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../util/dist/cjs/constants.d.ts","../../rlp/dist/cjs/errors.d.ts","../../rlp/dist/cjs/index.d.ts","../../util/dist/cjs/errors.d.ts","../../util/dist/cjs/units.d.ts","../../util/dist/cjs/address.d.ts","../../util/node_modules/@noble/hashes/utils.d.ts","../../util/dist/cjs/bytes.d.ts","../../util/dist/cjs/types.d.ts","../../util/dist/cjs/account.d.ts","../../util/dist/cjs/bal.d.ts","../../util/dist/cjs/db.d.ts","../../util/dist/cjs/withdrawal.d.ts","../../util/dist/cjs/signature.d.ts","../../util/node_modules/@noble/curves/utils.d.ts","../../util/node_modules/@noble/curves/abstract/modular.d.ts","../../util/node_modules/@noble/curves/abstract/curve.d.ts","../../util/node_modules/@noble/curves/abstract/hash-to-curve.d.ts","../../util/node_modules/@noble/curves/abstract/weierstrass.d.ts","../../util/node_modules/@noble/curves/secp256k1.d.ts","../../util/dist/cjs/authorization.d.ts","../../util/dist/cjs/env.d.ts","../../util/dist/cjs/binarytree.d.ts","../../util/dist/cjs/kzg.d.ts","../../util/dist/cjs/blobs.d.ts","../../util/dist/cjs/internal.d.ts","../../util/dist/cjs/lock.d.ts","../../util/dist/cjs/mapdb.d.ts","../../util/dist/cjs/provider.d.ts","../../util/dist/cjs/request.d.ts","../../util/dist/cjs/tasks.d.ts","../../util/dist/cjs/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../node_modules/lru-cache/dist/commonjs/index.d.ts","../src/types.ts","../src/db/checkpoint.ts","../src/db/index.ts","../src/node/stemnode.ts","../src/node/types.ts","../src/node/internalnode.ts","../src/node/util.ts","../src/binarytree.ts","../node_modules/@noble/hashes/utils.d.ts","../node_modules/@noble/hashes/blake2.d.ts","../node_modules/@noble/hashes/blake3.d.ts","../src/constructors.ts","../src/node/index.ts","../src/proof.ts","../src/index.ts","../src/util.ts","../../../node_modules/@types/benchmark/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/deep-eql/index.d.ts","../../../node_modules/assertion-error/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/cors/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/eventsource/dist/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/js-md5/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/k-bucket/index.d.ts","../../../node_modules/@types/linkify-it/build/index.cjs.d.ts","../../../node_modules/@types/linkify-it/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.zip/index.d.ts","../../../node_modules/@types/mdurl/build/index.cjs.d.ts","../../../node_modules/@types/mdurl/index.d.ts","../../../node_modules/@types/markdown-it/dist/index.cjs.d.ts","../../../node_modules/@types/markdown-it/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-dir/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/snappyjs/index.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/@types/web-bluetooth/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[104,147],[104,147,197],[104,147,162,197,199],[104,147,201,202],[104,147,162,197],[79,104,147],[104,147,160,197,207,208],[104,147,210],[104,147,160,190,197],[104,147,159,197],[104,147,216],[104,147,230],[104,147,218,220,221,222,223,224,225,226,227,228,229,230],[104,147,218,219,221,222,223,224,225,226,227,228,229,230],[104,147,219,220,221,222,223,224,225,226,227,228,229,230],[104,147,218,219,220,222,223,224,225,226,227,228,229,230],[104,147,218,219,220,221,223,224,225,226,227,228,229,230],[104,147,218,219,220,221,222,224,225,226,227,228,229,230],[104,147,218,219,220,221,222,223,225,226,227,228,229,230],[104,147,218,219,220,221,222,223,224,226,227,228,229,230],[104,147,218,219,220,221,222,223,224,225,227,228,229,230],[104,147,218,219,220,221,222,223,224,225,226,228,229,230],[104,147,218,219,220,221,222,223,224,225,226,227,229,230],[104,147,218,219,220,221,222,223,224,225,226,227,228,230],[104,147,218,219,220,221,222,223,224,225,226,227,228,229],[104,147,217,233],[104,147,234],[104,147,232],[104,147,160,197],[104,144,147],[104,146,147],[147],[104,147,152,182],[104,147,148,153,159,160,167,179,190],[104,147,148,149,159,167],[99,100,101,104,147],[104,147,150,191],[104,147,151,152,160,168],[104,147,152,179,187],[104,147,153,155,159,167],[104,146,147,154],[104,147,155,156],[104,147,159],[104,147,157,159],[104,146,147,159],[104,147,159,160,161,179,190],[104,147,159,160,161,174,179,182],[104,142,147,195],[104,142,147,155,159,162,167,179,190],[104,147,159,160,162,163,167,179,187,190],[104,147,162,164,179,187,190],[102,103,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[104,147,159,165],[104,147,166,190],[104,147,155,159,167,179],[104,147,168],[104,147,169],[104,146,147,170],[104,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[104,147,172],[104,147,173],[104,147,159,174,175],[104,147,174,176,191,193],[104,147,159,179,180,182],[104,147,179,181],[104,147,179,180],[104,147,182],[104,147,183],[104,144,147,179],[104,147,159,185,186],[104,147,185,186],[104,147,152,167,179,187],[104,147,188],[104,147,167,189],[104,147,162,173,190],[104,147,152,191],[104,147,179,192],[104,147,166,193],[104,147,194],[104,147,152,159,161,170,179,190,193,195],[104,147,179,196],[104,147,159,162,164,167,179,187,190,196,197],[104,147,245],[104,114,118,147,190],[104,114,147,179,190],[104,109,147],[104,111,114,147,187,190],[104,147,167,187],[104,109,147,197],[104,111,114,147,167,190],[104,106,107,110,113,147,159,179,190],[104,114,121,147],[104,106,112,147],[104,114,135,136,147],[104,110,114,147,182,190,197],[104,135,147,197],[104,108,109,147,197],[104,114,147],[104,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,139,140,141,147],[104,114,129,147],[104,114,121,122,147],[104,112,114,122,123,147],[104,113,147],[104,106,109,114,147],[104,114,118,122,123,147],[104,118,147],[104,112,114,117,147,190],[104,106,111,114,121,147],[104,147,179],[104,109,114,135,147,195,197],[53,104,147],[53,91,104,147],[78,80,82,84,85,86,87,88,104,147],[78,82,89,92,104,147],[78,81,82,104,147],[83,104,147],[82,84,89,93,94,95,104,147],[86,87,88,104,147],[49,78,86,104,147],[85,87,104,147],[49,78,85,86,87,104,147],[78,85,89,93,94,104,147],[78,104,147],[78,85,86,87,88,89,104,147],[48,104,147],[55,104,147],[52,55,66,104,147],[52,55,56,104,147],[55,70,104,147],[53,55,104,147],[49,104,147],[47,50,51,52,54,55,56,57,58,59,60,67,68,69,70,71,72,73,74,75,76,77,104,147],[58,104,147],[52,54,104,147],[52,55,104,147],[61,62,104,147],[61,62,63,104,147],[63,64,65,104,147]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"a0ac382f639eb7aacbdebbd073fb9c37472c3dae61eba04afc018bf21477564d","c0fd21c2cda3e2ce01ec41d283f7a07cd1f45ea3731b541c73ad9e302dffe90b","ccdc066e88f00edf5b1c7b62f0586d89b683e82a9874af411597be0579886da9","0de74c016eb36a3b23ac74a6902dce76da5366cd155a16c776492a053ac4811a","74be6776364e80d7e2d1f057a854ffc903172f80a727fe5beea0b4e54395c614","3ce16ffce7fd6b8d481b965cbc4c7fab9b50ee08e2d463a15169a2a611124a18",{"version":"79766c737b0a94c9d47424412054f0193d78dbfd3b71cfe2ec4f5efce419c081","impliedFormat":99},"846feb116b6791584f33971296e23838aacfdca116f202ab74df5e3db525c917","3798d73806a40860491416e580037d0764a49b4e8eb1b040cee8cbfe9d16cfb9","0b4d469bca1bcb6fca9ef62a6ec245ca045e1f1b00b5d55944932453e9ebf6a6","036004a24a9fbfbd2579ddacd82d11b908dcaad687c4602fc800ca2c955e6521","3a16b461da7e72779f7da838b4681bb4e3fd212edaed8d2f2a417c2f3727f26a","e437bd9bbdbed1281e7538e5f5344afa33e7be5e6d3305647dfb04dffa177856","ececfe1317b80bf82c0cc03f6009d8101c8e0b86cdbdffcd3f93521462924d18",{"version":"c249b95e5d5907f5dfe1e5d2703484dc3acafc5bdb4132a23c1a5b32852c7232","impliedFormat":99},{"version":"bdb7b1fa2cabe27c8d9a97e16cf965f91f4328e11ae6271f5b4a1b61c805e312","impliedFormat":99},{"version":"a8f145f7327ccb58aca55eb7a1d6fe837ac03f1a16c7c4ba4987ce76e6e76ad5","impliedFormat":99},{"version":"23c629ef8b88ae0b9ace6f904848adf85412c715a5db4022c3755b88d735b3ae","impliedFormat":99},{"version":"08b91fb54962499686ff256d084ba20e284f0cbaf5196f151291c0e630d203c6","impliedFormat":99},{"version":"79ee9ca3ba620c40672e0fe9fce1b132b00fb582355f3ee48f1d4fa3a75975be","impliedFormat":99},"d3728c13bb2a3f447cf90ad8f68db62ff9eb42bde7f310f2f32ccec5d56153b7","dfd16f3ef985fc6ec8c15c9b98499f33727545bce41c3d192ec04e4131f6fed6","f93af03b698bb3533ff545d16c2d5fac2afa8eb28f3120d016ed90a9e4e250c3","e1e7fbb20192f8d369bc8d136e536acc4a8a940c100e8129c3b0e1606ea0fb66","54bf49d0cbe7c2b36882971e5d7f0f408747968a3be7f7c9927311be339fc8dc","d48b7c5f794ef0b743a746419ef3ee687f92cd2ff82c55b8189b228c447f7229","ff00f23ec0c6c986df2778657ef18073548634b31757bd496902cd00c183ae96","2a29748b1e196a001dd38fedc49ed880d819e6db44c4b0100171ca78997fbdff","ce9f8945d5c0f1fd7c66c3c512a4e24941f45d59e067fc0f3d3e004d77d9a8ed","c7ad1cddcd1c07e58e7df38ac2ee7a9aea47f98bff543f4bb318f9dae0745e10","104685f762886bf2205ef502b4db7a680084d1d03c0383e9422e294b553ca04e","4b5a32c5fabdfe9cecf8ef331b5e2805f3866e1e4e866baba27f566cb1421aa9",{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"d50a79748095284de5c093814c97c21a5c4849abf505161fe70d8ee6989e4142","impliedFormat":1},{"version":"9f403923b7c135786670aa85bdeaf5d37ec7b84a78572af20c4f967515c96a94","signature":"bda6cca87f82be610b3ae55771efde2c6a7c84ed964686b79b7bb260212f62d6"},{"version":"5c87ed5059627c57c0cf4a9645ab32597da95623d6ff85b3faeb2c99099239cb","signature":"f9bab23e8825b754888474ec2292ec5822c7ab019774dd8eb0396fa38e275b98"},{"version":"62ec0de468dd5c4d91f05d0214b6b6fe8abdcf8fed7c1b7b310586df12915072","signature":"831b26f6add354cfe29df12584f2b95d304dad7cf7b9960f67634929f5f8f697"},{"version":"88c135460ca201f7abeb02e02d3d9db5cff5185b1ed9b5fca8a5eff35f4c72b2","signature":"0234e5ac7b50bb23a7101586e016125d6087d3e15cb5da887349d875c626dad0"},{"version":"372df4ee464f3b97f1d1d1b36545e1c5ee5aedf95e18e3e816ee472bcfedb268","signature":"6cbdd2f46acaea6c8cdb560783338f6ae7a852a77fcf845266a5286a3920471c"},{"version":"077905248635da37bc16facd894b6a3fff9b0f9d041cfe0e93d82ff100077b45","signature":"8b44fe417241c1d8e1593173bc028ae37a0e72260492d1659e10cf4f236889f9"},{"version":"615b0f7749a800e49dda5d9863528ae5ac8aff1181bd5dd664c1f2aae080fb12","signature":"5041e0d88cbf46deddfb0920328b46143f50706cd439ce60d3dea88c5906cd85"},{"version":"31f8eca3b84b3c2af12735358acdadcda4020189d6d356a336b492200a5ec71d","signature":"334f8a816617e38ffa37bbc734e6477211fdf34cff4e240cf39bfcfff078e043"},{"version":"79766c737b0a94c9d47424412054f0193d78dbfd3b71cfe2ec4f5efce419c081","impliedFormat":99},{"version":"f8cee88752c9ac14a5965022d2d8acf95b1912ad789be239d4d96eb6b6c2aa45","impliedFormat":99},{"version":"85cd0db4ebab944e6f8ba9f9f8366a71563d735e8cd76c12264b7d66c7c03119","impliedFormat":99},{"version":"837024956083ffe32798d77c0000869b190cbe2a7327a5f139f9fc9d96180d69","signature":"b5d8e30f277c965f184cd4d676d5e17f23435ca869543e19c992f5816f490ecb"},{"version":"3f1aeb574b435c574b9e6ab3ec36ab33a823e5d2c5449fddaa58d373f384946f","signature":"5c33cbc559a4d0cc9dc40ee2a00425ef8c85350d1b7302f65a0704ed97626188"},{"version":"26982983418441361c6d3ae7ec94c2bbca77b57e25fb5dee09c2202fc52e313b","signature":"644ee184055e761462f81e99b5a110d57953035a1c74d1731efd2e5c858a61b8"},{"version":"c5b5c0fbe5b18e77b1090eb930f7d075e82c765f4ebbe47b53e5a009f3aefd45","signature":"e7b4e7532d81eb9d9db43032719df586b3beb1cc850de4403637ebb21cb7525b"},{"version":"e02497b129c9aa23d03ef3c41421aec31d6e3d54fbf0a0a3be4c3c454003fccd","signature":"23168d24a20f9e9c191854a2acc343aab50eeba04f5a93f165e579ea5acf2ba8"},{"version":"d64fc2b6e71cc0aa542509bf15c62001e4b57a2a45a22c730fafbb58e192a91c","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fa51737611c21ba3a5ac02c4e1535741d58bec67c9bdf94b1837a31c97a2263","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"f9677e434b7a3b14f0a9367f9dfa1227dfe3ee661792d0085523c3191ae6a1a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"9057f224b79846e3a95baf6dad2c8103278de2b0c5eebda23fc8188171ad2398","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"2ea254f944dfe131df1264d1fb96e4b1f7d110195b21f1f5dbb68fdd394e5518","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"f579f267a2f4c2278cca2ec84613e95059368b503ce96586972d304e5e40125b","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"f7b1df115dbd1b8522cba4f404a9f4fdcd5169e2137129187ffeee9d287e4fd1","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"fbf68fc8057932b1c30107ebc37420f8d8dc4bef1253c4c2f9e141886c0df5ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"993985beef40c7d113f6dd8f0ba26eed63028b691fbfeb6a5b63f26408dd2c6d","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"9a66f750cbfbd9f193e631e433b17b8d9226991537ba66587185c13cd6534e0f","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"25be1eb939c9c63242c7a45446edb20c40541da967f43f1aa6a00ed53c0552db","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"7ae48a41eb14b67618693cd9a9565c932c5685be8ce991372190894ea2ebcd48","impliedFormat":99},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"8891785a3bfe7a92d6a28e8276ed45f47924d6fe6fcb3bb14d3b0a73e3ea37f9","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"bb6da8daeaa0c24e3334da87ecbdf04e1db8f2edfa1756dc2d12df1b3b1495e5","impliedFormat":1},{"version":"742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","impliedFormat":1},{"version":"7cfdf3b9a5ba934a058bfc9390c074104dc7223b7e3c16fd5335206d789bc3d3","impliedFormat":1},{"version":"380b919bfa0516118edaf25b99e45f855e7bc3fd75ce4163a1cfe4a666388804","impliedFormat":1},{"version":"0b24a72109c8dd1b41f94abfe1bb296ba01b3734b8ac632db2c48ffc5dccaf01","impliedFormat":1},{"version":"fcf79300e5257a23ed3bacaa6861d7c645139c6f7ece134d15e6669447e5e6db","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","impliedFormat":1},{"version":"b88749bdb18fc1398370e33aa72bc4f88274118f4960e61ce26605f9b33c5ba2","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"a873c50d3e47c21aa09fbe1e2023d9a44efb07cc0cb8c72f418bf301b0771fd3","impliedFormat":1},{"version":"7c14ccd2eaa82619fffc1bfa877eb68a012e9fb723d07ee98db451fadb618906","impliedFormat":1},{"version":"49c36529ee09ea9ce19525af5bb84985ea8e782cb7ee8c493d9e36d027a3d019","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","impliedFormat":1},{"version":"520e9c23f19f55ad6ce9c8fce2fa8e95d89236436801502a6c1535b8878e4bec","impliedFormat":1},{"version":"0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","impliedFormat":1},{"version":"5d30565583300c9256072a013ac0318cc603ff769b4c5cafc222394ea93963e1","impliedFormat":1},{"version":"8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","impliedFormat":1},{"version":"a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","impliedFormat":1},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"c30866eb47fd6b0d7c846ae267e4fcd35b68db534b2c401ffa88ab8ecf36518e","impliedFormat":1},{"version":"baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","impliedFormat":1},{"version":"cf73e176e7aaaab1f9515963e4ac0164e4d3e4582db6ab1df71ce527ef59b87d","impliedFormat":1},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"f874ea4d0091b0a44362a5f74d26caab2e66dec306c2bf7e8965f5106e784c3b","impliedFormat":1},{"version":"28ca156f93e9f2f073d825452a114d106291d123564ca49af5b108ba20311011","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[[82,89],[93,97]],"options":{"allowImportingTsExtensions":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"erasableSyntaxOnly":true,"esModuleInterop":false,"module":1,"outDir":"./cjs","rewriteRelativeImportExtensions":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"verbatimModuleSyntax":false},"referencedMap":[[98,1],[198,2],[200,3],[203,4],[199,5],[204,5],[80,6],[201,1],[205,1],[209,7],[211,8],[212,1],[213,1],[214,1],[207,9],[208,1],[215,10],[216,1],[217,11],[231,12],[219,13],[220,14],[218,15],[221,16],[222,17],[223,18],[224,19],[225,20],[226,21],[227,22],[228,23],[229,24],[230,25],[234,26],[235,27],[236,8],[232,1],[233,28],[237,1],[79,1],[238,29],[144,30],[145,30],[146,31],[104,32],[147,33],[148,34],[149,35],[99,1],[102,36],[100,1],[101,1],[150,37],[151,38],[152,39],[153,40],[154,41],[155,42],[156,42],[158,43],[157,44],[159,45],[160,46],[161,47],[143,48],[103,1],[162,49],[163,50],[164,51],[197,52],[165,53],[166,54],[167,55],[168,56],[169,57],[170,58],[171,59],[172,60],[173,61],[174,62],[175,62],[176,63],[177,1],[178,1],[179,64],[181,65],[180,66],[182,67],[183,68],[184,69],[185,70],[186,71],[187,72],[188,73],[189,74],[190,75],[191,76],[192,77],[193,78],[194,79],[195,80],[196,81],[239,1],[240,1],[241,1],[210,1],[242,1],[243,1],[244,82],[245,1],[246,83],[202,1],[105,1],[206,1],[45,1],[46,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[121,84],[131,85],[120,84],[141,86],[112,87],[111,88],[140,2],[134,89],[139,90],[114,91],[128,92],[113,93],[137,94],[109,95],[108,2],[138,96],[110,97],[115,98],[116,1],[119,98],[106,1],[142,99],[132,100],[123,101],[124,102],[126,103],[122,104],[125,105],[135,2],[117,106],[118,107],[127,108],[107,109],[130,100],[129,98],[133,1],[136,110],[91,111],[92,112],[90,1],[81,1],[89,113],[93,114],[83,115],[84,116],[96,117],[94,118],[87,119],[85,119],[86,120],[88,121],[95,122],[82,123],[97,124],[48,1],[49,125],[56,126],[52,126],[67,127],[57,126],[69,128],[71,129],[54,130],[47,1],[58,1],[68,1],[50,131],[78,132],[72,126],[70,1],[73,1],[74,133],[75,1],[76,126],[60,126],[77,1],[55,134],[51,1],[59,135],[63,136],[64,137],[62,1],[65,137],[66,138],[61,111],[53,1]],"latestChangedDtsFile":"./cjs/util.d.ts","version":"5.9.3"}