@aztec/bb.js 0.85.0 → 0.86.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.
- package/dest/browser/733.655674bbbb79bdf168c4.js +7 -0
- package/dest/browser/barretenberg-threads.js +2 -29
- package/dest/browser/barretenberg.js +2 -29
- package/dest/browser/index.js +11017 -8241
- package/dest/browser/main.worker.js +1316 -0
- package/dest/browser/thread.worker.js +1200 -0
- package/dest/node/barretenberg/backend.d.ts +12 -8
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +64 -15
- package/dest/node/barretenberg/index.d.ts +3 -1
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +6 -3
- package/dest/node/barretenberg_api/index.d.ts +23 -33
- package/dest/node/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node/barretenberg_api/index.js +110 -190
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -4
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +5 -5
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +2 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -4
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +5 -5
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +2 -2
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +7 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +15 -2
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.js +1 -1
- package/dest/node/barretenberg_wasm/index.d.ts +0 -13
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/index.js +2 -18
- package/dest/node/barretenberg_wasm/index.test.js +6 -6
- package/dest/node/bindgen/mappings.d.ts.map +1 -1
- package/dest/node/bindgen/mappings.js +2 -1
- package/dest/node/bindgen/typescript.js +4 -4
- package/dest/node/index.d.ts +2 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +1 -1
- package/dest/node/main.d.ts +0 -1
- package/dest/node/main.d.ts.map +1 -1
- package/dest/node/main.js +41 -38
- package/dest/node-cjs/barretenberg/backend.d.ts +12 -8
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +64 -15
- package/dest/node-cjs/barretenberg/index.d.ts +3 -1
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +12 -9
- package/dest/node-cjs/barretenberg_api/index.d.ts +23 -33
- package/dest/node-cjs/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_api/index.js +109 -189
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +5 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +2 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +5 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +2 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +7 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +17 -3
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.d.ts +0 -13
- package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.js +6 -23
- package/dest/node-cjs/barretenberg_wasm/index.test.js +6 -6
- package/dest/node-cjs/bindgen/mappings.d.ts.map +1 -1
- package/dest/node-cjs/bindgen/mappings.js +2 -1
- package/dest/node-cjs/bindgen/typescript.js +4 -4
- package/dest/node-cjs/index.d.ts +2 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +1 -1
- package/dest/node-cjs/main.d.ts +0 -1
- package/dest/node-cjs/main.d.ts.map +1 -1
- package/dest/node-cjs/main.js +42 -40
- package/package.json +10 -12
- package/src/barretenberg/backend.ts +86 -18
- package/src/barretenberg/index.ts +7 -3
- package/src/barretenberg_api/index.ts +175 -343
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +8 -3
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +4 -6
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +1 -1
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +8 -3
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +4 -6
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +1 -1
- package/src/barretenberg_wasm/helpers/browser/index.ts +18 -2
- package/src/barretenberg_wasm/helpers/node/index.ts +2 -2
- package/src/barretenberg_wasm/index.test.ts +7 -7
- package/src/barretenberg_wasm/index.ts +1 -24
- package/src/bindgen/mappings.ts +1 -0
- package/src/bindgen/typescript.ts +4 -4
- package/src/index.ts +2 -2
- package/src/main.ts +43 -42
- package/dest/browser/522.6386c00ebfb22619e11b.js +0 -3
- package/dest/browser/barretenberg/backend.d.ts +0 -89
- package/dest/browser/barretenberg/backend.d.ts.map +0 -1
- package/dest/browser/barretenberg/index.d.ts +0 -51
- package/dest/browser/barretenberg/index.d.ts.map +0 -1
- package/dest/browser/barretenberg/verifier.d.ts +0 -16
- package/dest/browser/barretenberg/verifier.d.ts.map +0 -1
- package/dest/browser/barretenberg_api/index.d.ts +0 -114
- package/dest/browser/barretenberg_api/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +0 -44
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +0 -3
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +0 -4
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +0 -21
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +0 -47
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +0 -3
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +0 -4
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +0 -28
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +0 -3
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +0 -3
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +0 -6
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/helpers/node/index.d.ts +0 -22
- package/dest/browser/barretenberg_wasm/helpers/node/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/helpers/node/node_endpoint.d.ts +0 -8
- package/dest/browser/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/index.d.ts +0 -18
- package/dest/browser/barretenberg_wasm/index.d.ts.map +0 -1
- package/dest/browser/bigint-array/index.d.ts +0 -18
- package/dest/browser/bigint-array/index.d.ts.map +0 -1
- package/dest/browser/crs/browser/cached_net_crs.d.ts +0 -43
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +0 -1
- package/dest/browser/crs/browser/index.d.ts +0 -2
- package/dest/browser/crs/browser/index.d.ts.map +0 -1
- package/dest/browser/crs/index.d.ts +0 -2
- package/dest/browser/crs/index.d.ts.map +0 -1
- package/dest/browser/crs/net_crs.d.ts +0 -85
- package/dest/browser/crs/net_crs.d.ts.map +0 -1
- package/dest/browser/crs/node/index.d.ts +0 -38
- package/dest/browser/crs/node/index.d.ts.map +0 -1
- package/dest/browser/index.d.ts +0 -5
- package/dest/browser/index.d.ts.map +0 -1
- package/dest/browser/proof/index.d.ts +0 -20
- package/dest/browser/proof/index.d.ts.map +0 -1
- package/dest/browser/random/browser/index.d.ts +0 -2
- package/dest/browser/random/browser/index.d.ts.map +0 -1
- package/dest/browser/random/index.d.ts +0 -2
- package/dest/browser/random/index.d.ts.map +0 -1
- package/dest/browser/random/node/index.d.ts +0 -2
- package/dest/browser/random/node/index.d.ts.map +0 -1
- package/dest/browser/retry/index.d.ts +0 -26
- package/dest/browser/retry/index.d.ts.map +0 -1
- package/dest/browser/serialize/buffer_reader.d.ts +0 -28
- package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/browser/serialize/index.d.ts +0 -4
- package/dest/browser/serialize/index.d.ts.map +0 -1
- package/dest/browser/serialize/output_type.d.ts +0 -11
- package/dest/browser/serialize/output_type.d.ts.map +0 -1
- package/dest/browser/serialize/serialize.d.ts +0 -53
- package/dest/browser/serialize/serialize.d.ts.map +0 -1
- package/dest/browser/thread.worker.worker.worker.js.LICENSE.txt +0 -5
- package/dest/browser/types/fields.d.ts +0 -44
- package/dest/browser/types/fields.d.ts.map +0 -1
- package/dest/browser/types/fixed_size_buffer.d.ts +0 -26
- package/dest/browser/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/browser/types/index.d.ts +0 -6
- package/dest/browser/types/index.d.ts.map +0 -1
- package/dest/browser/types/point.d.ts +0 -17
- package/dest/browser/types/point.d.ts.map +0 -1
- package/dest/browser/types/ptr.d.ts +0 -13
- package/dest/browser/types/ptr.d.ts.map +0 -1
- package/dest/browser/types/raw_buffer.d.ts +0 -3
- package/dest/browser/types/raw_buffer.d.ts.map +0 -1
- package/dest/node/barretenberg/schnorr.test.d.ts +0 -2
- package/dest/node/barretenberg/schnorr.test.d.ts.map +0 -1
- package/dest/node/barretenberg/schnorr.test.js +0 -113
- package/dest/node-cjs/barretenberg/schnorr.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg/schnorr.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/schnorr.test.js +0 -115
- package/src/barretenberg/schnorr.test.ts +0 -182
- /package/dest/browser/{main.worker.worker.js.LICENSE.txt → main.worker.js.LICENSE.txt} +0 -0
- /package/dest/browser/{thread.worker.worker.js.LICENSE.txt → thread.worker.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,1316 @@
|
|
|
1
|
+
/*! For license information please see main.worker.js.LICENSE.txt */
|
|
2
|
+
var __webpack_modules__ = {
|
|
3
|
+
19: (module, exports) => {
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
var browser$1 = {
|
|
8
|
+
exports: {}
|
|
9
|
+
};
|
|
10
|
+
var process = browser$1.exports = {};
|
|
11
|
+
var cachedSetTimeout;
|
|
12
|
+
var cachedClearTimeout;
|
|
13
|
+
function defaultSetTimout() {
|
|
14
|
+
throw new Error("setTimeout has not been defined");
|
|
15
|
+
}
|
|
16
|
+
function defaultClearTimeout() {
|
|
17
|
+
throw new Error("clearTimeout has not been defined");
|
|
18
|
+
}
|
|
19
|
+
(function() {
|
|
20
|
+
try {
|
|
21
|
+
if (typeof setTimeout === "function") {
|
|
22
|
+
cachedSetTimeout = setTimeout;
|
|
23
|
+
} else {
|
|
24
|
+
cachedSetTimeout = defaultSetTimout;
|
|
25
|
+
}
|
|
26
|
+
} catch (e) {
|
|
27
|
+
cachedSetTimeout = defaultSetTimout;
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
if (typeof clearTimeout === "function") {
|
|
31
|
+
cachedClearTimeout = clearTimeout;
|
|
32
|
+
} else {
|
|
33
|
+
cachedClearTimeout = defaultClearTimeout;
|
|
34
|
+
}
|
|
35
|
+
} catch (e) {
|
|
36
|
+
cachedClearTimeout = defaultClearTimeout;
|
|
37
|
+
}
|
|
38
|
+
})();
|
|
39
|
+
function runTimeout(fun) {
|
|
40
|
+
if (cachedSetTimeout === setTimeout) {
|
|
41
|
+
return setTimeout(fun, 0);
|
|
42
|
+
}
|
|
43
|
+
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
|
44
|
+
cachedSetTimeout = setTimeout;
|
|
45
|
+
return setTimeout(fun, 0);
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
return cachedSetTimeout(fun, 0);
|
|
49
|
+
} catch (e) {
|
|
50
|
+
try {
|
|
51
|
+
return cachedSetTimeout.call(null, fun, 0);
|
|
52
|
+
} catch (e) {
|
|
53
|
+
return cachedSetTimeout.call(this, fun, 0);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function runClearTimeout(marker) {
|
|
58
|
+
if (cachedClearTimeout === clearTimeout) {
|
|
59
|
+
return clearTimeout(marker);
|
|
60
|
+
}
|
|
61
|
+
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
|
62
|
+
cachedClearTimeout = clearTimeout;
|
|
63
|
+
return clearTimeout(marker);
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
return cachedClearTimeout(marker);
|
|
67
|
+
} catch (e) {
|
|
68
|
+
try {
|
|
69
|
+
return cachedClearTimeout.call(null, marker);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
return cachedClearTimeout.call(this, marker);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
var queue = [];
|
|
76
|
+
var draining = false;
|
|
77
|
+
var currentQueue;
|
|
78
|
+
var queueIndex = -1;
|
|
79
|
+
function cleanUpNextTick() {
|
|
80
|
+
if (!draining || !currentQueue) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
draining = false;
|
|
84
|
+
if (currentQueue.length) {
|
|
85
|
+
queue = currentQueue.concat(queue);
|
|
86
|
+
} else {
|
|
87
|
+
queueIndex = -1;
|
|
88
|
+
}
|
|
89
|
+
if (queue.length) {
|
|
90
|
+
drainQueue();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function drainQueue() {
|
|
94
|
+
if (draining) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
var timeout = runTimeout(cleanUpNextTick);
|
|
98
|
+
draining = true;
|
|
99
|
+
var len = queue.length;
|
|
100
|
+
while (len) {
|
|
101
|
+
currentQueue = queue;
|
|
102
|
+
queue = [];
|
|
103
|
+
while (++queueIndex < len) {
|
|
104
|
+
if (currentQueue) {
|
|
105
|
+
currentQueue[queueIndex].run();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
queueIndex = -1;
|
|
109
|
+
len = queue.length;
|
|
110
|
+
}
|
|
111
|
+
currentQueue = null;
|
|
112
|
+
draining = false;
|
|
113
|
+
runClearTimeout(timeout);
|
|
114
|
+
}
|
|
115
|
+
process.nextTick = function(fun) {
|
|
116
|
+
var args = new Array(arguments.length - 1);
|
|
117
|
+
if (arguments.length > 1) {
|
|
118
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
119
|
+
args[i - 1] = arguments[i];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
queue.push(new Item(fun, args));
|
|
123
|
+
if (queue.length === 1 && !draining) {
|
|
124
|
+
runTimeout(drainQueue);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
function Item(fun, array) {
|
|
128
|
+
this.fun = fun;
|
|
129
|
+
this.array = array;
|
|
130
|
+
}
|
|
131
|
+
Item.prototype.run = function() {
|
|
132
|
+
this.fun.apply(null, this.array);
|
|
133
|
+
};
|
|
134
|
+
process.title = "browser";
|
|
135
|
+
process.browser = true;
|
|
136
|
+
process.env = {};
|
|
137
|
+
process.argv = [];
|
|
138
|
+
process.version = "";
|
|
139
|
+
process.versions = {};
|
|
140
|
+
function noop$1() {}
|
|
141
|
+
process.on = noop$1;
|
|
142
|
+
process.addListener = noop$1;
|
|
143
|
+
process.once = noop$1;
|
|
144
|
+
process.off = noop$1;
|
|
145
|
+
process.removeListener = noop$1;
|
|
146
|
+
process.removeAllListeners = noop$1;
|
|
147
|
+
process.emit = noop$1;
|
|
148
|
+
process.prependListener = noop$1;
|
|
149
|
+
process.prependOnceListener = noop$1;
|
|
150
|
+
process.listeners = function(name) {
|
|
151
|
+
return [];
|
|
152
|
+
};
|
|
153
|
+
process.binding = function(name) {
|
|
154
|
+
throw new Error("process.binding is not supported");
|
|
155
|
+
};
|
|
156
|
+
process.cwd = function() {
|
|
157
|
+
return "/";
|
|
158
|
+
};
|
|
159
|
+
process.chdir = function(dir) {
|
|
160
|
+
throw new Error("process.chdir is not supported");
|
|
161
|
+
};
|
|
162
|
+
process.umask = function() {
|
|
163
|
+
return 0;
|
|
164
|
+
};
|
|
165
|
+
function noop() {}
|
|
166
|
+
var browser = browser$1.exports.browser;
|
|
167
|
+
var emitWarning = noop;
|
|
168
|
+
var binding = browser$1.exports.binding;
|
|
169
|
+
var exit = noop;
|
|
170
|
+
var pid = 1;
|
|
171
|
+
var features = {};
|
|
172
|
+
var kill = noop;
|
|
173
|
+
var dlopen = noop;
|
|
174
|
+
var uptime = noop;
|
|
175
|
+
var memoryUsage = noop;
|
|
176
|
+
var uvCounters = noop;
|
|
177
|
+
var platform = "browser";
|
|
178
|
+
var arch = "browser";
|
|
179
|
+
var execPath = "browser";
|
|
180
|
+
var execArgv = [];
|
|
181
|
+
var api = {
|
|
182
|
+
nextTick: browser$1.exports.nextTick,
|
|
183
|
+
title: browser$1.exports.title,
|
|
184
|
+
browser,
|
|
185
|
+
env: browser$1.exports.env,
|
|
186
|
+
argv: browser$1.exports.argv,
|
|
187
|
+
version: browser$1.exports.version,
|
|
188
|
+
versions: browser$1.exports.versions,
|
|
189
|
+
on: browser$1.exports.on,
|
|
190
|
+
addListener: browser$1.exports.addListener,
|
|
191
|
+
once: browser$1.exports.once,
|
|
192
|
+
off: browser$1.exports.off,
|
|
193
|
+
removeListener: browser$1.exports.removeListener,
|
|
194
|
+
removeAllListeners: browser$1.exports.removeAllListeners,
|
|
195
|
+
emit: browser$1.exports.emit,
|
|
196
|
+
emitWarning,
|
|
197
|
+
prependListener: browser$1.exports.prependListener,
|
|
198
|
+
prependOnceListener: browser$1.exports.prependOnceListener,
|
|
199
|
+
listeners: browser$1.exports.listeners,
|
|
200
|
+
binding,
|
|
201
|
+
cwd: browser$1.exports.cwd,
|
|
202
|
+
chdir: browser$1.exports.chdir,
|
|
203
|
+
umask: browser$1.exports.umask,
|
|
204
|
+
exit,
|
|
205
|
+
pid,
|
|
206
|
+
features,
|
|
207
|
+
kill,
|
|
208
|
+
dlopen,
|
|
209
|
+
uptime,
|
|
210
|
+
memoryUsage,
|
|
211
|
+
uvCounters,
|
|
212
|
+
platform,
|
|
213
|
+
arch,
|
|
214
|
+
execPath,
|
|
215
|
+
execArgv
|
|
216
|
+
};
|
|
217
|
+
exports.addListener = browser$1.exports.addListener;
|
|
218
|
+
exports.arch = arch;
|
|
219
|
+
exports.argv = browser$1.exports.argv;
|
|
220
|
+
exports.binding = binding;
|
|
221
|
+
exports.browser = browser;
|
|
222
|
+
exports.chdir = browser$1.exports.chdir;
|
|
223
|
+
exports.cwd = browser$1.exports.cwd;
|
|
224
|
+
exports["default"] = api;
|
|
225
|
+
exports.dlopen = dlopen;
|
|
226
|
+
exports.emit = browser$1.exports.emit;
|
|
227
|
+
exports.emitWarning = emitWarning;
|
|
228
|
+
exports.env = browser$1.exports.env;
|
|
229
|
+
exports.execArgv = execArgv;
|
|
230
|
+
exports.execPath = execPath;
|
|
231
|
+
exports.exit = exit;
|
|
232
|
+
exports.features = features;
|
|
233
|
+
exports.kill = kill;
|
|
234
|
+
exports.listeners = browser$1.exports.listeners;
|
|
235
|
+
exports.memoryUsage = memoryUsage;
|
|
236
|
+
exports.nextTick = browser$1.exports.nextTick;
|
|
237
|
+
exports.off = browser$1.exports.off;
|
|
238
|
+
exports.on = browser$1.exports.on;
|
|
239
|
+
exports.once = browser$1.exports.once;
|
|
240
|
+
exports.pid = pid;
|
|
241
|
+
exports.platform = platform;
|
|
242
|
+
exports.prependListener = browser$1.exports.prependListener;
|
|
243
|
+
exports.prependOnceListener = browser$1.exports.prependOnceListener;
|
|
244
|
+
exports.removeAllListeners = browser$1.exports.removeAllListeners;
|
|
245
|
+
exports.removeListener = browser$1.exports.removeListener;
|
|
246
|
+
exports.title = browser$1.exports.title;
|
|
247
|
+
exports.umask = browser$1.exports.umask;
|
|
248
|
+
exports.uptime = uptime;
|
|
249
|
+
exports.uvCounters = uvCounters;
|
|
250
|
+
exports.version = browser$1.exports.version;
|
|
251
|
+
exports.versions = browser$1.exports.versions;
|
|
252
|
+
exports = module.exports = api;
|
|
253
|
+
},
|
|
254
|
+
585: module => {
|
|
255
|
+
var s = 1e3;
|
|
256
|
+
var m = s * 60;
|
|
257
|
+
var h = m * 60;
|
|
258
|
+
var d = h * 24;
|
|
259
|
+
var w = d * 7;
|
|
260
|
+
var y = d * 365.25;
|
|
261
|
+
module.exports = function(val, options) {
|
|
262
|
+
options = options || {};
|
|
263
|
+
var type = typeof val;
|
|
264
|
+
if (type === "string" && val.length > 0) {
|
|
265
|
+
return parse(val);
|
|
266
|
+
} else if (type === "number" && isFinite(val)) {
|
|
267
|
+
return options.long ? fmtLong(val) : fmtShort(val);
|
|
268
|
+
}
|
|
269
|
+
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
|
|
270
|
+
};
|
|
271
|
+
function parse(str) {
|
|
272
|
+
str = String(str);
|
|
273
|
+
if (str.length > 100) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
|
|
277
|
+
if (!match) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
var n = parseFloat(match[1]);
|
|
281
|
+
var type = (match[2] || "ms").toLowerCase();
|
|
282
|
+
switch (type) {
|
|
283
|
+
case "years":
|
|
284
|
+
case "year":
|
|
285
|
+
case "yrs":
|
|
286
|
+
case "yr":
|
|
287
|
+
case "y":
|
|
288
|
+
return n * y;
|
|
289
|
+
|
|
290
|
+
case "weeks":
|
|
291
|
+
case "week":
|
|
292
|
+
case "w":
|
|
293
|
+
return n * w;
|
|
294
|
+
|
|
295
|
+
case "days":
|
|
296
|
+
case "day":
|
|
297
|
+
case "d":
|
|
298
|
+
return n * d;
|
|
299
|
+
|
|
300
|
+
case "hours":
|
|
301
|
+
case "hour":
|
|
302
|
+
case "hrs":
|
|
303
|
+
case "hr":
|
|
304
|
+
case "h":
|
|
305
|
+
return n * h;
|
|
306
|
+
|
|
307
|
+
case "minutes":
|
|
308
|
+
case "minute":
|
|
309
|
+
case "mins":
|
|
310
|
+
case "min":
|
|
311
|
+
case "m":
|
|
312
|
+
return n * m;
|
|
313
|
+
|
|
314
|
+
case "seconds":
|
|
315
|
+
case "second":
|
|
316
|
+
case "secs":
|
|
317
|
+
case "sec":
|
|
318
|
+
case "s":
|
|
319
|
+
return n * s;
|
|
320
|
+
|
|
321
|
+
case "milliseconds":
|
|
322
|
+
case "millisecond":
|
|
323
|
+
case "msecs":
|
|
324
|
+
case "msec":
|
|
325
|
+
case "ms":
|
|
326
|
+
return n;
|
|
327
|
+
|
|
328
|
+
default:
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
function fmtShort(ms) {
|
|
333
|
+
var msAbs = Math.abs(ms);
|
|
334
|
+
if (msAbs >= d) {
|
|
335
|
+
return Math.round(ms / d) + "d";
|
|
336
|
+
}
|
|
337
|
+
if (msAbs >= h) {
|
|
338
|
+
return Math.round(ms / h) + "h";
|
|
339
|
+
}
|
|
340
|
+
if (msAbs >= m) {
|
|
341
|
+
return Math.round(ms / m) + "m";
|
|
342
|
+
}
|
|
343
|
+
if (msAbs >= s) {
|
|
344
|
+
return Math.round(ms / s) + "s";
|
|
345
|
+
}
|
|
346
|
+
return ms + "ms";
|
|
347
|
+
}
|
|
348
|
+
function fmtLong(ms) {
|
|
349
|
+
var msAbs = Math.abs(ms);
|
|
350
|
+
if (msAbs >= d) {
|
|
351
|
+
return plural(ms, msAbs, d, "day");
|
|
352
|
+
}
|
|
353
|
+
if (msAbs >= h) {
|
|
354
|
+
return plural(ms, msAbs, h, "hour");
|
|
355
|
+
}
|
|
356
|
+
if (msAbs >= m) {
|
|
357
|
+
return plural(ms, msAbs, m, "minute");
|
|
358
|
+
}
|
|
359
|
+
if (msAbs >= s) {
|
|
360
|
+
return plural(ms, msAbs, s, "second");
|
|
361
|
+
}
|
|
362
|
+
return ms + " ms";
|
|
363
|
+
}
|
|
364
|
+
function plural(ms, msAbs, n, name) {
|
|
365
|
+
var isPlural = msAbs >= n * 1.5;
|
|
366
|
+
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
736: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
370
|
+
function setup(env) {
|
|
371
|
+
createDebug.debug = createDebug;
|
|
372
|
+
createDebug.default = createDebug;
|
|
373
|
+
createDebug.coerce = coerce;
|
|
374
|
+
createDebug.disable = disable;
|
|
375
|
+
createDebug.enable = enable;
|
|
376
|
+
createDebug.enabled = enabled;
|
|
377
|
+
createDebug.humanize = __webpack_require__(585);
|
|
378
|
+
createDebug.destroy = destroy;
|
|
379
|
+
Object.keys(env).forEach((key => {
|
|
380
|
+
createDebug[key] = env[key];
|
|
381
|
+
}));
|
|
382
|
+
createDebug.names = [];
|
|
383
|
+
createDebug.skips = [];
|
|
384
|
+
createDebug.formatters = {};
|
|
385
|
+
function selectColor(namespace) {
|
|
386
|
+
let hash = 0;
|
|
387
|
+
for (let i = 0; i < namespace.length; i++) {
|
|
388
|
+
hash = (hash << 5) - hash + namespace.charCodeAt(i);
|
|
389
|
+
hash |= 0;
|
|
390
|
+
}
|
|
391
|
+
return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
|
|
392
|
+
}
|
|
393
|
+
createDebug.selectColor = selectColor;
|
|
394
|
+
function createDebug(namespace) {
|
|
395
|
+
let prevTime;
|
|
396
|
+
let enableOverride = null;
|
|
397
|
+
let namespacesCache;
|
|
398
|
+
let enabledCache;
|
|
399
|
+
function debug(...args) {
|
|
400
|
+
if (!debug.enabled) {
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
const self = debug;
|
|
404
|
+
const curr = Number(new Date);
|
|
405
|
+
const ms = curr - (prevTime || curr);
|
|
406
|
+
self.diff = ms;
|
|
407
|
+
self.prev = prevTime;
|
|
408
|
+
self.curr = curr;
|
|
409
|
+
prevTime = curr;
|
|
410
|
+
args[0] = createDebug.coerce(args[0]);
|
|
411
|
+
if (typeof args[0] !== "string") {
|
|
412
|
+
args.unshift("%O");
|
|
413
|
+
}
|
|
414
|
+
let index = 0;
|
|
415
|
+
args[0] = args[0].replace(/%([a-zA-Z%])/g, ((match, format) => {
|
|
416
|
+
if (match === "%%") {
|
|
417
|
+
return "%";
|
|
418
|
+
}
|
|
419
|
+
index++;
|
|
420
|
+
const formatter = createDebug.formatters[format];
|
|
421
|
+
if (typeof formatter === "function") {
|
|
422
|
+
const val = args[index];
|
|
423
|
+
match = formatter.call(self, val);
|
|
424
|
+
args.splice(index, 1);
|
|
425
|
+
index--;
|
|
426
|
+
}
|
|
427
|
+
return match;
|
|
428
|
+
}));
|
|
429
|
+
createDebug.formatArgs.call(self, args);
|
|
430
|
+
const logFn = self.log || createDebug.log;
|
|
431
|
+
logFn.apply(self, args);
|
|
432
|
+
}
|
|
433
|
+
debug.namespace = namespace;
|
|
434
|
+
debug.useColors = createDebug.useColors();
|
|
435
|
+
debug.color = createDebug.selectColor(namespace);
|
|
436
|
+
debug.extend = extend;
|
|
437
|
+
debug.destroy = createDebug.destroy;
|
|
438
|
+
Object.defineProperty(debug, "enabled", {
|
|
439
|
+
enumerable: true,
|
|
440
|
+
configurable: false,
|
|
441
|
+
get: () => {
|
|
442
|
+
if (enableOverride !== null) {
|
|
443
|
+
return enableOverride;
|
|
444
|
+
}
|
|
445
|
+
if (namespacesCache !== createDebug.namespaces) {
|
|
446
|
+
namespacesCache = createDebug.namespaces;
|
|
447
|
+
enabledCache = createDebug.enabled(namespace);
|
|
448
|
+
}
|
|
449
|
+
return enabledCache;
|
|
450
|
+
},
|
|
451
|
+
set: v => {
|
|
452
|
+
enableOverride = v;
|
|
453
|
+
}
|
|
454
|
+
});
|
|
455
|
+
if (typeof createDebug.init === "function") {
|
|
456
|
+
createDebug.init(debug);
|
|
457
|
+
}
|
|
458
|
+
return debug;
|
|
459
|
+
}
|
|
460
|
+
function extend(namespace, delimiter) {
|
|
461
|
+
const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
|
|
462
|
+
newDebug.log = this.log;
|
|
463
|
+
return newDebug;
|
|
464
|
+
}
|
|
465
|
+
function enable(namespaces) {
|
|
466
|
+
createDebug.save(namespaces);
|
|
467
|
+
createDebug.namespaces = namespaces;
|
|
468
|
+
createDebug.names = [];
|
|
469
|
+
createDebug.skips = [];
|
|
470
|
+
let i;
|
|
471
|
+
const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
|
|
472
|
+
const len = split.length;
|
|
473
|
+
for (i = 0; i < len; i++) {
|
|
474
|
+
if (!split[i]) {
|
|
475
|
+
continue;
|
|
476
|
+
}
|
|
477
|
+
namespaces = split[i].replace(/\*/g, ".*?");
|
|
478
|
+
if (namespaces[0] === "-") {
|
|
479
|
+
createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$"));
|
|
480
|
+
} else {
|
|
481
|
+
createDebug.names.push(new RegExp("^" + namespaces + "$"));
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
function disable() {
|
|
486
|
+
const namespaces = [ ...createDebug.names.map(toNamespace), ...createDebug.skips.map(toNamespace).map((namespace => "-" + namespace)) ].join(",");
|
|
487
|
+
createDebug.enable("");
|
|
488
|
+
return namespaces;
|
|
489
|
+
}
|
|
490
|
+
function enabled(name) {
|
|
491
|
+
if (name[name.length - 1] === "*") {
|
|
492
|
+
return true;
|
|
493
|
+
}
|
|
494
|
+
let i;
|
|
495
|
+
let len;
|
|
496
|
+
for (i = 0, len = createDebug.skips.length; i < len; i++) {
|
|
497
|
+
if (createDebug.skips[i].test(name)) {
|
|
498
|
+
return false;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
for (i = 0, len = createDebug.names.length; i < len; i++) {
|
|
502
|
+
if (createDebug.names[i].test(name)) {
|
|
503
|
+
return true;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
return false;
|
|
507
|
+
}
|
|
508
|
+
function toNamespace(regexp) {
|
|
509
|
+
return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*");
|
|
510
|
+
}
|
|
511
|
+
function coerce(val) {
|
|
512
|
+
if (val instanceof Error) {
|
|
513
|
+
return val.stack || val.message;
|
|
514
|
+
}
|
|
515
|
+
return val;
|
|
516
|
+
}
|
|
517
|
+
function destroy() {
|
|
518
|
+
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
|
|
519
|
+
}
|
|
520
|
+
createDebug.enable(createDebug.load());
|
|
521
|
+
return createDebug;
|
|
522
|
+
}
|
|
523
|
+
module.exports = setup;
|
|
524
|
+
},
|
|
525
|
+
833: (module, exports, __webpack_require__) => {
|
|
526
|
+
var process = __webpack_require__(19);
|
|
527
|
+
exports.formatArgs = formatArgs;
|
|
528
|
+
exports.save = save;
|
|
529
|
+
exports.load = load;
|
|
530
|
+
exports.useColors = useColors;
|
|
531
|
+
exports.storage = localstorage();
|
|
532
|
+
exports.destroy = (() => {
|
|
533
|
+
let warned = false;
|
|
534
|
+
return () => {
|
|
535
|
+
if (!warned) {
|
|
536
|
+
warned = true;
|
|
537
|
+
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
|
|
538
|
+
}
|
|
539
|
+
};
|
|
540
|
+
})();
|
|
541
|
+
exports.colors = [ "#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33" ];
|
|
542
|
+
function useColors() {
|
|
543
|
+
if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
|
|
544
|
+
return true;
|
|
545
|
+
}
|
|
546
|
+
if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
|
|
547
|
+
return false;
|
|
548
|
+
}
|
|
549
|
+
return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
|
|
550
|
+
}
|
|
551
|
+
function formatArgs(args) {
|
|
552
|
+
args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff);
|
|
553
|
+
if (!this.useColors) {
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
const c = "color: " + this.color;
|
|
557
|
+
args.splice(1, 0, c, "color: inherit");
|
|
558
|
+
let index = 0;
|
|
559
|
+
let lastC = 0;
|
|
560
|
+
args[0].replace(/%[a-zA-Z%]/g, (match => {
|
|
561
|
+
if (match === "%%") {
|
|
562
|
+
return;
|
|
563
|
+
}
|
|
564
|
+
index++;
|
|
565
|
+
if (match === "%c") {
|
|
566
|
+
lastC = index;
|
|
567
|
+
}
|
|
568
|
+
}));
|
|
569
|
+
args.splice(lastC, 0, c);
|
|
570
|
+
}
|
|
571
|
+
exports.log = console.debug || console.log || (() => {});
|
|
572
|
+
function save(namespaces) {
|
|
573
|
+
try {
|
|
574
|
+
if (namespaces) {
|
|
575
|
+
exports.storage.setItem("debug", namespaces);
|
|
576
|
+
} else {
|
|
577
|
+
exports.storage.removeItem("debug");
|
|
578
|
+
}
|
|
579
|
+
} catch (error) {}
|
|
580
|
+
}
|
|
581
|
+
function load() {
|
|
582
|
+
let r;
|
|
583
|
+
try {
|
|
584
|
+
r = exports.storage.getItem("debug");
|
|
585
|
+
} catch (error) {}
|
|
586
|
+
if (!r && typeof process !== "undefined" && "env" in process) {
|
|
587
|
+
r = process.env.DEBUG;
|
|
588
|
+
}
|
|
589
|
+
return r;
|
|
590
|
+
}
|
|
591
|
+
function localstorage() {
|
|
592
|
+
try {
|
|
593
|
+
return localStorage;
|
|
594
|
+
} catch (error) {}
|
|
595
|
+
}
|
|
596
|
+
module.exports = __webpack_require__(736)(exports);
|
|
597
|
+
const {formatters} = module.exports;
|
|
598
|
+
formatters.j = function(v) {
|
|
599
|
+
try {
|
|
600
|
+
return JSON.stringify(v);
|
|
601
|
+
} catch (error) {
|
|
602
|
+
return "[UnexpectedJSONParseError]: " + error.message;
|
|
603
|
+
}
|
|
604
|
+
};
|
|
605
|
+
}
|
|
606
|
+
};
|
|
607
|
+
|
|
608
|
+
var __webpack_module_cache__ = {};
|
|
609
|
+
|
|
610
|
+
function __webpack_require__(moduleId) {
|
|
611
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
612
|
+
if (cachedModule !== undefined) {
|
|
613
|
+
return cachedModule.exports;
|
|
614
|
+
}
|
|
615
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
616
|
+
exports: {}
|
|
617
|
+
};
|
|
618
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
619
|
+
return module.exports;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
(() => {
|
|
623
|
+
__webpack_require__.n = module => {
|
|
624
|
+
var getter = module && module.__esModule ? () => module["default"] : () => module;
|
|
625
|
+
__webpack_require__.d(getter, {
|
|
626
|
+
a: getter
|
|
627
|
+
});
|
|
628
|
+
return getter;
|
|
629
|
+
};
|
|
630
|
+
})();
|
|
631
|
+
|
|
632
|
+
(() => {
|
|
633
|
+
__webpack_require__.d = (exports, definition) => {
|
|
634
|
+
for (var key in definition) {
|
|
635
|
+
if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
636
|
+
Object.defineProperty(exports, key, {
|
|
637
|
+
enumerable: true,
|
|
638
|
+
get: definition[key]
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
};
|
|
643
|
+
})();
|
|
644
|
+
|
|
645
|
+
(() => {
|
|
646
|
+
__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
|
|
647
|
+
})();
|
|
648
|
+
|
|
649
|
+
var __webpack_exports__ = {};
|
|
650
|
+
|
|
651
|
+
const proxyMarker = Symbol("Comlink.proxy");
|
|
652
|
+
|
|
653
|
+
const createEndpoint = Symbol("Comlink.endpoint");
|
|
654
|
+
|
|
655
|
+
const releaseProxy = Symbol("Comlink.releaseProxy");
|
|
656
|
+
|
|
657
|
+
const finalizer = Symbol("Comlink.finalizer");
|
|
658
|
+
|
|
659
|
+
const throwMarker = Symbol("Comlink.thrown");
|
|
660
|
+
|
|
661
|
+
const isObject = val => typeof val === "object" && val !== null || typeof val === "function";
|
|
662
|
+
|
|
663
|
+
const proxyTransferHandler = {
|
|
664
|
+
canHandle: val => isObject(val) && val[proxyMarker],
|
|
665
|
+
serialize(obj) {
|
|
666
|
+
const {port1, port2} = new MessageChannel;
|
|
667
|
+
expose(obj, port1);
|
|
668
|
+
return [ port2, [ port2 ] ];
|
|
669
|
+
},
|
|
670
|
+
deserialize(port) {
|
|
671
|
+
port.start();
|
|
672
|
+
return wrap(port);
|
|
673
|
+
}
|
|
674
|
+
};
|
|
675
|
+
|
|
676
|
+
const throwTransferHandler = {
|
|
677
|
+
canHandle: value => isObject(value) && throwMarker in value,
|
|
678
|
+
serialize({value}) {
|
|
679
|
+
let serialized;
|
|
680
|
+
if (value instanceof Error) {
|
|
681
|
+
serialized = {
|
|
682
|
+
isError: true,
|
|
683
|
+
value: {
|
|
684
|
+
message: value.message,
|
|
685
|
+
name: value.name,
|
|
686
|
+
stack: value.stack
|
|
687
|
+
}
|
|
688
|
+
};
|
|
689
|
+
} else {
|
|
690
|
+
serialized = {
|
|
691
|
+
isError: false,
|
|
692
|
+
value
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
return [ serialized, [] ];
|
|
696
|
+
},
|
|
697
|
+
deserialize(serialized) {
|
|
698
|
+
if (serialized.isError) {
|
|
699
|
+
throw Object.assign(new Error(serialized.value.message), serialized.value);
|
|
700
|
+
}
|
|
701
|
+
throw serialized.value;
|
|
702
|
+
}
|
|
703
|
+
};
|
|
704
|
+
|
|
705
|
+
const transferHandlers = new Map([ [ "proxy", proxyTransferHandler ], [ "throw", throwTransferHandler ] ]);
|
|
706
|
+
|
|
707
|
+
function isAllowedOrigin(allowedOrigins, origin) {
|
|
708
|
+
for (const allowedOrigin of allowedOrigins) {
|
|
709
|
+
if (origin === allowedOrigin || allowedOrigin === "*") {
|
|
710
|
+
return true;
|
|
711
|
+
}
|
|
712
|
+
if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {
|
|
713
|
+
return true;
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
return false;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
function expose(obj, ep = globalThis, allowedOrigins = [ "*" ]) {
|
|
720
|
+
ep.addEventListener("message", (function callback(ev) {
|
|
721
|
+
if (!ev || !ev.data) {
|
|
722
|
+
return;
|
|
723
|
+
}
|
|
724
|
+
if (!isAllowedOrigin(allowedOrigins, ev.origin)) {
|
|
725
|
+
console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);
|
|
726
|
+
return;
|
|
727
|
+
}
|
|
728
|
+
const {id, type, path} = Object.assign({
|
|
729
|
+
path: []
|
|
730
|
+
}, ev.data);
|
|
731
|
+
const argumentList = (ev.data.argumentList || []).map(fromWireValue);
|
|
732
|
+
let returnValue;
|
|
733
|
+
try {
|
|
734
|
+
const parent = path.slice(0, -1).reduce(((obj, prop) => obj[prop]), obj);
|
|
735
|
+
const rawValue = path.reduce(((obj, prop) => obj[prop]), obj);
|
|
736
|
+
switch (type) {
|
|
737
|
+
case "GET":
|
|
738
|
+
{
|
|
739
|
+
returnValue = rawValue;
|
|
740
|
+
}
|
|
741
|
+
break;
|
|
742
|
+
|
|
743
|
+
case "SET":
|
|
744
|
+
{
|
|
745
|
+
parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);
|
|
746
|
+
returnValue = true;
|
|
747
|
+
}
|
|
748
|
+
break;
|
|
749
|
+
|
|
750
|
+
case "APPLY":
|
|
751
|
+
{
|
|
752
|
+
returnValue = rawValue.apply(parent, argumentList);
|
|
753
|
+
}
|
|
754
|
+
break;
|
|
755
|
+
|
|
756
|
+
case "CONSTRUCT":
|
|
757
|
+
{
|
|
758
|
+
const value = new rawValue(...argumentList);
|
|
759
|
+
returnValue = proxy(value);
|
|
760
|
+
}
|
|
761
|
+
break;
|
|
762
|
+
|
|
763
|
+
case "ENDPOINT":
|
|
764
|
+
{
|
|
765
|
+
const {port1, port2} = new MessageChannel;
|
|
766
|
+
expose(obj, port2);
|
|
767
|
+
returnValue = transfer(port1, [ port1 ]);
|
|
768
|
+
}
|
|
769
|
+
break;
|
|
770
|
+
|
|
771
|
+
case "RELEASE":
|
|
772
|
+
{
|
|
773
|
+
returnValue = undefined;
|
|
774
|
+
}
|
|
775
|
+
break;
|
|
776
|
+
|
|
777
|
+
default:
|
|
778
|
+
return;
|
|
779
|
+
}
|
|
780
|
+
} catch (value) {
|
|
781
|
+
returnValue = {
|
|
782
|
+
value,
|
|
783
|
+
[throwMarker]: 0
|
|
784
|
+
};
|
|
785
|
+
}
|
|
786
|
+
Promise.resolve(returnValue).catch((value => ({
|
|
787
|
+
value,
|
|
788
|
+
[throwMarker]: 0
|
|
789
|
+
}))).then((returnValue => {
|
|
790
|
+
const [wireValue, transferables] = toWireValue(returnValue);
|
|
791
|
+
ep.postMessage(Object.assign(Object.assign({}, wireValue), {
|
|
792
|
+
id
|
|
793
|
+
}), transferables);
|
|
794
|
+
if (type === "RELEASE") {
|
|
795
|
+
ep.removeEventListener("message", callback);
|
|
796
|
+
closeEndPoint(ep);
|
|
797
|
+
if (finalizer in obj && typeof obj[finalizer] === "function") {
|
|
798
|
+
obj[finalizer]();
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
})).catch((error => {
|
|
802
|
+
const [wireValue, transferables] = toWireValue({
|
|
803
|
+
value: new TypeError("Unserializable return value"),
|
|
804
|
+
[throwMarker]: 0
|
|
805
|
+
});
|
|
806
|
+
ep.postMessage(Object.assign(Object.assign({}, wireValue), {
|
|
807
|
+
id
|
|
808
|
+
}), transferables);
|
|
809
|
+
}));
|
|
810
|
+
}));
|
|
811
|
+
if (ep.start) {
|
|
812
|
+
ep.start();
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
function isMessagePort(endpoint) {
|
|
817
|
+
return endpoint.constructor.name === "MessagePort";
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
function closeEndPoint(endpoint) {
|
|
821
|
+
if (isMessagePort(endpoint)) endpoint.close();
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
function wrap(ep, target) {
|
|
825
|
+
return createProxy(ep, [], target);
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
function throwIfProxyReleased(isReleased) {
|
|
829
|
+
if (isReleased) {
|
|
830
|
+
throw new Error("Proxy has been released and is not useable");
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
function releaseEndpoint(ep) {
|
|
835
|
+
return requestResponseMessage(ep, {
|
|
836
|
+
type: "RELEASE"
|
|
837
|
+
}).then((() => {
|
|
838
|
+
closeEndPoint(ep);
|
|
839
|
+
}));
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
const proxyCounter = new WeakMap;
|
|
843
|
+
|
|
844
|
+
const proxyFinalizers = "FinalizationRegistry" in globalThis && new FinalizationRegistry((ep => {
|
|
845
|
+
const newCount = (proxyCounter.get(ep) || 0) - 1;
|
|
846
|
+
proxyCounter.set(ep, newCount);
|
|
847
|
+
if (newCount === 0) {
|
|
848
|
+
releaseEndpoint(ep);
|
|
849
|
+
}
|
|
850
|
+
}));
|
|
851
|
+
|
|
852
|
+
function registerProxy(proxy, ep) {
|
|
853
|
+
const newCount = (proxyCounter.get(ep) || 0) + 1;
|
|
854
|
+
proxyCounter.set(ep, newCount);
|
|
855
|
+
if (proxyFinalizers) {
|
|
856
|
+
proxyFinalizers.register(proxy, ep, proxy);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
function unregisterProxy(proxy) {
|
|
861
|
+
if (proxyFinalizers) {
|
|
862
|
+
proxyFinalizers.unregister(proxy);
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
function createProxy(ep, path = [], target = function() {}) {
|
|
867
|
+
let isProxyReleased = false;
|
|
868
|
+
const proxy = new Proxy(target, {
|
|
869
|
+
get(_target, prop) {
|
|
870
|
+
throwIfProxyReleased(isProxyReleased);
|
|
871
|
+
if (prop === releaseProxy) {
|
|
872
|
+
return () => {
|
|
873
|
+
unregisterProxy(proxy);
|
|
874
|
+
releaseEndpoint(ep);
|
|
875
|
+
isProxyReleased = true;
|
|
876
|
+
};
|
|
877
|
+
}
|
|
878
|
+
if (prop === "then") {
|
|
879
|
+
if (path.length === 0) {
|
|
880
|
+
return {
|
|
881
|
+
then: () => proxy
|
|
882
|
+
};
|
|
883
|
+
}
|
|
884
|
+
const r = requestResponseMessage(ep, {
|
|
885
|
+
type: "GET",
|
|
886
|
+
path: path.map((p => p.toString()))
|
|
887
|
+
}).then(fromWireValue);
|
|
888
|
+
return r.then.bind(r);
|
|
889
|
+
}
|
|
890
|
+
return createProxy(ep, [ ...path, prop ]);
|
|
891
|
+
},
|
|
892
|
+
set(_target, prop, rawValue) {
|
|
893
|
+
throwIfProxyReleased(isProxyReleased);
|
|
894
|
+
const [value, transferables] = toWireValue(rawValue);
|
|
895
|
+
return requestResponseMessage(ep, {
|
|
896
|
+
type: "SET",
|
|
897
|
+
path: [ ...path, prop ].map((p => p.toString())),
|
|
898
|
+
value
|
|
899
|
+
}, transferables).then(fromWireValue);
|
|
900
|
+
},
|
|
901
|
+
apply(_target, _thisArg, rawArgumentList) {
|
|
902
|
+
throwIfProxyReleased(isProxyReleased);
|
|
903
|
+
const last = path[path.length - 1];
|
|
904
|
+
if (last === createEndpoint) {
|
|
905
|
+
return requestResponseMessage(ep, {
|
|
906
|
+
type: "ENDPOINT"
|
|
907
|
+
}).then(fromWireValue);
|
|
908
|
+
}
|
|
909
|
+
if (last === "bind") {
|
|
910
|
+
return createProxy(ep, path.slice(0, -1));
|
|
911
|
+
}
|
|
912
|
+
const [argumentList, transferables] = processArguments(rawArgumentList);
|
|
913
|
+
return requestResponseMessage(ep, {
|
|
914
|
+
type: "APPLY",
|
|
915
|
+
path: path.map((p => p.toString())),
|
|
916
|
+
argumentList
|
|
917
|
+
}, transferables).then(fromWireValue);
|
|
918
|
+
},
|
|
919
|
+
construct(_target, rawArgumentList) {
|
|
920
|
+
throwIfProxyReleased(isProxyReleased);
|
|
921
|
+
const [argumentList, transferables] = processArguments(rawArgumentList);
|
|
922
|
+
return requestResponseMessage(ep, {
|
|
923
|
+
type: "CONSTRUCT",
|
|
924
|
+
path: path.map((p => p.toString())),
|
|
925
|
+
argumentList
|
|
926
|
+
}, transferables).then(fromWireValue);
|
|
927
|
+
}
|
|
928
|
+
});
|
|
929
|
+
registerProxy(proxy, ep);
|
|
930
|
+
return proxy;
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
function myFlat(arr) {
|
|
934
|
+
return Array.prototype.concat.apply([], arr);
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
function processArguments(argumentList) {
|
|
938
|
+
const processed = argumentList.map(toWireValue);
|
|
939
|
+
return [ processed.map((v => v[0])), myFlat(processed.map((v => v[1]))) ];
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
const transferCache = new WeakMap;
|
|
943
|
+
|
|
944
|
+
function transfer(obj, transfers) {
|
|
945
|
+
transferCache.set(obj, transfers);
|
|
946
|
+
return obj;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
function proxy(obj) {
|
|
950
|
+
return Object.assign(obj, {
|
|
951
|
+
[proxyMarker]: true
|
|
952
|
+
});
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
function windowEndpoint(w, context = globalThis, targetOrigin = "*") {
|
|
956
|
+
return {
|
|
957
|
+
postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),
|
|
958
|
+
addEventListener: context.addEventListener.bind(context),
|
|
959
|
+
removeEventListener: context.removeEventListener.bind(context)
|
|
960
|
+
};
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
function toWireValue(value) {
|
|
964
|
+
for (const [name, handler] of transferHandlers) {
|
|
965
|
+
if (handler.canHandle(value)) {
|
|
966
|
+
const [serializedValue, transferables] = handler.serialize(value);
|
|
967
|
+
return [ {
|
|
968
|
+
type: "HANDLER",
|
|
969
|
+
name,
|
|
970
|
+
value: serializedValue
|
|
971
|
+
}, transferables ];
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
return [ {
|
|
975
|
+
type: "RAW",
|
|
976
|
+
value
|
|
977
|
+
}, transferCache.get(value) || [] ];
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
function fromWireValue(value) {
|
|
981
|
+
switch (value.type) {
|
|
982
|
+
case "HANDLER":
|
|
983
|
+
return transferHandlers.get(value.name).deserialize(value.value);
|
|
984
|
+
|
|
985
|
+
case "RAW":
|
|
986
|
+
return value.value;
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
function requestResponseMessage(ep, msg, transfers) {
|
|
991
|
+
return new Promise((resolve => {
|
|
992
|
+
const id = generateUUID();
|
|
993
|
+
ep.addEventListener("message", (function l(ev) {
|
|
994
|
+
if (!ev.data || !ev.data.id || ev.data.id !== id) {
|
|
995
|
+
return;
|
|
996
|
+
}
|
|
997
|
+
ep.removeEventListener("message", l);
|
|
998
|
+
resolve(ev.data);
|
|
999
|
+
}));
|
|
1000
|
+
if (ep.start) {
|
|
1001
|
+
ep.start();
|
|
1002
|
+
}
|
|
1003
|
+
ep.postMessage(Object.assign({
|
|
1004
|
+
id
|
|
1005
|
+
}, msg), transfers);
|
|
1006
|
+
}));
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
function generateUUID() {
|
|
1010
|
+
return new Array(4).fill(0).map((() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))).join("-");
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
var browser = __webpack_require__(833);
|
|
1014
|
+
|
|
1015
|
+
var browser_default = __webpack_require__.n(browser);
|
|
1016
|
+
|
|
1017
|
+
function getSharedMemoryAvailable() {
|
|
1018
|
+
const globalScope = typeof window !== "undefined" ? window : globalThis;
|
|
1019
|
+
return typeof SharedArrayBuffer !== "undefined" && globalScope.crossOriginIsolated;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
function getRemoteBarretenbergWasm(worker) {
|
|
1023
|
+
return wrap(worker);
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
function getNumCpu() {
|
|
1027
|
+
return navigator.hardwareConcurrency;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
function threadLogger() {
|
|
1031
|
+
return console.log;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
function killSelf() {
|
|
1035
|
+
self.close();
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
const Ready = {
|
|
1039
|
+
ready: true
|
|
1040
|
+
};
|
|
1041
|
+
|
|
1042
|
+
function readinessListener(worker, callback) {
|
|
1043
|
+
worker.addEventListener("message", (function ready(event) {
|
|
1044
|
+
if (!!event.data && event.data.ready === true) {
|
|
1045
|
+
worker.removeEventListener("message", ready);
|
|
1046
|
+
callback();
|
|
1047
|
+
}
|
|
1048
|
+
}));
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
async function createThreadWorker() {
|
|
1052
|
+
const worker = new Worker(new URL("./thread.worker.js", import.meta.url), {
|
|
1053
|
+
type: "module"
|
|
1054
|
+
});
|
|
1055
|
+
const debugStr = browser_default().disable();
|
|
1056
|
+
browser_default().enable(debugStr);
|
|
1057
|
+
worker.postMessage({
|
|
1058
|
+
debug: debugStr
|
|
1059
|
+
});
|
|
1060
|
+
await new Promise((resolve => readinessListener(worker, resolve)));
|
|
1061
|
+
return worker;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
const randomBytes = len => {
|
|
1065
|
+
const getWebCrypto = () => {
|
|
1066
|
+
if (typeof window !== "undefined" && window.crypto) return window.crypto;
|
|
1067
|
+
if (typeof globalThis !== "undefined" && globalThis.crypto) return globalThis.crypto;
|
|
1068
|
+
return undefined;
|
|
1069
|
+
};
|
|
1070
|
+
const crypto = getWebCrypto();
|
|
1071
|
+
if (!crypto) {
|
|
1072
|
+
throw new Error("randomBytes UnsupportedEnvironment");
|
|
1073
|
+
}
|
|
1074
|
+
const buf = new Uint8Array(len);
|
|
1075
|
+
const MAX_BYTES = 65536;
|
|
1076
|
+
if (len > MAX_BYTES) {
|
|
1077
|
+
for (let generated = 0; generated < len; generated += MAX_BYTES) {
|
|
1078
|
+
crypto.getRandomValues(buf.subarray(generated, generated + MAX_BYTES));
|
|
1079
|
+
}
|
|
1080
|
+
} else {
|
|
1081
|
+
crypto.getRandomValues(buf);
|
|
1082
|
+
}
|
|
1083
|
+
return buf;
|
|
1084
|
+
};
|
|
1085
|
+
|
|
1086
|
+
class BarretenbergWasmBase {
|
|
1087
|
+
constructor() {
|
|
1088
|
+
this.memStore = {};
|
|
1089
|
+
this.logger = browser_default()("bb.js:bb_wasm_base");
|
|
1090
|
+
}
|
|
1091
|
+
getImportObj(memory) {
|
|
1092
|
+
const importObj = {
|
|
1093
|
+
wasi_snapshot_preview1: {
|
|
1094
|
+
random_get: (out, length) => {
|
|
1095
|
+
out = out >>> 0;
|
|
1096
|
+
const randomData = randomBytes(length);
|
|
1097
|
+
const mem = this.getMemory();
|
|
1098
|
+
mem.set(randomData, out);
|
|
1099
|
+
},
|
|
1100
|
+
clock_time_get: (a1, a2, out) => {
|
|
1101
|
+
out = out >>> 0;
|
|
1102
|
+
const ts = BigInt((new Date).getTime()) * 1000000n;
|
|
1103
|
+
const view = new DataView(this.getMemory().buffer);
|
|
1104
|
+
view.setBigUint64(out, ts, true);
|
|
1105
|
+
},
|
|
1106
|
+
proc_exit: () => {
|
|
1107
|
+
this.logger("PANIC: proc_exit was called.");
|
|
1108
|
+
throw new Error;
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
env: {
|
|
1112
|
+
logstr: addr => {
|
|
1113
|
+
const str = this.stringFromAddress(addr);
|
|
1114
|
+
const m = this.getMemory();
|
|
1115
|
+
const str2 = `${str} (mem: ${(m.length / (1024 * 1024)).toFixed(2)}MiB)`;
|
|
1116
|
+
this.logger(str2);
|
|
1117
|
+
},
|
|
1118
|
+
get_data: (keyAddr, outBufAddr) => {
|
|
1119
|
+
const key = this.stringFromAddress(keyAddr);
|
|
1120
|
+
outBufAddr = outBufAddr >>> 0;
|
|
1121
|
+
const data = this.memStore[key];
|
|
1122
|
+
if (!data) {
|
|
1123
|
+
this.logger(`get_data miss ${key}`);
|
|
1124
|
+
return;
|
|
1125
|
+
}
|
|
1126
|
+
this.writeMemory(outBufAddr, data);
|
|
1127
|
+
},
|
|
1128
|
+
set_data: (keyAddr, dataAddr, dataLength) => {
|
|
1129
|
+
const key = this.stringFromAddress(keyAddr);
|
|
1130
|
+
dataAddr = dataAddr >>> 0;
|
|
1131
|
+
this.memStore[key] = this.getMemorySlice(dataAddr, dataAddr + dataLength);
|
|
1132
|
+
},
|
|
1133
|
+
memory
|
|
1134
|
+
}
|
|
1135
|
+
};
|
|
1136
|
+
return importObj;
|
|
1137
|
+
}
|
|
1138
|
+
exports() {
|
|
1139
|
+
return this.instance.exports;
|
|
1140
|
+
}
|
|
1141
|
+
call(name, ...args) {
|
|
1142
|
+
if (!this.exports()[name]) {
|
|
1143
|
+
throw new Error(`WASM function ${name} not found.`);
|
|
1144
|
+
}
|
|
1145
|
+
try {
|
|
1146
|
+
return this.exports()[name](...args) >>> 0;
|
|
1147
|
+
} catch (err) {
|
|
1148
|
+
const message = `WASM function ${name} aborted, error: ${err}`;
|
|
1149
|
+
this.logger(message);
|
|
1150
|
+
this.logger(err.stack);
|
|
1151
|
+
throw err;
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
memSize() {
|
|
1155
|
+
return this.getMemory().length;
|
|
1156
|
+
}
|
|
1157
|
+
getMemorySlice(start, end) {
|
|
1158
|
+
return this.getMemory().subarray(start, end).slice();
|
|
1159
|
+
}
|
|
1160
|
+
writeMemory(offset, arr) {
|
|
1161
|
+
const mem = this.getMemory();
|
|
1162
|
+
mem.set(arr, offset);
|
|
1163
|
+
}
|
|
1164
|
+
getMemory() {
|
|
1165
|
+
return new Uint8Array(this.memory.buffer);
|
|
1166
|
+
}
|
|
1167
|
+
stringFromAddress(addr) {
|
|
1168
|
+
addr = addr >>> 0;
|
|
1169
|
+
const m = this.getMemory();
|
|
1170
|
+
let i = addr;
|
|
1171
|
+
for (;m[i] !== 0; ++i) ;
|
|
1172
|
+
const textDecoder = new TextDecoder("ascii");
|
|
1173
|
+
return textDecoder.decode(m.slice(addr, i));
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
class HeapAllocator {
|
|
1178
|
+
constructor(wasm) {
|
|
1179
|
+
this.wasm = wasm;
|
|
1180
|
+
this.allocs = [];
|
|
1181
|
+
this.inScratchRemaining = 1024;
|
|
1182
|
+
this.outScratchRemaining = 1024;
|
|
1183
|
+
}
|
|
1184
|
+
getInputs(buffers) {
|
|
1185
|
+
return buffers.map((bufOrNum => {
|
|
1186
|
+
if (typeof bufOrNum === "object") {
|
|
1187
|
+
if (bufOrNum.length <= this.inScratchRemaining) {
|
|
1188
|
+
const ptr = this.inScratchRemaining -= bufOrNum.length;
|
|
1189
|
+
this.wasm.writeMemory(ptr, bufOrNum);
|
|
1190
|
+
return ptr;
|
|
1191
|
+
} else {
|
|
1192
|
+
const ptr = this.wasm.call("bbmalloc", bufOrNum.length);
|
|
1193
|
+
this.wasm.writeMemory(ptr, bufOrNum);
|
|
1194
|
+
this.allocs.push(ptr);
|
|
1195
|
+
return ptr;
|
|
1196
|
+
}
|
|
1197
|
+
} else {
|
|
1198
|
+
return bufOrNum;
|
|
1199
|
+
}
|
|
1200
|
+
}));
|
|
1201
|
+
}
|
|
1202
|
+
getOutputPtrs(outLens) {
|
|
1203
|
+
return outLens.map((len => {
|
|
1204
|
+
const size = len || 4;
|
|
1205
|
+
if (size <= this.outScratchRemaining) {
|
|
1206
|
+
return this.outScratchRemaining -= size;
|
|
1207
|
+
} else {
|
|
1208
|
+
const ptr = this.wasm.call("bbmalloc", size);
|
|
1209
|
+
this.allocs.push(ptr);
|
|
1210
|
+
return ptr;
|
|
1211
|
+
}
|
|
1212
|
+
}));
|
|
1213
|
+
}
|
|
1214
|
+
addOutputPtr(ptr) {
|
|
1215
|
+
if (ptr >= 1024) {
|
|
1216
|
+
this.allocs.push(ptr);
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
freeAll() {
|
|
1220
|
+
for (const ptr of this.allocs) {
|
|
1221
|
+
this.wasm.call("bbfree", ptr);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
1227
|
+
constructor() {
|
|
1228
|
+
super(...arguments);
|
|
1229
|
+
this.workers = [];
|
|
1230
|
+
this.remoteWasms = [];
|
|
1231
|
+
this.nextWorker = 0;
|
|
1232
|
+
this.nextThreadId = 1;
|
|
1233
|
+
}
|
|
1234
|
+
getNumThreads() {
|
|
1235
|
+
return this.workers.length + 1;
|
|
1236
|
+
}
|
|
1237
|
+
async init(module, threads = Math.min(getNumCpu(), BarretenbergWasmMain.MAX_THREADS), logger = browser_default()("bb.js:bb_wasm"), initial = 32, maximum = 2 ** 16) {
|
|
1238
|
+
this.logger = logger;
|
|
1239
|
+
const initialMb = initial * 2 ** 16 / (1024 * 1024);
|
|
1240
|
+
const maxMb = maximum * 2 ** 16 / (1024 * 1024);
|
|
1241
|
+
const shared = getSharedMemoryAvailable();
|
|
1242
|
+
this.logger(`Initializing bb wasm: initial memory ${initial} pages ${initialMb}MiB; ` + `max memory: ${maximum} pages, ${maxMb}MiB; ` + `threads: ${threads}; shared memory: ${shared}`);
|
|
1243
|
+
this.memory = new WebAssembly.Memory({
|
|
1244
|
+
initial,
|
|
1245
|
+
maximum,
|
|
1246
|
+
shared
|
|
1247
|
+
});
|
|
1248
|
+
const instance = await WebAssembly.instantiate(module, this.getImportObj(this.memory));
|
|
1249
|
+
this.instance = instance;
|
|
1250
|
+
this.call("_initialize");
|
|
1251
|
+
if (threads > 1) {
|
|
1252
|
+
this.logger(`Creating ${threads} worker threads`);
|
|
1253
|
+
this.workers = await Promise.all(Array.from({
|
|
1254
|
+
length: threads - 1
|
|
1255
|
+
}).map(createThreadWorker));
|
|
1256
|
+
this.remoteWasms = await Promise.all(this.workers.map(getRemoteBarretenbergWasm));
|
|
1257
|
+
await Promise.all(this.remoteWasms.map((w => w.initThread(module, this.memory))));
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
async destroy() {
|
|
1261
|
+
await Promise.all(this.workers.map((w => w.terminate())));
|
|
1262
|
+
}
|
|
1263
|
+
getImportObj(memory) {
|
|
1264
|
+
const baseImports = super.getImportObj(memory);
|
|
1265
|
+
return {
|
|
1266
|
+
...baseImports,
|
|
1267
|
+
wasi: {
|
|
1268
|
+
"thread-spawn": arg => {
|
|
1269
|
+
arg = arg >>> 0;
|
|
1270
|
+
const id = this.nextThreadId++;
|
|
1271
|
+
const worker = this.nextWorker++ % this.remoteWasms.length;
|
|
1272
|
+
this.remoteWasms[worker].call("wasi_thread_start", id, arg).catch(this.logger);
|
|
1273
|
+
return id;
|
|
1274
|
+
}
|
|
1275
|
+
},
|
|
1276
|
+
env: {
|
|
1277
|
+
...baseImports.env,
|
|
1278
|
+
env_hardware_concurrency: () => this.remoteWasms.length + 1
|
|
1279
|
+
}
|
|
1280
|
+
};
|
|
1281
|
+
}
|
|
1282
|
+
callWasmExport(funcName, inArgs, outLens) {
|
|
1283
|
+
const alloc = new HeapAllocator(this);
|
|
1284
|
+
const inPtrs = alloc.getInputs(inArgs);
|
|
1285
|
+
const outPtrs = alloc.getOutputPtrs(outLens);
|
|
1286
|
+
this.call(funcName, ...inPtrs, ...outPtrs);
|
|
1287
|
+
const outArgs = this.getOutputArgs(outLens, outPtrs, alloc);
|
|
1288
|
+
alloc.freeAll();
|
|
1289
|
+
return outArgs;
|
|
1290
|
+
}
|
|
1291
|
+
getOutputArgs(outLens, outPtrs, alloc) {
|
|
1292
|
+
return outLens.map(((len, i) => {
|
|
1293
|
+
if (len) {
|
|
1294
|
+
return this.getMemorySlice(outPtrs[i], outPtrs[i] + len);
|
|
1295
|
+
}
|
|
1296
|
+
const slice = this.getMemorySlice(outPtrs[i], outPtrs[i] + 4);
|
|
1297
|
+
const ptr = new DataView(slice.buffer, slice.byteOffset, slice.byteLength).getUint32(0, true);
|
|
1298
|
+
alloc.addOutputPtr(ptr);
|
|
1299
|
+
const lslice = this.getMemorySlice(ptr, ptr + 4);
|
|
1300
|
+
const length = new DataView(lslice.buffer, lslice.byteOffset, lslice.byteLength).getUint32(0, false);
|
|
1301
|
+
return this.getMemorySlice(ptr + 4, ptr + 4 + length);
|
|
1302
|
+
}));
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
BarretenbergWasmMain.MAX_THREADS = 32;
|
|
1307
|
+
|
|
1308
|
+
addEventListener("message", (e => {
|
|
1309
|
+
if (e.data.debug) {
|
|
1310
|
+
browser_default().enable(e.data.debug);
|
|
1311
|
+
}
|
|
1312
|
+
}));
|
|
1313
|
+
|
|
1314
|
+
expose(new BarretenbergWasmMain);
|
|
1315
|
+
|
|
1316
|
+
postMessage(Ready);
|