@getodk/xpath 0.3.0 → 0.4.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/dist/.vite/manifest.json +4 -4
- package/dist/error/JRCompatibleError.d.ts +7 -0
- package/dist/error/JRCompatibleGeoValueError.d.ts +6 -0
- package/dist/expressionParser-BYZuKGXg.js +3480 -0
- package/dist/expressionParser-BYZuKGXg.js.map +1 -0
- package/dist/expressionParser.js +1 -1
- package/dist/index.js +6443 -6554
- package/dist/index.js.map +1 -1
- package/dist/lib/collections/sort.d.ts +1 -1
- package/dist/lib/geo/EncodeGeoValueStubError.d.ts +4 -0
- package/dist/lib/geo/GeoValueCodec.d.ts +33 -0
- package/dist/lib/geo/Geopoint.d.ts +28 -0
- package/dist/lib/geo/Geotrace.d.ts +12 -0
- package/dist/lib/geo/GeotraceLine.d.ts +11 -0
- package/dist/lib/geo/encodeGeoValueStubFactory.d.ts +2 -0
- package/dist/lib/geo/geopointCodec.d.ts +4 -0
- package/package.json +14 -11
- package/dist/expressionParser-DpqfmhIO.js +0 -3479
- package/dist/expressionParser-DpqfmhIO.js.map +0 -1
|
@@ -0,0 +1,3480 @@
|
|
|
1
|
+
import require$$0 from 'fs';
|
|
2
|
+
import require$$1 from 'path';
|
|
3
|
+
|
|
4
|
+
function _mergeNamespaces(n, m) {
|
|
5
|
+
for (var i = 0; i < m.length; i++) {
|
|
6
|
+
const e = m[i];
|
|
7
|
+
if (typeof e !== 'string' && !Array.isArray(e)) { for (const k in e) {
|
|
8
|
+
if (k !== 'default' && !(k in n)) {
|
|
9
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
10
|
+
if (d) {
|
|
11
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: () => e[k]
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
} }
|
|
18
|
+
}
|
|
19
|
+
return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: 'Module' }));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
23
|
+
|
|
24
|
+
function getDefaultExportFromCjs (x) {
|
|
25
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function getAugmentedNamespace(n) {
|
|
29
|
+
if (n.__esModule) return n;
|
|
30
|
+
var f = n.default;
|
|
31
|
+
if (typeof f == "function") {
|
|
32
|
+
var a = function a () {
|
|
33
|
+
if (this instanceof a) {
|
|
34
|
+
return Reflect.construct(f, arguments, this.constructor);
|
|
35
|
+
}
|
|
36
|
+
return f.apply(this, arguments);
|
|
37
|
+
};
|
|
38
|
+
a.prototype = f.prototype;
|
|
39
|
+
} else a = {};
|
|
40
|
+
Object.defineProperty(a, '__esModule', {value: true});
|
|
41
|
+
Object.keys(n).forEach(function (k) {
|
|
42
|
+
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
43
|
+
Object.defineProperty(a, k, d.get ? d : {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return n[k];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
return a;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
class UpsertableMap extends Map {
|
|
54
|
+
upsert(key, produce) {
|
|
55
|
+
if (this.has(key)) {
|
|
56
|
+
return this.get(key);
|
|
57
|
+
}
|
|
58
|
+
const value = produce(key);
|
|
59
|
+
this.set(key, value);
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const xpathLanguage = "data:application/wasm;base64,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ADsAPQA5AAMAOAA5AEMAHwAEAC8AMAAxADIALQAJAD4APwBsAG0AbgBwAHEAcgB4AAUADQADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPAAIAJwASAAAAEQATABYAFwAZABoAHgAfACAAIgAkACUALAAvADAAMQAyACkAFgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAFQAcAB0AIQAjAAEALQAuAA8AAwABAAEABwABABAACwABABUADQABABYADwABABcAHQABACwAKwABAG8APAABAEQAQQABADkAaQABADwAbAABAHMAIAADADoAOwA9AB8ABAAvADAAMQAyAC0ACQA+AD8AbABtAG4AcABxAHIAeAAFAA0AAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAPAAMAAQABAAcAAQAQAAsAAQAVAA0AAQAWAA8AAQAXAB0AAQAsACsAAQBvADwAAQBEAD0AAQA5AGkAAQA8AGwAAQBzACAAAwA6ADsAPQAfAAQALwAwADEAMgAtAAkAPgA/AGwAbQBuAHAAcQByAHgABQANAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8ACAADAAEAAQAHAAEAEAAdAAEALAArAAEAbwBsAAEAcwAfAAQALwAwADEAMgA0AAkAPgA/AGwAbQBuAHAAcQByAHgAKwANAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8ACAADAAEAAQAHAAEAEAAdAAEALAArAAEAbwBsAAEAcwAfAAQALwAwADEAMgA1AAkAPgA/AGwAbQBuAHAAcQByAHgAKwANAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AAwAxAAEAKwAvAAMAGwAhACMALQAUAAAAEQASABMAFAAYABkAGgAcAB0AHgAfACAAIgAkACUAKgAsAC0ALgACADUAAwAbACEAIwAzABQAAAARABIAEwAUABgAGQAaABwAHQAeAB8AIAAiACQAJQAqACwALQAuAAQAOQABABIAIQACAEAAeQA7AAMAGwAhACMANwARAAAAEQATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAEADkAAQASAB8AAgBAAHkAPwADABsAIQAjAD0AEQAAABEAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4ABABDAAEAEgAhAAIAQAB5AEYAAwAbACEAIwBBABEAAAARABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIASgADABsAIQAjAEgAFAAAABEAEgATABQAGAAZABoAHAAdAB4AHwAgACIAJAAlACoALAAtAC4AAwBOAAEAGABQAAMAGwAhACMATAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAMAVAABAAIAVgADABsAIQAjAFIAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAEADkAAQASACwAAQBAAFoAAwAbACEAIwBYABEAAAARABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAXgADABsAIQAjAFwAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAGIAAwAbACEAIwBgABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgBmAAMAGwAhACMAZAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAagADABsAIQAjAGgAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAFYAAwAbACEAIwBSABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgBuAAMAGwAhACMAbAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAcgADABsAIQAjAHAAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAHYAAwAbACEAIwB0ABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgB6AAMAGwAhACMAeAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAfgADABsAIQAjAHwAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAIIAAwAbACEAIwCAABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgCGAAMAGwAhACMAhAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAigADABsAIQAjAIgAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAI4AAwAbACEAIwCMABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgCSAAMAGwAhACMAkAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAlgADABsAIQAjAJQAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAJoAAwAbACEAIwCYABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4ACACgAAEALACiAAEALQCkAAEALgAQAAEAdQARAAEAdgASAAEAdwCeAAIAIQAjAJwADAAAABEAEwAZABwAHQAeAB8AIAAiACQAJQACAKgAAwAbACEAIwCmABEAAAARABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAQArAABABQArgABABsAsAACACEAIwCqABAAAAARABMAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAEALQAAQAUALYAAQAbALgAAgAhACMAsgAQAAAAEQATABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4ABACsAAEAFACuAAEAGwC8AAIAIQAjALoAEAAAABEAEwAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAPwADABsAIQAjAD0AEQAAABEAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgDAAAMAGwAhACMAvgARAAAAEQATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAEAKwAAQAUAK4AAQAbAMQAAgAhACMAwgAQAAAAEQATABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4ACACgAAEALACiAAEALQCkAAEALgAQAAEAdQARAAEAdgASAAEAdwDIAAIAIQAjAMYADAAAABEAEwAZABwAHQAeAB8AIAAiACQAJQAIAKAAAQAsAKIAAQAtAKQAAQAuABAAAQB1ABEAAQB2ABIAAQB3AMwAAgAhACMAygAMAAAAEQATABkAHAAdAB4AHwAgACIAJAAlAAIA0AADABsAIQAjAM4AEQAAABEAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4ABACsAAEAFACuAAEAGwDUAAIAIQAjANIAEAAAABEAEwAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAMA2AABABoA2gACACEAIwDWAA8AAAARABMAGQAcAB0AHgAfACAAIgAkACUALAAtAC4AAgDeAAIAIQAjANwAEAAAABEAEwAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAJQACACEAIwAjABAAAAARABMAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgADANgAAQAaAOIAAgAhACMA4AAPAAAAEQATABkAHAAdAB4AHwAgACIAJAAlACwALQAuAAIA5gACACEAIwDkABAAAAARABMAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAOoAAgAhACMA6AAPAAAAEQATABkAHAAdAB4AHwAgACIAJAAlACwALQAuAAIA7gACACEAIwDsAA8AAAARABMAGQAcAB0AHgAfACAAIgAkACUALAAtAC4AAgDyAAIAIQAjAPAADwAAABEAEwAZABwAHQAeAB8AIAAiACQAJQAsAC0ALgAEAPgAAQAkAPoAAQAlAPYAAgAhACMA9AAKAAAAEQATABkAHAAdAB4AHwAgACIABAD4AAEAJAD6AAEAJQD+AAIAIQAjAPwACgAAABEAEwAZABwAHQAeAB8AIAAiAAQA+AABACQA+gABACUAAgECACEAIwAAAQoAAAARABMAGQAcAB0AHgAfACAAIgAEAPgAAQAkAPoAAQAlAAYBAgAhACMABAEKAAAAEQATABkAHAAdAB4AHwAgACIABAD4AAEAJAD6AAEAJQAKAQIAIQAjAAgBCgAAABEAEwAZABwAHQAeAB8AIAAiAAUADgEBACAAEAEBACEAEgEBACIAFAEBACMADAEIAAAAEQATABkAHAAdAB4AHwAFAA4BAQAgABABAQAhABIBAQAiABQBAQAjABYBCAAAABEAEwAZABwAHQAeAB8ABQAOAQEAIAAQAQEAIQASAQEAIgAUAQEAIwAYAQgAAAARABMAGQAcAB0AHgAfAAMAHAEBAB4AHgEBAB8AGgEGAAAAEQATABkAHAAdAAMAHAEBAB4AHgEBAB8AIAEGAAAAEQATABkAHAAdAAIAJAEBAB0AIgEFAAAAEQAT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ABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAYQBZACUAJQBjAF0AQwBDAEMAQwBEADoAJQBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAGYARQA7ADwAZgBZACUAJQBjAAAAQwBDAEMAQwBEADoAJQBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAYQBZACUAJQBjAGIAQwBDAEMAQwBEADoAJQBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAZABZACUAJQBjAAAAQwBDAEMAQwBEADoAJQBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAVgBWAFMAUwBTAFEAUQBRAFEAUQBPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAFQAVABUAFEAUQBRAFEAUQBPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAFIAUgBSAFIAUgBPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABPAE8ATwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAEwATAA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLAEsASwA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOAE4ATgA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNAE0ATQA3ADcANwA3ADcANwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AD8APwA/AD8APwAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgASAAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEoASgAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABDAEMAFQBDADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAQwBDAEMAQwBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkASQAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABGAEYAFQBGADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAARgBGAEYARgBEADoAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlACkAJQAlAFwALQAtAC0AKwAjACMAIwBsAAAAAAAAAAAALQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABHAEcAFQBHADsAOwAgACAAaQAgAC0ALQAAAAAARQA7ADwAAAAAACUAJQBjAAAAAAAA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AAAAAgAAAAAAAAABAQAAAAAAAAAANgAAAAAAAQEAAAAAAAABAmsAAAAAAAEBAAAAAAAAAABgAAAAAAABAQAAAAAAAAAAHAAAAAAAAQEAAAAAAAAAADAAAAAAAAEBAAAAAAAAAQEzAAAAAAABAQAAAAAAAAAAWwAAAAAAcHJlZml4AGFiYnJldmlhdGVkX2F4aXNfdGVzdABub2RlX3R5cGVfdGVzdABwcm9jZXNzaW5nX2luc3RydWN0aW9uX25hbWVfdGVzdAB1bnByZWZpeGVkX3dpbGRjYXJkX25hbWVfdGVzdABfbm9kZV90ZXN0AGxvY2FsX3BhcnQAcGFyZW50AGFyZ3VtZW50AGFyZ3VtZW50cwBfZXF1YWxpdHlfZXhwcgBfdW5hcnlfZXhwcgBfcHJpbWFyeV9leHByAGx0X2V4cHIAZ3RfZXhwcgBfb3JfZXhwcgBfZmlsdGVyX2V4cHIAZXFfZXhwcgBtb2R1bG9fZXhwcgBhZGRpdGlvbl9leHByAHN1YnRyYWN0aW9uX2V4cHIAbXVsdGlwbGljYXRpb25fZXhwcgBkaXZpc2lvbl9leHByAF91bmlvbl9leHByAF9yZWxhdGlvbmFsX2V4cHIAX2ZpbHRlcl9wYXRoX2V4cHIAX2FkZGl0aXZlX2V4cHIAX211bHRpcGxpY2F0aXZlX2V4cHIAbHRlX2V4cHIAZ3RlX2V4cHIAX3ByZWRpY2F0ZV9leHByAG5lX2V4cHIAX2FuZF9leHByAF9tdWx0aXBseV9vcGVyYXRvcgBfbW9kdWxvX29wZXJhdG9yAF9kaXZpZGVfb3BlcmF0b3IAX2FiYnJldmlhdGVkX2F4aXNfc3BlY2lmaWVyAG51bWJlcgBhYmJyZXZpYXRlZF9zdGVwAGZ1bmN0aW9uX2NhbGwAc3RyaW5nX2xpdGVyYWwAeHBhdGgAYWJzb2x1dGVfcm9vdF9sb2NhdGlvbl9wYXRoAF9hYmJyZXZpYXRlZF9yZWxhdGl2ZV9sb2NhdGlvbl9wYXRoAGFiYnJldmlhdGVkX2Fic29sdXRlX2xvY2F0aW9uX3BhdGgAX3NsYXNoAHNlbGYAcHJlZGljYXRlAGF4aXNfbmFtZQBfcV9uYW1lAGZ1bmN0aW9uX25hbWUAdW5wcmVmaXhlZF9uYW1lAF9uY19uYW1lAF92YXJpYWJsZV9yZWZlcmVuY2UAZW5kAF9heGlzX25hbWVfdG9rZW45AF9heGlzX25hbWVfdG9rZW44AF9heGlzX25hbWVfdG9rZW43AF9heGlzX25hbWVfdG9rZW42AF9heGlzX25hbWVfdG9rZW41AG5vZGVfdHlwZV90ZXN0X3Rva2VuNABfYXhpc19uYW1lX3Rva2VuNABub2RlX3R5cGVfdGVzdF90b2tlbjMAX2F4aXNfbmFtZV90b2tlbjMAX2F4aXNfbmFtZV90b2tlbjEzAG5vZGVfdHlwZV90ZXN0X3Rva2VuMgBwcm9jZXNzaW5nX2luc3RydWN0aW9uX25hbWVfdGVzdF90b2tlbjIAbnVtYmVyX3Rva2VuMgBfbGl0ZXJhbF90b2tlbjIAcHJlZGljYXRlX3Rva2VuMgBfYXhpc19uYW1lX3Rva2VuMgBfYXhpc19uYW1lX3Rva2VuMTIAc3RlcF9yZXBlYXQxAGZ1bmN0aW9uX2NhbGxfcmVwZWF0MQBub2RlX3R5cGVfdGVzdF90b2tlbjEAcHJvY2Vzc2luZ19pbnN0cnVjdGlvbl9uYW1lX3Rlc3RfdG9rZW4xAHByZWZpeGVkX3dpbGRjYXJkX25hbWVfdGVzdF90b2tlbjEAX3ByaW1hcnlfZXhwcl90b2tlbjEAbHRfZXhwcl90b2tlbjEAZ3RfZXhwcl90b2tlbjEAb3JfZXhwcl90b2tlbjEAZXFfZXhwcl90b2tlbjEAYWRkaXRpb25fZXhwcl90b2tlbjEAc3VidHJhY3Rpb25fZXhwcl90b2tlbjEAdW5pb25fZXhwcl90b2tlbjEAbHRlX2V4cHJfdG9rZW4xAGd0ZV9leHByX3Rva2VuMQBuZV9leHByX3Rva2VuMQBhbmRfZXhwcl90b2tlbjEAX21vZHVsb19vcGVyYXRvcl90b2tlbjEAX2RpdmlkZV9vcGVyYXRvcl90b2tlbjEAX2F4aXNfc3BlY2lmaWVyX3Rva2VuMQBudW1iZXJfdG9rZW4xAGZ1bmN0aW9uX2NhbGxfdG9rZW4xAF9saXRlcmFsX3Rva2VuMQBwcmVkaWNhdGVfdG9rZW4xAF9heGlzX25hbWVfdG9rZW4xAF92YXJpYWJsZV9yZWZlcmVuY2VfdG9rZW4xAF9heGlzX25hbWVfdG9rZW4xMQBfYXhpc19uYW1lX3Rva2VuMTAALy8AAAAAAAAAAAAAIQAOACIAAgAkADcAJwADACgAIgApABsAKgA6ACsAMAAsACMALQAxAC4AHwAvACUAOgA5ADwALQA9ACsAPgAvAEAAIQBbABwAXQAdAGEAUABjAFUAZABKAG0AVwBuAFgAbwBaAHAAXAB0AEUAfAAkACIAAgAkADcAJwADACgAIgApABsAKgA6AC0AMQAuAB8ALwAlADoAOABAACEAYwBVAG4AWABwAFwAdABFAAAAAAAhAA4AJAA3ACgAIgApABsAKgA6ACsAMAAsACMALQAxAC8AJQA6ADgAPAAtAD0AKwA+AC8AWwAcAF0AHQBhABIAZAARAG0AEwBvABQAfAAkACEADgApABsAKgA6ACsAMAAsACMALQAxAC8AJQA6AA0APAAtAD0AKwA+AC8AWwAcAF0AHQBhABIAZAARAG0AEwBvABQAfAAkAAAAAAAAAAAALQAAAC4AAAAwAAAAOQAAAEEAAABaAAAAXwAAAF8AAABhAAAAegAAALcAAAC3AAAAwAAAANYAAADYAAAA9gAAAPgAAAB9AwAAfwMAAP8fAAAMIAAADSAAAD8gAABAIAAAcCAAAI8hAAAALAAA7y8AAAEwAAD/1wAAAPkAAM/9AADw/QAA/f8AAAAAAQD//w4ADgAAAHsAAAAAAAAAMwAAAAAAAABtAAAAFQAAAAUAAAACAAAABQAAAPAXAAAAAAAA8BAAACAsAADgPwAAzEEAAFASAABwEgAAkBIAABAUAAAGFQAAEBUAAFAVAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBcAAAAAAAAAAAAA4DkAAMM5AAC2PAAAET0AAA47AAB8OgAAVDoAACw6AAAaOgAACDoAAPY5AADkOQAAUT0AAD49AAAgOwAAjjoAAGw7AAC3OgAAAD0AAP06AABkPQAAhDkAAEk3AADDOAAAtzsAANs8AAA1PAAAfTkAAOo7AAB2PAAAZzwAAPk7AABHPAAAzDsAAFc8AADbOwAACDwAAB08AADwPAAA7ToAAM08AADfOgAAIz0AAJQ7AACcOwAAnjwAAIY8AABWOwAAoToAAGY6AAA+OgAAFDkAAG45AABmOQAAGjkAAEM5AABCOQAA8jgAANs2AADPNgAAkzkAADQ3AAAzNwAA9DYAAIk5AABsOAAAWjkAADY5AADmOAAAiTgAAIg4AAB+NwAA9zgAAKU5AABQNwAACDgAAAc4AAArOAAAJTgAACQ4AACmNwAApTcAAJ03AACcNwAAhTgAAIQ4AAB8OAAAsjcAAGM3AABaOAAAjDcAAGM4AACUNwAAEzgAAMY3AADUNwAANjgAAOU3AAD5NwAAujcAAEU4AABzNwAAcjcAAAU5AAALOQAA3zgAAM05AADMOQAAKDcAABU3AAAXNwAAHzcAAJ05AAC1OQAAszkAAMg2AAA+NwAAjjgAALI4AAChOAAA5TYAADM7AABAOwAAAAAAAFk3AADHOQAAAAAAAAAAAABBAAAAWgAAAF8AAABfAAAAYQAAAHoAAADAAAAA1gAAANgAAAD2AAAA+AAAAP8CAABwAwAAfQMAAH8DAAD/HwAADCAAAA0gAABwIAAAjyEAAAAsAADvLwAAATAAAP/XAAAA+QAAz/0AAPD9AAD9/wAAAAABAP//DgA=";
|
|
65
|
+
|
|
66
|
+
const webTreeSitter = "data:application/wasm;base64,AGFzbQEAAAAAEAhkeWxpbmsuMAEFoFoEGwABtAEZYAF/AX9gAn9/AX9gAX8AYAN/f38AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AGAFf39/f38Bf2AAAGAEf39/fwBgAAF/YAh/f39/f39/fwF/YAd/f39/f39/AGAGf3x/f39/AX9gA39+fwF+YAt/f39/f39/f39/fwBgBn9/f39/fwBgAn5/AX9gB39/f39/f38Bf2ACfH8BfGAEf39/fwF+YAABfGACf34AYAF/AX4CugMQFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUABhZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3NlZWsACANlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAA2VudhJlbXNjcmlwdGVuX2dldF9ub3cAFgNlbnYgX2Vtc2NyaXB0ZW5fZ2V0X25vd19pc19tb25vdG9uaWMACwNlbnYVX2Vtc2NyaXB0ZW5fbWVtY3B5X2pzAAMDZW52CV9hYm9ydF9qcwAJFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYadHJlZV9zaXR0ZXJfcGFyc2VfY2FsbGJhY2sABwNlbnYYdHJlZV9zaXR0ZXJfbG9nX2NhbGxiYWNrAAUDZW52D19fc3RhY2tfcG9pbnRlcgN/AQNlbnYNX19tZW1vcnlfYmFzZQN/AANlbnYMX190YWJsZV9iYXNlA38AB0dPVC5tZW0LX19oZWFwX2Jhc2UDfwEDZW52Bm1lbW9yeQIBgASAgAIDZW52GV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBcAAbA4gChgIFBgUEBAUEAAIDBwUFBQQABQcCEQMDAAQIAwMAABIFAwICAQYAAAQBDAECAgQEBQYDCgcEAgEDCgAABQIFAAkBAwEACAUBAQMLAQICAwIMAwEEBw0HCgMDAAAFAQEGCgATFAQAAAAEBQQEBAQAFQAFBQQKAwQEBAAAAAAIARcYAQIBAQQEBQACAAAIAwAABQEABAAEAAALAwACAAAAAAQFDgAEAQQPABAQAAACCQAAAAAAAA0CAgABAAACAgICAgICAAICAgIFBQUAAAABAgIFAQACAAAAAAACAgAAAAAAAAUAAAAAAAAFAgICAQUCAgICAQECBggDBQkLAgAABAEAAQEBAAkJBjkIfwFB6NIAC38BQeDSAAt/AUHs0gALfwFB5NIAC38BQYDUAAt/AUGQ1AALfwFBmNoAC38BQZzaAAsHqx6NARFfX3dhc21fY2FsbF9jdG9ycwCPAhhfX3dhc21fYXBwbHlfZGF0YV9yZWxvY3MAjgIGbWFsbG9jACUGY2FsbG9jACwHcmVhbGxvYwBlBGZyZWUANBh0c19sYW5ndWFnZV9zeW1ib2xfY291bnQAgQEXdHNfbGFuZ3VhZ2Vfc3RhdGVfY291bnQAjQITdHNfbGFuZ3VhZ2VfdmVyc2lvbgCJAhd0c19sYW5ndWFnZV9maWVsZF9jb3VudACGAhZ0c19sYW5ndWFnZV9uZXh0X3N0YXRlADYXdHNfbGFuZ3VhZ2Vfc3ltYm9sX25hbWUA9QEbdHNfbGFuZ3VhZ2Vfc3ltYm9sX2Zvcl9uYW1lAC0Hc3RybmNtcAAhF3RzX2xhbmd1YWdlX3N5bWJvbF90eXBlAEkddHNfbGFuZ3VhZ2VfZmllbGRfbmFtZV9mb3JfaWQA1gEZdHNfbG9va2FoZWFkX2l0ZXJhdG9yX25ldwDBARx0c19sb29rYWhlYWRfaXRlcmF0b3JfZGVsZXRlALUBIXRzX2xvb2thaGVhZF9pdGVyYXRvcl9yZXNldF9zdGF0ZQCtARt0c19sb29rYWhlYWRfaXRlcmF0b3JfcmVzZXQArAEadHNfbG9va2FoZWFkX2l0ZXJhdG9yX25leHQAqwEkdHNfbG9va2FoZWFkX2l0ZXJhdG9yX2N1cnJlbnRfc3ltYm9sAKcBBm1lbXNldAAQBm1lbWNweQANEHRzX3BhcnNlcl9kZWxldGUAigEPdHNfcGFyc2VyX3Jlc2V0ACsWdHNfcGFyc2VyX3NldF9sYW5ndWFnZQCJARh0c19wYXJzZXJfdGltZW91dF9taWNyb3MAlwEcdHNfcGFyc2VyX3NldF90aW1lb3V0X21pY3JvcwCVAR10c19wYXJzZXJfc2V0X2luY2x1ZGVkX3JhbmdlcwA9B21lbW1vdmUADgZtZW1jbXAAGAx0c19xdWVyeV9uZXcAhQEPdHNfcXVlcnlfZGVsZXRlAFUIaXN3c3BhY2UAbghpc3dhbG51bQAZFnRzX3F1ZXJ5X3BhdHRlcm5fY291bnQAhAEWdHNfcXVlcnlfY2FwdHVyZV9jb3VudACDARV0c19xdWVyeV9zdHJpbmdfY291bnQAggEcdHNfcXVlcnlfY2FwdHVyZV9uYW1lX2Zvcl9pZACAARx0c19xdWVyeV9zdHJpbmdfdmFsdWVfZm9yX2lkAH8fdHNfcXVlcnlfcHJlZGljYXRlc19mb3JfcGF0dGVybgB+GHRzX3F1ZXJ5X2Rpc2FibGVfY2FwdHVyZQB9DHRzX3RyZWVfY29weQCFAg50c190cmVlX2RlbGV0ZQCEAgd0c19pbml0AIMCEnRzX3BhcnNlcl9uZXdfd2FzbQCCAhx0c19wYXJzZXJfZW5hYmxlX2xvZ2dlcl93YXNtAIECFHRzX3BhcnNlcl9wYXJzZV93YXNtAP8BHnRzX3BhcnNlcl9pbmNsdWRlZF9yYW5nZXNfd2FzbQD9AR50c19sYW5ndWFnZV90eXBlX2lzX25hbWVkX3dhc20A/AEgdHNfbGFuZ3VhZ2VfdHlwZV9pc192aXNpYmxlX3dhc20A+wEWdHNfdHJlZV9yb290X25vZGVfd2FzbQD6ASJ0c190cmVlX3Jvb3Rfbm9kZV93aXRoX29mZnNldF93YXNtAPkBEXRzX3RyZWVfZWRpdF93YXNtAPgBHHRzX3RyZWVfaW5jbHVkZWRfcmFuZ2VzX3dhc20A9wEfdHNfdHJlZV9nZXRfY2hhbmdlZF9yYW5nZXNfd2FzbQD2ARd0c190cmVlX2N1cnNvcl9uZXdfd2FzbQD0ARp0c190cmVlX2N1cnNvcl9kZWxldGVfd2FzbQDzARl0c190cmVlX2N1cnNvcl9yZXNldF93YXNtAPIBHHRzX3RyZWVfY3Vyc29yX3Jlc2V0X3RvX3dhc20A8QEkdHNfdHJlZV9jdXJzb3JfZ290b19maXJzdF9jaGlsZF93YXNtAPABI3RzX3RyZWVfY3Vyc29yX2dvdG9fbGFzdF9jaGlsZF93YXNtAO8BLnRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfZm9yX2luZGV4X3dhc20A7gExdHNfdHJlZV9jdXJzb3JfZ290b19maXJzdF9jaGlsZF9mb3JfcG9zaXRpb25fd2FzbQDtASV0c190cmVlX2N1cnNvcl9nb3RvX25leHRfc2libGluZ193YXNtAOwBKXRzX3RyZWVfY3Vyc29yX2dvdG9fcHJldmlvdXNfc2libGluZ193YXNtAOsBI3RzX3RyZWVfY3Vyc29yX2dvdG9fZGVzY2VuZGFudF93YXNtAOoBH3RzX3RyZWVfY3Vyc29yX2dvdG9fcGFyZW50X3dhc20A6QEodHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX3R5cGVfaWRfd2FzbQDoASl0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfc3RhdGVfaWRfd2FzbQDnASl0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfaXNfbmFtZWRfd2FzbQDmASt0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfaXNfbWlzc2luZ193YXNtAOUBI3RzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV9pZF93YXNtAOQBInRzX3RyZWVfY3Vyc29yX3N0YXJ0X3Bvc2l0aW9uX3dhc20A4wEgdHNfdHJlZV9jdXJzb3JfZW5kX3Bvc2l0aW9uX3dhc20A4gEfdHNfdHJlZV9jdXJzb3Jfc3RhcnRfaW5kZXhfd2FzbQDhAR10c190cmVlX2N1cnNvcl9lbmRfaW5kZXhfd2FzbQDgASR0c190cmVlX2N1cnNvcl9jdXJyZW50X2ZpZWxkX2lkX3dhc20A3wEhdHNfdHJlZV9jdXJzb3JfY3VycmVudF9kZXB0aF93YXNtAN4BLHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfZGVzY2VuZGFudF9pbmRleF93YXNtAN0BIHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV93YXNtANwBE3RzX25vZGVfc3ltYm9sX3dhc20A2wEhdHNfbm9kZV9maWVsZF9uYW1lX2Zvcl9jaGlsZF93YXNtANoBIXRzX25vZGVfY2hpbGRyZW5fYnlfZmllbGRfaWRfd2FzbQDZASF0c19ub2RlX2ZpcnN0X2NoaWxkX2Zvcl9ieXRlX3dhc20A2AEndHNfbm9kZV9maXJzdF9uYW1lZF9jaGlsZF9mb3JfYnl0ZV93YXNtANcBG3RzX25vZGVfZ3JhbW1hcl9zeW1ib2xfd2FzbQDVARh0c19ub2RlX2NoaWxkX2NvdW50X3dhc20A1AEedHNfbm9kZV9uYW1lZF9jaGlsZF9jb3VudF93YXNtANMBEnRzX25vZGVfY2hpbGRfd2FzbQDSARh0c19ub2RlX25hbWVkX2NoaWxkX3dhc20A0QEedHNfbm9kZV9jaGlsZF9ieV9maWVsZF9pZF93YXNtANABGXRzX25vZGVfbmV4dF9zaWJsaW5nX3dhc20AzwEZdHNfbm9kZV9wcmV2X3NpYmxpbmdfd2FzbQDOAR90c19ub2RlX25leHRfbmFtZWRfc2libGluZ193YXNtAM0BH3RzX25vZGVfcHJldl9uYW1lZF9zaWJsaW5nX3dhc20AzAEddHNfbm9kZV9kZXNjZW5kYW50X2NvdW50X3dhc20AywETdHNfbm9kZV9wYXJlbnRfd2FzbQDKASF0c19ub2RlX2Rlc2NlbmRhbnRfZm9yX2luZGV4X3dhc20AyQEndHNfbm9kZV9uYW1lZF9kZXNjZW5kYW50X2Zvcl9pbmRleF93YXNtAMgBJHRzX25vZGVfZGVzY2VuZGFudF9mb3JfcG9zaXRpb25fd2FzbQDHASp0c19ub2RlX25hbWVkX2Rlc2NlbmRhbnRfZm9yX3Bvc2l0aW9uX3dhc20AxgEYdHNfbm9kZV9zdGFydF9wb2ludF93YXNtAMUBFnRzX25vZGVfZW5kX3BvaW50X3dhc20AxAEYdHNfbm9kZV9zdGFydF9pbmRleF93YXNtAMMBFnRzX25vZGVfZW5kX2luZGV4X3dhc20AwgEWdHNfbm9kZV90b19zdHJpbmdfd2FzbQDAARV0c19ub2RlX2NoaWxkcmVuX3dhc20AvwEbdHNfbm9kZV9uYW1lZF9jaGlsZHJlbl93YXNtAL4BIHRzX25vZGVfZGVzY2VuZGFudHNfb2ZfdHlwZV93YXNtAL0BFXRzX25vZGVfaXNfbmFtZWRfd2FzbQC8ARh0c19ub2RlX2hhc19jaGFuZ2VzX3dhc20AuwEWdHNfbm9kZV9oYXNfZXJyb3Jfd2FzbQC6ARV0c19ub2RlX2lzX2Vycm9yX3dhc20AuQEXdHNfbm9kZV9pc19taXNzaW5nX3dhc20AuAEVdHNfbm9kZV9pc19leHRyYV93YXNtALcBGHRzX25vZGVfcGFyc2Vfc3RhdGVfd2FzbQC0AR10c19ub2RlX25leHRfcGFyc2Vfc3RhdGVfd2FzbQCzARV0c19xdWVyeV9tYXRjaGVz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AQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC+gCAQJ/AkAgACABRg0AIAEgACACaiIEa0EAIAJBAXRrTQRAIAAgASACEA0PCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQQFrIgINAAsLIAALCAAgACABEAwL8gICAn8BfgJAIAJFDQAgACABOgAAIAAgAmoiA0EBayABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBA2sgAToAACADQQJrIAE6AAAgAkEHSQ0AIAAgAToAAyADQQRrIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAALmQMBB38gACAAKAIAIAAtABBqIgM2AgACQCAAKAIIIgUgA0sEQCAAIAMsAAAi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cQvXAQEDfwJ/IAAoAihFBEBBACAAQQAQT0UNARoLIAAoAiQiAygCACICQX9GBEAgACAAKAJwIgJBAWo2AnAgAyACNgIACyABIAI2AgAgASADLwEMOwEEAkAgAy8BBCICIAAoAjRPBEAgACgCQCECIAAoAjwhBAwBCyAAKAIwIAJBDGxqIgQoAgQhAiAEQX82AgQgBCgCACEEIAAgACgCTEEBajYCTAsgASACOwEGIAEgBDYCCCADIANBEGogACgCKEEEdEEQaxAOGiAAIAAoAihBAWs2AihBAQsL2wMCBn8CfiMAQRBrIgQkACAAQQA2AiggAEEANgIcIAIoAhAhBSACKAIIIQYgAigCBCEHIAIoAgAhCCACKAIUIQMgACACKAIMOwEUIAAgAzYCBCAAQQA2AgwgACgCCCECIAAgACgCEAR/QQAFAn8gAgRAIAJB4AEjBCgCABEBAAwBC0HgASMFKAIAEQAACyECIABBCDYCECAAIAI2AgggACgCDAsiA0EBajYCDCACIANBHGxqIgJBADYCGCACQgA3AhAgAiAGNgIMIAIgBzYCCCACIAg2AgQgAiAFNgIAIAAoAjQiA0H//wNxBEAgACgCMCEFQQAhAgNAIAUgAkEMbGpBfzYCBCACQQFqIgIgACgCNCIDQf//A3FJDQALCyAAQQE6AJQBIAAgAzYCTEEAIQIgAEEANgJwIABBADsAlQEgAEEANgJQIABBADoAlwEgACABNgIAIABBADYCkAEgACkDiAFCAFIEQCAEEDUgBCkDACEJIAQoAgggACAEKAIMNgKEASAAKQOIASIKIApCwIQ9gCIKQsCEPX59p0HoB2xqIgFBgJTr3ANrIAEgAUH/k+vcA0oiARshAiABrSAJIAp8fCEJCyAAIAI2AoABIAAgCTcDeCAEQRBqJAALzAEBAn9BmAEjBSIBKAIAEQAAQQBByAAQECIAQgA3A4gBIABBADYCgAEgAEIANwN4IABBADYCcCAAQn83A2ggAEIANwNgIABCgICAgHA3A1ggAEKAgICAcDcDUCAAQv////8PNwNIIABCADcDkAFBgAEgASgCABEAACEBIABBCDYCICAAIAE2AhggACgCLEEHTQRAAn8gACgCJCIBBEAgAUGAASMEKAIAEQEADAELQYABIwUoAgARAAALIQEgAEEINgIsIAAgATYCJAsgAAuaCgEIf0EBIQIgASgCDEEiRgRAIAEoAgAhCCABEBEaIAEoAgAhAyAAQQA2AogBAn8DQAJAIAEoAgwhAgJ/AkACQCAEQQFxBEAgACgCiAEhBAJAAkACQAJAAkAgAkHuAGsOBwAEBAQBBAIDCyAAKAKEASECIAAgBEEBaiIDIAAoAowBIgVLBH9BCCAFQQF0IgQgAyADIARJGyIDIANBCE0bIQMCfyACBEAgAiADIwQoAgARAQAMAQsgAyMFKAIAEQAACyECIAAgAzYCjAEgACACNgKEASAAKAKIASIEQQFqBSADCzYCiAEgAiAEakEKOgAADAYLIAAoAoQBIQIgACAEQQFqIgMgACgCjAEiBUsEf0EIIAVBAXQiBCADIAMgBEkbIgMgA0EITRshAwJ/IAIEQCACIAMjBCgCABEBAAwBCyADIwUoAgARAAALIQIgACADNgKMASAAIAI2AoQBIAAoAogBIgRBAWoFIAMLNgKIASACIARqQQ06AAAMBQsgACgChAEhAiAAIARBAWoiAyAAKAKMASIFSwR/QQggBUEBdCIEIAMgAyAESRsiAyADQQhNGyEDAn8gAgRAIAIgAyMEKAIAEQEADAELIAMjBSgCABEAAAshAiAAIAM2AowBIAAgAjYChAEgACgCiAEiBEEBagUgAws2AogBIAIgBGpBCToAAAwECyACQTBGDQILIAAoAoQBIQIgASgCACEGAkAgBCABLQAQIgNqIgUgACgCjAFNDQACfyACBEAgAiAFIwQoAgARAQAMAQsgBSMFKAIAEQAACyECIAAgBTYCjAEgACACNgKEASAAKAKIASIHIARNDQAgAiAFaiACIARqIAcgBGsQDhoLAkAgA0UNACACIARqIQIgBgRAIAIgBiADEA0aDAELIAJBACADEBAaCyAAIAAoAogBIANqNgKIAQwCCwJAAkACfwJAIAJB3ABHBEAgAkEKRg0EQQAgAkEiRw0HGiAAKAKEASECIAEoAgAiCCADayIGIAAoAogBIgRqIgUgACgCjAFNDQMgAkUNASACIAUjBCgCABEBAAwCCyAAKAKEASECAkAgASgCACIHIANrIgYgACgCiAEiBGoiBSAAKAKMAU0NAAJ/IAIEQCACIAUjBCgCABEBAAwBCyAFIwUoAgARAAALIQIgACAFNgKMASAAIAI2AoQBIAAoAogBIgkgBE0NACACIAVqIAIgBGogCSAEaxAOGgsCQCADIAdGDQAgAiAEaiECIAMEQCACIAMgBhANGgwBCyACQQAgBhAQGgsgACAAKAKIASAGajYCiAEgASgCAEEBaiEDQQEMBgsgBSMFKAIAEQAACyECIAAgBTYCjAEgACACNgKEASAAKAKIASIHIARNDQAgAiAFaiACIARqIAcgBGsQDhoLAkAgAyAIRg0AIAIgBGohAiADBEAgAiADIAYQDRoMAQsgAkEAIAYQEBoLIAAgACgCiAEgBmo2AogBQQAMBgsMAwsgACgChAEhAiAAIARBAWoiAyAAKAKMASIFSwR/QQggBUEBdCIEIAMgAyAESRsiAyADQQhNGyEDAn8gAgRAIAIgAyMEKAIAEQEADAELIAMjBSgCABEAAAshAiAAIAM2AowBIAAgAjYChAEgACgCiAEiBEEBagUgAws2AogBIAIgBGpBADoAAAsgASgCACABLQAQaiEDQQALIQQgARARDQELCyABQQA6ABAgASAINgIAQQELIQIgARARGgsgAgtuAQN/IAAoAgRBAWoiASAAKAIIIgJLBEBBCCACQQF0IgIgASABIAJJGyIBIAFBCE0bIgJBFGwhAQJ/IAAoAgAiAwRAIAMgASMEKAIAEQEADAELIAEjBSgCABEAAAshASAAIAI2AgggACABNgIACwulBAEEfyAABEAgACgCPCIBBEAgASMGKAIAEQIAIABBADYCRCAAQgA3AjwLIAAoAkgiAQRAIAEjBigCABECACAAQQA2AlAgAEIANwJICyAAKAJUIgEEQCABIwYoAgARAgAgAEEANgJcIABCADcCVAsgACgCYCIBBEAgASMGKAIAEQIAIABBADYCaCAAQgA3AmALIAAoAmwiAQRAIAEjBigCABECACAAQQA2AnQgAEIANwJsCyAAKAKEASIBBEAgASMGKAIAEQIAIABBADYCjAEgAEIANwKEAQsgACgCeCIBBEAgASMGKAIAEQIAIABBADYCgAEgAEIANwJ4CyAAKAKQASIBBEAgASMGKAIAEQIAIABBADYCmAEgAEIANwKQAQsgACgCACIBBEAgASMGKAIAEQIAIABBADYCCCAAQgA3AgALIAAoAgwiAQRAIAEjBigCABECACAAQQA2AhQgAEIANwIMCyAAKAIYIgEEQCABIwYoAgARAgAgAEEANgIgIABCADcCGAsgACgCJCIBBEAgASMGKAIAEQIAIABBADYCLCAAQgA3AiQLIAAoAjQiAgRAQQAhAQNAIAAoAjAgAUEMbGoiAygCACIEBEAgBCMGKAIAEQIAIANBADYCCCADQgA3AgAgACgCNCECCyABQQFqIgEgAkkNAAsLIAAoAjAiAQRAIAEjBigCABECACAAQQA2AjggAEIANwIwCyAAIwYoAgARAgALC40aASd/IwBB0ABrIgckACACQQA2AkAgAkEANgI0IAJBGGohFyACQSRqIRwgAkEMaiEQAkADQAJAIAIoAgRFBEAgAigCHEUNAyAhIAIoAjQiIU8NAyAHIAIoAgg2AhAgByACKQIANwMIIAIgFygCCDYCCCACIBcpAgA3AgAgFyAHKAIQNgIIIBcgBykDCDcCACAdQQFqIR0MAQsgAigCJCEDIAIoAgwhCgJAIAIoAhAiCyACKAIoIgRqIgYgAigCLE0NACAGQQJ0IQUCfyADBEAgAyAFIwQoAgARAQAMAQsgBSMFKAIAEQAACyEDIAIgBjYCLCACIAM2AiQgAigCKCIGIARNDQAgAyAFaiADIARBAnRqIAYgBGtBAnQQDhoLAkAgC0UNACALQQJ0IQUgAyAEQQJ0aiEDIAoEQCADIAogBRANGgwBCyADQQAgBRAQGgtBACEDIAJBADYCECACIAIoAiggC2o2AihBACERAkAgAigCBCIIRQ0AA0AgAigCACARQQJ0aigCACENAkACfwJAIANFBEAgDS8BQCEFDAELIBAoAgAgA0ECdGpBBGsoAgAiBC8BQCELAkACQAJAIA0vAUAiBQRAQQAhAwNAIAMgC0YNAyANIANBA3QiCmovAQQiBiAEIApqLwEEIgpJDQMgBiAKSw0CIANBAWoiAyAFRw0ACwsgBSALSQ0AIA0vAUIiAyAELwFCIgRJDQMgAyAETQ0CCyAIIBFNDQYDQCACKAIAIBFBAnRqKAIAIQMCfyACKAIoIgQEQCACIARBAWsiBDYCKCACKAIkIARBAnRqKAIADAELQcYAIwUoAgARAAALIANBxgAQDSELIAIoAgwhAyACIAIoAhAiCUEBaiIEIAIoAhQiBUsEf0EIIAVBAXQiBSAEIAQgBUkbIgQgBEEITRsiBUECdCEEAn8gAwRAIAMgBCMEKAIAEQEADAELIAQjBSgCABEAAAshAyACIAU2AhQgAiADNgIMIAIoAhAiCUEBagUgBAs2AhAgAyAJQQJ0aiALNgIAIBFBAWoiESACKAIESQ0ACwwGCyAFQQN0IA1qQQhrDAILIBAgHCANEEoMAgsgBUEDdCANakEIayANIAVB//8DcRsLIQggASgCBCIDRQ0AIAgvAQIhCyABKAIAIQVBACEEIANBAUcEQANAIAQgBCADQQF2IgpqIgQgBSAEQRxsai8BACALSxshBCADIAprIgNBAUsNAAsLIAUgBEEcbGoiGS8BACALRw0AIAgvAQYgDS8BQkEUbCEEIAgvAQQhGgJ/IAgvAQAiFCAAKAKcASISKAIYIiNPBEAgEigCLCASKAIwIBQgI2tBAnRqKAIAQQF0aiIKQQJqIR4gCi8BAAwBCyASKAIoIBIoAgQgFGxBAXRqQQJrIQpBACEeQQALIR9B//8BcSEnIAAoAjwgBGohEyAaQQFqISRBACElQf//AyEVIBpBAXQhKEEAIQtBACEbA0ACQAJAAn8CQAJAAkAgFCAjSQRAIBIoAgQhCwNAIAsgFUEBaiIVQf//A3EiBE0NCSAKLwECIQMgCkECaiIFIQogA0UNAAsMAQsgCkECaiIDIB5HDQEgH0H//wNxRQ0HIApBBmoiBSAKLwEEQQF0aiEeIB9BAWshHyAKLwECIQMgCi8BBiIVIQQLIBIoAgwgBEsNASAFIQoMAwsgAy8BACEVIAMMAQsgEigCNCADQf//A3FBA3RqIgNBCGohJSADLQAAIRtBACELIAULIQogG0UEQCALIQMMAQsgJSAbQQN0aiIDQQhrLQAADQIgA0EEay0AAARAIAshAyAaIQQgFCEWDAILIANBBmsvAQAhFiALIQMgJCEEDAELQQAhC0EAIRsgJCEEIAMhFiADQf//A3FFDQELIAMhCyAEQf8AcSEYAkAgGSgCFCIERQRAQQAhDwwBCyAZKAIQIQZBACEPIAQiA0EBRwRAA0ACQAJAIAYgDyADQQF2IgxqIgVBBmxqIgkvAQAiCCAWQf//A3EiDkkNACAIIA5LDQEgCS0ABCIIQf8AcSIOIBhJDQAgCMBBAEgNASAOIBhLDQEgCS8BAg0BCyAFIQ8LIAMgDGsiA0EBSw0ACwsgBiAPQQZsaiIDLwEAIgUgFkH//wNxIgZPBEAgBSAGSw0BIAMtAARB/wBxIBhPDQELIA9BAWohDwsgBCAPTQ0AIBVB//8DcSEgA0AgD0EGbCEDIA9BAWohDyAWQf//A3EiKSADIBkoAhBqIgMvAQBHDQEgAy0ABCIEwCAEQf8AcSAYRw0BIAAoApwBIQQCQCADLwECIgMEQCAEKAJUIAQvASQgA2xBAXRqIChqLwEAIgUNAQtBACEFIAQoAkggIEEDbGotAABBAUcNACAEKAJMICBBAXRqLwEAIQULAkAgJyIMDQBBACEMIAQoAiBFDQAgBCgCQCADQQJ0aiIDLwECIgZFDQAgBCgCRCADLwEAQQJ0aiIDIAZBAnRqIQYDQAJAIAMtAAMNACAaIAMtAAJHDQAgAy8BACEMDAILIANBBGoiAyAGRw0ACwsgB0EIaiImIA1BxgAQDRogBy8BSCIJQQN0Ig4gB2oiAyAmIAkbIgYgFjsBACAGIBg7AQRBAEgEQCADICYgCRsiCCAILwEGQYCAAnI7AQYLAkACQAJAAkACQCAFQf//A3EiBQRAAn8gEy8BACIDRQRAQQEgEy8BEkEBcUUNARogBCgCSCAFQQNsai0AAQwBCyADIAVGCyATLwEEIgNFIAMgDEH//wNxRnJxIQ4gEy8BAiIERQ0BIA0vAUAiBUUEQEEAIQ4MAgtBACEDIAQgDS8BAkYNAQNAIAUgA0EBaiIDRwRAIA0gA0EDdGovAQIgBEcNAQsLIAMgBUkgDnEhDgwBCyAgIAQoAgxPBEAgAyAHQQhqIAkbLgEGQQBOBEAgCUEHTwRAIAJBAToASAwHCyAHIAlBAWo7AUggB0EIaiAOaiEGC0EAIQggBkEAOwEEIAYgFTsBAiAGIBQ7AQAgBiAMQf//AXE7AQZBACEEIAcvAUgiCUUNAwNAAkAgBEUNACAHQQhqIARBA3RqLwECIQVBACEDA0AgBSAHQQhqIANBA3RqLwECRwRAIAQgA0EBaiIDRw0BDAILCyAIQQFqIQgLIARBAWoiBCAJRw0ACyAIIB1LDQILQQAhDgsCQCAJRQ0AA0AgBi4BBkEATg0BIAcgCUEBayIJOwFIIAcgCUH//wNxIgNBA3RqIQYgAw0ACwsgDkUNASAAKAI8IQQgBy8BSiEDA0AgBCADQQFqIgNB//8DcUEUbGoiCS8BDCIFQf//A0cEQCAFIBMvAQxLDQELCyAHIAM7AUoMAgsgFyAcIAdBCGoQSgwCC0EAIQ4gEyEJIBQgKUYNAQsDQCAJLwESIgNBCHEEQCAHIAcvAUpBAWo7AUogCUEUaiEJDAELAkAgA0EQcQ0AIAAoAjwgBy8BSiIMQRRsai8BDCATLwEMRwRAIAIoAjwhDCACKAJAIgYEfyANLwFEIQVBACEDIAYiBEEBRwRAA0AgAyAEQQF2IgggA2oiAyAMIANBAXRqLwEAIAVLGyEDIAQgCGsiBEEBSw0ACwsgBSAMIANBAXRqLwEAIgRGDQIgAyAEIAVJagVBAAshAyAGQQFqIgQgAigCREsEQCAEQQF0IQUCfyAMBEAgDCAFIwQoAgARAQAMAQsgBSMFKAIAEQAACyEMIAIgBDYCRCACIAw2AjwgAigCQCEGCyADQQF0IQQgAyAGSQRAIAQgDGoiBUECaiAFIAYgA2tBAXQQDhoLIAQgDGogDS8ARDsAACACIAIoAkBBAWo2AkAMAQsgBy8BSEUEQCACKAIwIQhBACEDIAIoAjQiBiEEAkACQAJAIAYiBQ4CAgEACwNAIAMgBEEBdiIFIANqIgMgCCADQQF0ai8BACAMSxshAyAEIAVrIgRBAUsNAAsLIAggA0EBdGovAQAiBCAMRg0CIAMgBCAMSWohBQsgBkEBaiIDIAIoAjhLBEAgA0EBdCEEAn8gCARAIAggBCMEKAIAEQEADAELIAQjBSgCABEAAAshCCACIAM2AjggAiAINgIwIAIoAjQhBgsgBUEBdCEDIAUgBkkEQCADIAhqIgRBAmogBCAGIAVrQQF0EA4aCyADIAhqIAw7AAAgAiACKAI0QQFqNgI0DAELIBAgHCAHQQhqEEoLIA5FDQEgCS8BDiIDQf//A0YNASADIAcvAUpNDQEgByADOwFKIAAoAjwgA0EUbGohCQwACwALIBkoAhQgD0sNAAsMAAsACyARQQFqIhEgAigCBCIITw0BIAIoAhAhAwwACwALIAcgAigCCDYCECAHIAIpAgA3AwggAiAQKAIINgIIIAIgECkCADcCACAQIAcoAhA2AgggECAHKQMINwIACyAiQQFqIiJBgAJHDQALIAJBAToASAsgB0HQAGokAAuXBwEQfwJAIAAtABxFBEAgACgCBCIHIAAoAggiAkEcbGpBHGsoAgAoAAAhBgJAA0AgAiEBAkAgBkEBcQR/IAZBAXZBAXEFIAYvASxBAXELRQRAIAFBAkkNASAHIAFBHGxqIgRBOGsoAgAoAgAvAUIiA0UNASAAKAIUIgIoAlQgAi8BJCADbEEBdGogBEEIaygCAEEBdGovAQBFDQELIAAgACgCGEEBazYCGAsgACABQQFrIgI2AgggAkUNASAHIAJBHGxqIgRBHGsoAgAoAAAiBkEBcQ0AIAYoAiQiDCAEKAIQQQFqIglNDQALIAQoAgwhDSAEKAIIIQ4CfyAEKAIAIgMoAAAiBUEBcQRAIAMtAAVBD3EhCCADLQAEIQogAy0AByILIAMtAAZqDAELQQAgBSgCDCAFKAIUIgMbIQogAyAFKAIIaiEIIAUoAhghCyAFKAIQIAUoAgRqCyEPIAQoAgQhECAEKAIUIQQgBUEBcQR/IAVBA3ZBAXEFIAUvASxBAnZBAXELIQUgACgCDCIDIAFJBEAgB0EIIANBAXQiAiABIAEgAkkbIgEgAUEITRsiAUEcbCMEKAIAEQEAIQcgACABNgIMIAAgBzYCBCAAKAIIIQILIAAgAkEBajYCCCAHIAJBHGxqIgFBADYCGCABIAQgBUVqNgIUIAEgCTYCECABIAggDmqtIAogC2pBACANIAgbaq1CIIaENwIIIAEgDyAQajYCBCABIAlBA3RBACAGIAxBA3RrIAZBAXEbaiIENgIAAkACfyAAKAIEIAAoAggiAUEcbGoiA0EcaygCACgAACICQQFxBEAgAkEBdkEBcQwBCyACLwEsQQFxC0UEQCABQQJJDQEgA0E4aygCACgCAC8BQiICRQ0BIAAoAhQiASgCVCABLwEkIAJsQQF0aiADQQhrKAIAQQF0ai8BAEUNAQsCfyAEKAAAIgFBAXEEQCAELQAGDAELIAEoAgQLBEAgAEEBOgAcDwsMAwsgAEEAEDEaCw8LIABBADoAHAJAAn8gACgCBCAAKAIIIgFBHGxqIgNBHGsoAgAoAAAiAkEBcQRAIAJBAXZBAXEMAQsgAi8BLEEBcQtFBEAgAUECSQ0BIANBOGsoAgAoAgAvAUIiAkUNASAAKAIUIgEoAlQgAS8BJCACbEEBdGogA0EIaygCAEEBdGovAQBFDQELDAELIABBABAxGg8LIAAgACgCGEEBajYCGAvRIAIXfwF+IwBBgAJrIggkACAAKAL4CCIJKAIEIRwgCCADNgLYASAIQYQBaiAJIAEjAkEJaiAIQdgBaiADEB0gCCgCiAEiEARAQRhBACACQf3/A0sbIR0gAEH8CGohFiAAQbwJaiEbIABBsAlqIRcgAkEDbCEeA0AgCCgChAEiCiAUQQR0aiIDKAIEIQsgAygCACEJAkAgAygCDCISIBhrIhlBC08EQCAAKAL4CCAZEBZBACEDIAsEQANAIAggCSADQQN0aikCADcDCCAWIAhBCGoQCiADQQFqIgMgC0cNAAsLIAkEQCAJIwYoAgARAgALIBhBAWohGCAUQQFqIgkgEE8NASAKIAlBBHRqIgMoAgwgEkcNAQNAIAMoAgAhC0EAIQMgCiAJIhRBBHRqKAIEIgkEQANAIAggCyADQQN0aikCADcDACAWIAgQCiADQQFqIgMgCUcNAAsLIAsEQCALIwYoAgARAgALIBRBAWoiCSAQRg0CIBIgCiAJQQR0aiIDKAIMRg0ACwwBCyAIIAMoAgg2AoABIAggCzYCfCAIIAk2AnggCEH4AGoiAyAXEHogACgClAkhDyMAQeAAayIJJABBASELQQIhDQJAAkACQCACQf7/A2sOAgACAQtBACENQQAhCwwBCyAPKAJIIAJBA2xqIgotAABB5QBxIQsgCi0AAUEBdCENCyADKAIAIQogAygCBCIMQQN0QcwAaiIOIAMoAghBA3RLBEAgCiAOIwQoAgARAQAhCiADIA5BA3Y2AgggAyAKNgIAIAMoAgQhDAsgCUIANwNQIAlCADcDSCAJQUBrIg5CADcDACAJQgA3AyAgCUEANgIoIAlBATYCXCAJQgA3AzggCUEAOwEuIAlCADcDGCAJQgA3AwggCSAFOwEWIAkgAjsBMCAJIAsgDXJB/wFxQRhBACACQf3/A0sbcjsBLCAJIAw2AjQgCiAMQQN0aiIDIAkoAlw2AgAgAyAJKQNQNwIcIAMgCSkDSDcCFCADIA4pAwA3AgwgAyAJKQM4NwIEIAMgCSgCNDYCJCADIAkvATA7ASggAyAJLwEuOwEqIAMgCS8BLDsBLCADIAkoAig2AT4gAyAJKQMgNwE2IAMgCSkDGDcBLiADIAkvARY7AUIgAyAJKQMINwJEIAggAzYCcCAJIAgpAnA3AwAgCSAPEBcgCUHgAGokAAJAIBRBAWoiCiAQTw0AIAgoAoQBIApBBHRqIgMoAgwgEkcNAANAIAohFCADKAIIIRogAygCBCELIAMoAgAhDSAAQQA2AsAJAkAgCyIJRQRAIAggCCkDcDcDkAEgACgCyAkhA0EAIQlBACEKDAELAkACfwNAIAAoAsAJIgoCfyANIAlBA3RqIgNBCGsoAgAiDEEBcQRAIAxBA3ZBAXEMAQsgDC8BLEECdkEBcQtFDQEaIANBBGsoAgAhDyAAKAK8CSEDIAAgCkEBaiIQIAAoAsQJIg5LBH9BCCAOQQF0IgogECAKIBBLGyIKIApBCE0bIhBBA3QhCgJ/IAMEQCADIAojBCgCABEBAAwBCyAKIwUoAgARAAALIQMgACAQNgLECSAAIAM2ArwJIAAoAsAJIgpBAWoFIBALNgLACSADIApBA3RqIgMgDzYCBCADIAw2AgAgCUEBayIJDQALQQAhCSAAKALACQsiCkECSQ0AQQAhAyAKQQF2IgxBAUcEQCAMQf7///8HcSEQQQAhDANAIAAoArwJIg8gA0EDdCIOaiITKQIAIR8gEyAPIAAoAsAJIANBf3NqQQN0IhNqKQIANwIAIAAoArwJIBNqIB83AgAgACgCvAkiDyAOaiIOKQIIIR8gDiAPIAAoAsAJIANB/v///wFzakEDdCIOaikCADcCCCAAKAK8CSAOaiAfNwIAIANBAmohAyAMQQJqIgwgEEcNAAsLIApBAnFFDQAgACgCvAkiCiADQQN0aiIMKQIAIR8gDCAKIAAoAsAJIANBf3NqQQN0IgNqKQIANwIAIAAoArwJIANqIB83AgALIAggCCkDcDcDkAEgACgCyAkhAyAJIAAoAtAJTQRAIAlBA3QhCgwBCyAJQQN0IQoCfyADBEAgAyAKIwQoAgARAQAMAQsgCiMFKAIAEQAACyEDIAAgCTYC0AkgACADNgLICQsgACAJNgLMCSADIA0gChANGkEBIQ8gACgClAkhDkECIRACQAJAAkACfyAILQCQAUEBcQRAIAgtAJEBDAELIAgoApABLwEoCyIRQf//A3EiE0H+/wNrDgIAAgELQQAhEEEAIQ8MAQsgDigCSCATQQNsaiIDLQAAQeUAcSEPIAMtAAFBAXQhEAsgACgCyAkhAyAAKALMCSIMQQN0QcwAaiIVIAAoAtAJQQN0SwRAIAMgFSMEKAIAEQEAIQMgACAVQQN2NgLQCSAAIAM2AsgJIAAoAswJIQwLIAhCADcD8AEgCEIANwPoASAIQgA3A+ABIAhCADcDuAEgCEEANgLAASAIQQE2AvwBIAhCADcD2AEgCEEAOwHMASAIQgA3A7ABIAhCADcDoAEgCEEAOwGuASAIIBE7AdABIAggDyAQckH/AXFBGEEAIBNB/f8DSxtyOwHIASAIIAw2AtQBIAMgDEEDdGoiAyAIKAL8ATYCACADIAgpA/ABNwIcIAMgCCkD6AE3AhQgAyAIKQPgATcCDCADIAgpA9gBNwIEIAMgCCgC1AE2AiQgAyAILwHQATsBKCADIAgvAcwBOwEqIAMgCC8ByAE7ASwgAyAIKALAATYBPiADIAgpA7gBNwE2IAMgCCkDsAE3AS4gAyAILwGuATsBQiADIAgpA6ABNwJEIAggAzYCmAEgCCAIKQKYATcDWCAIQdgAaiAOEBcgCCAIKQOQATcDUCAIIAgpApgBNwNIAkAgACAIQdAAaiAIQcgAahB1BEBBACEDIAAoArQJBEADQCAIIAAoArAJIANBA3RqKQIANwM4IBYgCEE4ahAKIANBAWoiAyAAKAK0CUkNAAsLIABBADYCtAkgCCAIKQNwIh83A2ggCCAfNwMwIBYgCEEwahAKIAggGygCCDYC4AEgCCAbKQIANwPYASAbIBcoAgg2AgggGyAXKQIANwIAIBcgCCgC4AE2AgggFyAIKQPYATcCAEEBIQMgACgClAkhC0ECIQwCQAJAAkAgAkH+/wNrDgIAAgELQQAhDEEAIQMMAQsgCygCSCAeaiIMLQAAQeUAcSEDIAwtAAFBAXQhDAsgCkHMAGoiCiAaQQN0SwRAIA0gCiMEKAIAEQEAIQ0LIAhCADcD8AEgCEIANwPoASAIQgA3A+ABIAhCADcDuAEgCEEANgLAASAIQQE2ApABIAhCADcD2AEgCEEAOwHQASAIQgA3A7ABIAhCADcDoAEgCCACOwHUASAIIAU7AcgBIAggHSADIAxyQf8BcXI7AcwBIAggCTYC/AEgDSAJQQN0aiIDIAgoApABNgIAIAMgCCkD8AE3AhwgAyAIKQPoATcCFCADIAgpA+ABNwIMIAMgCCkD2AE3AgQgAyAIKAL8ATYCJCADIAgvAdQBOwEoIAMgCC8B0AE7ASogAyAILwHMATsBLCADIAgoAsABNgE+IAMgCCkDuAE3ATYgAyAIKQOwATcBLiADIAgvAcgBOwFCIAMgCCkDoAE3AkQgCCADNgKYASAIIAgpA5gBNwMoIAhBKGogCxAXIAggCCkDmAE3A3AMAQtBACEDIABBADYCwAkgCwRAA0AgCCANIANBA3RqKQIANwNAIBYgCEFAaxAKIANBAWoiAyALRw0ACwsgDUUNACANIwYoAgARAgALIBRBAWoiCiAIKAKIASIQTw0BIAgoAoQBIApBBHRqIgMoAgwgEkYNAAsLIAAoApQJIBlBBXQiEyAAKAL4CCgCAGooAgAvAQAiCiACEDYhDgJAIAdFDQAgCiAORw0AIAgoAnAiAyADLwEsQQRyOwEsCyAIKAJwIQMCQAJAIBBBAUsNACAGDQAgHEECSQ0BCyADIAMvASxBGHI7ASxB//8DIQoLIAMgCjsBKiADIAMoAjwgBGo2AjwgACgC+AggCCAIKQNwIh83A2AgCCAfNwMgQQAhDCAZIAhBIGpBACAOEBsgACgCtAkEQANAIAAoAvgIIgMoAgAgE2oiFSgCACEKIAAoArAJIAxBA3RqKQAAIh+nIQkCfyADKAIoIgsEQCADIAtBAWsiCzYCKCADKAIkIAtBAnRqKAIADAELQaQBIwUoAgARAAALIgMgDjsBACADQQJqQQBBkgEQEBogA0IANwKYASADQQE2ApQBIANBADYCoAECQCADAn8CQAJAIAoEQCADIB83AhQgAyAKNgIQIANBATsBkAEgAyAKKQIENwIEIAMgCigCDDYCDCADIAooApgBIgs2ApgBIAMgCigCoAEiGjYCoAEgAyAKKAKcASIKNgKcASAJRQ0BIAlBAXEiEQ0CIAMgCS0ALUECcQR/QeIEBSAJKAIgCyALajYCmAFBACAJKAIMIAkoAhQiDRshCyANIAkoAghqIQ0gCSgCGCEPIAkoAhAgCSgCBGoMAwsgA0IANwIEQQAhCiADQQA2AgwgCQ0DCyAVIAo2AggMAgsgAyALIAlBGnRBH3VB4gRxajYCmAEgH0IgiKdB/wFxIQsgH0IoiKdBD3EhDSAfQjiIpyIPIB9CMIinQf8BcWoLIAMoAARqNgIEIAMgAygACCANaq0gCyAPakEAIAMoAAwgDRtqrUIghoQ3AggCQCARRQRAQQAhDSADIAkoAiQiCwR/IAkoAjgFQQALIApqIAkvASxBAXFqIAkvAShB/v8DRmo2ApwBIAtFDQEgCSgCPCENDAELIAMgCiAJQQF2QQFxajYCnAFBACENCyADIA0gGmo2AqABCyAVIAM2AgAgDEEBaiIMIAAoArQJSQ0ACwtBACEDIBIgGEYNAANAAkAgASADRg0AIAAoAvgIIg4oAgAiCSADQQV0aiIMKAIcDQAgCSATaiIPKAIcDQAgDCgCACINLwEAIhogDygCACIKLwEARw0AIA0oAgQgCigCBEcNACANKAKYASAKKAKYAUcNACAPKAAMIQkCfyMBQbwLaiIRIAwoAAwiC0UNABogESALQQFxDQAaIBEgCy0ALEHAAHFFDQAaIBEgC0EwaiALKAIkGwsiCygCGCEVAkACfyMBQbwLaiIRIAlFDQAaIBEgCUEBcQ0AGiARIAktACxBwABxRQ0AGiARIAlBMGogCSgCJBsLIgkoAhgiEkEZTwRAIBIgFUcNAiALKAIAIQsgCSgCACEJDAELIBIgFUcNAQsgCyAJIBIQGA0AIAovAZABBH9BACEDA0AgDigCNCEJIAwoAgAgCCAKIANBBHRqIgopAhg3AxggCCAKKQIQNwMQIAhBEGogCRAjIANBAWoiAyAPKAIAIgovAZABSQ0ACyAMKAIAIg0vAQAFIBoLRQRAIAwgDSgCnAE2AggLIA4gGRAWIBhBAWohGAwCCyADQQFqIgMgGUcNAAsLIBRBAWoiFCAQSQ0ACwsgACgC+AgoAgQhACAIQYACaiQAQX8gHCAAIBxNGwuBCgIQfwJ+IwBBwAFrIgMkACAAKAL4CCADIAIpAgA3AzggASADQThqQQBBARAbIANB3ABqIAAoAvgIIAEjAkEMakEAQQAQHSADKAJgBEAgAEGoCWohDSAAQfwIaiEOIwFB8AtqKQMAIRQDQCADKAJcIA9BBHRqIgUoAgghCyAFKAIEIQIgBSgCACEIIAMgFDcDUCAUIRMCQCACIgVFDQADQCADIAggBUEBayIJQQN0IhBqKQIAIhM3A0gCQAJAIBOnIgRBAXEEQCATQgiDQgBSDQJBACEKQQEhBkEAIQcMAQsgBC0ALEEEcQ0BIAQgBCgCJCIHQQN0ayEKIAdFBEBBACEHQQEhBgwBC0EAIQQgB0EBRwRAIAdBfnEhEUEAIQwDQCAKIARBA3RqIhIoAAAiBkEBcUUEQCAGIAYoAgBBAWo2AgAgBigCABoLIBIoAAgiBkEBcUUEQCAGIAYoAgBBAWo2AgAgBigCABoLIARBAmohBCAMQQJqIgwgEUcNAAsLIAdFIQYgB0EBcUUNACAKIARBA3RqKAAAIgRBAXENACAEIAQoAgBBAWo2AgAgBCgCABoLIAIgB2pBAWsiBCALSwRAIARBA3QhCwJ/IAgEQCAIIAsjBCgCABEBAAwBCyALIwUoAgARAAALIQggBCELCyACIAVLBEAgCCAHIAlqQQN0aiAIIAVBA3RqIAIgBWtBA3QQDhoLAkAgBg0AIAdBA3QhAiAIIBBqIQUgCgRAIAUgCiACEA0aDAELIAVBACACEBAaCwJ/IAMtAEhBAXEEQCADKAJIIQkgAy0ASQwBCyADKAJIIgkvASgLIQJBASEFIAAoApQJIQcgCS8BQiEGQQIhCQJAAkACQCACQf//A3EiCkH+/wNrDgIAAgELQQAhCUEAIQUMAQsgBygCSCAKQQNsaiIJLQAAQeUAcSEFIAktAAFBAXQhCQsgBEEDdCIMQcwAaiIQIAtBA3RLBEAgCCAQIwQoAgARAQAhCAsgA0IANwOwASADQgA3A6gBIANCADcDoAEgA0IANwOAASADQQA2AogBIANBATYCvAEgA0IANwOYASADQQA7AY4BIANCADcDeCADQgA3A2ggAyAGOwF2IAMgAjsBkAEgAyAFIAlyQf8BcUEYQQAgCkH9/wNLG3I7AYwBIAMgBDYClAEgCCAMaiICIAMoArwBNgIAIAIgAykDsAE3AhwgAiADKQOoATcCFCACIAMpA6ABNwIMIAIgAykDmAE3AgQgAiADKAKUATYCJCACIAMvAZABOwEoIAIgAy8BjgE7ASogAiADLwGMATsBLCACIAMoAogBNgE+IAIgAykDgAE3ATYgAiADKQN4NwEuIAIgAy8BdjsBQiACIAMpA2g3AkQgAyACNgJAIAMgAykDQDcDMCADQTBqIAcQFyADIAMpA0AiEzcDUCADIAMpA0g3AyggDiADQShqEAoMAgsgCSIFDQALIBQhEwsgACAAKAKgCkEBajYCoAoCQAJAIAAoAqgJBEAgAyANKQIANwMgIAMgAykDUDcDGCAAIANBIGogA0EYahB1RQ0BIAMgDSkCADcDCCAOIANBCGoQCgsgDSATNwMADAELIAMgAykDUDcDECAOIANBEGoQCgsgD0EBaiIPIAMoAmBJDQALCyAAKAL4CCADKAJcKAIMEBYgACgC+AgoAgAgAUEFdGpBAjYCHCADQcABaiQAC4MTAhh/AX4jAEEwayIJJAAgCUEkaiAAKAL4CCICIAEjAkELakEAQQAQHQJ/IAkoAigiFQRAIABB9QBqIRAgAEH8CGohFgNAIAIgCSgCJCICKAIMIAEQKSACIAE2AgxBACERQQAhDwNAIAkoAiQgEUEEdGoiAigCBCESIAIoAgxBBXQiEyAAKAL4CCgCAGooAgAvAQAhBiAJIAIoAgAiFCkCACIaNwMYAkAgGqciAkEBcQ0AQQAhDCACKAIkIhdFDQADQCAGIQQgCSgCGCICIAIoAiRBA3RrIAxBA3RqIgIoAgQhCgJAAkACQAJAIAIoAgAiA0EBcSIORQRAQQAhBiADKAIkQQBHIQ8gAy8BKCIIQf//A0YNAyADLQAsQQRxRQ0BIAQhBgwDC0EAIQ8gA0EIcQ0DIANBgP4DcUEIdiEIDAELIAhB/v8DRg0BCyAEQf//A3EhAiAAKAKUCSIHKAIYIQYCQCAIIAcoAgxJBEACQAJAIAIgBk8EQCAHKAIsIAcoAjAgAiAGa0ECdGooAgBBAXRqIgIvAQAiGEUEQEEAIQIMAwsgAkECaiEFQQAhCwNAIAVBBGohAiAFLwECIg0EfyACIA1BAXRqQQAhBgNAIAIvAQAgCEYNBCACQQJqIQIgBkEBaiIGIA1HDQALBSACCyEFQQAhAiALQQFqIgsgGEcNAAsMAgsgBygCKCAHKAIEIAJsQQF0aiAIQQF0aiEFCyAFLwEAIQILQQAhBiAHKAI0IAJBA3RqIgItAAAiBUUNASACIAVBA3RqIgItAAANASAEIAJBCGoiAkEGay8BACACQQRrLQAAQQFxGyEGDAELAkAgAiAGTwRAIAcoAiwgBygCMCACIAZrQQJ0aigCAEEBdGoiAi8BACILRQRAQQAhBgwDCyACQQJqIQdBACEEA0AgB0EEaiECIAcvAQIiBQR/IAIgBUEBdGpBACEGA0AgAi8BACAIRg0EIAJBAmohAiAGQQFqIgYgBUcNAAsFIAILIQdBACEGIARBAWoiBCALRw0ACwwCCyAHKAIoIAcoAgQgAmxBAXRqIAhBAXRqIQcLIAcvAQAhBgsgDg0BCyADIAMoAgBBAWo2AgAgAygCABoLIAAoAvgIIgIoAgAgE2oiBygCACEEAn8gAigCKCIFBEAgAiAFQQFrIgU2AiggAigCJCAFQQJ0aigCAAwBC0GkASMFKAIAEQAACyICIAY7AQAgAkECakEAQZIBEBAaIAJCADcCmAEgAkEBNgKUASACQQA2AqABAkACfwJAAkAgBARAIAIgDzoAHCACIAOtIAqtQiCGhDcCFCACIAQ2AhAgAkEBOwGQASACIAQpAgQ3AgQgAiAEKAIMNgIMIAIgBCgCmAEiBTYCmAEgAiAEKAKgASINNgKgASACIAQoApwBIgg2ApwBIANFDQEgDg0CIAIgAy0ALUECcQR/QeIEBSADKAIgCyAFajYCmAFBACADKAIMIAMoAhQiChshBSADKAIQIAMoAgRqIQQgAygCGCELIAogAygCCGoMAwsgAkIANwIEQQAhCCACQQA2AgwgAw0DCyAHIAg2AggMAgsgAiAFIANBGnRBH3VB4gRxajYCmAEgCkH/AXEhBSAKQRh2IgsgCkEQdkH/AXFqIQQgCkEIdkEPcQshCiACIAIoAAQgBGo2AgQgAiACKAAIIApqrSAFIAtqQQAgAigADCAKG2qtQiCGhDcCCAJAIA5FBEBBACEEIAIgAygCJCIFBH8gAygCOAVBAAsgCGogAy8BLEEBcWogAy8BKEH+/wNGajYCnAEgBUUNASADKAI8IQQMAQsgAiAIIANBAXZBAXFqNgKcAUEAIQQLIAIgBCANajYCoAELIAcgAjYCACAMQQFqIgwgF0cNAAsLQQEhDCASQQFLBEADQCAAKAL4CCICKAIAIBNqIgooAgAhBCAUIAxBA3RqKQIAIhqnIQMCfyACKAIoIgUEQCACIAVBAWsiBTYCKCACKAIkIAVBAnRqKAIADAELQaQBIwUoAgARAAALIgIgBjsBACACQQJqQQBBkgEQEBogAkIANwKYASACQQE2ApQBIAJBADYCoAECQCACAn8CQAJAIAQEQCACIBo3AhQgAiAENgIQIAJBATsBkAEgAiAEKQIENwIEIAIgBCgCDDYCDCACIAQoApgBIgU2ApgBIAIgBCgCoAEiCzYCoAEgAiAEKAKcASIENgKcASADRQ0BIANBAXEiDg0CIAIgAy0ALUECcQR/QeIEBSADKAIgCyAFajYCmAFBACADKAIMIAMoAhQiBRshByAFIAMoAghqIQggAygCGCEFIAMoAhAgAygCBGoMAwsgAkIANwIEQQAhBCACQQA2AgwgAw0DCyAKIAQ2AggMAgsgAiAFIANBGnRBH3VB4gRxajYCmAEgGkIgiKdB/wFxIQcgGkIoiKdBD3EhCCAaQjiIpyIFIBpCMIinQf8BcWoLIAIoAARqNgIEIAIgAigACCAIaq0gBSAHakEAIAIoAAwgCBtqrUIghoQ3AggCQCAORQRAQQAhCCACIAMoAiQiBQR/IAMoAjgFQQALIARqIAMvASxBAXFqIAMvAShB/v8DRmo2ApwBIAVFDQEgAygCPCEIDAELIAIgBCADQQF2QQFxajYCnAFBACEICyACIAggC2o2AqABCyAKIAI2AgAgDEEBaiIMIBJHDQALCyAJIAkpAxg3AxAgFiAJQRBqEAogFCMGKAIAEQIAAkAgACgCXEUEQCAAKAKACkUNAQsgACgClAkhBiMBQd0JaiECAkACQAJAAn8gCS0AGEEBcQRAIAktABkMAQsgCSgCGC8BKAtB//8DcSIEQf7/A2sOAgACAQsjAUHcCWohAgwBC0EAIQIgBigCCCAGKAIEaiAETQ0AIAYoAjggBEECdGooAgAhAgsgCSACNgIAIBBBgAgjAUHkBmogCRALGiAAKAJcIgIEQCAAKAJYQQAgECACEQMACyAQIQQgACgCgApFDQADQAJAAkAgBC0AACICQSJGDQAgAkHcAEYNACACDQEgACgCgAoiAkUNAyAAKAL4CCAAKAKUCSACECQjAUGVC2ogACgCgAoQGgwDC0HcACAAKAKAChAMIAQtAAAhAgsgAsAgACgCgAoQDCAEQQFqIQQMAAsACyARQQFqIhEgCSgCKEkNAAtBASAPRQ0CGiAJQSRqIAAoAvgIIgIgASMCQQtqQQBBABAdIAkoAigNAAsLIBVBAEcLIAlBMGokAAviCgEXfyMAQRBrIg8kACABIAAoAvgIIgcoAgQiEkkEQEEBIAIgAkEBTRshFiACQQFqIRcgEiERIAEhCANAIAcoAgAhDAJAIAggEksEQCAMIAhBBXRqIQ0gEiEDA0ACQCAMIANBBXRqIgkoAhwNACANKAIcDQAgCSgCACIKLwEAIhQgDSgCACIELwEARw0AIAooAgQgBCgCBEcNACAKKAKYASAEKAKYAUcNACMBIQsgDSgADCEGAn8gC0G8C2ogCSgADCIFRQ0AGiMBQbwLaiAFQQFxDQAaIwFBvAtqIAUtACxBwABxRQ0AGiMBQbwLaiAFQTBqIAUoAiQbCyEFIwEhCyAFKAIYIQ4CQAJ/IAtBvAtqIAZFDQAaIwFBvAtqIAZBAXENABojAUG8C2ogBi0ALEHAAHFFDQAaIwFBvAtqIAZBMGogBigCJBsLIgsoAhgiBkEZTwRAIAYgDkcNAiAFKAIAIQUgCygCACELDAELIAYgDkcNAQsgBSALIAYQGA0AIAQvAZABBH9BACEDA0AgBygCNCEFIAkoAgAgDyAEIANBBHRqIgQpAhg3AwggDyAEKQIQNwMAIA8gBRAjIANBAWoiAyANKAIAIgQvAZABSQ0ACyAJKAIAIgovAQAFIBQLRQRAIAkgCigCnAE2AggLIAcgCBAWDAMLIANBAWoiAyAIRw0ACwsgDCAIQQV0aigCAC8BACENIABBADYCoAkgFyEDAn8CQCACIgQEfyADBUEBIQQgACgClAkoAgwLQf//A3EiFCAETQ0AQQAhCyAWIQkDQAJAIAlB/f8DSw0AAkACQCAAKAKUCSIHKAIYIgMgDU0EQCAHKAIsIAcoAjAgDSADa0ECdGooAgBBAXRqIgMvAQAiDkUEQEEAIQMMAwsgA0ECaiEFQQAhCgNAIAVBBGohAyAFLwECIgwEfyADIAxBAXRqQQAhBANAIAkgAy8BAEYNBCADQQJqIQMgBEEBaiIEIAxHDQALBSADCyEFQQAhAyAKQQFqIgogDkcNAAsMAgsgBygCKCAHKAIEIA1sQQF0aiAJQQF0aiEFCyAFLwEAIQMLIAcoAjQgA0EDdGoiAy0AACIORQ0AIANBCGohGEEAIQYDQCAYIAZBA3RqIgMuAQQhCgJAAkACQCADLQAADgQAAQIAAgsgCkGAAnFFIApBAXNxIAtyIQsMAQsgAy0AASIHRQ0AIAMvAQYhGSADLwECIQwgACgCnAkhBUEAIQMgACgCoAkiBARAA0AgDCAFIANBBHRqIhUvAQRGBEAgFSgCACAHRg0DCyADQQFqIgMgBEcNAAsLIAAgBEEBaiIDIAAoAqQJIhVLBH9BCCAVQQF0IgQgAyADIARJGyIDIANBCE0bIgRBBHQhAwJ/IAUEQCAFIAMjBCgCABEBAAwBCyADIwUoAgARAAALIQUgACAENgKkCSAAIAU2ApwJIAAoAqAJIgRBAWoFIAMLNgKgCSAFIARBBHRqIgMgGTsBDCADIAo2AgggAyAMOwEEIAMgBzYCAAsgBkEBaiIGIA5HDQALCyAUIAlBAWoiCUH//wNxRw0AC0EAIQQCQCAAKAKgCUUEQEF/IQYMAQsDQCAAIAggACgCnAkgBEEEdGoiAy8BBCADKAIAIAMoAgggAy8BDEEBQQAQWCEGIARBAWoiAyEEIAMgACgCoAlJDQALC0EBIAtBAXENARogBkF/Rg0AIBNBBUsNACAAKAL4CCAGIAgQKQwCCyACBEAgACgC+AggCBAWCyAQCyARIAhBAWogASAIRhshCCEQCyATQQFqIRMgCCAAKAL4CCIHKAIEIhFJDQALCyAPQRBqJAAgEEEBcQv0BwIMfwN+IAEgA3IEQCABQQBHIQYgA0EARyEHA0AgACAKQRhsaiEFAn8CfyALQQFxIg4EQCAFQRRqIQggBUEIagwBCyAGQQFxRQRAQn8hEkF/DAILIAVBEGohCCAFCykCACESIAgoAgALIQUgAiANQRhsaiEGAkAgBQJ/An8gDEEBcSIPBEAgBkEUaiEIIAZBCGoMAQsgB0EBcUUEQEJ/IRFBfwwCCyAGQRBqIQggBgspAgAhESAIKAIACyIGSQRAAkAgDiAPRg0AAkAgBCgCBCIGRQ0AIAQoAgAgBkEYbGoiB0EEayIIKAIAIAlJDQAgCCAFNgIAIAdBEGsgEjcCAAwBCyAFIAlNDQAgBCgCACEIIAQgBkEBaiIHIAQoAggiD0sEf0EIIA9BAXQiBiAHIAYgB0sbIgYgBkEITRsiB0EYbCEGAn8gCARAIAggBiMEKAIAEQEADAELIAYjBSgCABEAAAshCCAEIAc2AgggBCAINgIAIAQoAgQiBkEBagUgBws2AgQgCCAGQRhsaiIGIAU2AhQgBiAJNgIQIAYgEjcCCCAGIBM3AgALIAtBAXMhCyAKIA5qIQoMAQsgCyAMcyEHAn8gBSAGSwRAAkAgB0EBcUUNAAJAIAQoAgQiBUUNACAEKAIAIAVBGGxqIgdBBGsiCCgCACAJSQ0AIAggBjYCACAHQRBrIBE3AgAMAQsgBiAJTQ0AIAQoAgAhCCAEIAVBAWoiByAEKAIIIg5LBH9BCCAOQQF0IgUgByAFIAdLGyIFIAVBCE0bIgdBGGwhBQJ/IAgEQCAIIAUjBCgCABEBAAwBCyAFIwUoAgARAAALIQggBCAHNgIIIAQgCDYCACAEKAIEIgVBAWoFIAcLNgIEIAggBUEYbGoiBSAGNgIUIAUgCTYCECAFIBE3AgggBSATNwIACyAMQQFzIQwgDSAPagwBCwJAIAdBAXFFDQACQCAEKAIEIgVFDQAgBCgCACAFQRhsaiIHQQRrIggoAgAgCUkNACAIIAY2AgAgB0EQayARNwIADAELIAYgCU0NACAEKAIAIQcgBCAFQQFqIgggBCgCCCIQSwR/QQggEEEBdCIFIAggBSAISxsiBSAFQQhNGyIIQRhsIQUCfyAHBEAgByAFIwQoAgARAQAMAQsgBSMFKAIAEQAACyEHIAQgCDYCCCAEIAc2AgAgBCgCBCIFQQFqBSAICzYCBCAHIAVBGGxqIgUgBjYCFCAFIAk2AhAgBSARNwIIIAUgEzcCAAsgDEEBcyEMIAtBAXMhCyAKIA5qIQogDSAPagshDSAGIQUgESESCyADIA1LIQcgEiETIAUhCSABIApLIgYNACAHDQALCwvWBwEPfyABQQhqKAIAIQogAUEQaigCACEHIAEoAhQhEyABKAIEIQkgASgCACENIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAAkAgBygCACIBQQFxDQADQCABKAIkRQ0BIAEvAUIiBwR/IBMoAggiCCgCVCAILwEkIAdsQQF0agVBAAshEiABKAIkIhRFDQECf0EAIAEgFEEDdGsiDiABQQFxGyIVKAAAIgFBAXEiCEUEQCABLwEsQQJ2QQFxDAELIAFBA3ZBAXELIgdFIRBBACELAkAgBw0AIBJFDQAgEi8BACELQQEhEAsCfyAIRQRAQQAgCiABKAIUIgcbIQ8gASgCGCEIIAEoAhAhDCAHIAlqDAELIBUtAAciDCEIIAohDyAJCyEHIAggD2ohCAJAAkAgBCAHSw0AIAQgB0YgBSAIS3ENACAHIAlGIAggCkZxRQRAIAIgB0sNASACIAdHDQIgAyAITw0BDAILIAIgCUsNACACIAlHDQEgAyAKTQ0BC0EBIQ8gFEEBRg0CIAwgDWohDQNAQQAhCwJ/IBUgD0EDdGoiDigAACIBQQFxIgwEQCABQQN2QQFxDAELIAEvASxBAnZBAXELRQRAIBIEfyASIBBBAXRqLwEABUEACyELIBBBAWohEAsCfyAPRQRAIAghCiAHDAELAn8gDARAIA4tAAQhCiAOLQAGIREgDi0ABUEPcQwBCyABKAIMIQogASgCBCERIAEoAggLIQlBACAIIAkbIApqIQogDSARaiENIAcgCWoLIQkCfyAMBEAgDi0AByIRIQggCiEMIAkMAQtBACAKIAEoAhQiBxshDCABKAIYIQggASgCECERIAcgCWoLIQcgCCAMaiEIAkAgBCAHSw0AIAQgB0YgBSAIS3ENAAJAIAcgCUcNACAIIApHDQAgAiAJSw0BIAIgCUcNAyADIApNDQMMAQsgAiAHSw0AIAIgB0cNAiADIAhJDQILIA0gEWohDSAPQQFqIg8gFEcNAAsMAgsgAiAJSQ0BIAIgCUYgAyAKSXENAQJAAkAgBgRAIAFBAXEEfyABQQF2QQFxBSABLwEsQQFxCyALcg0BDAILAkAgC0H+/wNrDgICAQALAkAgC0UEQCABQQFxRQ0BIAFBAnFFDQMgAUECdkEBcQ0CDAMLIBMoAggoAkggC0EDbGotAAFBAXFFDQIMAQsgAS8BLCIBQQFxRQ0BIAFBAXZBAXFFDQELIAAgEzYCFCAAIA42AhAgACALNgIMIAAgCjYCCCAAIAk2AgQgACANNgIACyAOKAIAIgFBAXFFDQALCwvaBgEQfyABQQhqKAIAIQcgAUEQaigCACEFIAEoAhQhEiABKAIEIQsgASgCACEIIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAAkAgBSgCACIBQQFxDQADQCABKAIkRQ0BIAEvAUIiDAR/IBIoAggiBSgCVCAFLwEkIAxsQQF0agVBAAshESABKAIkIhNFDQECf0EAIAEgE0EDdGsiDSABQQFxGyIUKAAAIgFBAXEiBUUEQCABLwEsQQJ2QQFxDAELIAFBA3ZBAXELIgZFIRBBACEJAkAgBg0AIBFFDQAgES8BACEJQQEhEAsCfyAFRQRAQQAgByABKAIUIgUbIQ8gASgCGCEKIAEoAhAhBiAFIAtqDAELIBQtAAciBiEKIAchDyALCyEFAkACQCAGIAhqIg4gA0kNACAGBEAgAiAOTw0BDAILIAIgDk0NAQtBASEGIBNBAUYNAiAKIA9qIQcDQEEAIQkCfyAUIAZBA3RqIg0oAAAiAUEBcSIMBEAgAUEDdkEBcQwBCyABLwEsQQJ2QQFxC0UEQCARBH8gESAQQQF0ai8BAAVBAAshCSAQQQFqIRALAn8gBkUEQCAFIQsgDgwBCwJ/IAwEQCANLQAFQQ9xIQggDS0ABiEKIA0tAAQMAQsgASgCCCEIIAEoAgQhCiABKAIMC0EAIAcgCBtqIQcgBSAIaiELIAogDmoLIQgCfyAMBEAgDS0AByIPIQogByEMIAsMAQtBACAHIAEoAhQiBRshDCABKAIYIQogASgCECEPIAUgC2oLIQUCQCAIIA9qIg4gA0kNACAPRQRAIAIgDk0NAwwBCyACIA5JDQILIAogDGohByAGQQFqIgYgE0cNAAsMAgsgAiAISQ0BAkACQCAEBEAgAUEBcQR/IAFBAXZBAXEFIAEvASxBAXELIAlyDQEMAgsCQCAJQf7/A2sOAgIBAAsCQCAJRQRAIAFBAXFFDQEgAUECcUUNAyABQQJ2QQFxDQIMAwsgEigCCCgCSCAJQQNsai0AAUEBcUUNAgwBCyABLwEsIgFBAXFFDQEgAUEBdkEBcUUNAQsgACASNgIUIAAgDTYCECAAIAk2AgwgACAHNgIIIAAgCzYCBCAAIAg2AgALIA0oAgAiAUEBcUUNAAsLC8MGAhd/AX4gASgCFCERIAEoAhAhBiABKAIIIQcgASgCBCEIIAEoAgAhBAJAA0AgG0IgiKchFCAbpyEVA0BBACEBQQAhCUEAIQpBACEOQQAhDAJ/QQAgBigCACILQQFxDQAaIAsoAiRFBEBBAAwBCyALLwFCIgUEQCARKAIIIgkoAlQgCS8BJCAFbEEBdGohDgsgCCEJIAchCiALIQwgBAshBUEAIQsDQAJAIAxFDQAgASAMQSRqKAIAIgZGDQADQEEAIQ8CfyABQQN0QQAgDCAGQQN0ayAMQQFxG2oiBigAACIEQQFxIggEQCAEQQN2QQFxDAELIAQvASxBAnZBAXELRQRAIA4EfyAOIAtBAXRqLwEABUEACyEPIAtBAWohCwsCfyABRQRAIAUhBCAKIQcgCQwBCwJ/IAgEQCAGLQAFQQ9xIQggBi0ABCEHIAYtAAYMAQsgBCgCDCEHIAQoAgghCCAEKAIEC0EAIAogCBsgB2ohByAFaiEEIAggCWoLIQggACARNgIUIAAgBjYCECAAIA82AgwgACAHNgIIIAAgCDYCBCAAIAQ2AgACfyAGKAAAIgVBAXEEQCAGLQAHIgUhCiAHIRAgCAwBC0EAIAcgBSgCFCIJGyEQIAUoAhghCiAFKAIQIQUgCCAJagshCSABQQFqIQEgCiAQaiEKIAQgBWohBQJAAn8gBikCACIbpyINQQFxIhMEQCAbQjiIpwwBCyANKAIQCyAEaiACTQ0AAkAgAwRAIBMEfyANQQF2QQFxBSANLwEsQQFxCyAPckUNAQwICwJAIA9B/v8Daw4CAQgACyAPRQRAIBMEQCANQQJxRQ0CIA1BAnZBAXFFDQIMCQsgDS8BLCIQQQFxRQ0BIBBBAXZBAXFFDQEMCAsgESgCCCgCSCAPQQNsai0AAUEBcQ0HCyATDQAgDSgCJCIQRQ0AIA0oAjBFDQAgASAQTw0EIAmtIAqtQiCGhCEbQQEhEiAMIRYgBSEXIAEhGCALIRkgDiEaDAULIAEgDCgCJCIGRw0ACwsgEkEAIRIgFyEFIBUhCSAUIQogGCEBIBkhCyAaIQ4gFiEMDQALCwsgAEIANwIAIABCADcCECAAQgA3AggLC8oQAil/An4jAEHAAWsiAyQAIAMgASgCECIoKQIAIi03A4gBIC1COIghLCAtpyIEQQFxBH8gLKcgLUIwiKdB/wFxagUgBCgCECAEKAIEagshKSAEQQFxBH8gLKcFIAQoAhALIREgASgCECEGAn8gASgCFCIFKAAAIgRBAXEEQCAFLQAFQQ9xIRAgBS0ABiESIAUtAAQMAQsgBCgCCCEQIAQoAgQhEiAEKAIMCyETIAEoAgAhByADIAU2ArwBIAMgBTYCuAEgA0EANgK0ASADIBM2ArABIAMgEDYCrAEgAyASNgKoAQJAAkAgBSAGRg0AIAMgAykCsAE3A3AgAyADKQK4ATcDeCADIAMpAqgBNwNoIAMgASkCCDcDWCADIAEpAhA3A2AgAyABKQIANwNQIANBkAFqIANB6ABqIANB0ABqEB8CQCADKAKgASIEIAZGDQAgBEUNAANAIAMgAykCoAEiLTcDuAEgAyADKQKYASIsNwOwASADQUBrICw3AwAgAyAtNwNIIAMgAykCkAEiLDcDqAEgAyAsNwM4IAMgASkCCDcDKCADIAEpAhA3AzAgAyABKQIANwMgIANBkAFqIANBOGogA0EgahAfIAMoAqABIgQgBkYNASAEDQALCyADKAK4ASIBRQ0AIAcgEWohGyADKAKoASEFIAMoAqwBIQcgAygCsAEhBCADKAK8ASEOQTBBNCACGyEqQQAhEkEAIRBBACETQQAhEQNAIAshHQJAAkACQCABKAIAIghBAXEiCw0AIAgoAiRFDQAgCC8BQiIGBH8gDigCCCIBKAJUIAEvASQgBmxBAXRqBUEACyEeIAgoAiQiJkUNAAJ/QQAgCCAmQQN0ayIIIAsbIhYoAAAiAUEBcSIGRQRAIAEvASxBAnZBAXEMAQsgAUEDdkEBcQsiC0UhF0EAIQoCQCALDQAgHkUNACAeLwEAIQpBASEXCwJ/IAZFBEBBACAEIAEoAhQiBhshDSABKAIYIQ8gASgCECELIAYgB2oMAQsgFi0AByILIQ8gBCENIAcLIScgFiAoRg0AIAUgC2oiGCAbSw0BIBggG0YEQCApDQIgAyAWKQIAIiw3AxggAyAsNwOAASADIAMpA4gBNwMQIANBGGogA0EQahA/DQIgLKchAQsCQAJAAkAgAkUEQEEBIQwgDiEGAkAgCkH+/wNrDgICBAALIApFBEACfyABQQFxRQRAIAEvASwiAUEBcUUNBCABQQF2QQFxDAELIAFBAnFFDQMgAUECdkEBcQtFDQIMAwsgDigCCCgCSCAKQQNsai0AAUEBcQ0CDAELQQEhDAJ/IAFBAXFFBEAgAS8BLEEBcQwBCyABQQF2QQFxCyAKcg0BCwJAIBYoAgAiAUEBcQ0AIAEoAiRFDQBBACEMIAEgKmooAgANAUEAIQVBACEHQQAhBEEAIQpBACEIQQAhBgwCC0EAIQVBACEHQQAhBEEAIQpBACEIQQAhBkEAIQwMAQsgDiEGC0EBIR8CQCAmQQFGDQAgDSAPaiENA0AgBSELQQAhDwJ/IBYgH0EDdGoiASgAACIJQQFxIhkEQCAJQQN2QQFxDAELIAkvASxBAnZBAXELRQRAIB4EfyAeIBdBAXRqLwEABUEACyEPIBdBAWohFwsgDCEgIAYhISAIIRogCiEiIAQhIyAHISQCfyAfRQRAIBghFCAnDAELAn8gGQRAIAEtAAQhCiABLQAGIQggAS0ABUEPcQwBCyAJKAIMIQogCSgCBCEIIAkoAggLIQVBACANIAUbIApqIQ0gCCAYaiEUIAUgJ2oLIRUCfyAZBEAgAS0AByIHISsgDSEZIBUMAQtBACANIAkoAhQiBBshGSAJKAIYISsgCSgCECEHIAQgFWoLIScgASAoRgRAICAhDCAhIQYgGiEIICIhCiAjIQQgJCEHIAshBQwCCwJAAkACQAJAAkACQCAHIBRqIhggG0sNACAYIBtGBEAgKQ0BIAMgASkCACIsNwMIIAMgLDcDgAEgAyADKQOIATcDACADQQhqIAMQPw0BCyABKAIAIQkgAgRAQQEhDCAJQQFxBH8gCUEBdkEBcQUgCS8BLEEBcQsgD3JFDQMMBAtBASEMIBQhBSAVIQcgDSEEIAEhCCAOIQYCQCAPIgpB/v8Daw4CAwYACwJAIA9FBEAgCUEBcUUNASAJQQJxRQ0EIAlBAnZBAXFFDQQMBQsgDigCCCgCSCAPQQNsai0AAUEBcUUNAwwECyAJLwEsIgRBAXENAQwCCyAaRQRAIA0hBCAVIQcgHSELIBQhBQwKCyANIQQgFSEHICQhHCAjIREgIiElIBohEyAhIRAgFCEFICAhEgwJCyAEQQF2QQFxDQELIAEoAgAiCUEBcQ0BIAkoAiRFDQEgCyEFICQhByAjIQQgIiEKIBohCCAhIQYgICEMIAkgKmooAgBFDQJBACEMCyAUIQUgFSEHIA0hBCAPIQogASEIIA4hBgwBCyALIQUgJCEHICMhBCAiIQogGiEIICEhBiAgIQwLIBkgK2ohDSAfQQFqIh8gJkcNAAsLIAxBAXEEQCAAIAY2AhQgACAINgIQIAAgCjYCDCAAIAQ2AgggACAHNgIEIAAgBTYCAAwGCyAIRQ0AIAYhDgwBCyASQQFxRQRAQQAhCyAQIQ4gEyEBIBEhBCAcIQdBACEcQQAhEUEAISVBACETQQAhECAdIQVBACESDAILIAAgEDYCFCAAIBM2AhAgACAlNgIMIAAgETYCCCAAIBw2AgQgACAdNgIADAQLIAghASAdIQsLIAENAAsLIABCADcCACAAQgA3AhAgAEIANwIICyADQcABaiQAC+wMAiF/An4jAEGQAWsiAyQAAn8gASgCECkCACIkpyIdQQFxBEAgJEI4iKcMAQsgHSgCEAshDCABKAIQIQkCfyABKAIUIgQoAAAiBkEBcQRAIAQtAAVBD3EhCCAELQAGIQcgBC0ABAwBCyAGKAIIIQggBigCBCEHIAYoAgwLIQogASgCACEeIAMgBDYCjAEgAyAENgKIASADQQA2AoQBIAMgCjYCgAEgAyAINgJ8IAMgBzYCeAJAAkAgBCAJRg0AIAMgAykCgAE3A1AgAyADKQKIATcDWCADIAMpAng3A0ggAyABKQIINwM4IANBQGsgASkCEDcDACADIAEpAgA3AzAgA0HgAGogA0HIAGogA0EwahAfAkAgAygCcCIEIAlGDQAgBEUNAANAIAMgAykCcCIkNwOIASADIAMpAmgiJTcDgAEgAyAlNwMgIAMgJDcDKCADIAMpAmAiJDcDeCADICQ3AxggAyABKQIINwMIIAMgASkCEDcDECADIAEpAgA3AwAgA0HgAGogA0EYaiADEB8gAygCcCIEIAlGDQEgBA0ACwsgAygCiAEiDUUNACAMIB5qIR8gAygCeCEIIAMoAnwhCiADKAKAASEMIAMoAowBIRFBMEE0IAIbISMDQCARIRICQAJAAkACfwJAAkACQCANKAIAIgFBAXEiBA0AIAEoAiRFDQBBACEhQQAhEyABLwFCIgkEQCASKAIIIgYoAlQgBi8BJCAJbEEBdGohEwsCQAJAIAEoAiQiGkUEQEEAIRFBACENQQAhG0EAIRwMAQtBACABIBpBA3RrIAQbISJBACEcQQAhG0EAIQ1BACERQQAhAUEAIQ8DQEEAIQ4CfyAiIAFBA3RqIgsoAAAiBUEBcSIHRQRAIAUvASxBAnZBAXEMAQsgBUEDdkEBcQtFBEAgEwR/IBMgD0EBdGovAQAFQQALIQ4gD0EBaiEPCwJ/IAFFBEAgDCEEIAohCSAIDAELAn8gB0UEQCAFKAIIIQYgBSgCBCEQIAUoAgwMAQsgCy0ABUEPcSEGIAstAAYhECALLQAEC0EAIAwgBhtqIQQgBiAKaiEJIAggEGoLIQYCfyAHRQRAQQAgBCAFKAIUIgobIQcgBSgCGCEIIAUoAhAhECAJIApqDAELIAstAAciECEIIAQhByAJCyEKIAFBAWohASAHIAhqIQwgHyAGIBBqIghPBEADQCABIBpGDQNBACEOAn8gIiABQQN0aiILKAAAIgVBAXEiBwRAIAVBA3ZBAXEMAQsgBS8BLEECdkEBcQtFBEAgEwR/IBMgD0EBdGovAQAFQQALIQ4gD0EBaiEPCwJ/IAFFBEAgDCEEIAohCSAIDAELAn8gBwRAIAstAAVBD3EhBiALLQAGIRAgCy0ABAwBCyAFKAIIIQYgBSgCBCEQIAUoAgwLQQAgDCAGG2ohBCAGIApqIQkgCCAQagshBgJ/IAcEQCALLQAHIgchCCAEIQwgCQwBC0EAIAQgBSgCFCIKGyEMIAUoAhghCCAFKAIQIQcgCSAKagshCiABQQFqIQEgCCAMaiEMIAYgB2oiCCAfTQ0ACwsCQCAGIB5JBEAgCygCACAdRg0BIAYhISAJIRwgBCEbIAshDSASIREMAQsCQCACBEAgBUEBcQR/IAVBAXZBAXEFIAUvASxBAXELIA5yRQ0BDAgLAkAgDkH+/wNrDgIBCAALIA5FBEAgBUEBcQRAIAVBAnFFDQIgBUECdkEBcQ0JDAILIAUvASwiB0EBcUUNASAHQQF2QQFxDQgMAQsgEigCCCgCSCAOQQNsai0AAUEBcQ0HCyALKAIAIgdBAXENACAHKAIkRQ0AIAcgI2ooAgANAwsgASAaRw0ACwsgDUUNAQwFCyANRQ0BQQAMAwsgFEUEQEEAIRQgFSERIBYhDSAXIQwgGCEKIBkhCAwGCyAAIBU2AhQgACAWNgIQIAAgIDYCDCAAIBc2AgggACAYNgIEIAAgGTYCAAwICyASIREgCyENIAQhDCAJIQogBiEIDAQLIA1FDQJBAQshFCAGIRkgCSEYIAQhFyAOISAgCyEWIBIhFQsgGyEMIBwhCiAhIQgMAQsgACASNgIUIAAgCzYCECAAIA42AgwgACAENgIIIAAgCTYCBCAAIAY2AgAMAwsgDQ0ACwsgAEIANwIAIABCADcCECAAQgA3AggLIANBkAFqJAALLgEBfyMAQRBrIgEgACgCECgCACIANgIMIAFBDGpBAnIgAEEqaiAAQQFxGy8BAAsyAgF/AX4gACgCACEBIAAoAhApAgAiAqciAEEBcQRAIAJCOIinIAFqDwsgACgCECABagvDCwEGfyAAIAFqIQUCQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQECQAJAAkAgACADayIAIwFBqNYAaiIHKAIURwRAIAAoAgwhAiADQf8BTQRAIAIgACgCCCIERw0CIAciAiACKAIAQX4gA0EDdndxNgIADAULIAAoAhghBiAAIAJHBEAgACgCCCIDIAI2AgwgAiADNgIIDAQLIAAoAhQiBAR/IABBFGoFIAAoAhAiBEUNAyAAQRBqCyEDA0AgAyEHIAQiAkEUaiEDIAIoAhQiBA0AIAJBEGohAyACKAIQIgQNAAsgB0EANgIADAMLIAUoAgQiA0EDcUEDRw0DIwFBqNYAaiABNgIIIAUgA0F+cTYCBCAAIAFBAXI2AgQgBSABNgIADwsgBCACNgIMIAIgBDYCCAwCC0EAIQILIAZFDQACQCMBIAAoAhwiA0ECdGpB2NgAaiIEKAIAIABGBEAgBCACNgIAIAINASMBQajWAGoiAiACKAIEQX4gA3dxNgIEDAILIAZBEEEUIAYoAhAgAEYbaiACNgIAIAJFDQELIAIgBjYCGCAAKAIQIgMEQCACIAM2AhAgAyACNgIYCyAAKAIUIgNFDQAgAiADNgIUIAMgAjYCGAsCQAJAAkACQCAFKAIEIgNBAnFFBEAjAUGo1gBqIgIoAhggBUYEQCACIgMgADYCGCADIAMoAgwgAWoiATYCDCAAIAFBAXI2AgQgACADKAIURw0GIAMiAEEANgIIIABBADYCFA8LIwFBqNYAaiICKAIUIAVGBEAgAiIDIAA2AhQgAyADKAIIIAFqIgE2AgggACABQQFyNgIEIAAgAWogATYCAA8LIANBeHEgAWohASAFKAIMIQIgA0H/AU0EQCAFKAIIIgQgAkYEQCMBQajWAGoiAiACKAIAQX4gA0EDdndxNgIADAULIAQgAjYCDCACIAQ2AggMBAsgBSgCGCEGIAIgBUcEQCAFKAIIIgMgAjYCDCACIAM2AggMAwsgBSgCFCIEBH8gBUEUagUgBSgCECIERQ0CIAVBEGoLIQMDQCADIQcgBCICQRRqIQMgAigCFCIEDQAgAkEQaiEDIAIoAhAiBA0ACyAHQQA2AgAMAgsgBSADQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgAMAwtBACECCyAGRQ0AAkAjASAFKAIcIgNBAnRqQdjYAGoiBCgCACAFRgRAIAQgAjYCACACDQEjAUGo1gBqIgIgAigCBEF+IAN3cTYCBAwCCyAGQRBBFCAGKAIQIAVGG2ogAjYCACACRQ0BCyACIAY2AhggBSgCECIDBEAgAiADNgIQIAMgAjYCGAsgBSgCFCIDRQ0AIAIgAzYCFCADIAI2AhgLIAAgAUEBcjYCBCAAIAFqIAE2AgAgACMBQajWAGoiAygCFEcNACADIAE2AggPCyABQf8BTQRAIwFBqNYAaiIEIgIgAUF4cWpBKGohAwJ/IAIoAgAiAkEBIAFBA3Z0IgFxRQRAIAQgASACcjYCACADDAELIAMoAggLIQEgAyAANgIIIAEgADYCDCAAIAM2AgwgACABNgIIDwtBHyECIAFB////B00EQCABQSYgAUEIdmciA2t2QQFxIANBAXRrQT5qIQILIAAgAjYCHCAAQgA3AhAjAUGo1gBqIgYiBCACQQJ0aiIDQbACaiEHAkACQCAEKAIEIgRBASACdCIFcUUEQCAGIAQgBXI2AgQgAyAANgKwAiAAIAc2AhgMAQsgAUEZIAJBAXZrQQAgAkEfRxt0IQIgAygCsAIhAwNAIAMiBCgCBEF4cSABRg0CIAJBHXYhAyACQQF0IQIgBCADQQRxaiIHQRBqKAIAIgMNAAsgByAANgIQIAAgBDYCGAsgACAANgIMIAAgADYCCA8LIAQoAggiASAANgIMIAQgADYCCCAAQQA2AhggACAENgIMIAAgATYCCAsLpAgBC38gAEUEQCABECUPCyABQUBPBEAjAUHY1ABqQTA2AgBBAA8LAn9BECABQQtqQXhxIAFBC0kbIQUgAEEIayIEKAIEIglBeHEhCAJAIAlBA3FFBEAgBUGAAkkNASAFQQRqIAhNBEAgBCECIAggBWsjAUGA2gBqKAIIQQF0TQ0CC0EADAILIAQgCGohBgJAIAUgCE0EQCAIIAVrIgdBEEkNASAEIAlBAXEgBXJBAnI2AgQgBCAFaiICIAdBA3I2AgQgBiAGKAIEQQFyNgIEIAIgBxBkDAELIAYoAgQhByMBQajWAGoiAyICKAIYIAZGBEBBACAFIAIoAgwgCGoiAk8NAxogBCAJQQFxIAVyQQJyNgIEIAQgBWoiCCACIAVrIgdBAXI2AgQgAyICIAc2AgwgAiAINgIYDAELIwFBqNYAaiICKAIUIAZGBEBBACAFIAIoAgggCGoiAksNAxoCQCACIAVrIgNBEE8EQCAEIAlBAXEgBXJBAnI2AgQgBCAFaiIHIANBAXI2AgQgAiAEaiICIAM2AgAgAiACKAIEQX5xNgIEDAELIAQgCUEBcSACckECcjYCBCACIARqIgIgAigCBEEBcjYCBEEAIQNBACEHCyMBQajWAGoiAiAHNgIUIAIgAzYCCAwBC0EAIQIgB0ECcQ0BIAdBeHEgCGoiCiAFSQ0BIAogBWshDCAGKAIMIQMCQCAHQf8BTQRAIAYoAggiAiADRgRAIwFBqNYAaiICIAIoAgBBfiAHQQN2d3E2AgAMAgsgAiADNgIMIAMgAjYCCAwBCyAGKAIYIQsCQCADIAZHBEAgBigCCCICIAM2AgwgAyACNgIIDAELAkAgBigCFCICBH8gBkEUagUgBigCECICRQ0BIAZBEGoLIQgDQCAIIQcgAiIDQRRqIQggAigCFCICDQAgA0EQaiEIIAMoAhAiAg0ACyAHQQA2AgAMAQtBACEDCyALRQ0AAkAjASAGKAIcIgdBAnRqQdjYAGoiAigCACAGRgRAIAIgAzYCACADDQEjAUGo1gBqIgIgAigCBEF+IAd3cTYCBAwCCyALQRBBFCALKAIQIAZGG2ogAzYCACADRQ0BCyADIAs2AhggBigCECICBEAgAyACNgIQIAIgAzYCGAsgBigCFCICRQ0AIAMgAjYCFCACIAM2AhgLIAxBD00EQCAEIAlBAXEgCnJBAnI2AgQgBCAKaiICIAIoAgRBAXI2AgQMAQsgBCAJQQFxIAVyQQJyNgIEIAQgBWoiByAMQQNyNgIEIAQgCmoiAiACKAIEQQFyNgIEIAcgDBBkCyAEIQILIAILIgIEQCACQQhqDwsgARAlIgRFBEBBAA8LIAQgAEF8QXggAEEEaygCACICQQNxGyACQXhxaiICIAEgASACSxsQDRogABA0IAQLnwIAIABFBEBBAA8LAn8CQCAABH8gAUH/AE0NAQJAIwFBmNUAaigCYCgCAEUEQCABQYB/cUGAvwNGDQMMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAgwECyABQYBAcUGAwANHIAFBgLADT3FFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwECwsjAUHY1ABqQRk2AgBBfwVBAQsMAQsgACABOgAAQQELC8cDAQR/IwBBoAFrIgQkACAEIAAgBEGeAWogARsiBTYClAEgBCABQQFrIgBBACAAIAFNGzYCmAEgBEEAQZABEBAiAEF/NgJMIAAjAkEaajYCJCAAQX82AlAgACAAQZ8BajYCLCAAIABBlAFqNgJUIAVBADoAAEEAIQQjAEHQAWsiASQAIAEgAzYCzAEgAUGgAWoiA0EAQSgQEBogASABKALMATYCyAECQEEAIAIgAUHIAWogAUHQAGogAyMCIgNBGGoiBSADQRlqIgMQakEASARAQX8hAgwBCyAAKAJMQQBIIAAgACgCACIHQV9xNgIAAn8CQAJAIAAoAjBFBEAgAEHQADYCMCAAQQA2AhwgAEIANwMQIAAoAiwhBCAAIAE2AiwMAQsgACgCEA0BC0F/IAAQRw0BGgsgACACIAFByAFqIAFB0ABqIAFBoAFqIAUgAxBqCyECIAQEQCAAQQBBACAAKAIkEQQAGiAAQQA2AjAgACAENgIsIABBADYCHCAAKAIUIQMgAEIANwMQIAJBfyADGyECCyAAIAAoAgAiAyAHQSBxcjYCAEF/IAIgA0EgcRshAg0ACyABQdABaiQAIABBoAFqJAAgAgu8AgACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAICQoICQECAwQKCQoKCAkFBgcLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAiADEQUACw8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAtvAQV/IAAoAgAiAywAAEEwayIBQQlLBEBBAA8LA0BBfyEEIAJBzJmz5gBNBEBBfyABIAJBCmwiBWogASAFQf////8Hc0sbIQQLIAAgA0EBaiIFNgIAIAMsAAEgBCECIAUhA0EwayIBQQpJDQALIAILlxMCEn8BfiMAQUBqIggkACAIIAE2AjwgCEEnaiEXIAhBKGohEgJAAkACQAJAA0BBACEHA0AgASENIAcgDkH/////B3NKDQIgByAOaiEOAkACQAJAAkACQCABIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAHIQkDQCAJLQABQSVHBEAgCSEBDAILIAdBAWohByAJLQACIAlBAmoiASEJQSVGDQALCyAHIA1rIgcgDkH/////B3MiGEoNCiAABEAg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IQYgCSAANgKYASAJIAY2ApABIAkoApQBIQgLIAJBAXQhACACIAhJBEAgACAGaiIBQQJqIAEgCCACa0EBdBAOGgsgACAGaiADOwAAIAkgCSgClAFBAWoiCDYClAEgBSgCYCEPCyAOQQFqIg4gD0kNAAsLIAxBAWoiDCAWRw0ACwsgBSgCcCECAkACQCAFKAJ0IgMEQEEAIQEDQCACIAFBHGxqIgAoAgQiBwRAIAcjBigCABECACAAQQA2AgwgAEIANwIECyAAKAIQIgcEQCAHIwYoAgARAgAgAEEANgIYIABCADcCEAsgAUEBaiIBIANHDQALDAELIAJFDQELIAIjBigCABECAAsgBSgCICEBAkACQCAFKAIkIgIEQEEAIQZBACEAIAJBBE8EQCACQXxxIQhBACEHA0AgASAAQQJ0aiIDKAIAIwYiCigCABECACADKAIEIAooAgARAgAgAygCCCAKKAIAEQIAIAMoAgwgCigCABECACAAQQRqIQAgB0EEaiIHIAhHDQALCyACQQNxIgJFDQEDQCABIABBAnRqKAIAIwYoAgARAgAgAEEBaiEAIAZBAWoiBiACRw0ACwwBCyABRQ0BCyABIwYoAgARAgAgBUEANgIgCyAFKAIsIQECQAJAIAUoAjAiAgRAQQAhBkEAIQAgAkEETwRAIAJBfHEhCEEAIQcDQCABIABBAnRqIgMoAgAjBiIKKAIAEQIAIAMoAgQgCigCABECACADKAIIIAooAgARAgAgAygCDCAKKAIAEQIAIABBBGohACAHQQRqIgcgCEcNAAsLIAJBA3EiAkUNAQNAIAEgAEECdGooAgAjBigCABECACAAQQFqIQAgBkEBaiIGIAJHDQALDAELIAFFDQELIAEjBigCABECACAFQQA2AiwLIAUoAjghAQJAAkAgBSgCPCICBEBBACEGQQAhACACQQRPBEAgAkF8cSEIQQAhBwNAIAEgAEECdGoiAygCACMGIgooAgARAgAgAygCBCAKKAIAEQIAIAMoAgggCigCABECACADKAIMIAooAgARAgAgAEEEaiEAIAdBBGoiByAIRw0ACwsgAkEDcSICRQ0BA0AgASAAQQJ0aigCACMGKAIAEQIAIABBAWohACAGQQFqIgYgAkcNAAsMAQsgAUUNAQsgASMGKAIAEQIAIAVBADYCOAsgBSgCRCEBAkACQCAFKAJIIgIEQEEAIQZBACEAIAJBBE8EQCACQXxxIQhBACEHA0AgASAAQQJ0aiIDKAIAIwYiCigCABECACADKAIEIAooAgARAgAgAygCCCAKKAIAEQIAIAMoAgwgCigCABECACAAQQRqIQAgB0EEaiIHIAhHDQALCyACQQNxIgJFDQEDQCABIABBAnRqKAIAIwYoAgARAgAgAEEBaiEAIAZBAWoiBiACRw0ACwwBCyABRQ0BCyABIwYoAgARAgALIAUoAlAiAARAIAAjBigCABECAAsgBSgCXCIABEAgACMGKAIAEQIACyASBEAgEiMGKAIAEQIACyAVBEAgFSMGKAIAEQIACyAUBEAgFCMGKAIAEQIACyALBEAgCyMGKAIAEQIACyAbIwYoAgARAgAgEEUEQCAEQQU2AgAMAQsgCSgChAEiAEUNASAAIwYoAgARAgAgCUEANgKMASAJQgA3AoQBDAELIAkQVUEAIR4LIAVBgAFqJAAgHgunAgEIfyABKAIQIgYgACgCBEsEQEEBDwsgASgCACIELwEAIQggACgCACIDKAIEIgUhAgJAA0ACQCACRQ0AIAMoAgAgAkEBayICQRRsaiIHKAIMIgkgBkkNACAGIAlHDQEgBy8BECAIRw0BDAILCyAFQQFqIgIgAygCCCIHSwRAQQggB0EBdCIEIAIgAiAESRsiAiACQQhNGyIEQRRsIQICfyADKAIAIgUEQCAFIAIjBCgCABEBAAwBCyACIwUoAgARAAALIQIgAyAENgIIIAMgAjYCACABKAIAIQQgACgCACIDKAIEIgVBAWohAgsgAyACNgIEIAQoAgwhASADKAIAIAVBFGxqIgAgBCkCBDcCACAAIAg7ARAgACAGNgIMIAAgATYCCAtBAAsKACAAIAE3A5gKCwgAIAApA5gKCzMBAX8gABArIABBADYClAkCQCABBEAgASgCAEEPa0F+SQ0BCyAAIAE2ApQJQQEhAgsgAgvuBwEJfyMAQSBrIgQkACAABEAgABArIABBADYClAkgACgC+AghASMAQRBrIgYkACABKAIMIgIEQCACIwYoAgARAgAgAUEANgIUIAFCADcCDAsgASgCGCICBEAgAiMGKAIAEQIAIAFBADYCICABQgA3AhgLIAEoAjAgAUEkaiIIIAEoAjQQHiABKAIEIgMEQANAIAEoAgAgBUEFdGoiAigCAARAIAEoAjQhByACKAIMBEAgBiACKQIMNwMIIAcgBkEIahAKCyACKAIUBEAgBiACKQIUNwMAIAcgBhAKCyACKAIEIgMEQCADKAIAIgkEfyAJIwYoAgARAgAgA0EANgIIIANCADcCACACKAIEBSADCyMGKAIAEQIACyACKAIAIAggBxAeIAEoAgQhAwsgBUEBaiIFIANJDQALC0EAIQMgAUEANgIEAkAgASgCJCIFRQ0AIAEoAigEQANAIAEoAiQgA0ECdGooAgAjBigCABECACADQQFqIgMgASgCKEkNAAsgCCgCACIFRQ0BCyAFIwYoAgARAgAgAUEANgIsIAFCADcCJAsgASgCACICBEAgAiMGKAIAEQIAIAFBADYCCCABQgA3AgALIAEjBigCABECACAGQRBqJAAgACgCnAkiAQRAIAEjBigCABECACAAQQA2AqQJIABCADcCnAkLIAAoArQKIgEEQCABIwYoAgARAgAgAEEANgK8CiAAQgA3ArQKCyAAKAKsCgRAIAQgAEGsCmopAgA3AxggAEH8CGogBEEYahAKIABBADYCrAoLIAAoAkQjBigCABECACAAKALUCQRAIAQgAEHUCWopAgA3AxAgAEH8CGogBEEQahAKCyAAKALcCQRAIAQgAEHcCWopAgA3AwggAEH8CGogBEEIahAKC0EAIQEgAEEANgLkCSAAQQA2AtQJIABBADYC3AkCQCAAKAL8CCICRQ0AIAAoAoAJBEADQCAAKAL8CCABQQN0aigCACMGKAIAEQIAIAFBAWoiASAAKAKACUkNAAsgACgC/AgiAkUNAQsgAiMGKAIAEQIAIABBADYChAkgAEIANwL8CAsgACgCiAkiAQRAIAEjBigCABECACAAQQA2ApAJIABCADcCiAkLIAAoAugJIgEEQCABIwYoAgARAgAgAEEANgLwCSAAQgA3AugJCyAAKAKwCSIBBEAgASMGKAIAEQIAIABBADYCuAkgAEIANwKwCQsgACgCvAkiAQRAIAEjBigCABECACAAQQA2AsQJIABCADcCvAkLIAAoAsgJIgEEQCABIwYoAgARAgAgAEEANgLQCSAAQgA3AsgJCyAAIwYoAgARAgALIARBIGokAAsbACAAIAEQZSEAAkAgAUUNACAADQAQSAALIAALGwAgACABECwhAQJAIABFDQAg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ckGAgYKEeHFBgIGChHhHDQIgAyAENgIAIANBBGohAyABQQRqIQEgAkEEayICQQNLDQALCyACRQ0BCwNAIAMgAS0AACIEOgAAIARFDQIgA0EBaiEDIAFBAWohASACQQFrIgINAAsLQQAhAgsgA0EAIAIQEBogAAsLACAAQQAQMyAARwtJAQJ/IAAQbSAAaiEDAkAgAkUNAANAIAEtAAAiBEUNASADIAQ6AAAgA0EBaiEDIAFBAWohASACQQFrIgINAAsLIANBADoAACAACw0AIABBIEYgAEEJRnILCwAgAEEBEDMgAEcLBAAjAAtJAQF/IwBBEGsiAyQAIAMgAjYCDCAAKAJcBEAgAEH1AGoiAkGACCABIAMoAgwQZxogACgCWEEBIAIgACgCXBEDAAsgA0EQaiQACxAAIwAgAGtBcHEiACQAIAALBgAgACQACwoAIABBMGtBCkkLCAAgAEEBEDMLCAAgAEEAEDMLBwAgAC8BHAuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGEA0aIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEEA0aIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC54FAgZ+BH8gASABKAIAQQdqQXhxIgFBEGo2AgAgACABKQMAIQMgASkDCCEHIwBBIGsiASQAIAdC////////P4MhBQJ+IAdCMIhC//8BgyIEpyIJQYH4AGtB/Q9NBEAgBUIEhiADQjyIhCECIAlBgPgAa60hBAJAIANC//////////8PgyIDQoGAgICAgICACFoEQCACQgF8IQIMAQsgA0KAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiABshAiAArSAEfAwBCwJAIAMgBYRQDQAgBEL//wFSDQAgBUIEhiADQjyIhEKAgICAgICABIQhAkL/DwwBCyAJQf6HAUsEQEL/DwwBC0GA+ABBgfgAIARQIggbIgogCWsiAEHwAEoEQEIADAELIAMhAiAFIAVCgICAgICAwACEIAgbIgQhBgJAQYABIABrIghBwABxBEAgAiAIQUBqrYYh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AiABKAJYIQUgASgCYCEDIAEoAlQhBiAAIAEoAlw2AhAgACAGNgIIIAAgAzYCACAAIAVBAXY2AgwgACACQQF2NgIEIARBAUYNAEEBIQUgACECA0AjAUHA1ABqIgMQIBogAUE4aiADEBUgASgCOCEDIAEoAkAhBiABKAJIIQcgASgCPCEIIAIgASgCRDYCJCACIAg2AhwgAiAHNgIUIAIgBkEBdjYCICACIANBAXY2AhggAkEUaiECIAVBAWoiBSAERw0ACwsjCSICIAA2AgQgAiAENgIAIAFBgAFqJAALrAICB38BfiMAQTBrIgEkACABIwkiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIwBBIGsiACQAIAEoAhQoAgghAiABKAIQKQIAIQhBASEDAkACQAJAIAEvAQwiBEH+/wNrDgIAAgELQQAhAwwBCyACKAJIIARBA2xqLQAAIQMLIAAgCDcDECAAIAg3AwggAEEIaiAAQR9qQQEgAkEAIAQgA0EBcSIFIwFB0wlqIgYQMkEBaiIHIwUoAgARAAAhAyAAIAApAxA3AwAgACADIAcgAkEAIAQgBSAGEDIaIABBIGokACABQTBqJAAgAwu3AQEFfyABIAAoAhRJBEBBJCMFKAIAEQAAIQICfyAAKAIYIgQgAU0EQCAAKAIsIAAoAjAgASAEa0ECdGooAgBBAXRqIgNBAmohBSADLwEADAELIAAoAiggACgCBCABbEEBdGpBAmshA0EACyEGIAJBADsBICACQoCAgIDw/z83AhggAiAGOwESIAJBADsBECACQQA2AgwgAiAFNgIIIAIgAzYCBCACIAA2AgAgAiABIARPOgAUCyACC3oBAn8jAEEwayIBJAAgASMJIgIoAgA2AiggASACKAIMQQF0NgIgIAEgADYCLCABIAEpAig3AxAgASACKAIQNgIkIAEgASkCIDcDCCABIAIoAgg2AhwgASACKAIEQQF0NgIYIAEgASkCGDcDACABEGMgAUEwaiQAQQF2C3sBAn8jAEEwayIBJAAgASMJIgIoAgA2AiggASACKAIMQQF0NgIgIAEgADYCLCABIAEpAig3AxAgASACKAIQNgIkIAEgASkCIDcDCCABIAIoAgg2AhwgASACKAIEQQF0NgIYIAEgASkCGDcDACABKAIAIAFBMGokAEEBdguWAQECfyMAQUBqIgEkACABIwkiAigCADYCOCABIAIoAgxBAXQ2AjAgASAANgI8IAEgASkCODcDGCABIAIoAhA2AjQgASABKQIwNwMQIAEgAigCCDYCLCABIAIoAgRBAXQ2AiggASABKQIoNwMIIAFBIGogAUEIahBEIAIgASgCIDYCACACIAEoAiRBAXY2AgQgAUFAayQAC54BAQJ/IwBBQGoiASQAIAEjCSICKAIANgI4IAEgAigCDEEBdDYCMCABIAA2AjwgASABKQI4NwMYIAEgAigCEDYCNCABIAEpAjA3AxAgASACKAIINgIsIAEgAigCBEEBdDYCKCABIAEpAig3AwggASABKAIMNgIgIAEgASgCEDYCJCACIAEoAiA2AgAgAiABKAIkQQF2NgIEIAFBQGskAAvXAgEGfyMAQfAAayIBJAAgASMJIgIoAgA2AmggASACKAIMQQF0NgJgIAEgADYCbCABIAIoAgg2AlwgASACKAIQNgJkIAEgAigCBEEBdDYCWCABIAIoAhhBAXQ2AlQgASACKAIUNgJQIAIoAiAhACACKAIcIQMgASABKQJoNwMoIAEgASkCYDcDICABIAM2AkggASABKQJYNwMYIAEgAEEBdDYCTCABIAEpAlA3AxAgASABKQJINwMIIwBBIGsiACQAIAEoAgwhAyABKAIIIQQgASgCFCEFIAEoAhAhBiAAIAEpAig3AxggACABKQIgNwMQIAAgASkCGDcDCCABQTBqIABBCGogBiAFIAQgA0EAEF0gAEEgaiQAIAIgASgCPDYCECACIAEoAjQ2AgggAiABKAJANgIAIAIgASgCOEEBdjYCDCACIAEoAjBBAXY2AgQgAUHwAGokAAvXAgEGfyMAQfAAayIBJAAgASMJIgIoAgA2AmggASACKAIMQQF0NgJgIAEgADYCbCABIAIoAgg2AlwgASACKAIQNgJkIAEgAigCBEEBdDYCWCABIAIoAhhBAXQ2AlQgASACKAIUNgJQIAIoAiAhACACKAIcIQMgASABKQJoNwMoIAEgASkCYDcDICABIAM2AkggASABKQJYNwMYIAEgAEEBdDYCTCABIAEpAlA3AxAgASABKQJINwMIIwBBIGsiACQAIAEoAgwhAyABKAIIIQQgASgCFCEFIAEoAhAhBiAAIAEpAig3AxggACABKQIgNwMQIAAgASkCGDcDCCABQTBqIABBCGogBiAFIAQgA0EBEF0gAEEgaiQAIAIgASgCPDYCECACIAEoAjQ2AgggAiABKAJANgIAIAIgASgCOEEBdjYCDCACIAEoAjBBAXY2AgQgAUHwAGokAAuGAgEEfyMAQdAAayIBJAAgASMJIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAIoAhRBAXQhAyACKAIYQQF0IQQjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIAMgBEEAEF4gAEEgaiQAIAIgASgCLDYCECACIAEoAiQ2AgggAiABKAIwNgIAIAIgASgCKEEBdjYCDCACIAEoAiBBAXY2AgQgAUHQAGokAAuGAgEEfyMAQdAAayIBJAAgASMJIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAIoAhRBAXQhAyACKAIYQQF0IQQjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIAMgBEEBEF4gAEEgaiQAIAIgASgCLDYCECACIAEoAiQ2AgggAiABKAIwNgIAIAIgASgCKEEBdjYCDCACIAEoAiBBAXY2AgQgAUHQAGokAAvgBAIGfwJ+IwBB0ABrIgEkACABIwkiAygCADYCSCABQUBrIgIgAygCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAygCEDYCRCABIAIpAgA3AxAgASADKAIINgI8IAEgAygCBEEBdDYCOCABIAEpAjg3AwgjAEGQAWsiACQAAn8gASgCHCICKAAAIgRBAXEEQCACLQAFQQ9xIQUgAi0ABCEGIAItAAYMAQsgBCgCDCEGIAQoAgghBSAEKAIECyEEIAAgAjYCjAEgACACNgKIASAAQQA2AoQBIAAgBjYCgAEgACAFNgJ8IAAgBDYCeAJAIAIgASgCGCIERwRAIAAgACkCgAE3A1AgACAAKQKIATcDWCAAIAApAng3A0ggACABKQIQNwM4IABBQGsgASkCGDcDACAAIAEpAgg3AzAgAEHgAGogAEHIAGogAEEwahAfAkAgACgCcCICIARGDQAgAkUNAANAIAAgACkCcCIHNwOIASAAIAApAmgiCDcDgAEgACAINwMgIAAgBzcDKCAAIAApAmAiBzcDeCAAIAc3AxggACABKQIQNwMIIAAgASkCGDcDECAAIAEpAgg3AwAgAEHgAGogAEEYaiAAEB8gACgCcCICIARGDQEgAg0ACwsgASAAKQN4NwIgIAEgACkDiAE3AjAgASAAKQOAATcCKAwBCyABQgA3AiAgAUIANwIwIAFCADcCKAsgAEGQAWokACADIAEoAiw2AhAgAyABKAIkNgIIIAMgASgCMDYCACADIAEoAihBAXY2AgwgAyABKAIgQQF2NgIEIAFB0ABqJAALnQEBAn8jAEEwayIBJAAgASMJIgIoAgA2AiggASACKAIMQQF0NgIgIAEgADYCLCABIAEpAig3AxAgASACKAIQNgIkIAEgASkCIDcDCCABIAIoAgg2AhwgASACKAIEQQF0NgIYIAEgASkCGDcDAEEBIQACQCABKAIQKAIAIgJBAXENACACKAIkRQ0AIAIoAjhBAWohAAsgAUEwaiQAIAAL7gEBA38jAEHQAGsiASQAIAEjCSICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCMAQSBrIgAkACAAIAEpAhg3AxggACABKQIQNwMQIAAgASkCCDcDCCABQSBqIABBCGpBABBgIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAAL7gEBA38jAEHQAGsiASQAIAEjCSICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCMAQSBrIgAkACAAIAEpAhg3AxggACABKQIQNwMQIAAgASkCCDcDCCABQSBqIABBCGpBABBhIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAAL7gEBA38jAEHQAGsiASQAIAEjCSICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCMAQSBrIgAkACAAIAEpAhg3AxggACABKQIQNwMQIAAgASkCCDcDCCABQSBqIABBCGpBARBgIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAAL7gEBA38jAEHQAGsiASQAIAEjCSICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCMAQSBrIgAkACAAIAEpAhg3AxggACABKQIQNwMQIAAgASkCCDcDCCABQSBqIABBCGpBARBhIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALxQEBA38jAEHQAGsiAiQAIAIjCSIDKAIANgJIIAJBQGsiBCADKAIMQQF0NgIAIAIgADYCTCACIAIpAkg3AxggAiADKAIQNgJEIAIgBCkCADcDECACIAMoAgg2AjwgAiADKAIEQQF0NgI4IAIgAikCODcDCCACQSBqIAJBCGogAUH//wNxEEAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQAC/ABAQN/IwBB0ABrIgIkACACIwkiAygCADYCSCACQUBrIgQgAygCDEEBdDYCACACIAA2AkwgAiACKQJINwMYIAIgAygCEDYCRCACIAQpAgA3AxAgAiADKAIINgI8IAIgAygCBEEBdDYCOCACIAIpAjg3AwgjAEEgayIAJAAgACACKQIYNwMYIAAgAikCEDcDECAAIAIpAgg3AwggAkEgaiAAQQhqIAFBABBBIABBIGokACADIAIoAiw2AhAgAyACKAIkNgIIIAMgAigCMDYCACADIAIoAihBAXY2AgwgAyACKAIgQQF2NgIEIAJB0ABqJAAL8AEBA38jAEHQAGsiAiQAIAIjCSIDKAIANgJIIAJBQGsiBCADKAIMQQF0NgIAIAIgADYCTCACIAIpAkg3AxggAiADKAIQNgJEIAIgBCkCADcDECACIAMoAgg2AjwgAiADKAIEQQF0NgI4IAIgAikCODcDCCMAQSBrIgAkACAAIAIpAhg3AxggACACKQIQNwMQIAAgAikCCDcDCCACQSBqIABBCGogAUEBEEEgAEEgaiQAIAMgAigCLDYCECADIAIoAiQ2AgggAyACKAIwNgIAIAMgAigCKEEBdjYCDCADIAIoAiBBAXY2AgQgAkHQAGokAAuaAQECfyMAQTBrIgEkACABIwkiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAQQAhAAJAIAEoAhAoAgAiAkEBcQ0AIAIoAiRFDQAgAigCNCEACyABQTBqJAAgAAuaAQECfyMAQTBrIgEkACABIwkiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAQQAhAAJAIAEoAhAoAgAiAkEBcQ0AIAIoAiRFDQAgAigCMCEACyABQTBqJAAgAAucAQECfyMAQTBrIgEkACABIwkiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEGA/gNxQQh2DAELIAAvASgLQf//A3EgAUEwaiQACyoBAn8CQCAAKAIgIgNFDQAgASADSw0AIAAoAjwgAUEC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IAEgADYCPCABIwkiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBUgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwggASgCCCABQdAAaiQAQQF2C30BAX8jAEHQAGsiASQAIAEgADYCPCABIwkiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBUgASABKQI0NwMQIAEgASkCLDcDCCABIAEpAiQ3AwAgAUEcaiABEEQgACABKAIcNgIAIAAgASgCIEEBdjYCBCABQdAAaiQAC4gBAQF/IwBB0ABrIgEkACABIAA2AjwgASMJIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAVIAEgASkCNDcDECABIAEpAiw3AwggASABKQIkNwMAIAEgASgCBDYCHCABIAEoAgg2AiAgACABKAIcNgIAIAAgASgCIEEBdjYCBCABQdAAaiQAC0IBAX8jAEEwayIBJAAgASAANgIcIAEjCSIAKQMANwIgIAEgACkDCDcCKCABQQRqIAFBHGoQFSABKAIUIAFBMGokAAuFAQEBfyMAQdAAayIBJAAgASAANgI8IAEjCSIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQFSABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCAJ/IAEoAhgoAgAiAEEBcQRAIABBBXZBAXEMAQsgAC8BLEEJdkEBcQsgAUHQAGokAAtkAQF/IwBB0ABrIgEkACABIAA2AjwgASMJIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAVIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMIIAFBCGoQQiABQdAAaiQAC2QBAX8jAEHQAGsiASQAIAEgADYCPCABIwkiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBUgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwggAUEIahBiIAFB0ABqJAALZAEBfyMAQdAAayIBJAAgASAANgI8IAEjCSIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQFSABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqEEMgAUHQAGokAAtMAQJ/IwBBIGsiASQAIAEgADYCDCABIwkiACkDADcCECABIAApAwg3AhggAUEMahAvIAAgASkCEDcDACAAIAEpAhg3AwggAUEgaiQAC8QJAhh/AX4jAEEgayIEJAAgBCAANgIMIAQjCSIQKQMANwIQIAQgECkDCDcCGCABIQwgBCgCFCEAIAQoAhAhCANAIAggAEEBayIGQRxsaiIJKAIYIQIgCSgCACgAACEHAkACQCAGRQRAQQEhASAHQQFxRQ0BQQAhBQwCCwJAAn8gB0EBcSIDBEAgB0ECcQRAQQAhBUEBIQEMBQsgB0EDdkEBcQwBC0EBIQEgBy8BLCIFQQFxDQIgBUECdkEBcQsNACAJQRxrKAIAKAIALwFCIgFFDQBBACEFIAQoAgwoAggiCigCVCAKLwEkIAFsQQF0aiAJKAIUQQF0ai8BAEEARyEBIANFDQEMAgtBACEBQQAhBSADDQELIAcoAiRFBEBBACEFDAELIAcoAjghBQsCQAJAIAIgDEsNACABIAJqIAVqIAxNDQADQCAEKAIQIgsgBCgCFCIOQRxsaiIGQRxrKAIAKAAAIgBBAXEiBw0CIAAoAiRFDQIgBCgCDCgCCCEBIAAvAUIiBQR/IAEoAlQgAS8BJCAFbEEBdGoFQQALIRIgBkEEaygCACECAkACQCAOQQFrIgVFDQAgAC8BLCIJQQFxDQAgCUEEcQ0BIAsgBUEcbGoiBUEcaygCACgCAC8BQiIJRQ0BIAIgASgCVCABLwEkIAlsQQF0aiAFKAIUQQF0ai8BAEEAR2ohAgwBCyACQQFqIQILIAIgDEsNAkEAIQFBACAAIAAoAiQiE0EDdGsiGCAHGyEZIAZBGGsoAgAhAyAGQRRrKAIAIQAgBkEQaygCACEIQQAhCQNAIAIhCiAJIQYgCCEHIAAhBSADIRQgASIVIBNGDQMCfyAZIAFBA3RqIhYoAAAiA0EBcSIABEAgA0ECcUEBdiIPIQIgA0EDdkEBcQwBCyADLwEsIg9BAXEhAiAPQQJ2QQFxCwR/IAYFIBIEQCASIAZBAXRqLwEAIAJyQQBHIg8hAgsgBkEBagshCQJAAn8CQCAARQRAIAMoAiQNAUEADAILIAIgCmohAiAFIQAgFi0AByIDIQggByEBDAILIAMoAjgLIQBBACAHIAMoAhQiCBshASACIApqIABqIQIgBSAIaiEAIAMoAhghCCADKAIQIQMLIAEgCGohCCADIBRqIQMgEyAVQQFqIgFLBEACfyAYIAFBA3RqKQIAIhqnIg1BAXEEQCAaQiCIp0H/AXEhFyAaQiiIp0EPcSERIBpCMIinQf8BcQwBCyANKAIMIRcgDSgCCCERIA0oAgQLIQ1BACAIIBEbIBdqIQggAyANaiEDIAAgEWohAAsgAiAMTQ0ACyAEIA5BAWoiACAEKAIYIgFLBH9BCCABQQF0IgEgACAAIAFJGyIAIABBCE0bIgFBHGwhAAJ/IAsEQCALIAAjBCgCABEBAAwBCyAAIwUoAgARAAALIQsgBCABNgIYIAQgCzYCECAEKAIUIg5BAWoFIAALNgIUIAsgDkEcbGoiACAKNgIYIAAgBjYCFCAAIBU2AhAgACAHNgIMIAAgBTYCCCAAIBQ2AgQgACAWNgIAIA8gCiAMRnFFDQALDAELIABBAkkNACAEIAY2AhQgBiEADAELCyAQIAQpAhA3AwAgECAEKQIYNwMIIARBIGokAAvzBAINfwF+IwBBIGsiBiQAIAYgADYCDCAGIwkiCSkDADcCECAGIAkpAwg3AhhBASELAkAgBkEMaiIKIwJBDmoQSyINRQ0AIAooAgQgCigCCEEcbGoiAEEYayICKAIADQAgAEEQaygCAEUNACAAQQxrKAIAIQcgAEE4aygCACIBLQAAQQFxRQRAIAEoAgAiASABKAIkQQN0ayEDCyAAQTBrKQIAIQ4gAEE0aygCACEBIAIgBwR/An8gAygAACICQQFxBEAgASADLQAHIgJqIQggDkIgiKchBCAOpwwBC0EAIA5CIIinIAIoAhQiBRshBCACKAIQIAFqIQggAigCGCECIAUgDqdqC60gAiAEaq1CIIaEIQ5BASECIAdBAUcEQANAAkAgAyACQQN0aiIEKAAAIgFBAXEEQCAELQAHIgEgBC0ABmohDCAELQAFQQ9xIQUgBC0ABCEEDAELQQAgASgCDCABKAIUIgUbIQQgASgCECABKAIEaiEMIAUgASgCCGohBSABKAIYIQELIAUgDqdqrSABIARqQQAgDkIgiKcgBRtqrUIghoQhDiAIIAxqIQggAkEBaiICIAdHDQALCwJ/IAMgB0EDdGoiAigAACIDQQFxBEAgAi0ABUEPcSEBIAItAAQhBSACLQAGDAELIAMoAgwhBSADKAIIIQEgAygCBAsgASAOp2qtQQAgDkIgiKcgARsgBWqtQiCGhCEOIAhqBSABCzYCACAAQRRrIA43AgALAkACQAJAIA1BAWsOAgACAQsDQCAKEHhBAUYNAAsMAQtBACELCyAJIAYpAhA3AwAgCSAGKQIYNwMIIAZBIGokACALC0wBAn8jAEEgayIBJAAgASAANgIMIAEjCSIAKQMANwIQIAEgACkDCDcCGCABQQxqECAgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALhwECAn8BfiMAQTBrIgEkACABIAA2AhwgASMJIgAoAgA2AiAgASAAKQIENwIkIAEgACgCDCICNgIsIAEgACgCEEEBdDYCGCABIAI2AhQgASABKQIUNwMIIAFBHGpBACABKAIIIAEoAgwQdyAAIAEpAiA3AwAgACABKQIoNwMIIAFBMGokAEIAUgtmAgJ/AX4jAEEgayIBJAAgASAANgIMIAEjCSIAKAIANgIQIAEgACkCBDcCFCABIAAoAgwiAjYCHCABQQxqIAJBAXRBAEEAEHcgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJABCAFILXwEDfyMAQSBrIgEkACABIAA2AgwgASMJIgApAwA3AhAgASAAKQMINwIYIAFBDGohAgNAIAIQeCIDQQFGDQALIANBAkYgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALTAECfyMAQSBrIgEkACABIAA2AgwgASMJIgApAwA3AhAgASAAKQMINwIYIAFBDGoQLiAAIAEpAhA3AwAgACABKQIYNwMIIAFBIGokAAuqAgEEfyMAQTBrIgIkACACIAA2AhwgAiMJIgQpAwA3AiAgAiAEKQMINwIoIAIgBCkDEDcCDCACIAQpAxg3AhQgAiABNgIIIAIgAigCCDYCHCACLwEYIQAgAkEANgIkIAIgADsBLCACKAIgIQAgAigCDCEFAkACQCACKAIQIgEgAigCKEsEQCABQRxsIQMCfyAABEAgACADIwQoAgARAQAMAQsgAyMFKAIAEQAACyEAIAIgATYCKCACIAA2AiAgAigCJCIDRQ0BIAAgAUEcbGogACADQRxsEA4aDAELIAFFDQELIAFBHGwhAyAFBEAgACAFIAMQDRoMAQsgAEEAIAMQEBoLIAIgAigCJCABajYCJCAEIAIpAiA3AwAgBCACKQIoNwMIIAJBMGokAAvZAQIIfwF+IwBB0ABrIgEkACABIwkiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgAigCICEEIAIpAxghCSACKAIUIQUgAigCBCEGIAIoAgghByACKAIQIQggASABKQJINwMYIAEgCDYCRCABIAMpAgA3AxAgASAHNgI8IAEgBkEBdDYCOCABIAU2AiggASAJNwIsIAEgBDYCNCABIAA2AiQgASABKQI4NwMIIAFBJGogAUEIahAoIAIgASkCKDcDACACIAEpAjA3AwggAUHQAGokAAtTAQF/IwBBIGsiASQAIAEgADYCDCABIwkiACkDADcCECABIAApAwg3AhggASgCECIABEAgACMGKAIAEQIAIAFBADYCGCABQgA3AhALIAFBIGokAAuaAQEDfyMAQdAAayIBJAAgASMJIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAFBJGogAUEIahB5IAIgASkCKDcDACACIAEpAjA3AwggAUHQAGokAAtOAQF/IwFB3QlqIQICQAJAAkAgAUH+/wNrDgIAAgELIwFB3AlqDwtBACECIAAoAgggACgCBGogAU0NACAAKAI4IAFBAnRqKAIAIQILIAILvS0CGn8DfiMAQRBrIhUkACMAQUBqIgckACAHQQA2AjwgB0IANwIkIAdCADcCHAJ/IAAoAAAiAkEBcQRAIAAtAAQhCyAALQAGIQwgAC0ABUEPcQwBCyACKAIMIQsgAigCBCEMIAIoAggLIQggB0EAOwE8IAcgADYCLCAHQeABIwUoAgARAAAiAjYCMCAHQoGAgICAATcCNCACQQA2AhggAkIANwIQIAIgCzYCDCACIAg2AgggAiAMNgIEIAIgADYCAAJ/IAEoAAAiAkEBcQRAIAEtAAQhCyABLQAGIQwgAS0ABUEPcQwBCyACKAIMIQsgAigCBCEMIAIoAggLIQIgB0EAOwEoIAcgATYCGCAHKAIcIQggBygCJEUEQAJ/IAgEQCAIQeABIwQoAgARAQAMAQtB4AEjBSgCABEAAAshCCAHQQg2AiQgByAINgIcCyAHQQE2AiAgCEEANgIYIAhCADcCECAIIAs2AgwgCCACNgIIIAggDDYCBCAIIAE2AgAgB0EA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KAIAEQAACyEDIAFBBDYCICABIAM2AhgLIAEoAixBMU0EQAJ/IAEoAiQiAwRAIANByAEjBCgCABEBAAwBC0HIASMFKAIAEQAACyEDIAFBMjYCLCABIAM2AiQLIAEgAjYCNAJ/IAEoAigiAgRAIAEgAkEBayICNgIoIAEoAiQgAkECdGooAgAMAQtBpAEjBSgCABEAAAsiAkEBOwEAIAJBAmpBAEGSARAQGiACQgA3AgQgAkEBNgKUASACQQA2AgwgAkIANwKYASACQQA2AqABIAEgAjYCMCABED4gAEIANwPoCSAAQQA2AqgJIAAgATYC+AggAEHwCWpCADcDACAAQgA3A5gKIABCADcCtAogAEEANgKsCiAAQgA3AqQKIABBADYCkAogAEIANwOICiAAQgA3AvwJIABBADYClAkgAEG8CmpCADcCACAAQcQKakEAOgAAIAAoAtQJBEAgBSAAQdQJaikCADcDCCAEIAVBCGoQCgsgACgC3AkEQCAFIABB3AlqKQIANwMAIAQgBRAKCyAAQQA2AuQJIABBADYC1AkgAEEANgLcCSAFQRBqJAAgBkGA0ABBARAsNgIEIAYgADYCAAsUAQF/IwkiAEKOgICA0AE3AwAgAAulAgEJfyMAQSBrIgIkACAABEAgAkIANwMYIAJCADcDECACQgA3AwggAiAAKQIANwMAIAJBCGogAhAKIAIoAggiBARAAkAgAigCDCIDRQ0AIANBBE8EQCADQXxxIQkDQCAEIAFBA3RqIgUoAgAjBiIGKAIAEQIAIAUoAgggBigCABECACAFKAIQIAYoAgARAgAgBSgCGCAGKAIAEQIAIAFBBGohASAIQQRqIgggCUcNAAsLIANBA3EiA0UNAANAIAQgAUEDdGooAgAjBigCABECACABQQFqIQEgB0EBaiIHIANHDQALCyAEIwYoAgARAgALIAIoAhQiAQRAIAEjBigCABECAAsgACgCDCMGIgEoAgARAgAgACABKAIAEQIACyACQSBqJAALgwECA38BfiAAKAAAIgFBAXFFBEAgASABKAIAQQFqNgIAIAEoAgAaCyAAKAIMIQMgACgCECEBIAApAAAhBCAAKAIIIQJBFCMFKAIAEQAAIgAgAjYCCCAAIAQ3AgAgACABQRgjBygCABEBACICNgIMIAIgAyABQRhsEA0aIAAgATYCECAACwcAIAAoAiALwgQCBn8BfiMAQRBrIQUCQCAAKAIAIgRFDQAgACgCGCIGQf8BcUH/AUYNACAEQQFxRQRAIAQgBCgCJEEDdGshAwsgBSAAKAIUNgIIIAUgACkCDDcDACAAKAIcIQQgASADIAZBA3RqIgM2AgAgASAFKAIINgIMIAEgBSkDADcCBCABQQA2AhggASAENgIUIAEgBjYCECACAn8gAygAACIBQQFxBEAgAUEBdkEBcQwBCyABLwEsQQFxCyIFOgAAAkACfyADKAAAIgFBAXEEQCABQQN2QQFxDAELIAEvASxBAnZBAXELDQAgACgCJCIERQ0AIAIgBCAAKAIcIgFBAXRqLwEAIAVyQQBHOgAAIAAgAUEBazYCHCADKAAAIQELAn8gAUEBcQRAIAMtAAVBD3EhBCADLQAEIQIgAy0ABgwBCyABKAIMIQIgASgCCCEEIAEoAgQLIQEgACAAKAIYQQFrIgU2AhhBASEDIABBASAAKAAUIgYgAmsgACgADCIHRSAGQQBHcSAEQQBHciICGyIENgIUIABBACAAKAAQIAIbIgg2AhAgAEEAIAcgAWsgAhsiBjYCDCAFIAAoAgAiASgCJCICTw0AAn8gASACQQN0ayAFQQN0aikCACIJpyIBQQFxBEBBACEFIAlCOIinIgIMAQsgASgCFEEARyEFIAEoAhghAiABKAIQCyEBIABBASAEIAJrIAZFIARBAEdxIAVyIgIbNgIUIABBACAIIAIbNgIQIABBACAGIAFrIAIbNgIMCyADCw8AIAEoAgAvAZABRUEBdAsHACAAKAIAC0oBAX8gASgCCEUEQEEADwsgAC0AAARAQQEPC0EBIQICQCABKAIEKAAAIgFBAXENACABLwEoQf//A0cNACAAQQE6AABBAyECCyACCxgAIAEoAhBFBEBBAA8LQQNBASABLQAUGwsSAEEDQQAgASgCECAAKAIARhsLBwAgACgCFAuZAQAjAUHg0gBqIwJBD2o2AgAjAUHk0gBqIwJBEGo2AgAjAUHo0gBqIwJBEWo2AgAjAUHs0gBqIwJBEmo2AgAjAUH80gBqIwJBFWo2AgAjAUGU0wBqIwJBFmo2AgAjAUGY0wBqIwJBF2o2AgAjAUGc0wBqIwFBqNYAajYCACMBQYDUAGojAUHw0gBqNgIAIwFBhNQAaiMDNgIACyABAn8jASIAQZjVAGoiASAAQYDVAGo2AmAgAUEqNgIYCwunWgEAIwELoFotKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHJlZHVjZSBzeW06JXMsIGNoaWxkX2NvdW50OiV1AHJlc3VtZSB2ZXJzaW9uOiV1AGxleF9leHRlcm5hbCBzdGF0ZTolZCwgcm93OiV1LCBjb2x1bW46JXUAbGV4X2ludGVybmFsIHN0YXRlOiVkLCByb3c6JXUsIGNvbHVtbjoldQBwcm9jZXNzIHZlcnNpb246JXUsIHZlcnNpb25fY291bnQ6JXUsIHN0YXRlOiVkLCByb3c6JXUsIGNvbDoldQByZWNvdmVyX3RvX3ByZXZpb3VzIHN0YXRlOiV1LCBkZXB0aDoldQAsIHNpemU6JXUAc2hpZnQgc3RhdGU6JXUAcmVjb3Zlcl93aXRoX21pc3Npbmcgc3ltYm9sOiVzLCBzdGF0ZToldQBkaWZmZXJlbnRfaW5jbHVkZWRfcmFuZ2UgJXUgLSAldQBhY2NlcHQAcGFyc2VfYWZ0ZXJfZWRpdABcdABoYXNfY2hhbmdlcwBzd2l0Y2ggZnJvbV9rZXl3b3JkOiVzLCB0b193b3JkX3Rva2VuOiVzAHN0YXRlX21pc21hdGNoIHN5bTolcwBzZWxlY3Rfc21hbGxlcl9lcnJvciBzeW1ib2w6JXMsIG92ZXJfc3ltYm9sOiVzAHNlbGVjdF9lYXJsaWVyIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAc2VsZWN0X2V4aXN0aW5nIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlIHN5bWJvbDolcywgZmlyc3RfbGVhZl9zeW1ib2w6JXMAc2tpcF90b2tlbiBzeW1ib2w6JXMAaWdub3JlX2VtcHR5X2V4dGVybmFsX3Rva2VuIHN5bWJvbDolcwByZXVzYWJsZV9ub2RlX2hhc19kaWZmZXJlbnRfZXh0ZXJuYWxfc2Nhbm5lcl9zdGF0ZSBzeW1ib2w6JXMAcmV1c2Vfbm9kZSBzeW1ib2w6JXMAcGFzdF9yZXVzYWJsZV9ub2RlIHN5bWJvbDolcwBiZWZvcmVfcmV1c2FibGVfbm9kZSBzeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlXyVzIHRyZWU6JXMAYnJlYWtkb3duX3RvcF9vZl9zdGFjayB0cmVlOiVzACglcwBkZXRlY3RfZXJyb3IAaXNfZXJyb3IAc2tpcF91bnJlY29nbml6ZWRfY2hhcmFjdGVyAG5hbgBcbgBpc19taXNzaW5nAHJlc3VtZV9wYXJzaW5nAHJlY292ZXJfZW9mAGluZgBuZXdfcGFyc2UAY29uZGVuc2UAZG9uZQBpc19mcmFnaWxlAGNvbnRhaW5zX2RpZmZlcmVudF9pbmNsdWRlZF9yYW5nZQBza2lwIGNoYXJhY3RlcjolZABjb25zdW1lIGNoYXJhY3RlcjolZABzZWxlY3RfaGlnaGVyX3ByZWNlZGVuY2Ugc3ltYm9sOiVzLCBwcmVjOiVkLCBvdmVyX3N5bWJvbDolcywgb3RoZXJfcHJlYzolZABzaGlmdF9leHRyYQBub19sb29rYWhlYWRfYWZ0ZXJfbm9uX3Rlcm1pbmFsX2V4dHJhAF9fUk9PVF9fAF9FUlJPUgBOQU4ASU5GAElOVkFMSUQAbGV4ZWRfbG9va2FoZWFkIHN5bToAIDAwMDAwMDAwMDAwMBAwMAAuACglcykAKG51bGwpAChOVUxMKQAoIiVzIikAJ1x0JwAnXHInACdcbicAc2tpcCBjaGFyYWN0ZXI6JyVjJwBjb25zdW1lIGNoYXJhY3RlcjonJWMnACdcMCcAIiVzIgAoTUlTU0lORyAAKFVORVhQRUNURUQgACVzOiAACgoAAAAAAAAAAAABAAAAAAAAAAAAAAD//////////wAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHg8PDwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAQAAAAIAAAAAAAAAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJShFLTE1OT1BREFJTVFVWV1hZWltcXRBeX2AQERERYWJjEBAQEBAQEBAQEBERERFkEBAQEBAQEBAQEBAQEBAQERFlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFmZxAQaGkREREREREREREREREREREREREREREREWoREWsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEWxtEBAQEBAQEBAQbhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQb3BxchAQEBAQEBAQc3R1EBAQEBB2dxAQEBB4EBB5EBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA37xA1///+////////////7///////////////////////wP8///////////////////////////+////fwL//////wEAAAAA/7+2AP///4cHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wH/BwAAAAAAAP//3z8AAPD/+AP////////////v/9/h/8///v/vn/n///3F459ZgLDP/wMQ7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AB7un/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO/f/f///f/j3x1gB8//AADv3/3///3v498dYEDP/wYA79/9/////+ffXfCAz/8A/Oz/f/z///svf4Bf/8D/DAD+/////3//Bz8g/wMAAAAA1vf//6///ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A////////////z//////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////BwAAAAD//wAA/////////////z8//v//////////////////////////////////////////////////////////n////v//B////////////8f/Af/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////Af//////B///////////PwD///9//w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////9/AP/j//////8//wH//////+cAAAAAAN5vBP///////////////////////////////wAAAACA/x8A//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D///////7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD///////////////////////////////////////8AAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj///////////////////AAAAAID//P////////////////n///////98AAAAAACA/7//////AAAA////////DwD//////////y8A/wMAAPzo//////8H/////wcA////H/////////f/AID/A////3////////9/AP8//wP//3/8/////////38FAAA4//88AH5+fgB/f///////9/8A////////////////////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA/////wDg////B///////B////z//////D/8+AAAAAAD/////////////////////////P/8D/////w//////D///////AP///////w8AAAAAAAAAAAAAAAAAAAAAAAAA////////fwD//z8A/wAAAAAAAAAAAAAAAAAAAAAAAAA//f////+/kf//PwD//38A////fwAAAAAAAAAA//83AP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAb/Dv/v//PwAAAAAA////H////x8AAAAA//7//x8AAAD///////8/AP//PwD//wcA//8DAAAAAAAAAAAAAAAAAP///////////wEAAAAAAAD///////8HAP///////wcA//////8A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8fgAD//z8AAAAAAAAAAAAAAAAAAAAAAAAA//9/AP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/9wAP////9HAP//////////HgD/FwAAAAD///v///+fQAAAAAAAAAAAf73/v/8B/////////wH/A++f+f///e3jnxmB4A8AAAAAAAAAAAAAAAAAAAAAAAAA//////////+7B/+DAAAAAP//////////swD/AwAAAAAAAAAAAAAAAAAAAAAAAAAA////////P38AAAA/AAAAAP////////9/EQD/AwAAAAD///////8/Af8DAAAAAAAA////5/8H/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAP///////////wMAgAAAAAAAAAAAAAAAAAAAAAAAAAAA//z///////waAAAA////////538AAP///////////yAAAAAA/////////wH//f////9/fwEA/wMAAPz////8///+fwAAAAAAAAAAAH/7/////3+0ywD/A7/9////f3sB/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//fwD/////////////////////////AwAAAAAAAAAAAAAAAP////////////////9/AAD///////////////////////////////8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wH///9//wMAAAAAAAAAAAAAAAD///8/AAD///////8AAA8A/wP4///g//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAA////////////h/////////+A//8AAAAAAAAAAAsAAAD/////////////////////////////////////////AP///////////////////////////////////////wcA////fwAAAAAAAAcA8AD/////////////////////////////////////////////////////////////////D/////////////////8H/x//Af9DAAAAAAAAAAAAAAAA/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98////////9////52wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////H4A//0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8P/wP///////////////////////////////8fAAAAAAAAAP//////////jwj/AwAAAAAAAAAAAAAAAAAAAAAAAAAA7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAAAAAAAAAAAAAAAAAAD///8D////A////wMAAAAAAAAAAAAAAAAAACAAAAAJAAAACgAAAA0AAAALAAAADAAAAIUAAAAAIAAAASAAAAIgAAADIAAABCAAAAUgAAAGIAAACCAAAAkgAAAKIAAAKCAAACkgAABfIAAAADAAAAAAAAAAAAAAAAAAABkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAABkACw0ZGRkADQAAAgAJDgAAAAkADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAATAAAAABMAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAQPAAAAAAkQAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAABEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAGhoaAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFwAAAAAXAAAAAAkUAAAAAAAUAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAABUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgAIAABWAQAAOQAAAAAAAAAAAAAAASAAAADg//8Avx0AAOcCAAB5AAACJAAAAQEAAAD///8AAAAAAQIAAAD+//8BOf//ABj//wGH//8A1P7/AMMAAAHSAAABzgAAAc0AAAFPAAABygAAAcsAAAHPAAAAYQAAAdMAAAHRAAAAowAAAdUAAACCAAAB1gAAAdoAAAHZAAAB2wAAADgAAAMAAAAAsf//AZ///wHI//8CKCQAAAAAAAEBAAAA////ADP//wAm//8Bfv//ASsqAAFd//8BKCoAAD8qAAE9//8BRQAAAUcAAAAfKgAAHCoAAB4qAAAu//8AMv//ADb//wA1//8AT6UAAEulAAAx//8AKKUAAESlAAAv//8ALf//APcpAABBpQAA/SkAACv//wAq//8A5ykAAEOlAAAqpQAAu///ACf//wC5//8AJf//ABWlAAASpQACJEwAAAAAAAEgAAAA4P//AQEAAAD///8AVAAAAXQAAAEmAAABJQAAAUAAAAE/AAAA2v//ANv//wDh//8AwP//AMH//wEIAAAAwv//AMf//wDR//8Ayv//APj//wCq//8AsP//AAcAAACM//8BxP//AKD//wH5//8CGnAAAQEAAAD///8BIAAAAOD//wFQAAABDwAAAPH//wAAAAABMAAAAND//wEBAAAA////AAAAAADACwABYBwAAAAAAAHQlwABCAAAAPj//wIFigAAAAAAAUD0/wCe5/8AwokAANvn/wCS5/8Ak+f/AJzn/wCd5/8ApOf/AAAAAAA4igAABIoAAOYOAAEBAAAA////AAAAAADF//8BQeL/Ah2PAAAIAAAB+P//AAAAAABWAAABqv//AEoAAABkAAAAgAAAAHAAAAB+AAAACQAAAbb//wH3//8A2+P/AZz//wGQ//8BgP//AYL//wIFrAAAAAAAARAAAADw//8BHAAAAQEAAAGj4v8BQd//Abrf/wDk//8CC7EAAQEAAAD///8BMAAAAND//wAAAAABCdb/ARrx/wEZ1v8A1dX/ANjV/wHk1f8BA9b/AeHV/wHi1f8BwdX/AAAAAACg4/8AAAAAAQEAAAD///8CDLwAAAAAAAEBAAAA////Abxa/wGgAwAB/HX/Adha/wAwAAABsVr/AbVa/wG/Wv8B7lr/AdZa/wHrWv8B0P//Ab1a/wHIdf8AAAAAADBo/wBg/P8AAAAAASAAAADg//8AAAAAASgAAADY//8AAAAAAUAAAADA//8AAAAAASAAAADg//8AAAAAASAAAADg//8AAAAAASIAAADe//8wDDENeA5/D4AQgRGGEokTihOOFI8VkBaTE5QXlRiWGZcamhucGZ0cnh2fHqYfqR+uH7EgsiC3Ib8ixSPII8sj3STyI/Yl9yYgLTouPS8+MD8xQDFDMkQzRTRQNVE2UjdTOFQ5WTpbO1w8YT1jPmU/ZkBoQWlCakBrQ2xEb0JxRXJGdUd9SIJJh0qJS4pMi0yMTZJOnU+eUEVX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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
|
|
67
|
+
|
|
68
|
+
const ambiguousGlobalThis = globalThis;
|
|
69
|
+
const IS_NODE_RUNTIME = (
|
|
70
|
+
// Previously we only checked that this global object is defined...
|
|
71
|
+
typeof ambiguousGlobalThis.process === "object" && ambiguousGlobalThis.process !== null && // ... we have added this heuristic to adapt to a change in Vitest's browser
|
|
72
|
+
// mode, which began poulating `process.env` (via Vite's `define` config) with
|
|
73
|
+
// some conditions apparently used to mollify `testing-library`. It isn't
|
|
74
|
+
// exactly clear why any `testing-library` packages are installed by Vitest
|
|
75
|
+
// itself (though it appears there is some guidance to use it and/or its
|
|
76
|
+
// framework-specific variants for certain browser testing scenarios since
|
|
77
|
+
// @vitest/browser v2).
|
|
78
|
+
typeof ambiguousGlobalThis.process.versions?.node === "string"
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
var treeSitter = {exports: {}};
|
|
82
|
+
|
|
83
|
+
(function (module, exports) {
|
|
84
|
+
// include: shell.js
|
|
85
|
+
// The Module object: Our interface to the outside world. We import
|
|
86
|
+
// and export values on it. There are various ways Module can be used:
|
|
87
|
+
// 1. Not defined. We create it here
|
|
88
|
+
// 2. A function parameter, function(moduleArg) => Promise<Module>
|
|
89
|
+
// 3. pre-run appended it, var Module = {}; ..generated code..
|
|
90
|
+
// 4. External script tag defines var Module.
|
|
91
|
+
// We need to check if Module already exists (e.g. case 3 above).
|
|
92
|
+
// Substitution will be replaced with actual code on later stage of the build,
|
|
93
|
+
// this way Closure Compiler will not mangle it (e.g. case 4. above).
|
|
94
|
+
// Note that if you want to run closure, and also to use Module
|
|
95
|
+
// after the generated code, you will need to define var Module = {};
|
|
96
|
+
// before the code. Then that object will be used in the code, and you
|
|
97
|
+
// can continue to use Module afterwards as well.
|
|
98
|
+
var Module = typeof Module != "undefined" ? Module : {};
|
|
99
|
+
|
|
100
|
+
// Determine the runtime environment we are in. You can customize this by
|
|
101
|
+
// setting the ENVIRONMENT setting at compile time (see settings.js).
|
|
102
|
+
// Attempt to auto-detect the environment
|
|
103
|
+
var ENVIRONMENT_IS_WEB = typeof window == "object";
|
|
104
|
+
var ENVIRONMENT_IS_WORKER = typeof importScripts == "function";
|
|
105
|
+
|
|
106
|
+
// N.b. Electron.js environment is simultaneously a NODE-environment, but
|
|
107
|
+
// also a web environment.
|
|
108
|
+
var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string";
|
|
109
|
+
|
|
110
|
+
// --pre-jses are emitted after the Module integration code, so that they can
|
|
111
|
+
// refer to Module (if they choose; they can also define Module)
|
|
112
|
+
// include: /src/lib/binding_web/prefix.js
|
|
113
|
+
var TreeSitter = function () {
|
|
114
|
+
var initPromise;
|
|
115
|
+
var document = typeof window == "object" ? {
|
|
116
|
+
currentScript: window.document.currentScript
|
|
117
|
+
} : null;
|
|
118
|
+
class Parser {
|
|
119
|
+
constructor() {
|
|
120
|
+
this.initialize();
|
|
121
|
+
}
|
|
122
|
+
initialize() {
|
|
123
|
+
throw new Error("cannot construct a Parser before calling `init()`");
|
|
124
|
+
}
|
|
125
|
+
static init(moduleOptions) {
|
|
126
|
+
if (initPromise) return initPromise;
|
|
127
|
+
Module = Object.assign({}, Module, moduleOptions);
|
|
128
|
+
return initPromise = new Promise(resolveInitPromise => {
|
|
129
|
+
// end include: /src/lib/binding_web/prefix.js
|
|
130
|
+
// Sometimes an existing Module object exists with properties
|
|
131
|
+
// meant to overwrite the default module functionality. Here
|
|
132
|
+
// we collect those properties and reapply _after_ we configure
|
|
133
|
+
// the current environment's defaults to avoid having to be so
|
|
134
|
+
// defensive during initialization.
|
|
135
|
+
var moduleOverrides = Object.assign({}, Module);
|
|
136
|
+
var arguments_ = [];
|
|
137
|
+
var thisProgram = "./this.program";
|
|
138
|
+
var quit_ = (status, toThrow) => {
|
|
139
|
+
throw toThrow;
|
|
140
|
+
};
|
|
141
|
+
// `/` should be present at the end if `scriptDirectory` is not empty
|
|
142
|
+
var scriptDirectory = "";
|
|
143
|
+
function locateFile(path) {
|
|
144
|
+
if (Module["locateFile"]) {
|
|
145
|
+
return Module["locateFile"](path, scriptDirectory);
|
|
146
|
+
}
|
|
147
|
+
return scriptDirectory + path;
|
|
148
|
+
}
|
|
149
|
+
// Hooks that are implemented differently in different runtime environments.
|
|
150
|
+
var readAsync, readBinary;
|
|
151
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
152
|
+
// These modules will usually be used on Node.js. Load them eagerly to avoid
|
|
153
|
+
// the complexity of lazy-loading.
|
|
154
|
+
var fs = require$$0;
|
|
155
|
+
var nodePath = require$$1;
|
|
156
|
+
scriptDirectory = __dirname + "/";
|
|
157
|
+
// include: node_shell_read.js
|
|
158
|
+
readBinary = filename => {
|
|
159
|
+
// We need to re-wrap `file://` strings to URLs. Normalizing isn't
|
|
160
|
+
// necessary in that case, the path should already be absolute.
|
|
161
|
+
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
|
|
162
|
+
var ret = fs.readFileSync(filename);
|
|
163
|
+
return ret;
|
|
164
|
+
};
|
|
165
|
+
readAsync = (filename, binary = true) => {
|
|
166
|
+
// See the comment in the `readBinary` function.
|
|
167
|
+
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
|
|
168
|
+
return new Promise((resolve, reject) => {
|
|
169
|
+
fs.readFile(filename, binary ? undefined : "utf8", (err, data) => {
|
|
170
|
+
if (err) reject(err);else resolve(binary ? data.buffer : data);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
// end include: node_shell_read.js
|
|
175
|
+
if (!Module["thisProgram"] && process.argv.length > 1) {
|
|
176
|
+
thisProgram = process.argv[1].replace(/\\/g, "/");
|
|
177
|
+
}
|
|
178
|
+
arguments_ = process.argv.slice(2);
|
|
179
|
+
{
|
|
180
|
+
module["exports"] = Module;
|
|
181
|
+
}
|
|
182
|
+
quit_ = (status, toThrow) => {
|
|
183
|
+
process.exitCode = status;
|
|
184
|
+
throw toThrow;
|
|
185
|
+
};
|
|
186
|
+
} else
|
|
187
|
+
// Note that this includes Node.js workers when relevant (pthreads is enabled).
|
|
188
|
+
// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
|
|
189
|
+
// ENVIRONMENT_IS_NODE.
|
|
190
|
+
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
|
|
191
|
+
if (ENVIRONMENT_IS_WORKER) {
|
|
192
|
+
// Check worker, not web, since window could be polyfilled
|
|
193
|
+
scriptDirectory = self.location.href;
|
|
194
|
+
} else if (typeof document != "undefined" && document.currentScript) {
|
|
195
|
+
// web
|
|
196
|
+
scriptDirectory = document.currentScript.src;
|
|
197
|
+
}
|
|
198
|
+
// blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
|
|
199
|
+
// otherwise, slice off the final part of the url to find the script directory.
|
|
200
|
+
// if scriptDirectory does not contain a slash, lastIndexOf will return -1,
|
|
201
|
+
// and scriptDirectory will correctly be replaced with an empty string.
|
|
202
|
+
// If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
|
|
203
|
+
// they are removed because they could contain a slash.
|
|
204
|
+
if (scriptDirectory.startsWith("blob:")) {
|
|
205
|
+
scriptDirectory = "";
|
|
206
|
+
} else {
|
|
207
|
+
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
|
|
208
|
+
}
|
|
209
|
+
{
|
|
210
|
+
// include: web_or_worker_shell_read.js
|
|
211
|
+
if (ENVIRONMENT_IS_WORKER) {
|
|
212
|
+
readBinary = url => {
|
|
213
|
+
var xhr = new XMLHttpRequest();
|
|
214
|
+
xhr.open("GET", url, false);
|
|
215
|
+
xhr.responseType = "arraybuffer";
|
|
216
|
+
xhr.send(null);
|
|
217
|
+
return new Uint8Array(/** @type{!ArrayBuffer} */xhr.response);
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
readAsync = url => {
|
|
221
|
+
// Fetch has some additional restrictions over XHR, like it can't be used on a file:// url.
|
|
222
|
+
// See https://github.com/github/fetch/pull/92#issuecomment-140665932
|
|
223
|
+
// Cordova or Electron apps are typically loaded from a file:// url.
|
|
224
|
+
// So use XHR on webview if URL is a file URL.
|
|
225
|
+
if (isFileURI(url)) {
|
|
226
|
+
return new Promise((reject, resolve) => {
|
|
227
|
+
var xhr = new XMLHttpRequest();
|
|
228
|
+
xhr.open("GET", url, true);
|
|
229
|
+
xhr.responseType = "arraybuffer";
|
|
230
|
+
xhr.onload = () => {
|
|
231
|
+
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
|
|
232
|
+
// file URLs can return 0
|
|
233
|
+
resolve(xhr.response);
|
|
234
|
+
}
|
|
235
|
+
reject(xhr.status);
|
|
236
|
+
};
|
|
237
|
+
xhr.onerror = reject;
|
|
238
|
+
xhr.send(null);
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
return fetch(url, {
|
|
242
|
+
credentials: "same-origin"
|
|
243
|
+
}).then(response => {
|
|
244
|
+
if (response.ok) {
|
|
245
|
+
return response.arrayBuffer();
|
|
246
|
+
}
|
|
247
|
+
return Promise.reject(new Error(response.status + " : " + response.url));
|
|
248
|
+
});
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
} else
|
|
252
|
+
// end include: web_or_worker_shell_read.js
|
|
253
|
+
;
|
|
254
|
+
var out = Module["print"] || console.log.bind(console);
|
|
255
|
+
var err = Module["printErr"] || console.error.bind(console);
|
|
256
|
+
// Merge back in the overrides
|
|
257
|
+
Object.assign(Module, moduleOverrides);
|
|
258
|
+
// Free the object hierarchy contained in the overrides, this lets the GC
|
|
259
|
+
// reclaim data used.
|
|
260
|
+
moduleOverrides = null;
|
|
261
|
+
// Emit code to handle expected values on the Module object. This applies Module.x
|
|
262
|
+
// to the proper local x. This has two benefits: first, we only emit it if it is
|
|
263
|
+
// expected to arrive, and second, by using a local everywhere else that can be
|
|
264
|
+
// minified.
|
|
265
|
+
if (Module["arguments"]) arguments_ = Module["arguments"];
|
|
266
|
+
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
|
|
267
|
+
if (Module["quit"]) quit_ = Module["quit"];
|
|
268
|
+
// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
|
|
269
|
+
// end include: shell.js
|
|
270
|
+
// include: preamble.js
|
|
271
|
+
// === Preamble library stuff ===
|
|
272
|
+
// Documentation for the public APIs defined in this file must be updated in:
|
|
273
|
+
// site/source/docs/api_reference/preamble.js.rst
|
|
274
|
+
// A prebuilt local version of the documentation is available at:
|
|
275
|
+
// site/build/text/docs/api_reference/preamble.js.txt
|
|
276
|
+
// You can also build docs locally as HTML or other formats in site/
|
|
277
|
+
// An online HTML version (which may be of a different version of Emscripten)
|
|
278
|
+
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
|
|
279
|
+
var dynamicLibraries = Module["dynamicLibraries"] || [];
|
|
280
|
+
var wasmBinary;
|
|
281
|
+
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
|
|
282
|
+
// Wasm globals
|
|
283
|
+
var wasmMemory;
|
|
284
|
+
//========================================
|
|
285
|
+
// Runtime essentials
|
|
286
|
+
//========================================
|
|
287
|
+
// whether we are quitting the application. no code should run after this.
|
|
288
|
+
// set in exit() and abort()
|
|
289
|
+
var ABORT = false;
|
|
290
|
+
// set by exit() and abort(). Passed to 'onExit' handler.
|
|
291
|
+
// NOTE: This is also used as the process return code code in shell environments
|
|
292
|
+
// but only when noExitRuntime is false.
|
|
293
|
+
var EXITSTATUS;
|
|
294
|
+
// Memory management
|
|
295
|
+
var /** @type {!Int8Array} */HEAP8, /** @type {!Uint8Array} */HEAPU8;
|
|
296
|
+
var HEAP_DATA_VIEW;
|
|
297
|
+
// include: runtime_shared.js
|
|
298
|
+
function updateMemoryViews() {
|
|
299
|
+
var b = wasmMemory.buffer;
|
|
300
|
+
Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(b);
|
|
301
|
+
Module["HEAP8"] = HEAP8 = new Int8Array(b);
|
|
302
|
+
Module["HEAP16"] = new Int16Array(b);
|
|
303
|
+
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
|
|
304
|
+
Module["HEAPU16"] = new Uint16Array(b);
|
|
305
|
+
Module["HEAP32"] = new Int32Array(b);
|
|
306
|
+
Module["HEAPU32"] = new Uint32Array(b);
|
|
307
|
+
Module["HEAPF32"] = new Float32Array(b);
|
|
308
|
+
Module["HEAPF64"] = new Float64Array(b);
|
|
309
|
+
}
|
|
310
|
+
// end include: runtime_shared.js
|
|
311
|
+
// In non-standalone/normal mode, we create the memory here.
|
|
312
|
+
// include: runtime_init_memory.js
|
|
313
|
+
// Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined)
|
|
314
|
+
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
|
|
315
|
+
if (Module["wasmMemory"]) {
|
|
316
|
+
wasmMemory = Module["wasmMemory"];
|
|
317
|
+
} else {
|
|
318
|
+
var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 33554432;
|
|
319
|
+
wasmMemory = new WebAssembly.Memory({
|
|
320
|
+
"initial": INITIAL_MEMORY / 65536,
|
|
321
|
+
// In theory we should not need to emit the maximum if we want "unlimited"
|
|
322
|
+
// or 4GB of memory, but VMs error on that atm, see
|
|
323
|
+
// https://github.com/emscripten-core/emscripten/issues/14130
|
|
324
|
+
// And in the pthreads case we definitely need to emit a maximum. So
|
|
325
|
+
// always emit one.
|
|
326
|
+
"maximum": 2147483648 / 65536
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
updateMemoryViews();
|
|
330
|
+
// end include: runtime_init_memory.js
|
|
331
|
+
// include: runtime_stack_check.js
|
|
332
|
+
// end include: runtime_stack_check.js
|
|
333
|
+
// include: runtime_assertions.js
|
|
334
|
+
// end include: runtime_assertions.js
|
|
335
|
+
var __ATPRERUN__ = [];
|
|
336
|
+
// functions called before the runtime is initialized
|
|
337
|
+
var __ATINIT__ = [];
|
|
338
|
+
// functions called during startup
|
|
339
|
+
var __ATMAIN__ = [];
|
|
340
|
+
// functions called during shutdown
|
|
341
|
+
var __ATPOSTRUN__ = [];
|
|
342
|
+
// functions called after the main() is called
|
|
343
|
+
var __RELOC_FUNCS__ = [];
|
|
344
|
+
var runtimeInitialized = false;
|
|
345
|
+
function preRun() {
|
|
346
|
+
if (Module["preRun"]) {
|
|
347
|
+
if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
|
|
348
|
+
while (Module["preRun"].length) {
|
|
349
|
+
addOnPreRun(Module["preRun"].shift());
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
callRuntimeCallbacks(__ATPRERUN__);
|
|
353
|
+
}
|
|
354
|
+
function initRuntime() {
|
|
355
|
+
runtimeInitialized = true;
|
|
356
|
+
callRuntimeCallbacks(__RELOC_FUNCS__);
|
|
357
|
+
callRuntimeCallbacks(__ATINIT__);
|
|
358
|
+
}
|
|
359
|
+
function preMain() {
|
|
360
|
+
callRuntimeCallbacks(__ATMAIN__);
|
|
361
|
+
}
|
|
362
|
+
function postRun() {
|
|
363
|
+
if (Module["postRun"]) {
|
|
364
|
+
if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
|
|
365
|
+
while (Module["postRun"].length) {
|
|
366
|
+
addOnPostRun(Module["postRun"].shift());
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
callRuntimeCallbacks(__ATPOSTRUN__);
|
|
370
|
+
}
|
|
371
|
+
function addOnPreRun(cb) {
|
|
372
|
+
__ATPRERUN__.unshift(cb);
|
|
373
|
+
}
|
|
374
|
+
function addOnInit(cb) {
|
|
375
|
+
__ATINIT__.unshift(cb);
|
|
376
|
+
}
|
|
377
|
+
function addOnPostRun(cb) {
|
|
378
|
+
__ATPOSTRUN__.unshift(cb);
|
|
379
|
+
}
|
|
380
|
+
// include: runtime_math.js
|
|
381
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
|
|
382
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
|
|
383
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
|
|
384
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
|
|
385
|
+
// end include: runtime_math.js
|
|
386
|
+
// A counter of dependencies for calling run(). If we need to
|
|
387
|
+
// do asynchronous work before running, increment this and
|
|
388
|
+
// decrement it. Incrementing must happen in a place like
|
|
389
|
+
// Module.preRun (used by emcc to add file preloading).
|
|
390
|
+
// Note that you can add dependencies in preRun, even though
|
|
391
|
+
// it happens right before run - run will be postponed until
|
|
392
|
+
// the dependencies are met.
|
|
393
|
+
var runDependencies = 0;
|
|
394
|
+
var dependenciesFulfilled = null;
|
|
395
|
+
// overridden to take different actions when all run dependencies are fulfilled
|
|
396
|
+
function getUniqueRunDependency(id) {
|
|
397
|
+
return id;
|
|
398
|
+
}
|
|
399
|
+
function addRunDependency(id) {
|
|
400
|
+
runDependencies++;
|
|
401
|
+
Module["monitorRunDependencies"]?.(runDependencies);
|
|
402
|
+
}
|
|
403
|
+
function removeRunDependency(id) {
|
|
404
|
+
runDependencies--;
|
|
405
|
+
Module["monitorRunDependencies"]?.(runDependencies);
|
|
406
|
+
if (runDependencies == 0) {
|
|
407
|
+
if (dependenciesFulfilled) {
|
|
408
|
+
var callback = dependenciesFulfilled;
|
|
409
|
+
dependenciesFulfilled = null;
|
|
410
|
+
callback();
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
/** @param {string|number=} what */
|
|
415
|
+
function abort(what) {
|
|
416
|
+
Module["onAbort"]?.(what);
|
|
417
|
+
what = "Aborted(" + what + ")";
|
|
418
|
+
// TODO(sbc): Should we remove printing and leave it up to whoever
|
|
419
|
+
// catches the exception?
|
|
420
|
+
err(what);
|
|
421
|
+
ABORT = true;
|
|
422
|
+
EXITSTATUS = 1;
|
|
423
|
+
what += ". Build with -sASSERTIONS for more info.";
|
|
424
|
+
// Use a wasm runtime error, because a JS error might be seen as a foreign
|
|
425
|
+
// exception, which means we'd run destructors on it. We need the error to
|
|
426
|
+
// simply make the program stop.
|
|
427
|
+
// FIXME This approach does not work in Wasm EH because it currently does not assume
|
|
428
|
+
// all RuntimeErrors are from traps; it decides whether a RuntimeError is from
|
|
429
|
+
// a trap or not based on a hidden field within the object. So at the moment
|
|
430
|
+
// we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that
|
|
431
|
+
// allows this in the wasm spec.
|
|
432
|
+
// Suppress closure compiler warning here. Closure compiler's builtin extern
|
|
433
|
+
// definition for WebAssembly.RuntimeError claims it takes no arguments even
|
|
434
|
+
// though it can.
|
|
435
|
+
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
|
|
436
|
+
/** @suppress {checkTypes} */
|
|
437
|
+
var e = new WebAssembly.RuntimeError(what);
|
|
438
|
+
// Throw the error whether or not MODULARIZE is set because abort is used
|
|
439
|
+
// in code paths apart from instantiation where an exception is expected
|
|
440
|
+
// to be thrown when abort is called.
|
|
441
|
+
throw e;
|
|
442
|
+
}
|
|
443
|
+
// include: memoryprofiler.js
|
|
444
|
+
// end include: memoryprofiler.js
|
|
445
|
+
// include: URIUtils.js
|
|
446
|
+
// Prefix of data URIs emitted by SINGLE_FILE and related options.
|
|
447
|
+
var dataURIPrefix = "data:application/octet-stream;base64,";
|
|
448
|
+
/**
|
|
449
|
+
* Indicates whether filename is a base64 data URI.
|
|
450
|
+
* @noinline
|
|
451
|
+
*/
|
|
452
|
+
var isDataURI = filename => filename.startsWith(dataURIPrefix);
|
|
453
|
+
/**
|
|
454
|
+
* Indicates whether filename is delivered via file protocol (as opposed to http/https)
|
|
455
|
+
* @noinline
|
|
456
|
+
*/
|
|
457
|
+
var isFileURI = filename => filename.startsWith("file://");
|
|
458
|
+
// end include: URIUtils.js
|
|
459
|
+
// include: runtime_exceptions.js
|
|
460
|
+
// end include: runtime_exceptions.js
|
|
461
|
+
function findWasmBinary() {
|
|
462
|
+
var f = "tree-sitter.wasm";
|
|
463
|
+
if (!isDataURI(f)) {
|
|
464
|
+
return locateFile(f);
|
|
465
|
+
}
|
|
466
|
+
return f;
|
|
467
|
+
}
|
|
468
|
+
var wasmBinaryFile;
|
|
469
|
+
function getBinarySync(file) {
|
|
470
|
+
if (file == wasmBinaryFile && wasmBinary) {
|
|
471
|
+
return new Uint8Array(wasmBinary);
|
|
472
|
+
}
|
|
473
|
+
if (readBinary) {
|
|
474
|
+
return readBinary(file);
|
|
475
|
+
}
|
|
476
|
+
throw "both async and sync fetching of the wasm failed";
|
|
477
|
+
}
|
|
478
|
+
function getBinaryPromise(binaryFile) {
|
|
479
|
+
// If we don't have the binary yet, load it asynchronously using readAsync.
|
|
480
|
+
if (!wasmBinary) {
|
|
481
|
+
// Fetch the binary using readAsync
|
|
482
|
+
return readAsync(binaryFile).then(response => new Uint8Array(/** @type{!ArrayBuffer} */response),
|
|
483
|
+
// Fall back to getBinarySync if readAsync fails
|
|
484
|
+
() => getBinarySync(binaryFile));
|
|
485
|
+
}
|
|
486
|
+
// Otherwise, getBinarySync should be able to get it synchronously
|
|
487
|
+
return Promise.resolve().then(() => getBinarySync(binaryFile));
|
|
488
|
+
}
|
|
489
|
+
function instantiateArrayBuffer(binaryFile, imports, receiver) {
|
|
490
|
+
return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(receiver, reason => {
|
|
491
|
+
err(`failed to asynchronously prepare wasm: ${reason}`);
|
|
492
|
+
abort(reason);
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
function instantiateAsync(binary, binaryFile, imports, callback) {
|
|
496
|
+
if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) &&
|
|
497
|
+
// Don't use streaming for file:// delivered objects in a webview, fetch them synchronously.
|
|
498
|
+
!isFileURI(binaryFile) &&
|
|
499
|
+
// Avoid instantiateStreaming() on Node.js environment for now, as while
|
|
500
|
+
// Node.js v18.1.0 implements it, it does not have a full fetch()
|
|
501
|
+
// implementation yet.
|
|
502
|
+
// Reference:
|
|
503
|
+
// https://github.com/emscripten-core/emscripten/pull/16917
|
|
504
|
+
!ENVIRONMENT_IS_NODE && typeof fetch == "function") {
|
|
505
|
+
return fetch(binaryFile, {
|
|
506
|
+
credentials: "same-origin"
|
|
507
|
+
}).then(response => {
|
|
508
|
+
// Suppress closure warning here since the upstream definition for
|
|
509
|
+
// instantiateStreaming only allows Promise<Repsponse> rather than
|
|
510
|
+
// an actual Response.
|
|
511
|
+
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed.
|
|
512
|
+
/** @suppress {checkTypes} */
|
|
513
|
+
var result = WebAssembly.instantiateStreaming(response, imports);
|
|
514
|
+
return result.then(callback, function (reason) {
|
|
515
|
+
// We expect the most common failure cause to be a bad MIME type for the binary,
|
|
516
|
+
// in which case falling back to ArrayBuffer instantiation should work.
|
|
517
|
+
err(`wasm streaming compile failed: ${reason}`);
|
|
518
|
+
err("falling back to ArrayBuffer instantiation");
|
|
519
|
+
return instantiateArrayBuffer(binaryFile, imports, callback);
|
|
520
|
+
});
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
return instantiateArrayBuffer(binaryFile, imports, callback);
|
|
524
|
+
}
|
|
525
|
+
function getWasmImports() {
|
|
526
|
+
// prepare imports
|
|
527
|
+
return {
|
|
528
|
+
"env": wasmImports,
|
|
529
|
+
"wasi_snapshot_preview1": wasmImports,
|
|
530
|
+
"GOT.mem": new Proxy(wasmImports, GOTHandler),
|
|
531
|
+
"GOT.func": new Proxy(wasmImports, GOTHandler)
|
|
532
|
+
};
|
|
533
|
+
}
|
|
534
|
+
// Create the wasm instance.
|
|
535
|
+
// Receives the wasm imports, returns the exports.
|
|
536
|
+
function createWasm() {
|
|
537
|
+
var info = getWasmImports();
|
|
538
|
+
// Load the wasm module and create an instance of using native support in the JS engine.
|
|
539
|
+
// handle a generated wasm instance, receiving its exports and
|
|
540
|
+
// performing other necessary setup
|
|
541
|
+
/** @param {WebAssembly.Module=} module*/
|
|
542
|
+
function receiveInstance(instance, module) {
|
|
543
|
+
wasmExports = instance.exports;
|
|
544
|
+
wasmExports = relocateExports(wasmExports, 1024);
|
|
545
|
+
var metadata = getDylinkMetadata(module);
|
|
546
|
+
if (metadata.neededDynlibs) {
|
|
547
|
+
dynamicLibraries = metadata.neededDynlibs.concat(dynamicLibraries);
|
|
548
|
+
}
|
|
549
|
+
mergeLibSymbols(wasmExports);
|
|
550
|
+
LDSO.init();
|
|
551
|
+
loadDylibs();
|
|
552
|
+
addOnInit(wasmExports["__wasm_call_ctors"]);
|
|
553
|
+
__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);
|
|
554
|
+
removeRunDependency();
|
|
555
|
+
return wasmExports;
|
|
556
|
+
}
|
|
557
|
+
// wait for the pthread pool (if any)
|
|
558
|
+
addRunDependency();
|
|
559
|
+
// Prefer streaming instantiation if available.
|
|
560
|
+
function receiveInstantiationResult(result) {
|
|
561
|
+
// 'result' is a ResultObject object which has both the module and instance.
|
|
562
|
+
// receiveInstance() will swap in the exports (to Module.asm) so they can be called
|
|
563
|
+
receiveInstance(result["instance"], result["module"]);
|
|
564
|
+
}
|
|
565
|
+
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
|
|
566
|
+
// to manually instantiate the Wasm module themselves. This allows pages to
|
|
567
|
+
// run the instantiation parallel to any other async startup actions they are
|
|
568
|
+
// performing.
|
|
569
|
+
// Also pthreads and wasm workers initialize the wasm instance through this
|
|
570
|
+
// path.
|
|
571
|
+
if (Module["instantiateWasm"]) {
|
|
572
|
+
try {
|
|
573
|
+
return Module["instantiateWasm"](info, receiveInstance);
|
|
574
|
+
} catch (e) {
|
|
575
|
+
err(`Module.instantiateWasm callback failed with error: ${e}`);
|
|
576
|
+
return false;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
if (!wasmBinaryFile) wasmBinaryFile = findWasmBinary();
|
|
580
|
+
instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult);
|
|
581
|
+
return {};
|
|
582
|
+
}
|
|
583
|
+
// end include: preamble.js
|
|
584
|
+
/** @constructor */
|
|
585
|
+
function ExitStatus(status) {
|
|
586
|
+
this.name = "ExitStatus";
|
|
587
|
+
this.message = `Program terminated with exit(${status})`;
|
|
588
|
+
this.status = status;
|
|
589
|
+
}
|
|
590
|
+
var GOT = {};
|
|
591
|
+
var currentModuleWeakSymbols = new Set([]);
|
|
592
|
+
var GOTHandler = {
|
|
593
|
+
get(obj, symName) {
|
|
594
|
+
var rtn = GOT[symName];
|
|
595
|
+
if (!rtn) {
|
|
596
|
+
rtn = GOT[symName] = new WebAssembly.Global({
|
|
597
|
+
"value": "i32",
|
|
598
|
+
"mutable": true
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
if (!currentModuleWeakSymbols.has(symName)) {
|
|
602
|
+
// Any non-weak reference to a symbol marks it as `required`, which
|
|
603
|
+
// enabled `reportUndefinedSymbols` to report undefeind symbol errors
|
|
604
|
+
// correctly.
|
|
605
|
+
rtn.required = true;
|
|
606
|
+
}
|
|
607
|
+
return rtn;
|
|
608
|
+
}
|
|
609
|
+
};
|
|
610
|
+
var LE_HEAP_LOAD_F32 = byteOffset => HEAP_DATA_VIEW.getFloat32(byteOffset, true);
|
|
611
|
+
var LE_HEAP_LOAD_F64 = byteOffset => HEAP_DATA_VIEW.getFloat64(byteOffset, true);
|
|
612
|
+
var LE_HEAP_LOAD_I16 = byteOffset => HEAP_DATA_VIEW.getInt16(byteOffset, true);
|
|
613
|
+
var LE_HEAP_LOAD_I32 = byteOffset => HEAP_DATA_VIEW.getInt32(byteOffset, true);
|
|
614
|
+
var LE_HEAP_LOAD_U32 = byteOffset => HEAP_DATA_VIEW.getUint32(byteOffset, true);
|
|
615
|
+
var LE_HEAP_STORE_F32 = (byteOffset, value) => HEAP_DATA_VIEW.setFloat32(byteOffset, value, true);
|
|
616
|
+
var LE_HEAP_STORE_F64 = (byteOffset, value) => HEAP_DATA_VIEW.setFloat64(byteOffset, value, true);
|
|
617
|
+
var LE_HEAP_STORE_I16 = (byteOffset, value) => HEAP_DATA_VIEW.setInt16(byteOffset, value, true);
|
|
618
|
+
var LE_HEAP_STORE_I32 = (byteOffset, value) => HEAP_DATA_VIEW.setInt32(byteOffset, value, true);
|
|
619
|
+
var LE_HEAP_STORE_U32 = (byteOffset, value) => HEAP_DATA_VIEW.setUint32(byteOffset, value, true);
|
|
620
|
+
var callRuntimeCallbacks = callbacks => {
|
|
621
|
+
while (callbacks.length > 0) {
|
|
622
|
+
// Pass the module as the first argument.
|
|
623
|
+
callbacks.shift()(Module);
|
|
624
|
+
}
|
|
625
|
+
};
|
|
626
|
+
var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder() : undefined;
|
|
627
|
+
/**
|
|
628
|
+
* Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
|
|
629
|
+
* array that contains uint8 values, returns a copy of that string as a
|
|
630
|
+
* Javascript String object.
|
|
631
|
+
* heapOrArray is either a regular array, or a JavaScript typed array view.
|
|
632
|
+
* @param {number} idx
|
|
633
|
+
* @param {number=} maxBytesToRead
|
|
634
|
+
* @return {string}
|
|
635
|
+
*/
|
|
636
|
+
var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {
|
|
637
|
+
var endIdx = idx + maxBytesToRead;
|
|
638
|
+
var endPtr = idx;
|
|
639
|
+
// TextDecoder needs to know the byte length in advance, it doesn't stop on
|
|
640
|
+
// null terminator by itself. Also, use the length info to avoid running tiny
|
|
641
|
+
// strings through TextDecoder, since .subarray() allocates garbage.
|
|
642
|
+
// (As a tiny code save trick, compare endPtr against endIdx using a negation,
|
|
643
|
+
// so that undefined means Infinity)
|
|
644
|
+
while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
|
|
645
|
+
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
|
|
646
|
+
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
|
|
647
|
+
}
|
|
648
|
+
var str = "";
|
|
649
|
+
// If building with TextDecoder, we have already computed the string length
|
|
650
|
+
// above, so test loop end condition against that
|
|
651
|
+
while (idx < endPtr) {
|
|
652
|
+
// For UTF8 byte structure, see:
|
|
653
|
+
// http://en.wikipedia.org/wiki/UTF-8#Description
|
|
654
|
+
// https://www.ietf.org/rfc/rfc2279.txt
|
|
655
|
+
// https://tools.ietf.org/html/rfc3629
|
|
656
|
+
var u0 = heapOrArray[idx++];
|
|
657
|
+
if (!(u0 & 128)) {
|
|
658
|
+
str += String.fromCharCode(u0);
|
|
659
|
+
continue;
|
|
660
|
+
}
|
|
661
|
+
var u1 = heapOrArray[idx++] & 63;
|
|
662
|
+
if ((u0 & 224) == 192) {
|
|
663
|
+
str += String.fromCharCode((u0 & 31) << 6 | u1);
|
|
664
|
+
continue;
|
|
665
|
+
}
|
|
666
|
+
var u2 = heapOrArray[idx++] & 63;
|
|
667
|
+
if ((u0 & 240) == 224) {
|
|
668
|
+
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
|
|
669
|
+
} else {
|
|
670
|
+
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
|
|
671
|
+
}
|
|
672
|
+
if (u0 < 65536) {
|
|
673
|
+
str += String.fromCharCode(u0);
|
|
674
|
+
} else {
|
|
675
|
+
var ch = u0 - 65536;
|
|
676
|
+
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
return str;
|
|
680
|
+
};
|
|
681
|
+
var getDylinkMetadata = binary => {
|
|
682
|
+
var offset = 0;
|
|
683
|
+
var end = 0;
|
|
684
|
+
function getU8() {
|
|
685
|
+
return binary[offset++];
|
|
686
|
+
}
|
|
687
|
+
function getLEB() {
|
|
688
|
+
var ret = 0;
|
|
689
|
+
var mul = 1;
|
|
690
|
+
while (1) {
|
|
691
|
+
var byte = binary[offset++];
|
|
692
|
+
ret += (byte & 127) * mul;
|
|
693
|
+
mul *= 128;
|
|
694
|
+
if (!(byte & 128)) break;
|
|
695
|
+
}
|
|
696
|
+
return ret;
|
|
697
|
+
}
|
|
698
|
+
function getString() {
|
|
699
|
+
var len = getLEB();
|
|
700
|
+
offset += len;
|
|
701
|
+
return UTF8ArrayToString(binary, offset - len, len);
|
|
702
|
+
}
|
|
703
|
+
/** @param {string=} message */
|
|
704
|
+
function failIf(condition, message) {
|
|
705
|
+
if (condition) throw new Error(message);
|
|
706
|
+
}
|
|
707
|
+
var name = "dylink.0";
|
|
708
|
+
if (binary instanceof WebAssembly.Module) {
|
|
709
|
+
var dylinkSection = WebAssembly.Module.customSections(binary, name);
|
|
710
|
+
if (dylinkSection.length === 0) {
|
|
711
|
+
name = "dylink";
|
|
712
|
+
dylinkSection = WebAssembly.Module.customSections(binary, name);
|
|
713
|
+
}
|
|
714
|
+
failIf(dylinkSection.length === 0, "need dylink section");
|
|
715
|
+
binary = new Uint8Array(dylinkSection[0]);
|
|
716
|
+
end = binary.length;
|
|
717
|
+
} else {
|
|
718
|
+
var int32View = new Uint32Array(new Uint8Array(binary.subarray(0, 24)).buffer);
|
|
719
|
+
var magicNumberFound = int32View[0] == 1836278016 || int32View[0] == 6386541;
|
|
720
|
+
failIf(!magicNumberFound, "need to see wasm magic number");
|
|
721
|
+
// \0asm
|
|
722
|
+
// we should see the dylink custom section right after the magic number and wasm version
|
|
723
|
+
failIf(binary[8] !== 0, "need the dylink section to be first");
|
|
724
|
+
offset = 9;
|
|
725
|
+
var section_size = getLEB();
|
|
726
|
+
//section size
|
|
727
|
+
end = offset + section_size;
|
|
728
|
+
name = getString();
|
|
729
|
+
}
|
|
730
|
+
var customSection = {
|
|
731
|
+
neededDynlibs: [],
|
|
732
|
+
tlsExports: new Set(),
|
|
733
|
+
weakImports: new Set()
|
|
734
|
+
};
|
|
735
|
+
if (name == "dylink") {
|
|
736
|
+
customSection.memorySize = getLEB();
|
|
737
|
+
customSection.memoryAlign = getLEB();
|
|
738
|
+
customSection.tableSize = getLEB();
|
|
739
|
+
customSection.tableAlign = getLEB();
|
|
740
|
+
// shared libraries this module needs. We need to load them first, so that
|
|
741
|
+
// current module could resolve its imports. (see tools/shared.py
|
|
742
|
+
// WebAssembly.make_shared_library() for "dylink" section extension format)
|
|
743
|
+
var neededDynlibsCount = getLEB();
|
|
744
|
+
for (var i = 0; i < neededDynlibsCount; ++i) {
|
|
745
|
+
var libname = getString();
|
|
746
|
+
customSection.neededDynlibs.push(libname);
|
|
747
|
+
}
|
|
748
|
+
} else {
|
|
749
|
+
failIf(name !== "dylink.0");
|
|
750
|
+
var WASM_DYLINK_MEM_INFO = 1;
|
|
751
|
+
var WASM_DYLINK_NEEDED = 2;
|
|
752
|
+
var WASM_DYLINK_EXPORT_INFO = 3;
|
|
753
|
+
var WASM_DYLINK_IMPORT_INFO = 4;
|
|
754
|
+
var WASM_SYMBOL_TLS = 256;
|
|
755
|
+
var WASM_SYMBOL_BINDING_MASK = 3;
|
|
756
|
+
var WASM_SYMBOL_BINDING_WEAK = 1;
|
|
757
|
+
while (offset < end) {
|
|
758
|
+
var subsectionType = getU8();
|
|
759
|
+
var subsectionSize = getLEB();
|
|
760
|
+
if (subsectionType === WASM_DYLINK_MEM_INFO) {
|
|
761
|
+
customSection.memorySize = getLEB();
|
|
762
|
+
customSection.memoryAlign = getLEB();
|
|
763
|
+
customSection.tableSize = getLEB();
|
|
764
|
+
customSection.tableAlign = getLEB();
|
|
765
|
+
} else if (subsectionType === WASM_DYLINK_NEEDED) {
|
|
766
|
+
var neededDynlibsCount = getLEB();
|
|
767
|
+
for (var i = 0; i < neededDynlibsCount; ++i) {
|
|
768
|
+
libname = getString();
|
|
769
|
+
customSection.neededDynlibs.push(libname);
|
|
770
|
+
}
|
|
771
|
+
} else if (subsectionType === WASM_DYLINK_EXPORT_INFO) {
|
|
772
|
+
var count = getLEB();
|
|
773
|
+
while (count--) {
|
|
774
|
+
var symname = getString();
|
|
775
|
+
var flags = getLEB();
|
|
776
|
+
if (flags & WASM_SYMBOL_TLS) {
|
|
777
|
+
customSection.tlsExports.add(symname);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
} else if (subsectionType === WASM_DYLINK_IMPORT_INFO) {
|
|
781
|
+
var count = getLEB();
|
|
782
|
+
while (count--) {
|
|
783
|
+
getString();
|
|
784
|
+
var symname = getString();
|
|
785
|
+
var flags = getLEB();
|
|
786
|
+
if ((flags & WASM_SYMBOL_BINDING_MASK) == WASM_SYMBOL_BINDING_WEAK) {
|
|
787
|
+
customSection.weakImports.add(symname);
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
} else {
|
|
791
|
+
// unknown subsection
|
|
792
|
+
offset += subsectionSize;
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
return customSection;
|
|
797
|
+
};
|
|
798
|
+
/**
|
|
799
|
+
* @param {number} ptr
|
|
800
|
+
* @param {string} type
|
|
801
|
+
*/
|
|
802
|
+
function getValue(ptr, type = "i8") {
|
|
803
|
+
if (type.endsWith("*")) type = "*";
|
|
804
|
+
switch (type) {
|
|
805
|
+
case "i1":
|
|
806
|
+
return HEAP8[ptr];
|
|
807
|
+
case "i8":
|
|
808
|
+
return HEAP8[ptr];
|
|
809
|
+
case "i16":
|
|
810
|
+
return LE_HEAP_LOAD_I16((ptr >> 1) * 2);
|
|
811
|
+
case "i32":
|
|
812
|
+
return LE_HEAP_LOAD_I32((ptr >> 2) * 4);
|
|
813
|
+
case "i64":
|
|
814
|
+
abort("to do getValue(i64) use WASM_BIGINT");
|
|
815
|
+
case "float":
|
|
816
|
+
return LE_HEAP_LOAD_F32((ptr >> 2) * 4);
|
|
817
|
+
case "double":
|
|
818
|
+
return LE_HEAP_LOAD_F64((ptr >> 3) * 8);
|
|
819
|
+
case "*":
|
|
820
|
+
return LE_HEAP_LOAD_U32((ptr >> 2) * 4);
|
|
821
|
+
default:
|
|
822
|
+
abort(`invalid type for getValue: ${type}`);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
var newDSO = (name, handle, syms) => {
|
|
826
|
+
var dso = {
|
|
827
|
+
refcount: Infinity,
|
|
828
|
+
name: name,
|
|
829
|
+
exports: syms,
|
|
830
|
+
global: true
|
|
831
|
+
};
|
|
832
|
+
LDSO.loadedLibsByName[name] = dso;
|
|
833
|
+
if (handle != undefined) {
|
|
834
|
+
LDSO.loadedLibsByHandle[handle] = dso;
|
|
835
|
+
}
|
|
836
|
+
return dso;
|
|
837
|
+
};
|
|
838
|
+
var LDSO = {
|
|
839
|
+
loadedLibsByName: {},
|
|
840
|
+
loadedLibsByHandle: {},
|
|
841
|
+
init() {
|
|
842
|
+
newDSO("__main__", 0, wasmImports);
|
|
843
|
+
}
|
|
844
|
+
};
|
|
845
|
+
var ___heap_base = 78112;
|
|
846
|
+
var zeroMemory = (address, size) => {
|
|
847
|
+
HEAPU8.fill(0, address, address + size);
|
|
848
|
+
return address;
|
|
849
|
+
};
|
|
850
|
+
var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
|
|
851
|
+
var getMemory = size => {
|
|
852
|
+
// After the runtime is initialized, we must only use sbrk() normally.
|
|
853
|
+
if (runtimeInitialized) {
|
|
854
|
+
// Currently we don't support freeing of static data when modules are
|
|
855
|
+
// unloaded via dlclose. This function is tagged as `noleakcheck` to
|
|
856
|
+
// avoid having this reported as leak.
|
|
857
|
+
return zeroMemory(_malloc(size), size);
|
|
858
|
+
}
|
|
859
|
+
var ret = ___heap_base;
|
|
860
|
+
// Keep __heap_base stack aligned.
|
|
861
|
+
var end = ret + alignMemory(size, 16);
|
|
862
|
+
___heap_base = end;
|
|
863
|
+
GOT["__heap_base"].value = end;
|
|
864
|
+
return ret;
|
|
865
|
+
};
|
|
866
|
+
var isInternalSym = symName => ["__cpp_exception", "__c_longjmp", "__wasm_apply_data_relocs", "__dso_handle", "__tls_size", "__tls_align", "__set_stack_limits", "_emscripten_tls_init", "__wasm_init_tls", "__wasm_call_ctors", "__start_em_asm", "__stop_em_asm", "__start_em_js", "__stop_em_js"].includes(symName) || symName.startsWith("__em_js__");
|
|
867
|
+
var uleb128Encode = (n, target) => {
|
|
868
|
+
if (n < 128) {
|
|
869
|
+
target.push(n);
|
|
870
|
+
} else {
|
|
871
|
+
target.push(n % 128 | 128, n >> 7);
|
|
872
|
+
}
|
|
873
|
+
};
|
|
874
|
+
var sigToWasmTypes = sig => {
|
|
875
|
+
var typeNames = {
|
|
876
|
+
"i": "i32",
|
|
877
|
+
"j": "i64",
|
|
878
|
+
"f": "f32",
|
|
879
|
+
"d": "f64",
|
|
880
|
+
"e": "externref",
|
|
881
|
+
"p": "i32"
|
|
882
|
+
};
|
|
883
|
+
var type = {
|
|
884
|
+
parameters: [],
|
|
885
|
+
results: sig[0] == "v" ? [] : [typeNames[sig[0]]]
|
|
886
|
+
};
|
|
887
|
+
for (var i = 1; i < sig.length; ++i) {
|
|
888
|
+
type.parameters.push(typeNames[sig[i]]);
|
|
889
|
+
}
|
|
890
|
+
return type;
|
|
891
|
+
};
|
|
892
|
+
var generateFuncType = (sig, target) => {
|
|
893
|
+
var sigRet = sig.slice(0, 1);
|
|
894
|
+
var sigParam = sig.slice(1);
|
|
895
|
+
var typeCodes = {
|
|
896
|
+
"i": 127,
|
|
897
|
+
// i32
|
|
898
|
+
"p": 127,
|
|
899
|
+
// i32
|
|
900
|
+
"j": 126,
|
|
901
|
+
// i64
|
|
902
|
+
"f": 125,
|
|
903
|
+
// f32
|
|
904
|
+
"d": 124,
|
|
905
|
+
// f64
|
|
906
|
+
"e": 111
|
|
907
|
+
};
|
|
908
|
+
// Parameters, length + signatures
|
|
909
|
+
target.push(96);
|
|
910
|
+
/* form: func */
|
|
911
|
+
uleb128Encode(sigParam.length, target);
|
|
912
|
+
for (var i = 0; i < sigParam.length; ++i) {
|
|
913
|
+
target.push(typeCodes[sigParam[i]]);
|
|
914
|
+
}
|
|
915
|
+
// Return values, length + signatures
|
|
916
|
+
// With no multi-return in MVP, either 0 (void) or 1 (anything else)
|
|
917
|
+
if (sigRet == "v") {
|
|
918
|
+
target.push(0);
|
|
919
|
+
} else {
|
|
920
|
+
target.push(1, typeCodes[sigRet]);
|
|
921
|
+
}
|
|
922
|
+
};
|
|
923
|
+
var convertJsFunctionToWasm = (func, sig) => {
|
|
924
|
+
// If the type reflection proposal is available, use the new
|
|
925
|
+
// "WebAssembly.Function" constructor.
|
|
926
|
+
// Otherwise, construct a minimal wasm module importing the JS function and
|
|
927
|
+
// re-exporting it.
|
|
928
|
+
if (typeof WebAssembly.Function == "function") {
|
|
929
|
+
return new WebAssembly.Function(sigToWasmTypes(sig), func);
|
|
930
|
+
}
|
|
931
|
+
// The module is static, with the exception of the type section, which is
|
|
932
|
+
// generated based on the signature passed in.
|
|
933
|
+
var typeSectionBody = [1];
|
|
934
|
+
// count: 1
|
|
935
|
+
generateFuncType(sig, typeSectionBody);
|
|
936
|
+
// Rest of the module is static
|
|
937
|
+
var bytes = [0, 97, 115, 109,
|
|
938
|
+
// magic ("\0asm")
|
|
939
|
+
1, 0, 0, 0,
|
|
940
|
+
// version: 1
|
|
941
|
+
1];
|
|
942
|
+
// Write the overall length of the type section followed by the body
|
|
943
|
+
uleb128Encode(typeSectionBody.length, bytes);
|
|
944
|
+
bytes.push(...typeSectionBody);
|
|
945
|
+
// The rest of the module is static
|
|
946
|
+
bytes.push(2, 7,
|
|
947
|
+
// import section
|
|
948
|
+
// (import "e" "f" (func 0 (type 0)))
|
|
949
|
+
1, 1, 101, 1, 102, 0, 0, 7, 5,
|
|
950
|
+
// export section
|
|
951
|
+
// (export "f" (func 0 (type 0)))
|
|
952
|
+
1, 1, 102, 0, 0);
|
|
953
|
+
// We can compile this wasm module synchronously because it is very small.
|
|
954
|
+
// This accepts an import (at "e.f"), that it reroutes to an export (at "f")
|
|
955
|
+
var module = new WebAssembly.Module(new Uint8Array(bytes));
|
|
956
|
+
var instance = new WebAssembly.Instance(module, {
|
|
957
|
+
"e": {
|
|
958
|
+
"f": func
|
|
959
|
+
}
|
|
960
|
+
});
|
|
961
|
+
var wrappedFunc = instance.exports["f"];
|
|
962
|
+
return wrappedFunc;
|
|
963
|
+
};
|
|
964
|
+
var wasmTableMirror = [];
|
|
965
|
+
/** @type {WebAssembly.Table} */
|
|
966
|
+
var wasmTable = new WebAssembly.Table({
|
|
967
|
+
"initial": 28,
|
|
968
|
+
"element": "anyfunc"
|
|
969
|
+
});
|
|
970
|
+
var getWasmTableEntry = funcPtr => {
|
|
971
|
+
var func = wasmTableMirror[funcPtr];
|
|
972
|
+
if (!func) {
|
|
973
|
+
if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;
|
|
974
|
+
wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
|
|
975
|
+
}
|
|
976
|
+
return func;
|
|
977
|
+
};
|
|
978
|
+
var updateTableMap = (offset, count) => {
|
|
979
|
+
if (functionsInTableMap) {
|
|
980
|
+
for (var i = offset; i < offset + count; i++) {
|
|
981
|
+
var item = getWasmTableEntry(i);
|
|
982
|
+
// Ignore null values.
|
|
983
|
+
if (item) {
|
|
984
|
+
functionsInTableMap.set(item, i);
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
};
|
|
989
|
+
var functionsInTableMap;
|
|
990
|
+
var getFunctionAddress = func => {
|
|
991
|
+
// First, create the map if this is the first use.
|
|
992
|
+
if (!functionsInTableMap) {
|
|
993
|
+
functionsInTableMap = new WeakMap();
|
|
994
|
+
updateTableMap(0, wasmTable.length);
|
|
995
|
+
}
|
|
996
|
+
return functionsInTableMap.get(func) || 0;
|
|
997
|
+
};
|
|
998
|
+
var freeTableIndexes = [];
|
|
999
|
+
var getEmptyTableSlot = () => {
|
|
1000
|
+
// Reuse a free index if there is one, otherwise grow.
|
|
1001
|
+
if (freeTableIndexes.length) {
|
|
1002
|
+
return freeTableIndexes.pop();
|
|
1003
|
+
}
|
|
1004
|
+
// Grow the table
|
|
1005
|
+
try {
|
|
1006
|
+
wasmTable.grow(1);
|
|
1007
|
+
} catch (err) {
|
|
1008
|
+
if (!(err instanceof RangeError)) {
|
|
1009
|
+
throw err;
|
|
1010
|
+
}
|
|
1011
|
+
throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
|
|
1012
|
+
}
|
|
1013
|
+
return wasmTable.length - 1;
|
|
1014
|
+
};
|
|
1015
|
+
var setWasmTableEntry = (idx, func) => {
|
|
1016
|
+
wasmTable.set(idx, func);
|
|
1017
|
+
// With ABORT_ON_WASM_EXCEPTIONS wasmTable.get is overridden to return wrapped
|
|
1018
|
+
// functions so we need to call it here to retrieve the potential wrapper correctly
|
|
1019
|
+
// instead of just storing 'func' directly into wasmTableMirror
|
|
1020
|
+
wasmTableMirror[idx] = wasmTable.get(idx);
|
|
1021
|
+
};
|
|
1022
|
+
/** @param {string=} sig */
|
|
1023
|
+
var addFunction = (func, sig) => {
|
|
1024
|
+
// Check if the function is already in the table, to ensure each function
|
|
1025
|
+
// gets a unique index.
|
|
1026
|
+
var rtn = getFunctionAddress(func);
|
|
1027
|
+
if (rtn) {
|
|
1028
|
+
return rtn;
|
|
1029
|
+
}
|
|
1030
|
+
// It's not in the table, add it now.
|
|
1031
|
+
var ret = getEmptyTableSlot();
|
|
1032
|
+
// Set the new value.
|
|
1033
|
+
try {
|
|
1034
|
+
// Attempting to call this with JS function will cause of table.set() to fail
|
|
1035
|
+
setWasmTableEntry(ret, func);
|
|
1036
|
+
} catch (err) {
|
|
1037
|
+
if (!(err instanceof TypeError)) {
|
|
1038
|
+
throw err;
|
|
1039
|
+
}
|
|
1040
|
+
var wrapped = convertJsFunctionToWasm(func, sig);
|
|
1041
|
+
setWasmTableEntry(ret, wrapped);
|
|
1042
|
+
}
|
|
1043
|
+
functionsInTableMap.set(func, ret);
|
|
1044
|
+
return ret;
|
|
1045
|
+
};
|
|
1046
|
+
var updateGOT = (exports, replace) => {
|
|
1047
|
+
for (var symName in exports) {
|
|
1048
|
+
if (isInternalSym(symName)) {
|
|
1049
|
+
continue;
|
|
1050
|
+
}
|
|
1051
|
+
var value = exports[symName];
|
|
1052
|
+
if (symName.startsWith("orig$")) {
|
|
1053
|
+
symName = symName.split("$")[1];
|
|
1054
|
+
replace = true;
|
|
1055
|
+
}
|
|
1056
|
+
GOT[symName] ||= new WebAssembly.Global({
|
|
1057
|
+
"value": "i32",
|
|
1058
|
+
"mutable": true
|
|
1059
|
+
});
|
|
1060
|
+
if (replace || GOT[symName].value == 0) {
|
|
1061
|
+
if (typeof value == "function") {
|
|
1062
|
+
GOT[symName].value = addFunction(value);
|
|
1063
|
+
} else if (typeof value == "number") {
|
|
1064
|
+
GOT[symName].value = value;
|
|
1065
|
+
} else {
|
|
1066
|
+
err(`unhandled export type for '${symName}': ${typeof value}`);
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
};
|
|
1071
|
+
/** @param {boolean=} replace */
|
|
1072
|
+
var relocateExports = (exports, memoryBase, replace) => {
|
|
1073
|
+
var relocated = {};
|
|
1074
|
+
for (var e in exports) {
|
|
1075
|
+
var value = exports[e];
|
|
1076
|
+
if (typeof value == "object") {
|
|
1077
|
+
// a breaking change in the wasm spec, globals are now objects
|
|
1078
|
+
// https://github.com/WebAssembly/mutable-global/issues/1
|
|
1079
|
+
value = value.value;
|
|
1080
|
+
}
|
|
1081
|
+
if (typeof value == "number") {
|
|
1082
|
+
value += memoryBase;
|
|
1083
|
+
}
|
|
1084
|
+
relocated[e] = value;
|
|
1085
|
+
}
|
|
1086
|
+
updateGOT(relocated, replace);
|
|
1087
|
+
return relocated;
|
|
1088
|
+
};
|
|
1089
|
+
var isSymbolDefined = symName => {
|
|
1090
|
+
// Ignore 'stub' symbols that are auto-generated as part of the original
|
|
1091
|
+
// `wasmImports` used to instantiate the main module.
|
|
1092
|
+
var existing = wasmImports[symName];
|
|
1093
|
+
if (!existing || existing.stub) {
|
|
1094
|
+
return false;
|
|
1095
|
+
}
|
|
1096
|
+
return true;
|
|
1097
|
+
};
|
|
1098
|
+
var dynCallLegacy = (sig, ptr, args) => {
|
|
1099
|
+
sig = sig.replace(/p/g, "i");
|
|
1100
|
+
var f = Module["dynCall_" + sig];
|
|
1101
|
+
return f(ptr, ...args);
|
|
1102
|
+
};
|
|
1103
|
+
var dynCall = (sig, ptr, args = []) => {
|
|
1104
|
+
// Without WASM_BIGINT support we cannot directly call function with i64 as
|
|
1105
|
+
// part of their signature, so we rely on the dynCall functions generated by
|
|
1106
|
+
// wasm-emscripten-finalize
|
|
1107
|
+
if (sig.includes("j")) {
|
|
1108
|
+
return dynCallLegacy(sig, ptr, args);
|
|
1109
|
+
}
|
|
1110
|
+
var rtn = getWasmTableEntry(ptr)(...args);
|
|
1111
|
+
return rtn;
|
|
1112
|
+
};
|
|
1113
|
+
var stackSave = () => _emscripten_stack_get_current();
|
|
1114
|
+
var stackRestore = val => __emscripten_stack_restore(val);
|
|
1115
|
+
var createInvokeFunction = sig => (ptr, ...args) => {
|
|
1116
|
+
var sp = stackSave();
|
|
1117
|
+
try {
|
|
1118
|
+
return dynCall(sig, ptr, args);
|
|
1119
|
+
} catch (e) {
|
|
1120
|
+
stackRestore(sp);
|
|
1121
|
+
// Create a try-catch guard that rethrows the Emscripten EH exception.
|
|
1122
|
+
// Exceptions thrown from C++ will be a pointer (number) and longjmp
|
|
1123
|
+
// will throw the number Infinity. Use the compact and fast "e !== e+0"
|
|
1124
|
+
// test to check if e was not a Number.
|
|
1125
|
+
if (e !== e + 0) throw e;
|
|
1126
|
+
_setThrew(1, 0);
|
|
1127
|
+
}
|
|
1128
|
+
};
|
|
1129
|
+
var resolveGlobalSymbol = (symName, direct = false) => {
|
|
1130
|
+
var sym;
|
|
1131
|
+
// First look for the orig$ symbol which is the symbol without i64
|
|
1132
|
+
// legalization performed.
|
|
1133
|
+
if (direct && "orig$" + symName in wasmImports) {
|
|
1134
|
+
symName = "orig$" + symName;
|
|
1135
|
+
}
|
|
1136
|
+
if (isSymbolDefined(symName)) {
|
|
1137
|
+
sym = wasmImports[symName];
|
|
1138
|
+
} else
|
|
1139
|
+
// Asm.js-style exception handling: invoke wrapper generation
|
|
1140
|
+
if (symName.startsWith("invoke_")) {
|
|
1141
|
+
// Create (and cache) new invoke_ functions on demand.
|
|
1142
|
+
sym = wasmImports[symName] = createInvokeFunction(symName.split("_")[1]);
|
|
1143
|
+
}
|
|
1144
|
+
return {
|
|
1145
|
+
sym: sym,
|
|
1146
|
+
name: symName
|
|
1147
|
+
};
|
|
1148
|
+
};
|
|
1149
|
+
/**
|
|
1150
|
+
* Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
|
|
1151
|
+
* emscripten HEAP, returns a copy of that string as a Javascript String object.
|
|
1152
|
+
*
|
|
1153
|
+
* @param {number} ptr
|
|
1154
|
+
* @param {number=} maxBytesToRead - An optional length that specifies the
|
|
1155
|
+
* maximum number of bytes to read. You can omit this parameter to scan the
|
|
1156
|
+
* string until the first 0 byte. If maxBytesToRead is passed, and the string
|
|
1157
|
+
* at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
|
|
1158
|
+
* string will cut short at that byte index (i.e. maxBytesToRead will not
|
|
1159
|
+
* produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
|
|
1160
|
+
* frequent uses of UTF8ToString() with and without maxBytesToRead may throw
|
|
1161
|
+
* JS JIT optimizations off, so it is worth to consider consistently using one
|
|
1162
|
+
* @return {string}
|
|
1163
|
+
*/
|
|
1164
|
+
var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
|
|
1165
|
+
/**
|
|
1166
|
+
* @param {string=} libName
|
|
1167
|
+
* @param {Object=} localScope
|
|
1168
|
+
* @param {number=} handle
|
|
1169
|
+
*/
|
|
1170
|
+
var loadWebAssemblyModule = (binary, flags, libName, localScope, handle) => {
|
|
1171
|
+
var metadata = getDylinkMetadata(binary);
|
|
1172
|
+
currentModuleWeakSymbols = metadata.weakImports;
|
|
1173
|
+
// loadModule loads the wasm module after all its dependencies have been loaded.
|
|
1174
|
+
// can be called both sync/async.
|
|
1175
|
+
function loadModule() {
|
|
1176
|
+
{
|
|
1177
|
+
// alignments are powers of 2
|
|
1178
|
+
var memAlign = Math.pow(2, metadata.memoryAlign);
|
|
1179
|
+
// prepare memory
|
|
1180
|
+
var memoryBase = metadata.memorySize ? alignMemory(getMemory(metadata.memorySize + memAlign), memAlign) : 0;
|
|
1181
|
+
// TODO: add to cleanups
|
|
1182
|
+
var tableBase = metadata.tableSize ? wasmTable.length : 0;
|
|
1183
|
+
}
|
|
1184
|
+
var tableGrowthNeeded = tableBase + metadata.tableSize - wasmTable.length;
|
|
1185
|
+
if (tableGrowthNeeded > 0) {
|
|
1186
|
+
wasmTable.grow(tableGrowthNeeded);
|
|
1187
|
+
}
|
|
1188
|
+
// This is the export map that we ultimately return. We declare it here
|
|
1189
|
+
// so it can be used within resolveSymbol. We resolve symbols against
|
|
1190
|
+
// this local symbol map in the case there they are not present on the
|
|
1191
|
+
// global Module object. We need this fallback because Modules sometime
|
|
1192
|
+
// need to import their own symbols
|
|
1193
|
+
var moduleExports;
|
|
1194
|
+
function resolveSymbol(sym) {
|
|
1195
|
+
var resolved = resolveGlobalSymbol(sym).sym;
|
|
1196
|
+
if (!resolved && localScope) {
|
|
1197
|
+
resolved = localScope[sym];
|
|
1198
|
+
}
|
|
1199
|
+
if (!resolved) {
|
|
1200
|
+
resolved = moduleExports[sym];
|
|
1201
|
+
}
|
|
1202
|
+
return resolved;
|
|
1203
|
+
}
|
|
1204
|
+
// TODO kill ↓↓↓ (except "symbols local to this module", it will likely be
|
|
1205
|
+
// not needed if we require that if A wants symbols from B it has to link
|
|
1206
|
+
// to B explicitly: similarly to -Wl,--no-undefined)
|
|
1207
|
+
// wasm dynamic libraries are pure wasm, so they cannot assist in
|
|
1208
|
+
// their own loading. When side module A wants to import something
|
|
1209
|
+
// provided by a side module B that is loaded later, we need to
|
|
1210
|
+
// add a layer of indirection, but worse, we can't even tell what
|
|
1211
|
+
// to add the indirection for, without inspecting what A's imports
|
|
1212
|
+
// are. To do that here, we use a JS proxy (another option would
|
|
1213
|
+
// be to inspect the binary directly).
|
|
1214
|
+
var proxyHandler = {
|
|
1215
|
+
get(stubs, prop) {
|
|
1216
|
+
// symbols that should be local to this module
|
|
1217
|
+
switch (prop) {
|
|
1218
|
+
case "__memory_base":
|
|
1219
|
+
return memoryBase;
|
|
1220
|
+
case "__table_base":
|
|
1221
|
+
return tableBase;
|
|
1222
|
+
}
|
|
1223
|
+
if (prop in wasmImports && !wasmImports[prop].stub) {
|
|
1224
|
+
// No stub needed, symbol already exists in symbol table
|
|
1225
|
+
return wasmImports[prop];
|
|
1226
|
+
}
|
|
1227
|
+
// Return a stub function that will resolve the symbol
|
|
1228
|
+
// when first called.
|
|
1229
|
+
if (!(prop in stubs)) {
|
|
1230
|
+
var resolved;
|
|
1231
|
+
stubs[prop] = (...args) => {
|
|
1232
|
+
resolved ||= resolveSymbol(prop);
|
|
1233
|
+
return resolved(...args);
|
|
1234
|
+
};
|
|
1235
|
+
}
|
|
1236
|
+
return stubs[prop];
|
|
1237
|
+
}
|
|
1238
|
+
};
|
|
1239
|
+
var proxy = new Proxy({}, proxyHandler);
|
|
1240
|
+
var info = {
|
|
1241
|
+
"GOT.mem": new Proxy({}, GOTHandler),
|
|
1242
|
+
"GOT.func": new Proxy({}, GOTHandler),
|
|
1243
|
+
"env": proxy,
|
|
1244
|
+
"wasi_snapshot_preview1": proxy
|
|
1245
|
+
};
|
|
1246
|
+
function postInstantiation(module, instance) {
|
|
1247
|
+
// add new entries to functionsInTableMap
|
|
1248
|
+
updateTableMap(tableBase, metadata.tableSize);
|
|
1249
|
+
moduleExports = relocateExports(instance.exports, memoryBase);
|
|
1250
|
+
if (!flags.allowUndefined) {
|
|
1251
|
+
reportUndefinedSymbols();
|
|
1252
|
+
}
|
|
1253
|
+
function addEmAsm(addr, body) {
|
|
1254
|
+
var args = [];
|
|
1255
|
+
var arity = 0;
|
|
1256
|
+
for (; arity < 16; arity++) {
|
|
1257
|
+
if (body.indexOf("$" + arity) != -1) {
|
|
1258
|
+
args.push("$" + arity);
|
|
1259
|
+
} else {
|
|
1260
|
+
break;
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
args = args.join(",");
|
|
1264
|
+
var func = `(${args}) => { ${body} };`;
|
|
1265
|
+
eval(func);
|
|
1266
|
+
}
|
|
1267
|
+
// Add any EM_ASM function that exist in the side module
|
|
1268
|
+
if ("__start_em_asm" in moduleExports) {
|
|
1269
|
+
var start = moduleExports["__start_em_asm"];
|
|
1270
|
+
var stop = moduleExports["__stop_em_asm"];
|
|
1271
|
+
while (start < stop) {
|
|
1272
|
+
var jsString = UTF8ToString(start);
|
|
1273
|
+
addEmAsm(start, jsString);
|
|
1274
|
+
start = HEAPU8.indexOf(0, start) + 1;
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
function addEmJs(name, cSig, body) {
|
|
1278
|
+
// The signature here is a C signature (e.g. "(int foo, char* bar)").
|
|
1279
|
+
// See `create_em_js` in emcc.py` for the build-time version of this
|
|
1280
|
+
// code.
|
|
1281
|
+
var jsArgs = [];
|
|
1282
|
+
cSig = cSig.slice(1, -1);
|
|
1283
|
+
if (cSig != "void") {
|
|
1284
|
+
cSig = cSig.split(",");
|
|
1285
|
+
for (var i in cSig) {
|
|
1286
|
+
var jsArg = cSig[i].split(" ").pop();
|
|
1287
|
+
jsArgs.push(jsArg.replace("*", ""));
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
var func = `(${jsArgs}) => ${body};`;
|
|
1291
|
+
moduleExports[name] = eval(func);
|
|
1292
|
+
}
|
|
1293
|
+
for (var name in moduleExports) {
|
|
1294
|
+
if (name.startsWith("__em_js__")) {
|
|
1295
|
+
var start = moduleExports[name];
|
|
1296
|
+
var jsString = UTF8ToString(start);
|
|
1297
|
+
// EM_JS strings are stored in the data section in the form
|
|
1298
|
+
// SIG<::>BODY.
|
|
1299
|
+
var parts = jsString.split("<::>");
|
|
1300
|
+
addEmJs(name.replace("__em_js__", ""), parts[0], parts[1]);
|
|
1301
|
+
delete moduleExports[name];
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
// initialize the module
|
|
1305
|
+
var applyRelocs = moduleExports["__wasm_apply_data_relocs"];
|
|
1306
|
+
if (applyRelocs) {
|
|
1307
|
+
if (runtimeInitialized) {
|
|
1308
|
+
applyRelocs();
|
|
1309
|
+
} else {
|
|
1310
|
+
__RELOC_FUNCS__.push(applyRelocs);
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1313
|
+
var init = moduleExports["__wasm_call_ctors"];
|
|
1314
|
+
if (init) {
|
|
1315
|
+
if (runtimeInitialized) {
|
|
1316
|
+
init();
|
|
1317
|
+
} else {
|
|
1318
|
+
// we aren't ready to run compiled code yet
|
|
1319
|
+
__ATINIT__.push(init);
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
return moduleExports;
|
|
1323
|
+
}
|
|
1324
|
+
if (flags.loadAsync) {
|
|
1325
|
+
if (binary instanceof WebAssembly.Module) {
|
|
1326
|
+
var instance = new WebAssembly.Instance(binary, info);
|
|
1327
|
+
return Promise.resolve(postInstantiation(binary, instance));
|
|
1328
|
+
}
|
|
1329
|
+
return WebAssembly.instantiate(binary, info).then(result => postInstantiation(result.module, result.instance));
|
|
1330
|
+
}
|
|
1331
|
+
var module = binary instanceof WebAssembly.Module ? binary : new WebAssembly.Module(binary);
|
|
1332
|
+
var instance = new WebAssembly.Instance(module, info);
|
|
1333
|
+
return postInstantiation(module, instance);
|
|
1334
|
+
}
|
|
1335
|
+
// now load needed libraries and the module itself.
|
|
1336
|
+
if (flags.loadAsync) {
|
|
1337
|
+
return metadata.neededDynlibs.reduce((chain, dynNeeded) => chain.then(() => loadDynamicLibrary(dynNeeded, flags, localScope)), Promise.resolve()).then(loadModule);
|
|
1338
|
+
}
|
|
1339
|
+
metadata.neededDynlibs.forEach(needed => loadDynamicLibrary(needed, flags, localScope));
|
|
1340
|
+
return loadModule();
|
|
1341
|
+
};
|
|
1342
|
+
var mergeLibSymbols = (exports, libName) => {
|
|
1343
|
+
// add symbols into global namespace TODO: weak linking etc.
|
|
1344
|
+
for (var [sym, exp] of Object.entries(exports)) {
|
|
1345
|
+
// When RTLD_GLOBAL is enabled, the symbols defined by this shared object
|
|
1346
|
+
// will be made available for symbol resolution of subsequently loaded
|
|
1347
|
+
// shared objects.
|
|
1348
|
+
// We should copy the symbols (which include methods and variables) from
|
|
1349
|
+
// SIDE_MODULE to MAIN_MODULE.
|
|
1350
|
+
const setImport = target => {
|
|
1351
|
+
if (!isSymbolDefined(target)) {
|
|
1352
|
+
wasmImports[target] = exp;
|
|
1353
|
+
}
|
|
1354
|
+
};
|
|
1355
|
+
setImport(sym);
|
|
1356
|
+
// Special case for handling of main symbol: If a side module exports
|
|
1357
|
+
// `main` that also acts a definition for `__main_argc_argv` and vice
|
|
1358
|
+
// versa.
|
|
1359
|
+
const main_alias = "__main_argc_argv";
|
|
1360
|
+
if (sym == "main") {
|
|
1361
|
+
setImport(main_alias);
|
|
1362
|
+
}
|
|
1363
|
+
if (sym == main_alias) {
|
|
1364
|
+
setImport("main");
|
|
1365
|
+
}
|
|
1366
|
+
if (sym.startsWith("dynCall_") && !Module.hasOwnProperty(sym)) {
|
|
1367
|
+
Module[sym] = exp;
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
};
|
|
1371
|
+
/** @param {boolean=} noRunDep */
|
|
1372
|
+
var asyncLoad = (url, onload, onerror, noRunDep) => {
|
|
1373
|
+
var dep = getUniqueRunDependency(`al ${url}`) ;
|
|
1374
|
+
readAsync(url).then(arrayBuffer => {
|
|
1375
|
+
onload(new Uint8Array(arrayBuffer));
|
|
1376
|
+
if (dep) removeRunDependency();
|
|
1377
|
+
}, err => {
|
|
1378
|
+
if (onerror) {
|
|
1379
|
+
onerror();
|
|
1380
|
+
} else {
|
|
1381
|
+
throw `Loading data file "${url}" failed.`;
|
|
1382
|
+
}
|
|
1383
|
+
});
|
|
1384
|
+
if (dep) addRunDependency();
|
|
1385
|
+
};
|
|
1386
|
+
/**
|
|
1387
|
+
* @param {number=} handle
|
|
1388
|
+
* @param {Object=} localScope
|
|
1389
|
+
*/
|
|
1390
|
+
function loadDynamicLibrary(libName, flags = {
|
|
1391
|
+
global: true,
|
|
1392
|
+
nodelete: true
|
|
1393
|
+
}, localScope, handle) {
|
|
1394
|
+
// when loadDynamicLibrary did not have flags, libraries were loaded
|
|
1395
|
+
// globally & permanently
|
|
1396
|
+
var dso = LDSO.loadedLibsByName[libName];
|
|
1397
|
+
if (dso) {
|
|
1398
|
+
// the library is being loaded or has been loaded already.
|
|
1399
|
+
if (!flags.global) ; else if (!dso.global) {
|
|
1400
|
+
// The library was previously loaded only locally but not
|
|
1401
|
+
// we have a request with global=true.
|
|
1402
|
+
dso.global = true;
|
|
1403
|
+
mergeLibSymbols(dso.exports);
|
|
1404
|
+
}
|
|
1405
|
+
// same for "nodelete"
|
|
1406
|
+
if (flags.nodelete && dso.refcount !== Infinity) {
|
|
1407
|
+
dso.refcount = Infinity;
|
|
1408
|
+
}
|
|
1409
|
+
dso.refcount++;
|
|
1410
|
+
return flags.loadAsync ? Promise.resolve(true) : true;
|
|
1411
|
+
}
|
|
1412
|
+
// allocate new DSO
|
|
1413
|
+
dso = newDSO(libName, handle, "loading");
|
|
1414
|
+
dso.refcount = flags.nodelete ? Infinity : 1;
|
|
1415
|
+
dso.global = flags.global;
|
|
1416
|
+
// libName -> libData
|
|
1417
|
+
function loadLibData() {
|
|
1418
|
+
var libFile = locateFile(libName);
|
|
1419
|
+
if (flags.loadAsync) {
|
|
1420
|
+
return new Promise(function (resolve, reject) {
|
|
1421
|
+
asyncLoad(libFile, resolve, reject);
|
|
1422
|
+
});
|
|
1423
|
+
}
|
|
1424
|
+
// load the binary synchronously
|
|
1425
|
+
if (!readBinary) {
|
|
1426
|
+
throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`);
|
|
1427
|
+
}
|
|
1428
|
+
return readBinary(libFile);
|
|
1429
|
+
}
|
|
1430
|
+
// libName -> exports
|
|
1431
|
+
function getExports() {
|
|
1432
|
+
// module not preloaded - load lib data and create new module from it
|
|
1433
|
+
if (flags.loadAsync) {
|
|
1434
|
+
return loadLibData().then(libData => loadWebAssemblyModule(libData, flags, libName, localScope));
|
|
1435
|
+
}
|
|
1436
|
+
return loadWebAssemblyModule(loadLibData(), flags, libName, localScope);
|
|
1437
|
+
}
|
|
1438
|
+
// module for lib is loaded - update the dso & global namespace
|
|
1439
|
+
function moduleLoaded(exports) {
|
|
1440
|
+
if (dso.global) {
|
|
1441
|
+
mergeLibSymbols(exports);
|
|
1442
|
+
}
|
|
1443
|
+
dso.exports = exports;
|
|
1444
|
+
}
|
|
1445
|
+
if (flags.loadAsync) {
|
|
1446
|
+
return getExports().then(exports => {
|
|
1447
|
+
moduleLoaded(exports);
|
|
1448
|
+
return true;
|
|
1449
|
+
});
|
|
1450
|
+
}
|
|
1451
|
+
moduleLoaded(getExports());
|
|
1452
|
+
return true;
|
|
1453
|
+
}
|
|
1454
|
+
var reportUndefinedSymbols = () => {
|
|
1455
|
+
for (var [symName, entry] of Object.entries(GOT)) {
|
|
1456
|
+
if (entry.value == 0) {
|
|
1457
|
+
var value = resolveGlobalSymbol(symName, true).sym;
|
|
1458
|
+
if (!value && !entry.required) {
|
|
1459
|
+
// Ignore undefined symbols that are imported as weak.
|
|
1460
|
+
continue;
|
|
1461
|
+
}
|
|
1462
|
+
if (typeof value == "function") {
|
|
1463
|
+
/** @suppress {checkTypes} */entry.value = addFunction(value, value.sig);
|
|
1464
|
+
} else if (typeof value == "number") {
|
|
1465
|
+
entry.value = value;
|
|
1466
|
+
} else {
|
|
1467
|
+
throw new Error(`bad export type for '${symName}': ${typeof value}`);
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
};
|
|
1472
|
+
var loadDylibs = () => {
|
|
1473
|
+
if (!dynamicLibraries.length) {
|
|
1474
|
+
reportUndefinedSymbols();
|
|
1475
|
+
return;
|
|
1476
|
+
}
|
|
1477
|
+
// Load binaries asynchronously
|
|
1478
|
+
addRunDependency();
|
|
1479
|
+
dynamicLibraries.reduce((chain, lib) => chain.then(() => loadDynamicLibrary(lib, {
|
|
1480
|
+
loadAsync: true,
|
|
1481
|
+
global: true,
|
|
1482
|
+
nodelete: true,
|
|
1483
|
+
allowUndefined: true
|
|
1484
|
+
})), Promise.resolve()).then(() => {
|
|
1485
|
+
// we got them all, wonderful
|
|
1486
|
+
reportUndefinedSymbols();
|
|
1487
|
+
removeRunDependency();
|
|
1488
|
+
});
|
|
1489
|
+
};
|
|
1490
|
+
var noExitRuntime = Module["noExitRuntime"] || true;
|
|
1491
|
+
/**
|
|
1492
|
+
* @param {number} ptr
|
|
1493
|
+
* @param {number} value
|
|
1494
|
+
* @param {string} type
|
|
1495
|
+
*/
|
|
1496
|
+
function setValue(ptr, value, type = "i8") {
|
|
1497
|
+
if (type.endsWith("*")) type = "*";
|
|
1498
|
+
switch (type) {
|
|
1499
|
+
case "i1":
|
|
1500
|
+
HEAP8[ptr] = value;
|
|
1501
|
+
break;
|
|
1502
|
+
case "i8":
|
|
1503
|
+
HEAP8[ptr] = value;
|
|
1504
|
+
break;
|
|
1505
|
+
case "i16":
|
|
1506
|
+
LE_HEAP_STORE_I16((ptr >> 1) * 2, value);
|
|
1507
|
+
break;
|
|
1508
|
+
case "i32":
|
|
1509
|
+
LE_HEAP_STORE_I32((ptr >> 2) * 4, value);
|
|
1510
|
+
break;
|
|
1511
|
+
case "i64":
|
|
1512
|
+
abort("to do setValue(i64) use WASM_BIGINT");
|
|
1513
|
+
case "float":
|
|
1514
|
+
LE_HEAP_STORE_F32((ptr >> 2) * 4, value);
|
|
1515
|
+
break;
|
|
1516
|
+
case "double":
|
|
1517
|
+
LE_HEAP_STORE_F64((ptr >> 3) * 8, value);
|
|
1518
|
+
break;
|
|
1519
|
+
case "*":
|
|
1520
|
+
LE_HEAP_STORE_U32((ptr >> 2) * 4, value);
|
|
1521
|
+
break;
|
|
1522
|
+
default:
|
|
1523
|
+
abort(`invalid type for setValue: ${type}`);
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
var ___memory_base = new WebAssembly.Global({
|
|
1527
|
+
"value": "i32",
|
|
1528
|
+
"mutable": false
|
|
1529
|
+
}, 1024);
|
|
1530
|
+
var ___stack_pointer = new WebAssembly.Global({
|
|
1531
|
+
"value": "i32",
|
|
1532
|
+
"mutable": true
|
|
1533
|
+
}, 78112);
|
|
1534
|
+
var ___table_base = new WebAssembly.Global({
|
|
1535
|
+
"value": "i32",
|
|
1536
|
+
"mutable": false
|
|
1537
|
+
}, 1);
|
|
1538
|
+
var __abort_js = () => {
|
|
1539
|
+
abort("");
|
|
1540
|
+
};
|
|
1541
|
+
__abort_js.sig = "v";
|
|
1542
|
+
var nowIsMonotonic = 1;
|
|
1543
|
+
var __emscripten_get_now_is_monotonic = () => nowIsMonotonic;
|
|
1544
|
+
__emscripten_get_now_is_monotonic.sig = "i";
|
|
1545
|
+
var __emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num);
|
|
1546
|
+
__emscripten_memcpy_js.sig = "vppp";
|
|
1547
|
+
var _emscripten_get_now;
|
|
1548
|
+
// Modern environment where performance.now() is supported:
|
|
1549
|
+
// N.B. a shorter form "_emscripten_get_now = performance.now;" is
|
|
1550
|
+
// unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
|
|
1551
|
+
_emscripten_get_now = () => performance.now();
|
|
1552
|
+
_emscripten_get_now.sig = "d";
|
|
1553
|
+
var getHeapMax = () =>
|
|
1554
|
+
// Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
|
|
1555
|
+
// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
|
|
1556
|
+
// for any code that deals with heap sizes, which would require special
|
|
1557
|
+
// casing all heap size related code to treat 0 specially.
|
|
1558
|
+
2147483648;
|
|
1559
|
+
var growMemory = size => {
|
|
1560
|
+
var b = wasmMemory.buffer;
|
|
1561
|
+
var pages = (size - b.byteLength + 65535) / 65536;
|
|
1562
|
+
try {
|
|
1563
|
+
// round size grow request up to wasm page size (fixed 64KB per spec)
|
|
1564
|
+
wasmMemory.grow(pages);
|
|
1565
|
+
// .grow() takes a delta compared to the previous size
|
|
1566
|
+
updateMemoryViews();
|
|
1567
|
+
return 1;
|
|
1568
|
+
} /*success*/ catch (e) {}
|
|
1569
|
+
};
|
|
1570
|
+
// implicit 0 return to save code size (caller will cast "undefined" into 0
|
|
1571
|
+
// anyhow)
|
|
1572
|
+
var _emscripten_resize_heap = requestedSize => {
|
|
1573
|
+
var oldSize = HEAPU8.length;
|
|
1574
|
+
// With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
|
|
1575
|
+
requestedSize >>>= 0;
|
|
1576
|
+
// With multithreaded builds, races can happen (another thread might increase the size
|
|
1577
|
+
// in between), so return a failure, and let the caller retry.
|
|
1578
|
+
// Memory resize rules:
|
|
1579
|
+
// 1. Always increase heap size to at least the requested size, rounded up
|
|
1580
|
+
// to next page multiple.
|
|
1581
|
+
// 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap
|
|
1582
|
+
// geometrically: increase the heap size according to
|
|
1583
|
+
// MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most
|
|
1584
|
+
// overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
|
|
1585
|
+
// 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap
|
|
1586
|
+
// linearly: increase the heap size by at least
|
|
1587
|
+
// MEMORY_GROWTH_LINEAR_STEP bytes.
|
|
1588
|
+
// 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by
|
|
1589
|
+
// MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
|
|
1590
|
+
// 4. If we were unable to allocate as much memory, it may be due to
|
|
1591
|
+
// over-eager decision to excessively reserve due to (3) above.
|
|
1592
|
+
// Hence if an allocation fails, cut down on the amount of excess
|
|
1593
|
+
// growth, in an attempt to succeed to perform a smaller allocation.
|
|
1594
|
+
// A limit is set for how much we can grow. We should not exceed that
|
|
1595
|
+
// (the wasm binary specifies it, so if we tried, we'd fail anyhow).
|
|
1596
|
+
var maxHeapSize = getHeapMax();
|
|
1597
|
+
if (requestedSize > maxHeapSize) {
|
|
1598
|
+
return false;
|
|
1599
|
+
}
|
|
1600
|
+
var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
|
|
1601
|
+
// Loop through potential heap size increases. If we attempt a too eager
|
|
1602
|
+
// reservation that fails, cut down on the attempted size and reserve a
|
|
1603
|
+
// smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
|
|
1604
|
+
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
|
|
1605
|
+
var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
|
|
1606
|
+
// ensure geometric growth
|
|
1607
|
+
// but limit overreserving (default to capping at +96MB overgrowth at most)
|
|
1608
|
+
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
|
|
1609
|
+
var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
|
|
1610
|
+
var replacement = growMemory(newSize);
|
|
1611
|
+
if (replacement) {
|
|
1612
|
+
return true;
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
return false;
|
|
1616
|
+
};
|
|
1617
|
+
_emscripten_resize_heap.sig = "ip";
|
|
1618
|
+
var _fd_close = fd => 52;
|
|
1619
|
+
_fd_close.sig = "ii";
|
|
1620
|
+
function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
|
|
1621
|
+
return 70;
|
|
1622
|
+
}
|
|
1623
|
+
_fd_seek.sig = "iiiiip";
|
|
1624
|
+
var printCharBuffers = [null, [], []];
|
|
1625
|
+
var printChar = (stream, curr) => {
|
|
1626
|
+
var buffer = printCharBuffers[stream];
|
|
1627
|
+
if (curr === 0 || curr === 10) {
|
|
1628
|
+
(stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
|
|
1629
|
+
buffer.length = 0;
|
|
1630
|
+
} else {
|
|
1631
|
+
buffer.push(curr);
|
|
1632
|
+
}
|
|
1633
|
+
};
|
|
1634
|
+
var _fd_write = (fd, iov, iovcnt, pnum) => {
|
|
1635
|
+
// hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0
|
|
1636
|
+
var num = 0;
|
|
1637
|
+
for (var i = 0; i < iovcnt; i++) {
|
|
1638
|
+
var ptr = LE_HEAP_LOAD_U32((iov >> 2) * 4);
|
|
1639
|
+
var len = LE_HEAP_LOAD_U32((iov + 4 >> 2) * 4);
|
|
1640
|
+
iov += 8;
|
|
1641
|
+
for (var j = 0; j < len; j++) {
|
|
1642
|
+
printChar(fd, HEAPU8[ptr + j]);
|
|
1643
|
+
}
|
|
1644
|
+
num += len;
|
|
1645
|
+
}
|
|
1646
|
+
LE_HEAP_STORE_U32((pnum >> 2) * 4, num);
|
|
1647
|
+
return 0;
|
|
1648
|
+
};
|
|
1649
|
+
_fd_write.sig = "iippp";
|
|
1650
|
+
function _tree_sitter_log_callback(isLexMessage, messageAddress) {
|
|
1651
|
+
if (currentLogCallback) {
|
|
1652
|
+
const message = UTF8ToString(messageAddress);
|
|
1653
|
+
currentLogCallback(message, isLexMessage !== 0);
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
function _tree_sitter_parse_callback(inputBufferAddress, index, row, column, lengthAddress) {
|
|
1657
|
+
const INPUT_BUFFER_SIZE = 10 * 1024;
|
|
1658
|
+
const string = currentParseCallback(index, {
|
|
1659
|
+
row: row,
|
|
1660
|
+
column: column
|
|
1661
|
+
});
|
|
1662
|
+
if (typeof string === "string") {
|
|
1663
|
+
setValue(lengthAddress, string.length, "i32");
|
|
1664
|
+
stringToUTF16(string, inputBufferAddress, INPUT_BUFFER_SIZE);
|
|
1665
|
+
} else {
|
|
1666
|
+
setValue(lengthAddress, 0, "i32");
|
|
1667
|
+
}
|
|
1668
|
+
}
|
|
1669
|
+
var keepRuntimeAlive = () => noExitRuntime;
|
|
1670
|
+
var _proc_exit = code => {
|
|
1671
|
+
EXITSTATUS = code;
|
|
1672
|
+
if (!keepRuntimeAlive()) {
|
|
1673
|
+
Module["onExit"]?.(code);
|
|
1674
|
+
ABORT = true;
|
|
1675
|
+
}
|
|
1676
|
+
quit_(code, new ExitStatus(code));
|
|
1677
|
+
};
|
|
1678
|
+
_proc_exit.sig = "vi";
|
|
1679
|
+
/** @param {boolean|number=} implicit */
|
|
1680
|
+
var exitJS = (status, implicit) => {
|
|
1681
|
+
EXITSTATUS = status;
|
|
1682
|
+
_proc_exit(status);
|
|
1683
|
+
};
|
|
1684
|
+
var handleException = e => {
|
|
1685
|
+
// Certain exception types we do not treat as errors since they are used for
|
|
1686
|
+
// internal control flow.
|
|
1687
|
+
// 1. ExitStatus, which is thrown by exit()
|
|
1688
|
+
// 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others
|
|
1689
|
+
// that wish to return to JS event loop.
|
|
1690
|
+
if (e instanceof ExitStatus || e == "unwind") {
|
|
1691
|
+
return EXITSTATUS;
|
|
1692
|
+
}
|
|
1693
|
+
quit_(1, e);
|
|
1694
|
+
};
|
|
1695
|
+
var lengthBytesUTF8 = str => {
|
|
1696
|
+
var len = 0;
|
|
1697
|
+
for (var i = 0; i < str.length; ++i) {
|
|
1698
|
+
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
|
|
1699
|
+
// unit, not a Unicode code point of the character! So decode
|
|
1700
|
+
// UTF16->UTF32->UTF8.
|
|
1701
|
+
// See http://unicode.org/faq/utf_bom.html#utf16-3
|
|
1702
|
+
var c = str.charCodeAt(i);
|
|
1703
|
+
// possibly a lead surrogate
|
|
1704
|
+
if (c <= 127) {
|
|
1705
|
+
len++;
|
|
1706
|
+
} else if (c <= 2047) {
|
|
1707
|
+
len += 2;
|
|
1708
|
+
} else if (c >= 55296 && c <= 57343) {
|
|
1709
|
+
len += 4;
|
|
1710
|
+
++i;
|
|
1711
|
+
} else {
|
|
1712
|
+
len += 3;
|
|
1713
|
+
}
|
|
1714
|
+
}
|
|
1715
|
+
return len;
|
|
1716
|
+
};
|
|
1717
|
+
var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
|
|
1718
|
+
// Parameter maxBytesToWrite is not optional. Negative values, 0, null,
|
|
1719
|
+
// undefined and false each don't write out any bytes.
|
|
1720
|
+
if (!(maxBytesToWrite > 0)) return 0;
|
|
1721
|
+
var startIdx = outIdx;
|
|
1722
|
+
var endIdx = outIdx + maxBytesToWrite - 1;
|
|
1723
|
+
// -1 for string null terminator.
|
|
1724
|
+
for (var i = 0; i < str.length; ++i) {
|
|
1725
|
+
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
|
|
1726
|
+
// unit, not a Unicode code point of the character! So decode
|
|
1727
|
+
// UTF16->UTF32->UTF8.
|
|
1728
|
+
// See http://unicode.org/faq/utf_bom.html#utf16-3
|
|
1729
|
+
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
|
|
1730
|
+
// and https://www.ietf.org/rfc/rfc2279.txt
|
|
1731
|
+
// and https://tools.ietf.org/html/rfc3629
|
|
1732
|
+
var u = str.charCodeAt(i);
|
|
1733
|
+
// possibly a lead surrogate
|
|
1734
|
+
if (u >= 55296 && u <= 57343) {
|
|
1735
|
+
var u1 = str.charCodeAt(++i);
|
|
1736
|
+
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
|
|
1737
|
+
}
|
|
1738
|
+
if (u <= 127) {
|
|
1739
|
+
if (outIdx >= endIdx) break;
|
|
1740
|
+
heap[outIdx++] = u;
|
|
1741
|
+
} else if (u <= 2047) {
|
|
1742
|
+
if (outIdx + 1 >= endIdx) break;
|
|
1743
|
+
heap[outIdx++] = 192 | u >> 6;
|
|
1744
|
+
heap[outIdx++] = 128 | u & 63;
|
|
1745
|
+
} else if (u <= 65535) {
|
|
1746
|
+
if (outIdx + 2 >= endIdx) break;
|
|
1747
|
+
heap[outIdx++] = 224 | u >> 12;
|
|
1748
|
+
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
1749
|
+
heap[outIdx++] = 128 | u & 63;
|
|
1750
|
+
} else {
|
|
1751
|
+
if (outIdx + 3 >= endIdx) break;
|
|
1752
|
+
heap[outIdx++] = 240 | u >> 18;
|
|
1753
|
+
heap[outIdx++] = 128 | u >> 12 & 63;
|
|
1754
|
+
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
1755
|
+
heap[outIdx++] = 128 | u & 63;
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
// Null-terminate the pointer to the buffer.
|
|
1759
|
+
heap[outIdx] = 0;
|
|
1760
|
+
return outIdx - startIdx;
|
|
1761
|
+
};
|
|
1762
|
+
var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
|
|
1763
|
+
var stackAlloc = sz => __emscripten_stack_alloc(sz);
|
|
1764
|
+
var stringToUTF8OnStack = str => {
|
|
1765
|
+
var size = lengthBytesUTF8(str) + 1;
|
|
1766
|
+
var ret = stackAlloc(size);
|
|
1767
|
+
stringToUTF8(str, ret, size);
|
|
1768
|
+
return ret;
|
|
1769
|
+
};
|
|
1770
|
+
var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
|
|
1771
|
+
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
|
|
1772
|
+
maxBytesToWrite ??= 2147483647;
|
|
1773
|
+
if (maxBytesToWrite < 2) return 0;
|
|
1774
|
+
maxBytesToWrite -= 2;
|
|
1775
|
+
// Null terminator.
|
|
1776
|
+
var startPtr = outPtr;
|
|
1777
|
+
var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
|
|
1778
|
+
for (var i = 0; i < numCharsToWrite; ++i) {
|
|
1779
|
+
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
|
|
1780
|
+
var codeUnit = str.charCodeAt(i);
|
|
1781
|
+
// possibly a lead surrogate
|
|
1782
|
+
LE_HEAP_STORE_I16((outPtr >> 1) * 2, codeUnit);
|
|
1783
|
+
outPtr += 2;
|
|
1784
|
+
}
|
|
1785
|
+
// Null-terminate the pointer to the HEAP.
|
|
1786
|
+
LE_HEAP_STORE_I16((outPtr >> 1) * 2, 0);
|
|
1787
|
+
return outPtr - startPtr;
|
|
1788
|
+
};
|
|
1789
|
+
var AsciiToString = ptr => {
|
|
1790
|
+
var str = "";
|
|
1791
|
+
while (1) {
|
|
1792
|
+
var ch = HEAPU8[ptr++];
|
|
1793
|
+
if (!ch) return str;
|
|
1794
|
+
str += String.fromCharCode(ch);
|
|
1795
|
+
}
|
|
1796
|
+
};
|
|
1797
|
+
var wasmImports = {
|
|
1798
|
+
/** @export */__heap_base: ___heap_base,
|
|
1799
|
+
/** @export */__indirect_function_table: wasmTable,
|
|
1800
|
+
/** @export */__memory_base: ___memory_base,
|
|
1801
|
+
/** @export */__stack_pointer: ___stack_pointer,
|
|
1802
|
+
/** @export */__table_base: ___table_base,
|
|
1803
|
+
/** @export */_abort_js: __abort_js,
|
|
1804
|
+
/** @export */_emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic,
|
|
1805
|
+
/** @export */_emscripten_memcpy_js: __emscripten_memcpy_js,
|
|
1806
|
+
/** @export */emscripten_get_now: _emscripten_get_now,
|
|
1807
|
+
/** @export */emscripten_resize_heap: _emscripten_resize_heap,
|
|
1808
|
+
/** @export */fd_close: _fd_close,
|
|
1809
|
+
/** @export */fd_seek: _fd_seek,
|
|
1810
|
+
/** @export */fd_write: _fd_write,
|
|
1811
|
+
/** @export */memory: wasmMemory,
|
|
1812
|
+
/** @export */tree_sitter_log_callback: _tree_sitter_log_callback,
|
|
1813
|
+
/** @export */tree_sitter_parse_callback: _tree_sitter_parse_callback
|
|
1814
|
+
};
|
|
1815
|
+
var wasmExports = createWasm();
|
|
1816
|
+
var _malloc = Module["_malloc"] = a0 => (_malloc = Module["_malloc"] = wasmExports["malloc"])(a0);
|
|
1817
|
+
Module["_calloc"] = (a0, a1) => (Module["_calloc"] = wasmExports["calloc"])(a0, a1);
|
|
1818
|
+
Module["_realloc"] = (a0, a1) => (Module["_realloc"] = wasmExports["realloc"])(a0, a1);
|
|
1819
|
+
Module["_free"] = a0 => (Module["_free"] = wasmExports["free"])(a0);
|
|
1820
|
+
Module["_ts_language_symbol_count"] = a0 => (Module["_ts_language_symbol_count"] = wasmExports["ts_language_symbol_count"])(a0);
|
|
1821
|
+
Module["_ts_language_state_count"] = a0 => (Module["_ts_language_state_count"] = wasmExports["ts_language_state_count"])(a0);
|
|
1822
|
+
Module["_ts_language_version"] = a0 => (Module["_ts_language_version"] = wasmExports["ts_language_version"])(a0);
|
|
1823
|
+
Module["_ts_language_field_count"] = a0 => (Module["_ts_language_field_count"] = wasmExports["ts_language_field_count"])(a0);
|
|
1824
|
+
Module["_ts_language_next_state"] = (a0, a1, a2) => (Module["_ts_language_next_state"] = wasmExports["ts_language_next_state"])(a0, a1, a2);
|
|
1825
|
+
Module["_ts_language_symbol_name"] = (a0, a1) => (Module["_ts_language_symbol_name"] = wasmExports["ts_language_symbol_name"])(a0, a1);
|
|
1826
|
+
Module["_ts_language_symbol_for_name"] = (a0, a1, a2, a3) => (Module["_ts_language_symbol_for_name"] = wasmExports["ts_language_symbol_for_name"])(a0, a1, a2, a3);
|
|
1827
|
+
Module["_strncmp"] = (a0, a1, a2) => (Module["_strncmp"] = wasmExports["strncmp"])(a0, a1, a2);
|
|
1828
|
+
Module["_ts_language_symbol_type"] = (a0, a1) => (Module["_ts_language_symbol_type"] = wasmExports["ts_language_symbol_type"])(a0, a1);
|
|
1829
|
+
Module["_ts_language_field_name_for_id"] = (a0, a1) => (Module["_ts_language_field_name_for_id"] = wasmExports["ts_language_field_name_for_id"])(a0, a1);
|
|
1830
|
+
Module["_ts_lookahead_iterator_new"] = (a0, a1) => (Module["_ts_lookahead_iterator_new"] = wasmExports["ts_lookahead_iterator_new"])(a0, a1);
|
|
1831
|
+
Module["_ts_lookahead_iterator_delete"] = a0 => (Module["_ts_lookahead_iterator_delete"] = wasmExports["ts_lookahead_iterator_delete"])(a0);
|
|
1832
|
+
Module["_ts_lookahead_iterator_reset_state"] = (a0, a1) => (Module["_ts_lookahead_iterator_reset_state"] = wasmExports["ts_lookahead_iterator_reset_state"])(a0, a1);
|
|
1833
|
+
Module["_ts_lookahead_iterator_reset"] = (a0, a1, a2) => (Module["_ts_lookahead_iterator_reset"] = wasmExports["ts_lookahead_iterator_reset"])(a0, a1, a2);
|
|
1834
|
+
Module["_ts_lookahead_iterator_next"] = a0 => (Module["_ts_lookahead_iterator_next"] = wasmExports["ts_lookahead_iterator_next"])(a0);
|
|
1835
|
+
Module["_ts_lookahead_iterator_current_symbol"] = a0 => (Module["_ts_lookahead_iterator_current_symbol"] = wasmExports["ts_lookahead_iterator_current_symbol"])(a0);
|
|
1836
|
+
Module["_memset"] = (a0, a1, a2) => (Module["_memset"] = wasmExports["memset"])(a0, a1, a2);
|
|
1837
|
+
Module["_memcpy"] = (a0, a1, a2) => (Module["_memcpy"] = wasmExports["memcpy"])(a0, a1, a2);
|
|
1838
|
+
Module["_ts_parser_delete"] = a0 => (Module["_ts_parser_delete"] = wasmExports["ts_parser_delete"])(a0);
|
|
1839
|
+
Module["_ts_parser_reset"] = a0 => (Module["_ts_parser_reset"] = wasmExports["ts_parser_reset"])(a0);
|
|
1840
|
+
Module["_ts_parser_set_language"] = (a0, a1) => (Module["_ts_parser_set_language"] = wasmExports["ts_parser_set_language"])(a0, a1);
|
|
1841
|
+
Module["_ts_parser_timeout_micros"] = a0 => (Module["_ts_parser_timeout_micros"] = wasmExports["ts_parser_timeout_micros"])(a0);
|
|
1842
|
+
Module["_ts_parser_set_timeout_micros"] = (a0, a1, a2) => (Module["_ts_parser_set_timeout_micros"] = wasmExports["ts_parser_set_timeout_micros"])(a0, a1, a2);
|
|
1843
|
+
Module["_ts_parser_set_included_ranges"] = (a0, a1, a2) => (Module["_ts_parser_set_included_ranges"] = wasmExports["ts_parser_set_included_ranges"])(a0, a1, a2);
|
|
1844
|
+
Module["_memmove"] = (a0, a1, a2) => (Module["_memmove"] = wasmExports["memmove"])(a0, a1, a2);
|
|
1845
|
+
Module["_memcmp"] = (a0, a1, a2) => (Module["_memcmp"] = wasmExports["memcmp"])(a0, a1, a2);
|
|
1846
|
+
Module["_ts_query_new"] = (a0, a1, a2, a3, a4) => (Module["_ts_query_new"] = wasmExports["ts_query_new"])(a0, a1, a2, a3, a4);
|
|
1847
|
+
Module["_ts_query_delete"] = a0 => (Module["_ts_query_delete"] = wasmExports["ts_query_delete"])(a0);
|
|
1848
|
+
Module["_iswspace"] = a0 => (Module["_iswspace"] = wasmExports["iswspace"])(a0);
|
|
1849
|
+
Module["_iswalnum"] = a0 => (Module["_iswalnum"] = wasmExports["iswalnum"])(a0);
|
|
1850
|
+
Module["_ts_query_pattern_count"] = a0 => (Module["_ts_query_pattern_count"] = wasmExports["ts_query_pattern_count"])(a0);
|
|
1851
|
+
Module["_ts_query_capture_count"] = a0 => (Module["_ts_query_capture_count"] = wasmExports["ts_query_capture_count"])(a0);
|
|
1852
|
+
Module["_ts_query_string_count"] = a0 => (Module["_ts_query_string_count"] = wasmExports["ts_query_string_count"])(a0);
|
|
1853
|
+
Module["_ts_query_capture_name_for_id"] = (a0, a1, a2) => (Module["_ts_query_capture_name_for_id"] = wasmExports["ts_query_capture_name_for_id"])(a0, a1, a2);
|
|
1854
|
+
Module["_ts_query_string_value_for_id"] = (a0, a1, a2) => (Module["_ts_query_string_value_for_id"] = wasmExports["ts_query_string_value_for_id"])(a0, a1, a2);
|
|
1855
|
+
Module["_ts_query_predicates_for_pattern"] = (a0, a1, a2) => (Module["_ts_query_predicates_for_pattern"] = wasmExports["ts_query_predicates_for_pattern"])(a0, a1, a2);
|
|
1856
|
+
Module["_ts_query_disable_capture"] = (a0, a1, a2) => (Module["_ts_query_disable_capture"] = wasmExports["ts_query_disable_capture"])(a0, a1, a2);
|
|
1857
|
+
Module["_ts_tree_copy"] = a0 => (Module["_ts_tree_copy"] = wasmExports["ts_tree_copy"])(a0);
|
|
1858
|
+
Module["_ts_tree_delete"] = a0 => (Module["_ts_tree_delete"] = wasmExports["ts_tree_delete"])(a0);
|
|
1859
|
+
Module["_ts_init"] = () => (Module["_ts_init"] = wasmExports["ts_init"])();
|
|
1860
|
+
Module["_ts_parser_new_wasm"] = () => (Module["_ts_parser_new_wasm"] = wasmExports["ts_parser_new_wasm"])();
|
|
1861
|
+
Module["_ts_parser_enable_logger_wasm"] = (a0, a1) => (Module["_ts_parser_enable_logger_wasm"] = wasmExports["ts_parser_enable_logger_wasm"])(a0, a1);
|
|
1862
|
+
Module["_ts_parser_parse_wasm"] = (a0, a1, a2, a3, a4) => (Module["_ts_parser_parse_wasm"] = wasmExports["ts_parser_parse_wasm"])(a0, a1, a2, a3, a4);
|
|
1863
|
+
Module["_ts_parser_included_ranges_wasm"] = a0 => (Module["_ts_parser_included_ranges_wasm"] = wasmExports["ts_parser_included_ranges_wasm"])(a0);
|
|
1864
|
+
Module["_ts_language_type_is_named_wasm"] = (a0, a1) => (Module["_ts_language_type_is_named_wasm"] = wasmExports["ts_language_type_is_named_wasm"])(a0, a1);
|
|
1865
|
+
Module["_ts_language_type_is_visible_wasm"] = (a0, a1) => (Module["_ts_language_type_is_visible_wasm"] = wasmExports["ts_language_type_is_visible_wasm"])(a0, a1);
|
|
1866
|
+
Module["_ts_tree_root_node_wasm"] = a0 => (Module["_ts_tree_root_node_wasm"] = wasmExports["ts_tree_root_node_wasm"])(a0);
|
|
1867
|
+
Module["_ts_tree_root_node_with_offset_wasm"] = a0 => (Module["_ts_tree_root_node_with_offset_wasm"] = wasmExports["ts_tree_root_node_with_offset_wasm"])(a0);
|
|
1868
|
+
Module["_ts_tree_edit_wasm"] = a0 => (Module["_ts_tree_edit_wasm"] = wasmExports["ts_tree_edit_wasm"])(a0);
|
|
1869
|
+
Module["_ts_tree_included_ranges_wasm"] = a0 => (Module["_ts_tree_included_ranges_wasm"] = wasmExports["ts_tree_included_ranges_wasm"])(a0);
|
|
1870
|
+
Module["_ts_tree_get_changed_ranges_wasm"] = (a0, a1) => (Module["_ts_tree_get_changed_ranges_wasm"] = wasmExports["ts_tree_get_changed_ranges_wasm"])(a0, a1);
|
|
1871
|
+
Module["_ts_tree_cursor_new_wasm"] = a0 => (Module["_ts_tree_cursor_new_wasm"] = wasmExports["ts_tree_cursor_new_wasm"])(a0);
|
|
1872
|
+
Module["_ts_tree_cursor_delete_wasm"] = a0 => (Module["_ts_tree_cursor_delete_wasm"] = wasmExports["ts_tree_cursor_delete_wasm"])(a0);
|
|
1873
|
+
Module["_ts_tree_cursor_reset_wasm"] = a0 => (Module["_ts_tree_cursor_reset_wasm"] = wasmExports["ts_tree_cursor_reset_wasm"])(a0);
|
|
1874
|
+
Module["_ts_tree_cursor_reset_to_wasm"] = (a0, a1) => (Module["_ts_tree_cursor_reset_to_wasm"] = wasmExports["ts_tree_cursor_reset_to_wasm"])(a0, a1);
|
|
1875
|
+
Module["_ts_tree_cursor_goto_first_child_wasm"] = a0 => (Module["_ts_tree_cursor_goto_first_child_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_wasm"])(a0);
|
|
1876
|
+
Module["_ts_tree_cursor_goto_last_child_wasm"] = a0 => (Module["_ts_tree_cursor_goto_last_child_wasm"] = wasmExports["ts_tree_cursor_goto_last_child_wasm"])(a0);
|
|
1877
|
+
Module["_ts_tree_cursor_goto_first_child_for_index_wasm"] = a0 => (Module["_ts_tree_cursor_goto_first_child_for_index_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_for_index_wasm"])(a0);
|
|
1878
|
+
Module["_ts_tree_cursor_goto_first_child_for_position_wasm"] = a0 => (Module["_ts_tree_cursor_goto_first_child_for_position_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_for_position_wasm"])(a0);
|
|
1879
|
+
Module["_ts_tree_cursor_goto_next_sibling_wasm"] = a0 => (Module["_ts_tree_cursor_goto_next_sibling_wasm"] = wasmExports["ts_tree_cursor_goto_next_sibling_wasm"])(a0);
|
|
1880
|
+
Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = a0 => (Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = wasmExports["ts_tree_cursor_goto_previous_sibling_wasm"])(a0);
|
|
1881
|
+
Module["_ts_tree_cursor_goto_descendant_wasm"] = (a0, a1) => (Module["_ts_tree_cursor_goto_descendant_wasm"] = wasmExports["ts_tree_cursor_goto_descendant_wasm"])(a0, a1);
|
|
1882
|
+
Module["_ts_tree_cursor_goto_parent_wasm"] = a0 => (Module["_ts_tree_cursor_goto_parent_wasm"] = wasmExports["ts_tree_cursor_goto_parent_wasm"])(a0);
|
|
1883
|
+
Module["_ts_tree_cursor_current_node_type_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_type_id_wasm"] = wasmExports["ts_tree_cursor_current_node_type_id_wasm"])(a0);
|
|
1884
|
+
Module["_ts_tree_cursor_current_node_state_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_state_id_wasm"] = wasmExports["ts_tree_cursor_current_node_state_id_wasm"])(a0);
|
|
1885
|
+
Module["_ts_tree_cursor_current_node_is_named_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_is_named_wasm"] = wasmExports["ts_tree_cursor_current_node_is_named_wasm"])(a0);
|
|
1886
|
+
Module["_ts_tree_cursor_current_node_is_missing_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_is_missing_wasm"] = wasmExports["ts_tree_cursor_current_node_is_missing_wasm"])(a0);
|
|
1887
|
+
Module["_ts_tree_cursor_current_node_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_id_wasm"] = wasmExports["ts_tree_cursor_current_node_id_wasm"])(a0);
|
|
1888
|
+
Module["_ts_tree_cursor_start_position_wasm"] = a0 => (Module["_ts_tree_cursor_start_position_wasm"] = wasmExports["ts_tree_cursor_start_position_wasm"])(a0);
|
|
1889
|
+
Module["_ts_tree_cursor_end_position_wasm"] = a0 => (Module["_ts_tree_cursor_end_position_wasm"] = wasmExports["ts_tree_cursor_end_position_wasm"])(a0);
|
|
1890
|
+
Module["_ts_tree_cursor_start_index_wasm"] = a0 => (Module["_ts_tree_cursor_start_index_wasm"] = wasmExports["ts_tree_cursor_start_index_wasm"])(a0);
|
|
1891
|
+
Module["_ts_tree_cursor_end_index_wasm"] = a0 => (Module["_ts_tree_cursor_end_index_wasm"] = wasmExports["ts_tree_cursor_end_index_wasm"])(a0);
|
|
1892
|
+
Module["_ts_tree_cursor_current_field_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_field_id_wasm"] = wasmExports["ts_tree_cursor_current_field_id_wasm"])(a0);
|
|
1893
|
+
Module["_ts_tree_cursor_current_depth_wasm"] = a0 => (Module["_ts_tree_cursor_current_depth_wasm"] = wasmExports["ts_tree_cursor_current_depth_wasm"])(a0);
|
|
1894
|
+
Module["_ts_tree_cursor_current_descendant_index_wasm"] = a0 => (Module["_ts_tree_cursor_current_descendant_index_wasm"] = wasmExports["ts_tree_cursor_current_descendant_index_wasm"])(a0);
|
|
1895
|
+
Module["_ts_tree_cursor_current_node_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_wasm"] = wasmExports["ts_tree_cursor_current_node_wasm"])(a0);
|
|
1896
|
+
Module["_ts_node_symbol_wasm"] = a0 => (Module["_ts_node_symbol_wasm"] = wasmExports["ts_node_symbol_wasm"])(a0);
|
|
1897
|
+
Module["_ts_node_field_name_for_child_wasm"] = (a0, a1) => (Module["_ts_node_field_name_for_child_wasm"] = wasmExports["ts_node_field_name_for_child_wasm"])(a0, a1);
|
|
1898
|
+
Module["_ts_node_children_by_field_id_wasm"] = (a0, a1) => (Module["_ts_node_children_by_field_id_wasm"] = wasmExports["ts_node_children_by_field_id_wasm"])(a0, a1);
|
|
1899
|
+
Module["_ts_node_first_child_for_byte_wasm"] = a0 => (Module["_ts_node_first_child_for_byte_wasm"] = wasmExports["ts_node_first_child_for_byte_wasm"])(a0);
|
|
1900
|
+
Module["_ts_node_first_named_child_for_byte_wasm"] = a0 => (Module["_ts_node_first_named_child_for_byte_wasm"] = wasmExports["ts_node_first_named_child_for_byte_wasm"])(a0);
|
|
1901
|
+
Module["_ts_node_grammar_symbol_wasm"] = a0 => (Module["_ts_node_grammar_symbol_wasm"] = wasmExports["ts_node_grammar_symbol_wasm"])(a0);
|
|
1902
|
+
Module["_ts_node_child_count_wasm"] = a0 => (Module["_ts_node_child_count_wasm"] = wasmExports["ts_node_child_count_wasm"])(a0);
|
|
1903
|
+
Module["_ts_node_named_child_count_wasm"] = a0 => (Module["_ts_node_named_child_count_wasm"] = wasmExports["ts_node_named_child_count_wasm"])(a0);
|
|
1904
|
+
Module["_ts_node_child_wasm"] = (a0, a1) => (Module["_ts_node_child_wasm"] = wasmExports["ts_node_child_wasm"])(a0, a1);
|
|
1905
|
+
Module["_ts_node_named_child_wasm"] = (a0, a1) => (Module["_ts_node_named_child_wasm"] = wasmExports["ts_node_named_child_wasm"])(a0, a1);
|
|
1906
|
+
Module["_ts_node_child_by_field_id_wasm"] = (a0, a1) => (Module["_ts_node_child_by_field_id_wasm"] = wasmExports["ts_node_child_by_field_id_wasm"])(a0, a1);
|
|
1907
|
+
Module["_ts_node_next_sibling_wasm"] = a0 => (Module["_ts_node_next_sibling_wasm"] = wasmExports["ts_node_next_sibling_wasm"])(a0);
|
|
1908
|
+
Module["_ts_node_prev_sibling_wasm"] = a0 => (Module["_ts_node_prev_sibling_wasm"] = wasmExports["ts_node_prev_sibling_wasm"])(a0);
|
|
1909
|
+
Module["_ts_node_next_named_sibling_wasm"] = a0 => (Module["_ts_node_next_named_sibling_wasm"] = wasmExports["ts_node_next_named_sibling_wasm"])(a0);
|
|
1910
|
+
Module["_ts_node_prev_named_sibling_wasm"] = a0 => (Module["_ts_node_prev_named_sibling_wasm"] = wasmExports["ts_node_prev_named_sibling_wasm"])(a0);
|
|
1911
|
+
Module["_ts_node_descendant_count_wasm"] = a0 => (Module["_ts_node_descendant_count_wasm"] = wasmExports["ts_node_descendant_count_wasm"])(a0);
|
|
1912
|
+
Module["_ts_node_parent_wasm"] = a0 => (Module["_ts_node_parent_wasm"] = wasmExports["ts_node_parent_wasm"])(a0);
|
|
1913
|
+
Module["_ts_node_descendant_for_index_wasm"] = a0 => (Module["_ts_node_descendant_for_index_wasm"] = wasmExports["ts_node_descendant_for_index_wasm"])(a0);
|
|
1914
|
+
Module["_ts_node_named_descendant_for_index_wasm"] = a0 => (Module["_ts_node_named_descendant_for_index_wasm"] = wasmExports["ts_node_named_descendant_for_index_wasm"])(a0);
|
|
1915
|
+
Module["_ts_node_descendant_for_position_wasm"] = a0 => (Module["_ts_node_descendant_for_position_wasm"] = wasmExports["ts_node_descendant_for_position_wasm"])(a0);
|
|
1916
|
+
Module["_ts_node_named_descendant_for_position_wasm"] = a0 => (Module["_ts_node_named_descendant_for_position_wasm"] = wasmExports["ts_node_named_descendant_for_position_wasm"])(a0);
|
|
1917
|
+
Module["_ts_node_start_point_wasm"] = a0 => (Module["_ts_node_start_point_wasm"] = wasmExports["ts_node_start_point_wasm"])(a0);
|
|
1918
|
+
Module["_ts_node_end_point_wasm"] = a0 => (Module["_ts_node_end_point_wasm"] = wasmExports["ts_node_end_point_wasm"])(a0);
|
|
1919
|
+
Module["_ts_node_start_index_wasm"] = a0 => (Module["_ts_node_start_index_wasm"] = wasmExports["ts_node_start_index_wasm"])(a0);
|
|
1920
|
+
Module["_ts_node_end_index_wasm"] = a0 => (Module["_ts_node_end_index_wasm"] = wasmExports["ts_node_end_index_wasm"])(a0);
|
|
1921
|
+
Module["_ts_node_to_string_wasm"] = a0 => (Module["_ts_node_to_string_wasm"] = wasmExports["ts_node_to_string_wasm"])(a0);
|
|
1922
|
+
Module["_ts_node_children_wasm"] = a0 => (Module["_ts_node_children_wasm"] = wasmExports["ts_node_children_wasm"])(a0);
|
|
1923
|
+
Module["_ts_node_named_children_wasm"] = a0 => (Module["_ts_node_named_children_wasm"] = wasmExports["ts_node_named_children_wasm"])(a0);
|
|
1924
|
+
Module["_ts_node_descendants_of_type_wasm"] = (a0, a1, a2, a3, a4, a5, a6) => (Module["_ts_node_descendants_of_type_wasm"] = wasmExports["ts_node_descendants_of_type_wasm"])(a0, a1, a2, a3, a4, a5, a6);
|
|
1925
|
+
Module["_ts_node_is_named_wasm"] = a0 => (Module["_ts_node_is_named_wasm"] = wasmExports["ts_node_is_named_wasm"])(a0);
|
|
1926
|
+
Module["_ts_node_has_changes_wasm"] = a0 => (Module["_ts_node_has_changes_wasm"] = wasmExports["ts_node_has_changes_wasm"])(a0);
|
|
1927
|
+
Module["_ts_node_has_error_wasm"] = a0 => (Module["_ts_node_has_error_wasm"] = wasmExports["ts_node_has_error_wasm"])(a0);
|
|
1928
|
+
Module["_ts_node_is_error_wasm"] = a0 => (Module["_ts_node_is_error_wasm"] = wasmExports["ts_node_is_error_wasm"])(a0);
|
|
1929
|
+
Module["_ts_node_is_missing_wasm"] = a0 => (Module["_ts_node_is_missing_wasm"] = wasmExports["ts_node_is_missing_wasm"])(a0);
|
|
1930
|
+
Module["_ts_node_is_extra_wasm"] = a0 => (Module["_ts_node_is_extra_wasm"] = wasmExports["ts_node_is_extra_wasm"])(a0);
|
|
1931
|
+
Module["_ts_node_parse_state_wasm"] = a0 => (Module["_ts_node_parse_state_wasm"] = wasmExports["ts_node_parse_state_wasm"])(a0);
|
|
1932
|
+
Module["_ts_node_next_parse_state_wasm"] = a0 => (Module["_ts_node_next_parse_state_wasm"] = wasmExports["ts_node_next_parse_state_wasm"])(a0);
|
|
1933
|
+
Module["_ts_query_matches_wasm"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) => (Module["_ts_query_matches_wasm"] = wasmExports["ts_query_matches_wasm"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
|
|
1934
|
+
Module["_ts_query_captures_wasm"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) => (Module["_ts_query_captures_wasm"] = wasmExports["ts_query_captures_wasm"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
|
|
1935
|
+
Module["_iswalpha"] = a0 => (Module["_iswalpha"] = wasmExports["iswalpha"])(a0);
|
|
1936
|
+
Module["_iswblank"] = a0 => (Module["_iswblank"] = wasmExports["iswblank"])(a0);
|
|
1937
|
+
Module["_iswdigit"] = a0 => (Module["_iswdigit"] = wasmExports["iswdigit"])(a0);
|
|
1938
|
+
Module["_iswlower"] = a0 => (Module["_iswlower"] = wasmExports["iswlower"])(a0);
|
|
1939
|
+
Module["_iswupper"] = a0 => (Module["_iswupper"] = wasmExports["iswupper"])(a0);
|
|
1940
|
+
Module["_iswxdigit"] = a0 => (Module["_iswxdigit"] = wasmExports["iswxdigit"])(a0);
|
|
1941
|
+
Module["_memchr"] = (a0, a1, a2) => (Module["_memchr"] = wasmExports["memchr"])(a0, a1, a2);
|
|
1942
|
+
Module["_strlen"] = a0 => (Module["_strlen"] = wasmExports["strlen"])(a0);
|
|
1943
|
+
Module["_strcmp"] = (a0, a1) => (Module["_strcmp"] = wasmExports["strcmp"])(a0, a1);
|
|
1944
|
+
Module["_strncat"] = (a0, a1, a2) => (Module["_strncat"] = wasmExports["strncat"])(a0, a1, a2);
|
|
1945
|
+
Module["_strncpy"] = (a0, a1, a2) => (Module["_strncpy"] = wasmExports["strncpy"])(a0, a1, a2);
|
|
1946
|
+
Module["_towlower"] = a0 => (Module["_towlower"] = wasmExports["towlower"])(a0);
|
|
1947
|
+
Module["_towupper"] = a0 => (Module["_towupper"] = wasmExports["towupper"])(a0);
|
|
1948
|
+
var _setThrew = (a0, a1) => (_setThrew = wasmExports["setThrew"])(a0, a1);
|
|
1949
|
+
var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports["_emscripten_stack_restore"])(a0);
|
|
1950
|
+
var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports["_emscripten_stack_alloc"])(a0);
|
|
1951
|
+
var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["emscripten_stack_get_current"])();
|
|
1952
|
+
Module["dynCall_jiji"] = (a0, a1, a2, a3, a4) => (Module["dynCall_jiji"] = wasmExports["dynCall_jiji"])(a0, a1, a2, a3, a4);
|
|
1953
|
+
Module["_orig$ts_parser_timeout_micros"] = a0 => (Module["_orig$ts_parser_timeout_micros"] = wasmExports["orig$ts_parser_timeout_micros"])(a0);
|
|
1954
|
+
Module["_orig$ts_parser_set_timeout_micros"] = (a0, a1) => (Module["_orig$ts_parser_set_timeout_micros"] = wasmExports["orig$ts_parser_set_timeout_micros"])(a0, a1);
|
|
1955
|
+
// include: postamble.js
|
|
1956
|
+
// === Auto-generated postamble setup entry stuff ===
|
|
1957
|
+
Module["AsciiToString"] = AsciiToString;
|
|
1958
|
+
Module["stringToUTF16"] = stringToUTF16;
|
|
1959
|
+
var calledRun;
|
|
1960
|
+
dependenciesFulfilled = function runCaller() {
|
|
1961
|
+
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
|
|
1962
|
+
if (!calledRun) run();
|
|
1963
|
+
if (!calledRun) dependenciesFulfilled = runCaller;
|
|
1964
|
+
};
|
|
1965
|
+
// try this again later, after new deps are fulfilled
|
|
1966
|
+
function callMain(args = []) {
|
|
1967
|
+
var entryFunction = resolveGlobalSymbol("main").sym;
|
|
1968
|
+
// Main modules can't tell if they have main() at compile time, since it may
|
|
1969
|
+
// arrive from a dynamic library.
|
|
1970
|
+
if (!entryFunction) return;
|
|
1971
|
+
args.unshift(thisProgram);
|
|
1972
|
+
var argc = args.length;
|
|
1973
|
+
var argv = stackAlloc((argc + 1) * 4);
|
|
1974
|
+
var argv_ptr = argv;
|
|
1975
|
+
args.forEach(arg => {
|
|
1976
|
+
LE_HEAP_STORE_U32((argv_ptr >> 2) * 4, stringToUTF8OnStack(arg));
|
|
1977
|
+
argv_ptr += 4;
|
|
1978
|
+
});
|
|
1979
|
+
LE_HEAP_STORE_U32((argv_ptr >> 2) * 4, 0);
|
|
1980
|
+
try {
|
|
1981
|
+
var ret = entryFunction(argc, argv);
|
|
1982
|
+
// if we're not running an evented main loop, it's time to exit
|
|
1983
|
+
exitJS(ret, /* implicit = */true);
|
|
1984
|
+
return ret;
|
|
1985
|
+
} catch (e) {
|
|
1986
|
+
return handleException(e);
|
|
1987
|
+
}
|
|
1988
|
+
}
|
|
1989
|
+
function run(args = arguments_) {
|
|
1990
|
+
if (runDependencies > 0) {
|
|
1991
|
+
return;
|
|
1992
|
+
}
|
|
1993
|
+
preRun();
|
|
1994
|
+
// a preRun added a dependency, run will be called later
|
|
1995
|
+
if (runDependencies > 0) {
|
|
1996
|
+
return;
|
|
1997
|
+
}
|
|
1998
|
+
function doRun() {
|
|
1999
|
+
// run may have just been called through dependencies being fulfilled just in this very frame,
|
|
2000
|
+
// or while the async setStatus time below was happening
|
|
2001
|
+
if (calledRun) return;
|
|
2002
|
+
calledRun = true;
|
|
2003
|
+
Module["calledRun"] = true;
|
|
2004
|
+
if (ABORT) return;
|
|
2005
|
+
initRuntime();
|
|
2006
|
+
preMain();
|
|
2007
|
+
Module["onRuntimeInitialized"]?.();
|
|
2008
|
+
if (shouldRunNow) callMain(args);
|
|
2009
|
+
postRun();
|
|
2010
|
+
}
|
|
2011
|
+
if (Module["setStatus"]) {
|
|
2012
|
+
Module["setStatus"]("Running...");
|
|
2013
|
+
setTimeout(function () {
|
|
2014
|
+
setTimeout(function () {
|
|
2015
|
+
Module["setStatus"]("");
|
|
2016
|
+
}, 1);
|
|
2017
|
+
doRun();
|
|
2018
|
+
}, 1);
|
|
2019
|
+
} else {
|
|
2020
|
+
doRun();
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
if (Module["preInit"]) {
|
|
2024
|
+
if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
|
|
2025
|
+
while (Module["preInit"].length > 0) {
|
|
2026
|
+
Module["preInit"].pop()();
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
// shouldRunNow refers to calling main(), not run().
|
|
2030
|
+
var shouldRunNow = true;
|
|
2031
|
+
if (Module["noInitialRun"]) shouldRunNow = false;
|
|
2032
|
+
run();
|
|
2033
|
+
// end include: postamble.js
|
|
2034
|
+
// include: /src/lib/binding_web/binding.js
|
|
2035
|
+
/* eslint-disable-next-line spaced-comment */ /// <reference types="emscripten" />
|
|
2036
|
+
/* eslint-disable-next-line spaced-comment */ /// <reference path="tree-sitter-web.d.ts"/>
|
|
2037
|
+
const C = Module;
|
|
2038
|
+
const INTERNAL = {};
|
|
2039
|
+
const SIZE_OF_INT = 4;
|
|
2040
|
+
const SIZE_OF_CURSOR = 4 * SIZE_OF_INT;
|
|
2041
|
+
const SIZE_OF_NODE = 5 * SIZE_OF_INT;
|
|
2042
|
+
const SIZE_OF_POINT = 2 * SIZE_OF_INT;
|
|
2043
|
+
const SIZE_OF_RANGE = 2 * SIZE_OF_INT + 2 * SIZE_OF_POINT;
|
|
2044
|
+
const ZERO_POINT = {
|
|
2045
|
+
row: 0,
|
|
2046
|
+
column: 0
|
|
2047
|
+
};
|
|
2048
|
+
const QUERY_WORD_REGEX = /[\w-.]*/g;
|
|
2049
|
+
const PREDICATE_STEP_TYPE_CAPTURE = 1;
|
|
2050
|
+
const PREDICATE_STEP_TYPE_STRING = 2;
|
|
2051
|
+
const LANGUAGE_FUNCTION_REGEX = /^_?tree_sitter_\w+/;
|
|
2052
|
+
let VERSION;
|
|
2053
|
+
let MIN_COMPATIBLE_VERSION;
|
|
2054
|
+
let TRANSFER_BUFFER;
|
|
2055
|
+
let currentParseCallback;
|
|
2056
|
+
// eslint-disable-next-line no-unused-vars
|
|
2057
|
+
let currentLogCallback;
|
|
2058
|
+
// eslint-disable-next-line no-unused-vars
|
|
2059
|
+
class ParserImpl {
|
|
2060
|
+
static init() {
|
|
2061
|
+
TRANSFER_BUFFER = C._ts_init();
|
|
2062
|
+
VERSION = getValue(TRANSFER_BUFFER, "i32");
|
|
2063
|
+
MIN_COMPATIBLE_VERSION = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2064
|
+
}
|
|
2065
|
+
initialize() {
|
|
2066
|
+
C._ts_parser_new_wasm();
|
|
2067
|
+
this[0] = getValue(TRANSFER_BUFFER, "i32");
|
|
2068
|
+
this[1] = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2069
|
+
}
|
|
2070
|
+
delete() {
|
|
2071
|
+
C._ts_parser_delete(this[0]);
|
|
2072
|
+
C._free(this[1]);
|
|
2073
|
+
this[0] = 0;
|
|
2074
|
+
this[1] = 0;
|
|
2075
|
+
}
|
|
2076
|
+
setLanguage(language) {
|
|
2077
|
+
let address;
|
|
2078
|
+
if (!language) {
|
|
2079
|
+
address = 0;
|
|
2080
|
+
language = null;
|
|
2081
|
+
} else if (language.constructor === Language) {
|
|
2082
|
+
address = language[0];
|
|
2083
|
+
const version = C._ts_language_version(address);
|
|
2084
|
+
if (version < MIN_COMPATIBLE_VERSION || VERSION < version) {
|
|
2085
|
+
throw new Error(`Incompatible language version ${version}. ` + `Compatibility range ${MIN_COMPATIBLE_VERSION} through ${VERSION}.`);
|
|
2086
|
+
}
|
|
2087
|
+
} else {
|
|
2088
|
+
throw new Error("Argument must be a Language");
|
|
2089
|
+
}
|
|
2090
|
+
this.language = language;
|
|
2091
|
+
C._ts_parser_set_language(this[0], address);
|
|
2092
|
+
return this;
|
|
2093
|
+
}
|
|
2094
|
+
getLanguage() {
|
|
2095
|
+
return this.language;
|
|
2096
|
+
}
|
|
2097
|
+
parse(callback, oldTree, options) {
|
|
2098
|
+
if (typeof callback === "string") {
|
|
2099
|
+
currentParseCallback = (index, _) => callback.slice(index);
|
|
2100
|
+
} else if (typeof callback === "function") {
|
|
2101
|
+
currentParseCallback = callback;
|
|
2102
|
+
} else {
|
|
2103
|
+
throw new Error("Argument must be a string or a function");
|
|
2104
|
+
}
|
|
2105
|
+
if (this.logCallback) {
|
|
2106
|
+
currentLogCallback = this.logCallback;
|
|
2107
|
+
C._ts_parser_enable_logger_wasm(this[0], 1);
|
|
2108
|
+
} else {
|
|
2109
|
+
currentLogCallback = null;
|
|
2110
|
+
C._ts_parser_enable_logger_wasm(this[0], 0);
|
|
2111
|
+
}
|
|
2112
|
+
let rangeCount = 0;
|
|
2113
|
+
let rangeAddress = 0;
|
|
2114
|
+
if (options?.includedRanges) {
|
|
2115
|
+
rangeCount = options.includedRanges.length;
|
|
2116
|
+
rangeAddress = C._calloc(rangeCount, SIZE_OF_RANGE);
|
|
2117
|
+
let address = rangeAddress;
|
|
2118
|
+
for (let i = 0; i < rangeCount; i++) {
|
|
2119
|
+
marshalRange(address, options.includedRanges[i]);
|
|
2120
|
+
address += SIZE_OF_RANGE;
|
|
2121
|
+
}
|
|
2122
|
+
}
|
|
2123
|
+
const treeAddress = C._ts_parser_parse_wasm(this[0], this[1], oldTree ? oldTree[0] : 0, rangeAddress, rangeCount);
|
|
2124
|
+
if (!treeAddress) {
|
|
2125
|
+
currentParseCallback = null;
|
|
2126
|
+
currentLogCallback = null;
|
|
2127
|
+
throw new Error("Parsing failed");
|
|
2128
|
+
}
|
|
2129
|
+
const result = new Tree(INTERNAL, treeAddress, this.language, currentParseCallback);
|
|
2130
|
+
currentParseCallback = null;
|
|
2131
|
+
currentLogCallback = null;
|
|
2132
|
+
return result;
|
|
2133
|
+
}
|
|
2134
|
+
reset() {
|
|
2135
|
+
C._ts_parser_reset(this[0]);
|
|
2136
|
+
}
|
|
2137
|
+
getIncludedRanges() {
|
|
2138
|
+
C._ts_parser_included_ranges_wasm(this[0]);
|
|
2139
|
+
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2140
|
+
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2141
|
+
const result = new Array(count);
|
|
2142
|
+
if (count > 0) {
|
|
2143
|
+
let address = buffer;
|
|
2144
|
+
for (let i = 0; i < count; i++) {
|
|
2145
|
+
result[i] = unmarshalRange(address);
|
|
2146
|
+
address += SIZE_OF_RANGE;
|
|
2147
|
+
}
|
|
2148
|
+
C._free(buffer);
|
|
2149
|
+
}
|
|
2150
|
+
return result;
|
|
2151
|
+
}
|
|
2152
|
+
getTimeoutMicros() {
|
|
2153
|
+
return C._ts_parser_timeout_micros(this[0]);
|
|
2154
|
+
}
|
|
2155
|
+
setTimeoutMicros(timeout) {
|
|
2156
|
+
C._ts_parser_set_timeout_micros(this[0], timeout);
|
|
2157
|
+
}
|
|
2158
|
+
setLogger(callback) {
|
|
2159
|
+
if (!callback) {
|
|
2160
|
+
callback = null;
|
|
2161
|
+
} else if (typeof callback !== "function") {
|
|
2162
|
+
throw new Error("Logger callback must be a function");
|
|
2163
|
+
}
|
|
2164
|
+
this.logCallback = callback;
|
|
2165
|
+
return this;
|
|
2166
|
+
}
|
|
2167
|
+
getLogger() {
|
|
2168
|
+
return this.logCallback;
|
|
2169
|
+
}
|
|
2170
|
+
}
|
|
2171
|
+
class Tree {
|
|
2172
|
+
constructor(internal, address, language, textCallback) {
|
|
2173
|
+
assertInternal(internal);
|
|
2174
|
+
this[0] = address;
|
|
2175
|
+
this.language = language;
|
|
2176
|
+
this.textCallback = textCallback;
|
|
2177
|
+
}
|
|
2178
|
+
copy() {
|
|
2179
|
+
const address = C._ts_tree_copy(this[0]);
|
|
2180
|
+
return new Tree(INTERNAL, address, this.language, this.textCallback);
|
|
2181
|
+
}
|
|
2182
|
+
delete() {
|
|
2183
|
+
C._ts_tree_delete(this[0]);
|
|
2184
|
+
this[0] = 0;
|
|
2185
|
+
}
|
|
2186
|
+
edit(edit) {
|
|
2187
|
+
marshalEdit(edit);
|
|
2188
|
+
C._ts_tree_edit_wasm(this[0]);
|
|
2189
|
+
}
|
|
2190
|
+
get rootNode() {
|
|
2191
|
+
C._ts_tree_root_node_wasm(this[0]);
|
|
2192
|
+
return unmarshalNode(this);
|
|
2193
|
+
}
|
|
2194
|
+
rootNodeWithOffset(offsetBytes, offsetExtent) {
|
|
2195
|
+
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2196
|
+
setValue(address, offsetBytes, "i32");
|
|
2197
|
+
marshalPoint(address + SIZE_OF_INT, offsetExtent);
|
|
2198
|
+
C._ts_tree_root_node_with_offset_wasm(this[0]);
|
|
2199
|
+
return unmarshalNode(this);
|
|
2200
|
+
}
|
|
2201
|
+
getLanguage() {
|
|
2202
|
+
return this.language;
|
|
2203
|
+
}
|
|
2204
|
+
walk() {
|
|
2205
|
+
return this.rootNode.walk();
|
|
2206
|
+
}
|
|
2207
|
+
getChangedRanges(other) {
|
|
2208
|
+
if (other.constructor !== Tree) {
|
|
2209
|
+
throw new TypeError("Argument must be a Tree");
|
|
2210
|
+
}
|
|
2211
|
+
C._ts_tree_get_changed_ranges_wasm(this[0], other[0]);
|
|
2212
|
+
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2213
|
+
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2214
|
+
const result = new Array(count);
|
|
2215
|
+
if (count > 0) {
|
|
2216
|
+
let address = buffer;
|
|
2217
|
+
for (let i = 0; i < count; i++) {
|
|
2218
|
+
result[i] = unmarshalRange(address);
|
|
2219
|
+
address += SIZE_OF_RANGE;
|
|
2220
|
+
}
|
|
2221
|
+
C._free(buffer);
|
|
2222
|
+
}
|
|
2223
|
+
return result;
|
|
2224
|
+
}
|
|
2225
|
+
getIncludedRanges() {
|
|
2226
|
+
C._ts_tree_included_ranges_wasm(this[0]);
|
|
2227
|
+
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2228
|
+
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2229
|
+
const result = new Array(count);
|
|
2230
|
+
if (count > 0) {
|
|
2231
|
+
let address = buffer;
|
|
2232
|
+
for (let i = 0; i < count; i++) {
|
|
2233
|
+
result[i] = unmarshalRange(address);
|
|
2234
|
+
address += SIZE_OF_RANGE;
|
|
2235
|
+
}
|
|
2236
|
+
C._free(buffer);
|
|
2237
|
+
}
|
|
2238
|
+
return result;
|
|
2239
|
+
}
|
|
2240
|
+
}
|
|
2241
|
+
class Node {
|
|
2242
|
+
constructor(internal, tree) {
|
|
2243
|
+
assertInternal(internal);
|
|
2244
|
+
this.tree = tree;
|
|
2245
|
+
}
|
|
2246
|
+
get typeId() {
|
|
2247
|
+
marshalNode(this);
|
|
2248
|
+
return C._ts_node_symbol_wasm(this.tree[0]);
|
|
2249
|
+
}
|
|
2250
|
+
get grammarId() {
|
|
2251
|
+
marshalNode(this);
|
|
2252
|
+
return C._ts_node_grammar_symbol_wasm(this.tree[0]);
|
|
2253
|
+
}
|
|
2254
|
+
get type() {
|
|
2255
|
+
return this.tree.language.types[this.typeId] || "ERROR";
|
|
2256
|
+
}
|
|
2257
|
+
get grammarType() {
|
|
2258
|
+
return this.tree.language.types[this.grammarId] || "ERROR";
|
|
2259
|
+
}
|
|
2260
|
+
get endPosition() {
|
|
2261
|
+
marshalNode(this);
|
|
2262
|
+
C._ts_node_end_point_wasm(this.tree[0]);
|
|
2263
|
+
return unmarshalPoint(TRANSFER_BUFFER);
|
|
2264
|
+
}
|
|
2265
|
+
get endIndex() {
|
|
2266
|
+
marshalNode(this);
|
|
2267
|
+
return C._ts_node_end_index_wasm(this.tree[0]);
|
|
2268
|
+
}
|
|
2269
|
+
get text() {
|
|
2270
|
+
return getText(this.tree, this.startIndex, this.endIndex);
|
|
2271
|
+
}
|
|
2272
|
+
get parseState() {
|
|
2273
|
+
marshalNode(this);
|
|
2274
|
+
return C._ts_node_parse_state_wasm(this.tree[0]);
|
|
2275
|
+
}
|
|
2276
|
+
get nextParseState() {
|
|
2277
|
+
marshalNode(this);
|
|
2278
|
+
return C._ts_node_next_parse_state_wasm(this.tree[0]);
|
|
2279
|
+
}
|
|
2280
|
+
get isNamed() {
|
|
2281
|
+
marshalNode(this);
|
|
2282
|
+
return C._ts_node_is_named_wasm(this.tree[0]) === 1;
|
|
2283
|
+
}
|
|
2284
|
+
get hasError() {
|
|
2285
|
+
marshalNode(this);
|
|
2286
|
+
return C._ts_node_has_error_wasm(this.tree[0]) === 1;
|
|
2287
|
+
}
|
|
2288
|
+
get hasChanges() {
|
|
2289
|
+
marshalNode(this);
|
|
2290
|
+
return C._ts_node_has_changes_wasm(this.tree[0]) === 1;
|
|
2291
|
+
}
|
|
2292
|
+
get isError() {
|
|
2293
|
+
marshalNode(this);
|
|
2294
|
+
return C._ts_node_is_error_wasm(this.tree[0]) === 1;
|
|
2295
|
+
}
|
|
2296
|
+
get isMissing() {
|
|
2297
|
+
marshalNode(this);
|
|
2298
|
+
return C._ts_node_is_missing_wasm(this.tree[0]) === 1;
|
|
2299
|
+
}
|
|
2300
|
+
get isExtra() {
|
|
2301
|
+
marshalNode(this);
|
|
2302
|
+
return C._ts_node_is_extra_wasm(this.tree[0]) === 1;
|
|
2303
|
+
}
|
|
2304
|
+
equals(other) {
|
|
2305
|
+
return this.id === other.id;
|
|
2306
|
+
}
|
|
2307
|
+
child(index) {
|
|
2308
|
+
marshalNode(this);
|
|
2309
|
+
C._ts_node_child_wasm(this.tree[0], index);
|
|
2310
|
+
return unmarshalNode(this.tree);
|
|
2311
|
+
}
|
|
2312
|
+
namedChild(index) {
|
|
2313
|
+
marshalNode(this);
|
|
2314
|
+
C._ts_node_named_child_wasm(this.tree[0], index);
|
|
2315
|
+
return unmarshalNode(this.tree);
|
|
2316
|
+
}
|
|
2317
|
+
childForFieldId(fieldId) {
|
|
2318
|
+
marshalNode(this);
|
|
2319
|
+
C._ts_node_child_by_field_id_wasm(this.tree[0], fieldId);
|
|
2320
|
+
return unmarshalNode(this.tree);
|
|
2321
|
+
}
|
|
2322
|
+
childForFieldName(fieldName) {
|
|
2323
|
+
const fieldId = this.tree.language.fields.indexOf(fieldName);
|
|
2324
|
+
if (fieldId !== -1) return this.childForFieldId(fieldId);
|
|
2325
|
+
return null;
|
|
2326
|
+
}
|
|
2327
|
+
fieldNameForChild(index) {
|
|
2328
|
+
marshalNode(this);
|
|
2329
|
+
const address = C._ts_node_field_name_for_child_wasm(this.tree[0], index);
|
|
2330
|
+
if (!address) {
|
|
2331
|
+
return null;
|
|
2332
|
+
}
|
|
2333
|
+
const result = AsciiToString(address);
|
|
2334
|
+
// must not free, the string memory is owned by the language
|
|
2335
|
+
return result;
|
|
2336
|
+
}
|
|
2337
|
+
childrenForFieldName(fieldName) {
|
|
2338
|
+
const fieldId = this.tree.language.fields.indexOf(fieldName);
|
|
2339
|
+
if (fieldId !== -1 && fieldId !== 0) return this.childrenForFieldId(fieldId);
|
|
2340
|
+
return [];
|
|
2341
|
+
}
|
|
2342
|
+
childrenForFieldId(fieldId) {
|
|
2343
|
+
marshalNode(this);
|
|
2344
|
+
C._ts_node_children_by_field_id_wasm(this.tree[0], fieldId);
|
|
2345
|
+
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2346
|
+
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2347
|
+
const result = new Array(count);
|
|
2348
|
+
if (count > 0) {
|
|
2349
|
+
let address = buffer;
|
|
2350
|
+
for (let i = 0; i < count; i++) {
|
|
2351
|
+
result[i] = unmarshalNode(this.tree, address);
|
|
2352
|
+
address += SIZE_OF_NODE;
|
|
2353
|
+
}
|
|
2354
|
+
C._free(buffer);
|
|
2355
|
+
}
|
|
2356
|
+
return result;
|
|
2357
|
+
}
|
|
2358
|
+
firstChildForIndex(index) {
|
|
2359
|
+
marshalNode(this);
|
|
2360
|
+
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2361
|
+
setValue(address, index, "i32");
|
|
2362
|
+
C._ts_node_first_child_for_byte_wasm(this.tree[0]);
|
|
2363
|
+
return unmarshalNode(this.tree);
|
|
2364
|
+
}
|
|
2365
|
+
firstNamedChildForIndex(index) {
|
|
2366
|
+
marshalNode(this);
|
|
2367
|
+
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2368
|
+
setValue(address, index, "i32");
|
|
2369
|
+
C._ts_node_first_named_child_for_byte_wasm(this.tree[0]);
|
|
2370
|
+
return unmarshalNode(this.tree);
|
|
2371
|
+
}
|
|
2372
|
+
get childCount() {
|
|
2373
|
+
marshalNode(this);
|
|
2374
|
+
return C._ts_node_child_count_wasm(this.tree[0]);
|
|
2375
|
+
}
|
|
2376
|
+
get namedChildCount() {
|
|
2377
|
+
marshalNode(this);
|
|
2378
|
+
return C._ts_node_named_child_count_wasm(this.tree[0]);
|
|
2379
|
+
}
|
|
2380
|
+
get firstChild() {
|
|
2381
|
+
return this.child(0);
|
|
2382
|
+
}
|
|
2383
|
+
get firstNamedChild() {
|
|
2384
|
+
return this.namedChild(0);
|
|
2385
|
+
}
|
|
2386
|
+
get lastChild() {
|
|
2387
|
+
return this.child(this.childCount - 1);
|
|
2388
|
+
}
|
|
2389
|
+
get lastNamedChild() {
|
|
2390
|
+
return this.namedChild(this.namedChildCount - 1);
|
|
2391
|
+
}
|
|
2392
|
+
get children() {
|
|
2393
|
+
if (!this._children) {
|
|
2394
|
+
marshalNode(this);
|
|
2395
|
+
C._ts_node_children_wasm(this.tree[0]);
|
|
2396
|
+
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2397
|
+
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2398
|
+
this._children = new Array(count);
|
|
2399
|
+
if (count > 0) {
|
|
2400
|
+
let address = buffer;
|
|
2401
|
+
for (let i = 0; i < count; i++) {
|
|
2402
|
+
this._children[i] = unmarshalNode(this.tree, address);
|
|
2403
|
+
address += SIZE_OF_NODE;
|
|
2404
|
+
}
|
|
2405
|
+
C._free(buffer);
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2408
|
+
return this._children;
|
|
2409
|
+
}
|
|
2410
|
+
get namedChildren() {
|
|
2411
|
+
if (!this._namedChildren) {
|
|
2412
|
+
marshalNode(this);
|
|
2413
|
+
C._ts_node_named_children_wasm(this.tree[0]);
|
|
2414
|
+
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2415
|
+
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2416
|
+
this._namedChildren = new Array(count);
|
|
2417
|
+
if (count > 0) {
|
|
2418
|
+
let address = buffer;
|
|
2419
|
+
for (let i = 0; i < count; i++) {
|
|
2420
|
+
this._namedChildren[i] = unmarshalNode(this.tree, address);
|
|
2421
|
+
address += SIZE_OF_NODE;
|
|
2422
|
+
}
|
|
2423
|
+
C._free(buffer);
|
|
2424
|
+
}
|
|
2425
|
+
}
|
|
2426
|
+
return this._namedChildren;
|
|
2427
|
+
}
|
|
2428
|
+
descendantsOfType(types, startPosition, endPosition) {
|
|
2429
|
+
if (!Array.isArray(types)) types = [types];
|
|
2430
|
+
if (!startPosition) startPosition = ZERO_POINT;
|
|
2431
|
+
if (!endPosition) endPosition = ZERO_POINT;
|
|
2432
|
+
// Convert the type strings to numeric type symbols.
|
|
2433
|
+
const symbols = [];
|
|
2434
|
+
const typesBySymbol = this.tree.language.types;
|
|
2435
|
+
for (let i = 0, n = typesBySymbol.length; i < n; i++) {
|
|
2436
|
+
if (types.includes(typesBySymbol[i])) {
|
|
2437
|
+
symbols.push(i);
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2440
|
+
// Copy the array of symbols to the WASM heap.
|
|
2441
|
+
const symbolsAddress = C._malloc(SIZE_OF_INT * symbols.length);
|
|
2442
|
+
for (let i = 0, n = symbols.length; i < n; i++) {
|
|
2443
|
+
setValue(symbolsAddress + i * SIZE_OF_INT, symbols[i], "i32");
|
|
2444
|
+
}
|
|
2445
|
+
// Call the C API to compute the descendants.
|
|
2446
|
+
marshalNode(this);
|
|
2447
|
+
C._ts_node_descendants_of_type_wasm(this.tree[0], symbolsAddress, symbols.length, startPosition.row, startPosition.column, endPosition.row, endPosition.column);
|
|
2448
|
+
// Instantiate the nodes based on the data returned.
|
|
2449
|
+
const descendantCount = getValue(TRANSFER_BUFFER, "i32");
|
|
2450
|
+
const descendantAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2451
|
+
const result = new Array(descendantCount);
|
|
2452
|
+
if (descendantCount > 0) {
|
|
2453
|
+
let address = descendantAddress;
|
|
2454
|
+
for (let i = 0; i < descendantCount; i++) {
|
|
2455
|
+
result[i] = unmarshalNode(this.tree, address);
|
|
2456
|
+
address += SIZE_OF_NODE;
|
|
2457
|
+
}
|
|
2458
|
+
}
|
|
2459
|
+
// Free the intermediate buffers
|
|
2460
|
+
C._free(descendantAddress);
|
|
2461
|
+
C._free(symbolsAddress);
|
|
2462
|
+
return result;
|
|
2463
|
+
}
|
|
2464
|
+
get nextSibling() {
|
|
2465
|
+
marshalNode(this);
|
|
2466
|
+
C._ts_node_next_sibling_wasm(this.tree[0]);
|
|
2467
|
+
return unmarshalNode(this.tree);
|
|
2468
|
+
}
|
|
2469
|
+
get previousSibling() {
|
|
2470
|
+
marshalNode(this);
|
|
2471
|
+
C._ts_node_prev_sibling_wasm(this.tree[0]);
|
|
2472
|
+
return unmarshalNode(this.tree);
|
|
2473
|
+
}
|
|
2474
|
+
get nextNamedSibling() {
|
|
2475
|
+
marshalNode(this);
|
|
2476
|
+
C._ts_node_next_named_sibling_wasm(this.tree[0]);
|
|
2477
|
+
return unmarshalNode(this.tree);
|
|
2478
|
+
}
|
|
2479
|
+
get previousNamedSibling() {
|
|
2480
|
+
marshalNode(this);
|
|
2481
|
+
C._ts_node_prev_named_sibling_wasm(this.tree[0]);
|
|
2482
|
+
return unmarshalNode(this.tree);
|
|
2483
|
+
}
|
|
2484
|
+
get descendantCount() {
|
|
2485
|
+
marshalNode(this);
|
|
2486
|
+
return C._ts_node_descendant_count_wasm(this.tree[0]);
|
|
2487
|
+
}
|
|
2488
|
+
get parent() {
|
|
2489
|
+
marshalNode(this);
|
|
2490
|
+
C._ts_node_parent_wasm(this.tree[0]);
|
|
2491
|
+
return unmarshalNode(this.tree);
|
|
2492
|
+
}
|
|
2493
|
+
descendantForIndex(start, end = start) {
|
|
2494
|
+
if (typeof start !== "number" || typeof end !== "number") {
|
|
2495
|
+
throw new Error("Arguments must be numbers");
|
|
2496
|
+
}
|
|
2497
|
+
marshalNode(this);
|
|
2498
|
+
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2499
|
+
setValue(address, start, "i32");
|
|
2500
|
+
setValue(address + SIZE_OF_INT, end, "i32");
|
|
2501
|
+
C._ts_node_descendant_for_index_wasm(this.tree[0]);
|
|
2502
|
+
return unmarshalNode(this.tree);
|
|
2503
|
+
}
|
|
2504
|
+
namedDescendantForIndex(start, end = start) {
|
|
2505
|
+
if (typeof start !== "number" || typeof end !== "number") {
|
|
2506
|
+
throw new Error("Arguments must be numbers");
|
|
2507
|
+
}
|
|
2508
|
+
marshalNode(this);
|
|
2509
|
+
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2510
|
+
setValue(address, start, "i32");
|
|
2511
|
+
setValue(address + SIZE_OF_INT, end, "i32");
|
|
2512
|
+
C._ts_node_named_descendant_for_index_wasm(this.tree[0]);
|
|
2513
|
+
return unmarshalNode(this.tree);
|
|
2514
|
+
}
|
|
2515
|
+
descendantForPosition(start, end = start) {
|
|
2516
|
+
if (!isPoint(start) || !isPoint(end)) {
|
|
2517
|
+
throw new Error("Arguments must be {row, column} objects");
|
|
2518
|
+
}
|
|
2519
|
+
marshalNode(this);
|
|
2520
|
+
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2521
|
+
marshalPoint(address, start);
|
|
2522
|
+
marshalPoint(address + SIZE_OF_POINT, end);
|
|
2523
|
+
C._ts_node_descendant_for_position_wasm(this.tree[0]);
|
|
2524
|
+
return unmarshalNode(this.tree);
|
|
2525
|
+
}
|
|
2526
|
+
namedDescendantForPosition(start, end = start) {
|
|
2527
|
+
if (!isPoint(start) || !isPoint(end)) {
|
|
2528
|
+
throw new Error("Arguments must be {row, column} objects");
|
|
2529
|
+
}
|
|
2530
|
+
marshalNode(this);
|
|
2531
|
+
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2532
|
+
marshalPoint(address, start);
|
|
2533
|
+
marshalPoint(address + SIZE_OF_POINT, end);
|
|
2534
|
+
C._ts_node_named_descendant_for_position_wasm(this.tree[0]);
|
|
2535
|
+
return unmarshalNode(this.tree);
|
|
2536
|
+
}
|
|
2537
|
+
walk() {
|
|
2538
|
+
marshalNode(this);
|
|
2539
|
+
C._ts_tree_cursor_new_wasm(this.tree[0]);
|
|
2540
|
+
return new TreeCursor(INTERNAL, this.tree);
|
|
2541
|
+
}
|
|
2542
|
+
toString() {
|
|
2543
|
+
marshalNode(this);
|
|
2544
|
+
const address = C._ts_node_to_string_wasm(this.tree[0]);
|
|
2545
|
+
const result = AsciiToString(address);
|
|
2546
|
+
C._free(address);
|
|
2547
|
+
return result;
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2550
|
+
class TreeCursor {
|
|
2551
|
+
constructor(internal, tree) {
|
|
2552
|
+
assertInternal(internal);
|
|
2553
|
+
this.tree = tree;
|
|
2554
|
+
unmarshalTreeCursor(this);
|
|
2555
|
+
}
|
|
2556
|
+
delete() {
|
|
2557
|
+
marshalTreeCursor(this);
|
|
2558
|
+
C._ts_tree_cursor_delete_wasm(this.tree[0]);
|
|
2559
|
+
this[0] = this[1] = this[2] = 0;
|
|
2560
|
+
}
|
|
2561
|
+
reset(node) {
|
|
2562
|
+
marshalNode(node);
|
|
2563
|
+
marshalTreeCursor(this, TRANSFER_BUFFER + SIZE_OF_NODE);
|
|
2564
|
+
C._ts_tree_cursor_reset_wasm(this.tree[0]);
|
|
2565
|
+
unmarshalTreeCursor(this);
|
|
2566
|
+
}
|
|
2567
|
+
resetTo(cursor) {
|
|
2568
|
+
marshalTreeCursor(this, TRANSFER_BUFFER);
|
|
2569
|
+
marshalTreeCursor(cursor, TRANSFER_BUFFER + SIZE_OF_CURSOR);
|
|
2570
|
+
C._ts_tree_cursor_reset_to_wasm(this.tree[0], cursor.tree[0]);
|
|
2571
|
+
unmarshalTreeCursor(this);
|
|
2572
|
+
}
|
|
2573
|
+
get nodeType() {
|
|
2574
|
+
return this.tree.language.types[this.nodeTypeId] || "ERROR";
|
|
2575
|
+
}
|
|
2576
|
+
get nodeTypeId() {
|
|
2577
|
+
marshalTreeCursor(this);
|
|
2578
|
+
return C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0]);
|
|
2579
|
+
}
|
|
2580
|
+
get nodeStateId() {
|
|
2581
|
+
marshalTreeCursor(this);
|
|
2582
|
+
return C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0]);
|
|
2583
|
+
}
|
|
2584
|
+
get nodeId() {
|
|
2585
|
+
marshalTreeCursor(this);
|
|
2586
|
+
return C._ts_tree_cursor_current_node_id_wasm(this.tree[0]);
|
|
2587
|
+
}
|
|
2588
|
+
get nodeIsNamed() {
|
|
2589
|
+
marshalTreeCursor(this);
|
|
2590
|
+
return C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0]) === 1;
|
|
2591
|
+
}
|
|
2592
|
+
get nodeIsMissing() {
|
|
2593
|
+
marshalTreeCursor(this);
|
|
2594
|
+
return C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0]) === 1;
|
|
2595
|
+
}
|
|
2596
|
+
get nodeText() {
|
|
2597
|
+
marshalTreeCursor(this);
|
|
2598
|
+
const startIndex = C._ts_tree_cursor_start_index_wasm(this.tree[0]);
|
|
2599
|
+
const endIndex = C._ts_tree_cursor_end_index_wasm(this.tree[0]);
|
|
2600
|
+
return getText(this.tree, startIndex, endIndex);
|
|
2601
|
+
}
|
|
2602
|
+
get startPosition() {
|
|
2603
|
+
marshalTreeCursor(this);
|
|
2604
|
+
C._ts_tree_cursor_start_position_wasm(this.tree[0]);
|
|
2605
|
+
return unmarshalPoint(TRANSFER_BUFFER);
|
|
2606
|
+
}
|
|
2607
|
+
get endPosition() {
|
|
2608
|
+
marshalTreeCursor(this);
|
|
2609
|
+
C._ts_tree_cursor_end_position_wasm(this.tree[0]);
|
|
2610
|
+
return unmarshalPoint(TRANSFER_BUFFER);
|
|
2611
|
+
}
|
|
2612
|
+
get startIndex() {
|
|
2613
|
+
marshalTreeCursor(this);
|
|
2614
|
+
return C._ts_tree_cursor_start_index_wasm(this.tree[0]);
|
|
2615
|
+
}
|
|
2616
|
+
get endIndex() {
|
|
2617
|
+
marshalTreeCursor(this);
|
|
2618
|
+
return C._ts_tree_cursor_end_index_wasm(this.tree[0]);
|
|
2619
|
+
}
|
|
2620
|
+
get currentNode() {
|
|
2621
|
+
marshalTreeCursor(this);
|
|
2622
|
+
C._ts_tree_cursor_current_node_wasm(this.tree[0]);
|
|
2623
|
+
return unmarshalNode(this.tree);
|
|
2624
|
+
}
|
|
2625
|
+
get currentFieldId() {
|
|
2626
|
+
marshalTreeCursor(this);
|
|
2627
|
+
return C._ts_tree_cursor_current_field_id_wasm(this.tree[0]);
|
|
2628
|
+
}
|
|
2629
|
+
get currentFieldName() {
|
|
2630
|
+
return this.tree.language.fields[this.currentFieldId];
|
|
2631
|
+
}
|
|
2632
|
+
get currentDepth() {
|
|
2633
|
+
marshalTreeCursor(this);
|
|
2634
|
+
return C._ts_tree_cursor_current_depth_wasm(this.tree[0]);
|
|
2635
|
+
}
|
|
2636
|
+
get currentDescendantIndex() {
|
|
2637
|
+
marshalTreeCursor(this);
|
|
2638
|
+
return C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0]);
|
|
2639
|
+
}
|
|
2640
|
+
gotoFirstChild() {
|
|
2641
|
+
marshalTreeCursor(this);
|
|
2642
|
+
const result = C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);
|
|
2643
|
+
unmarshalTreeCursor(this);
|
|
2644
|
+
return result === 1;
|
|
2645
|
+
}
|
|
2646
|
+
gotoLastChild() {
|
|
2647
|
+
marshalTreeCursor(this);
|
|
2648
|
+
const result = C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);
|
|
2649
|
+
unmarshalTreeCursor(this);
|
|
2650
|
+
return result === 1;
|
|
2651
|
+
}
|
|
2652
|
+
gotoFirstChildForIndex(goalIndex) {
|
|
2653
|
+
marshalTreeCursor(this);
|
|
2654
|
+
setValue(TRANSFER_BUFFER + SIZE_OF_CURSOR, goalIndex, "i32");
|
|
2655
|
+
const result = C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);
|
|
2656
|
+
unmarshalTreeCursor(this);
|
|
2657
|
+
return result === 1;
|
|
2658
|
+
}
|
|
2659
|
+
gotoFirstChildForPosition(goalPosition) {
|
|
2660
|
+
marshalTreeCursor(this);
|
|
2661
|
+
marshalPoint(TRANSFER_BUFFER + SIZE_OF_CURSOR, goalPosition);
|
|
2662
|
+
const result = C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);
|
|
2663
|
+
unmarshalTreeCursor(this);
|
|
2664
|
+
return result === 1;
|
|
2665
|
+
}
|
|
2666
|
+
gotoNextSibling() {
|
|
2667
|
+
marshalTreeCursor(this);
|
|
2668
|
+
const result = C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);
|
|
2669
|
+
unmarshalTreeCursor(this);
|
|
2670
|
+
return result === 1;
|
|
2671
|
+
}
|
|
2672
|
+
gotoPreviousSibling() {
|
|
2673
|
+
marshalTreeCursor(this);
|
|
2674
|
+
const result = C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);
|
|
2675
|
+
unmarshalTreeCursor(this);
|
|
2676
|
+
return result === 1;
|
|
2677
|
+
}
|
|
2678
|
+
gotoDescendant(goalDescendantindex) {
|
|
2679
|
+
marshalTreeCursor(this);
|
|
2680
|
+
C._ts_tree_cursor_goto_descendant_wasm(this.tree[0], goalDescendantindex);
|
|
2681
|
+
unmarshalTreeCursor(this);
|
|
2682
|
+
}
|
|
2683
|
+
gotoParent() {
|
|
2684
|
+
marshalTreeCursor(this);
|
|
2685
|
+
const result = C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);
|
|
2686
|
+
unmarshalTreeCursor(this);
|
|
2687
|
+
return result === 1;
|
|
2688
|
+
}
|
|
2689
|
+
}
|
|
2690
|
+
class Language {
|
|
2691
|
+
constructor(internal, address) {
|
|
2692
|
+
assertInternal(internal);
|
|
2693
|
+
this[0] = address;
|
|
2694
|
+
this.types = new Array(C._ts_language_symbol_count(this[0]));
|
|
2695
|
+
for (let i = 0, n = this.types.length; i < n; i++) {
|
|
2696
|
+
if (C._ts_language_symbol_type(this[0], i) < 2) {
|
|
2697
|
+
this.types[i] = UTF8ToString(C._ts_language_symbol_name(this[0], i));
|
|
2698
|
+
}
|
|
2699
|
+
}
|
|
2700
|
+
this.fields = new Array(C._ts_language_field_count(this[0]) + 1);
|
|
2701
|
+
for (let i = 0, n = this.fields.length; i < n; i++) {
|
|
2702
|
+
const fieldName = C._ts_language_field_name_for_id(this[0], i);
|
|
2703
|
+
if (fieldName !== 0) {
|
|
2704
|
+
this.fields[i] = UTF8ToString(fieldName);
|
|
2705
|
+
} else {
|
|
2706
|
+
this.fields[i] = null;
|
|
2707
|
+
}
|
|
2708
|
+
}
|
|
2709
|
+
}
|
|
2710
|
+
get version() {
|
|
2711
|
+
return C._ts_language_version(this[0]);
|
|
2712
|
+
}
|
|
2713
|
+
get fieldCount() {
|
|
2714
|
+
return this.fields.length - 1;
|
|
2715
|
+
}
|
|
2716
|
+
get stateCount() {
|
|
2717
|
+
return C._ts_language_state_count(this[0]);
|
|
2718
|
+
}
|
|
2719
|
+
fieldIdForName(fieldName) {
|
|
2720
|
+
const result = this.fields.indexOf(fieldName);
|
|
2721
|
+
if (result !== -1) {
|
|
2722
|
+
return result;
|
|
2723
|
+
} else {
|
|
2724
|
+
return null;
|
|
2725
|
+
}
|
|
2726
|
+
}
|
|
2727
|
+
fieldNameForId(fieldId) {
|
|
2728
|
+
return this.fields[fieldId] || null;
|
|
2729
|
+
}
|
|
2730
|
+
idForNodeType(type, named) {
|
|
2731
|
+
const typeLength = lengthBytesUTF8(type);
|
|
2732
|
+
const typeAddress = C._malloc(typeLength + 1);
|
|
2733
|
+
stringToUTF8(type, typeAddress, typeLength + 1);
|
|
2734
|
+
const result = C._ts_language_symbol_for_name(this[0], typeAddress, typeLength, named);
|
|
2735
|
+
C._free(typeAddress);
|
|
2736
|
+
return result || null;
|
|
2737
|
+
}
|
|
2738
|
+
get nodeTypeCount() {
|
|
2739
|
+
return C._ts_language_symbol_count(this[0]);
|
|
2740
|
+
}
|
|
2741
|
+
nodeTypeForId(typeId) {
|
|
2742
|
+
const name = C._ts_language_symbol_name(this[0], typeId);
|
|
2743
|
+
return name ? UTF8ToString(name) : null;
|
|
2744
|
+
}
|
|
2745
|
+
nodeTypeIsNamed(typeId) {
|
|
2746
|
+
return C._ts_language_type_is_named_wasm(this[0], typeId) ? true : false;
|
|
2747
|
+
}
|
|
2748
|
+
nodeTypeIsVisible(typeId) {
|
|
2749
|
+
return C._ts_language_type_is_visible_wasm(this[0], typeId) ? true : false;
|
|
2750
|
+
}
|
|
2751
|
+
nextState(stateId, typeId) {
|
|
2752
|
+
return C._ts_language_next_state(this[0], stateId, typeId);
|
|
2753
|
+
}
|
|
2754
|
+
lookaheadIterator(stateId) {
|
|
2755
|
+
const address = C._ts_lookahead_iterator_new(this[0], stateId);
|
|
2756
|
+
if (address) return new LookaheadIterable(INTERNAL, address, this);
|
|
2757
|
+
return null;
|
|
2758
|
+
}
|
|
2759
|
+
query(source) {
|
|
2760
|
+
const sourceLength = lengthBytesUTF8(source);
|
|
2761
|
+
const sourceAddress = C._malloc(sourceLength + 1);
|
|
2762
|
+
stringToUTF8(source, sourceAddress, sourceLength + 1);
|
|
2763
|
+
const address = C._ts_query_new(this[0], sourceAddress, sourceLength, TRANSFER_BUFFER, TRANSFER_BUFFER + SIZE_OF_INT);
|
|
2764
|
+
if (!address) {
|
|
2765
|
+
const errorId = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2766
|
+
const errorByte = getValue(TRANSFER_BUFFER, "i32");
|
|
2767
|
+
const errorIndex = UTF8ToString(sourceAddress, errorByte).length;
|
|
2768
|
+
const suffix = source.substr(errorIndex, 100).split("\n")[0];
|
|
2769
|
+
let word = suffix.match(QUERY_WORD_REGEX)[0];
|
|
2770
|
+
let error;
|
|
2771
|
+
switch (errorId) {
|
|
2772
|
+
case 2:
|
|
2773
|
+
error = new RangeError(`Bad node name '${word}'`);
|
|
2774
|
+
break;
|
|
2775
|
+
case 3:
|
|
2776
|
+
error = new RangeError(`Bad field name '${word}'`);
|
|
2777
|
+
break;
|
|
2778
|
+
case 4:
|
|
2779
|
+
error = new RangeError(`Bad capture name @${word}`);
|
|
2780
|
+
break;
|
|
2781
|
+
case 5:
|
|
2782
|
+
error = new TypeError(`Bad pattern structure at offset ${errorIndex}: '${suffix}'...`);
|
|
2783
|
+
word = "";
|
|
2784
|
+
break;
|
|
2785
|
+
default:
|
|
2786
|
+
error = new SyntaxError(`Bad syntax at offset ${errorIndex}: '${suffix}'...`);
|
|
2787
|
+
word = "";
|
|
2788
|
+
break;
|
|
2789
|
+
}
|
|
2790
|
+
error.index = errorIndex;
|
|
2791
|
+
error.length = word.length;
|
|
2792
|
+
C._free(sourceAddress);
|
|
2793
|
+
throw error;
|
|
2794
|
+
}
|
|
2795
|
+
const stringCount = C._ts_query_string_count(address);
|
|
2796
|
+
const captureCount = C._ts_query_capture_count(address);
|
|
2797
|
+
const patternCount = C._ts_query_pattern_count(address);
|
|
2798
|
+
const captureNames = new Array(captureCount);
|
|
2799
|
+
const stringValues = new Array(stringCount);
|
|
2800
|
+
for (let i = 0; i < captureCount; i++) {
|
|
2801
|
+
const nameAddress = C._ts_query_capture_name_for_id(address, i, TRANSFER_BUFFER);
|
|
2802
|
+
const nameLength = getValue(TRANSFER_BUFFER, "i32");
|
|
2803
|
+
captureNames[i] = UTF8ToString(nameAddress, nameLength);
|
|
2804
|
+
}
|
|
2805
|
+
for (let i = 0; i < stringCount; i++) {
|
|
2806
|
+
const valueAddress = C._ts_query_string_value_for_id(address, i, TRANSFER_BUFFER);
|
|
2807
|
+
const nameLength = getValue(TRANSFER_BUFFER, "i32");
|
|
2808
|
+
stringValues[i] = UTF8ToString(valueAddress, nameLength);
|
|
2809
|
+
}
|
|
2810
|
+
const setProperties = new Array(patternCount);
|
|
2811
|
+
const assertedProperties = new Array(patternCount);
|
|
2812
|
+
const refutedProperties = new Array(patternCount);
|
|
2813
|
+
const predicates = new Array(patternCount);
|
|
2814
|
+
const textPredicates = new Array(patternCount);
|
|
2815
|
+
for (let i = 0; i < patternCount; i++) {
|
|
2816
|
+
const predicatesAddress = C._ts_query_predicates_for_pattern(address, i, TRANSFER_BUFFER);
|
|
2817
|
+
const stepCount = getValue(TRANSFER_BUFFER, "i32");
|
|
2818
|
+
predicates[i] = [];
|
|
2819
|
+
textPredicates[i] = [];
|
|
2820
|
+
const steps = [];
|
|
2821
|
+
let stepAddress = predicatesAddress;
|
|
2822
|
+
for (let j = 0; j < stepCount; j++) {
|
|
2823
|
+
const stepType = getValue(stepAddress, "i32");
|
|
2824
|
+
stepAddress += SIZE_OF_INT;
|
|
2825
|
+
const stepValueId = getValue(stepAddress, "i32");
|
|
2826
|
+
stepAddress += SIZE_OF_INT;
|
|
2827
|
+
if (stepType === PREDICATE_STEP_TYPE_CAPTURE) {
|
|
2828
|
+
steps.push({
|
|
2829
|
+
type: "capture",
|
|
2830
|
+
name: captureNames[stepValueId]
|
|
2831
|
+
});
|
|
2832
|
+
} else if (stepType === PREDICATE_STEP_TYPE_STRING) {
|
|
2833
|
+
steps.push({
|
|
2834
|
+
type: "string",
|
|
2835
|
+
value: stringValues[stepValueId]
|
|
2836
|
+
});
|
|
2837
|
+
} else if (steps.length > 0) {
|
|
2838
|
+
if (steps[0].type !== "string") {
|
|
2839
|
+
throw new Error("Predicates must begin with a literal value");
|
|
2840
|
+
}
|
|
2841
|
+
const operator = steps[0].value;
|
|
2842
|
+
let isPositive = true;
|
|
2843
|
+
let matchAll = true;
|
|
2844
|
+
let captureName;
|
|
2845
|
+
switch (operator) {
|
|
2846
|
+
case "any-not-eq?":
|
|
2847
|
+
case "not-eq?":
|
|
2848
|
+
isPositive = false;
|
|
2849
|
+
case "any-eq?":
|
|
2850
|
+
case "eq?":
|
|
2851
|
+
if (steps.length !== 3) {
|
|
2852
|
+
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}`);
|
|
2853
|
+
}
|
|
2854
|
+
if (steps[1].type !== "capture") {
|
|
2855
|
+
throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}"`);
|
|
2856
|
+
}
|
|
2857
|
+
matchAll = !operator.startsWith("any-");
|
|
2858
|
+
if (steps[2].type === "capture") {
|
|
2859
|
+
const captureName1 = steps[1].name;
|
|
2860
|
+
const captureName2 = steps[2].name;
|
|
2861
|
+
textPredicates[i].push(captures => {
|
|
2862
|
+
const nodes1 = [];
|
|
2863
|
+
const nodes2 = [];
|
|
2864
|
+
for (const c of captures) {
|
|
2865
|
+
if (c.name === captureName1) nodes1.push(c.node);
|
|
2866
|
+
if (c.name === captureName2) nodes2.push(c.node);
|
|
2867
|
+
}
|
|
2868
|
+
const compare = (n1, n2, positive) => positive ? n1.text === n2.text : n1.text !== n2.text;
|
|
2869
|
+
return matchAll ? nodes1.every(n1 => nodes2.some(n2 => compare(n1, n2, isPositive))) : nodes1.some(n1 => nodes2.some(n2 => compare(n1, n2, isPositive)));
|
|
2870
|
+
});
|
|
2871
|
+
} else {
|
|
2872
|
+
captureName = steps[1].name;
|
|
2873
|
+
const stringValue = steps[2].value;
|
|
2874
|
+
const matches = n => n.text === stringValue;
|
|
2875
|
+
const doesNotMatch = n => n.text !== stringValue;
|
|
2876
|
+
textPredicates[i].push(captures => {
|
|
2877
|
+
const nodes = [];
|
|
2878
|
+
for (const c of captures) {
|
|
2879
|
+
if (c.name === captureName) nodes.push(c.node);
|
|
2880
|
+
}
|
|
2881
|
+
const test = isPositive ? matches : doesNotMatch;
|
|
2882
|
+
return matchAll ? nodes.every(test) : nodes.some(test);
|
|
2883
|
+
});
|
|
2884
|
+
}
|
|
2885
|
+
break;
|
|
2886
|
+
case "any-not-match?":
|
|
2887
|
+
case "not-match?":
|
|
2888
|
+
isPositive = false;
|
|
2889
|
+
case "any-match?":
|
|
2890
|
+
case "match?":
|
|
2891
|
+
if (steps.length !== 3) {
|
|
2892
|
+
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}.`);
|
|
2893
|
+
}
|
|
2894
|
+
if (steps[1].type !== "capture") {
|
|
2895
|
+
throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`);
|
|
2896
|
+
}
|
|
2897
|
+
if (steps[2].type !== "string") {
|
|
2898
|
+
throw new Error(`Second argument of \`#${operator}\` predicate must be a string. Got @${steps[2].value}.`);
|
|
2899
|
+
}
|
|
2900
|
+
captureName = steps[1].name;
|
|
2901
|
+
const regex = new RegExp(steps[2].value);
|
|
2902
|
+
matchAll = !operator.startsWith("any-");
|
|
2903
|
+
textPredicates[i].push(captures => {
|
|
2904
|
+
const nodes = [];
|
|
2905
|
+
for (const c of captures) {
|
|
2906
|
+
if (c.name === captureName) nodes.push(c.node.text);
|
|
2907
|
+
}
|
|
2908
|
+
const test = (text, positive) => positive ? regex.test(text) : !regex.test(text);
|
|
2909
|
+
if (nodes.length === 0) return !isPositive;
|
|
2910
|
+
return matchAll ? nodes.every(text => test(text, isPositive)) : nodes.some(text => test(text, isPositive));
|
|
2911
|
+
});
|
|
2912
|
+
break;
|
|
2913
|
+
case "set!":
|
|
2914
|
+
if (steps.length < 2 || steps.length > 3) {
|
|
2915
|
+
throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`);
|
|
2916
|
+
}
|
|
2917
|
+
if (steps.some(s => s.type !== "string")) {
|
|
2918
|
+
throw new Error(`Arguments to \`#set!\` predicate must be a strings.".`);
|
|
2919
|
+
}
|
|
2920
|
+
if (!setProperties[i]) setProperties[i] = {};
|
|
2921
|
+
setProperties[i][steps[1].value] = steps[2] ? steps[2].value : null;
|
|
2922
|
+
break;
|
|
2923
|
+
case "is?":
|
|
2924
|
+
case "is-not?":
|
|
2925
|
+
if (steps.length < 2 || steps.length > 3) {
|
|
2926
|
+
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`);
|
|
2927
|
+
}
|
|
2928
|
+
if (steps.some(s => s.type !== "string")) {
|
|
2929
|
+
throw new Error(`Arguments to \`#${operator}\` predicate must be a strings.".`);
|
|
2930
|
+
}
|
|
2931
|
+
const properties = operator === "is?" ? assertedProperties : refutedProperties;
|
|
2932
|
+
if (!properties[i]) properties[i] = {};
|
|
2933
|
+
properties[i][steps[1].value] = steps[2] ? steps[2].value : null;
|
|
2934
|
+
break;
|
|
2935
|
+
case "not-any-of?":
|
|
2936
|
+
isPositive = false;
|
|
2937
|
+
case "any-of?":
|
|
2938
|
+
if (steps.length < 2) {
|
|
2939
|
+
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected at least 1. Got ${steps.length - 1}.`);
|
|
2940
|
+
}
|
|
2941
|
+
if (steps[1].type !== "capture") {
|
|
2942
|
+
throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`);
|
|
2943
|
+
}
|
|
2944
|
+
for (let i = 2; i < steps.length; i++) {
|
|
2945
|
+
if (steps[i].type !== "string") {
|
|
2946
|
+
throw new Error(`Arguments to \`#${operator}\` predicate must be a strings.".`);
|
|
2947
|
+
}
|
|
2948
|
+
}
|
|
2949
|
+
captureName = steps[1].name;
|
|
2950
|
+
const values = steps.slice(2).map(s => s.value);
|
|
2951
|
+
textPredicates[i].push(captures => {
|
|
2952
|
+
const nodes = [];
|
|
2953
|
+
for (const c of captures) {
|
|
2954
|
+
if (c.name === captureName) nodes.push(c.node.text);
|
|
2955
|
+
}
|
|
2956
|
+
if (nodes.length === 0) return !isPositive;
|
|
2957
|
+
return nodes.every(text => values.includes(text)) === isPositive;
|
|
2958
|
+
});
|
|
2959
|
+
break;
|
|
2960
|
+
default:
|
|
2961
|
+
predicates[i].push({
|
|
2962
|
+
operator: operator,
|
|
2963
|
+
operands: steps.slice(1)
|
|
2964
|
+
});
|
|
2965
|
+
}
|
|
2966
|
+
steps.length = 0;
|
|
2967
|
+
}
|
|
2968
|
+
}
|
|
2969
|
+
Object.freeze(setProperties[i]);
|
|
2970
|
+
Object.freeze(assertedProperties[i]);
|
|
2971
|
+
Object.freeze(refutedProperties[i]);
|
|
2972
|
+
}
|
|
2973
|
+
C._free(sourceAddress);
|
|
2974
|
+
return new Query(INTERNAL, address, captureNames, textPredicates, predicates, Object.freeze(setProperties), Object.freeze(assertedProperties), Object.freeze(refutedProperties));
|
|
2975
|
+
}
|
|
2976
|
+
static load(input) {
|
|
2977
|
+
let bytes;
|
|
2978
|
+
if (input instanceof Uint8Array) {
|
|
2979
|
+
bytes = Promise.resolve(input);
|
|
2980
|
+
} else {
|
|
2981
|
+
const url = input;
|
|
2982
|
+
if (typeof process !== "undefined" && process.versions && process.versions.node) {
|
|
2983
|
+
const fs = require$$0;
|
|
2984
|
+
bytes = Promise.resolve(fs.readFileSync(url));
|
|
2985
|
+
} else {
|
|
2986
|
+
bytes = fetch(url).then(response => response.arrayBuffer().then(buffer => {
|
|
2987
|
+
if (response.ok) {
|
|
2988
|
+
return new Uint8Array(buffer);
|
|
2989
|
+
} else {
|
|
2990
|
+
const body = new TextDecoder("utf-8").decode(buffer);
|
|
2991
|
+
throw new Error(`Language.load failed with status ${response.status}.\n\n${body}`);
|
|
2992
|
+
}
|
|
2993
|
+
}));
|
|
2994
|
+
}
|
|
2995
|
+
}
|
|
2996
|
+
return bytes.then(bytes => loadWebAssemblyModule(bytes, {
|
|
2997
|
+
loadAsync: true
|
|
2998
|
+
})).then(mod => {
|
|
2999
|
+
const symbolNames = Object.keys(mod);
|
|
3000
|
+
const functionName = symbolNames.find(key => LANGUAGE_FUNCTION_REGEX.test(key) && !key.includes("external_scanner_"));
|
|
3001
|
+
if (!functionName) {
|
|
3002
|
+
console.log(`Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(symbolNames, null, 2)}`);
|
|
3003
|
+
}
|
|
3004
|
+
const languageAddress = mod[functionName]();
|
|
3005
|
+
return new Language(INTERNAL, languageAddress);
|
|
3006
|
+
});
|
|
3007
|
+
}
|
|
3008
|
+
}
|
|
3009
|
+
class LookaheadIterable {
|
|
3010
|
+
constructor(internal, address, language) {
|
|
3011
|
+
assertInternal(internal);
|
|
3012
|
+
this[0] = address;
|
|
3013
|
+
this.language = language;
|
|
3014
|
+
}
|
|
3015
|
+
get currentTypeId() {
|
|
3016
|
+
return C._ts_lookahead_iterator_current_symbol(this[0]);
|
|
3017
|
+
}
|
|
3018
|
+
get currentType() {
|
|
3019
|
+
return this.language.types[this.currentTypeId] || "ERROR";
|
|
3020
|
+
}
|
|
3021
|
+
delete() {
|
|
3022
|
+
C._ts_lookahead_iterator_delete(this[0]);
|
|
3023
|
+
this[0] = 0;
|
|
3024
|
+
}
|
|
3025
|
+
resetState(stateId) {
|
|
3026
|
+
return C._ts_lookahead_iterator_reset_state(this[0], stateId);
|
|
3027
|
+
}
|
|
3028
|
+
reset(language, stateId) {
|
|
3029
|
+
if (C._ts_lookahead_iterator_reset(this[0], language[0], stateId)) {
|
|
3030
|
+
this.language = language;
|
|
3031
|
+
return true;
|
|
3032
|
+
}
|
|
3033
|
+
return false;
|
|
3034
|
+
}
|
|
3035
|
+
[Symbol.iterator]() {
|
|
3036
|
+
const self = this;
|
|
3037
|
+
return {
|
|
3038
|
+
next() {
|
|
3039
|
+
if (C._ts_lookahead_iterator_next(self[0])) {
|
|
3040
|
+
return {
|
|
3041
|
+
done: false,
|
|
3042
|
+
value: self.currentType
|
|
3043
|
+
};
|
|
3044
|
+
}
|
|
3045
|
+
return {
|
|
3046
|
+
done: true,
|
|
3047
|
+
value: ""
|
|
3048
|
+
};
|
|
3049
|
+
}
|
|
3050
|
+
};
|
|
3051
|
+
}
|
|
3052
|
+
}
|
|
3053
|
+
class Query {
|
|
3054
|
+
constructor(internal, address, captureNames, textPredicates, predicates, setProperties, assertedProperties, refutedProperties) {
|
|
3055
|
+
assertInternal(internal);
|
|
3056
|
+
this[0] = address;
|
|
3057
|
+
this.captureNames = captureNames;
|
|
3058
|
+
this.textPredicates = textPredicates;
|
|
3059
|
+
this.predicates = predicates;
|
|
3060
|
+
this.setProperties = setProperties;
|
|
3061
|
+
this.assertedProperties = assertedProperties;
|
|
3062
|
+
this.refutedProperties = refutedProperties;
|
|
3063
|
+
this.exceededMatchLimit = false;
|
|
3064
|
+
}
|
|
3065
|
+
delete() {
|
|
3066
|
+
C._ts_query_delete(this[0]);
|
|
3067
|
+
this[0] = 0;
|
|
3068
|
+
}
|
|
3069
|
+
matches(node, {
|
|
3070
|
+
startPosition = ZERO_POINT,
|
|
3071
|
+
endPosition = ZERO_POINT,
|
|
3072
|
+
startIndex = 0,
|
|
3073
|
+
endIndex = 0,
|
|
3074
|
+
matchLimit = 4294967295,
|
|
3075
|
+
maxStartDepth = 4294967295,
|
|
3076
|
+
timeoutMicros = 0
|
|
3077
|
+
} = {}) {
|
|
3078
|
+
if (typeof matchLimit !== "number") {
|
|
3079
|
+
throw new Error("Arguments must be numbers");
|
|
3080
|
+
}
|
|
3081
|
+
marshalNode(node);
|
|
3082
|
+
C._ts_query_matches_wasm(this[0], node.tree[0], startPosition.row, startPosition.column, endPosition.row, endPosition.column, startIndex, endIndex, matchLimit, maxStartDepth, timeoutMicros);
|
|
3083
|
+
const rawCount = getValue(TRANSFER_BUFFER, "i32");
|
|
3084
|
+
const startAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
3085
|
+
const didExceedMatchLimit = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32");
|
|
3086
|
+
const result = new Array(rawCount);
|
|
3087
|
+
this.exceededMatchLimit = Boolean(didExceedMatchLimit);
|
|
3088
|
+
let filteredCount = 0;
|
|
3089
|
+
let address = startAddress;
|
|
3090
|
+
for (let i = 0; i < rawCount; i++) {
|
|
3091
|
+
const pattern = getValue(address, "i32");
|
|
3092
|
+
address += SIZE_OF_INT;
|
|
3093
|
+
const captureCount = getValue(address, "i32");
|
|
3094
|
+
address += SIZE_OF_INT;
|
|
3095
|
+
const captures = new Array(captureCount);
|
|
3096
|
+
address = unmarshalCaptures(this, node.tree, address, captures);
|
|
3097
|
+
if (this.textPredicates[pattern].every(p => p(captures))) {
|
|
3098
|
+
result[filteredCount] = {
|
|
3099
|
+
pattern: pattern,
|
|
3100
|
+
captures: captures
|
|
3101
|
+
};
|
|
3102
|
+
const setProperties = this.setProperties[pattern];
|
|
3103
|
+
if (setProperties) result[filteredCount].setProperties = setProperties;
|
|
3104
|
+
const assertedProperties = this.assertedProperties[pattern];
|
|
3105
|
+
if (assertedProperties) result[filteredCount].assertedProperties = assertedProperties;
|
|
3106
|
+
const refutedProperties = this.refutedProperties[pattern];
|
|
3107
|
+
if (refutedProperties) result[filteredCount].refutedProperties = refutedProperties;
|
|
3108
|
+
filteredCount++;
|
|
3109
|
+
}
|
|
3110
|
+
}
|
|
3111
|
+
result.length = filteredCount;
|
|
3112
|
+
C._free(startAddress);
|
|
3113
|
+
return result;
|
|
3114
|
+
}
|
|
3115
|
+
captures(node, {
|
|
3116
|
+
startPosition = ZERO_POINT,
|
|
3117
|
+
endPosition = ZERO_POINT,
|
|
3118
|
+
startIndex = 0,
|
|
3119
|
+
endIndex = 0,
|
|
3120
|
+
matchLimit = 4294967295,
|
|
3121
|
+
maxStartDepth = 4294967295,
|
|
3122
|
+
timeoutMicros = 0
|
|
3123
|
+
} = {}) {
|
|
3124
|
+
if (typeof matchLimit !== "number") {
|
|
3125
|
+
throw new Error("Arguments must be numbers");
|
|
3126
|
+
}
|
|
3127
|
+
marshalNode(node);
|
|
3128
|
+
C._ts_query_captures_wasm(this[0], node.tree[0], startPosition.row, startPosition.column, endPosition.row, endPosition.column, startIndex, endIndex, matchLimit, maxStartDepth, timeoutMicros);
|
|
3129
|
+
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
3130
|
+
const startAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
3131
|
+
const didExceedMatchLimit = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32");
|
|
3132
|
+
const result = [];
|
|
3133
|
+
this.exceededMatchLimit = Boolean(didExceedMatchLimit);
|
|
3134
|
+
const captures = [];
|
|
3135
|
+
let address = startAddress;
|
|
3136
|
+
for (let i = 0; i < count; i++) {
|
|
3137
|
+
const pattern = getValue(address, "i32");
|
|
3138
|
+
address += SIZE_OF_INT;
|
|
3139
|
+
const captureCount = getValue(address, "i32");
|
|
3140
|
+
address += SIZE_OF_INT;
|
|
3141
|
+
const captureIndex = getValue(address, "i32");
|
|
3142
|
+
address += SIZE_OF_INT;
|
|
3143
|
+
captures.length = captureCount;
|
|
3144
|
+
address = unmarshalCaptures(this, node.tree, address, captures);
|
|
3145
|
+
if (this.textPredicates[pattern].every(p => p(captures))) {
|
|
3146
|
+
const capture = captures[captureIndex];
|
|
3147
|
+
const setProperties = this.setProperties[pattern];
|
|
3148
|
+
if (setProperties) capture.setProperties = setProperties;
|
|
3149
|
+
const assertedProperties = this.assertedProperties[pattern];
|
|
3150
|
+
if (assertedProperties) capture.assertedProperties = assertedProperties;
|
|
3151
|
+
const refutedProperties = this.refutedProperties[pattern];
|
|
3152
|
+
if (refutedProperties) capture.refutedProperties = refutedProperties;
|
|
3153
|
+
result.push(capture);
|
|
3154
|
+
}
|
|
3155
|
+
}
|
|
3156
|
+
C._free(startAddress);
|
|
3157
|
+
return result;
|
|
3158
|
+
}
|
|
3159
|
+
predicatesForPattern(patternIndex) {
|
|
3160
|
+
return this.predicates[patternIndex];
|
|
3161
|
+
}
|
|
3162
|
+
disableCapture(captureName) {
|
|
3163
|
+
const captureNameLength = lengthBytesUTF8(captureName);
|
|
3164
|
+
const captureNameAddress = C._malloc(captureNameLength + 1);
|
|
3165
|
+
stringToUTF8(captureName, captureNameAddress, captureNameLength + 1);
|
|
3166
|
+
C._ts_query_disable_capture(this[0], captureNameAddress, captureNameLength);
|
|
3167
|
+
C._free(captureNameAddress);
|
|
3168
|
+
}
|
|
3169
|
+
didExceedMatchLimit() {
|
|
3170
|
+
return this.exceededMatchLimit;
|
|
3171
|
+
}
|
|
3172
|
+
}
|
|
3173
|
+
function getText(tree, startIndex, endIndex) {
|
|
3174
|
+
const length = endIndex - startIndex;
|
|
3175
|
+
let result = tree.textCallback(startIndex, null, endIndex);
|
|
3176
|
+
startIndex += result.length;
|
|
3177
|
+
while (startIndex < endIndex) {
|
|
3178
|
+
const string = tree.textCallback(startIndex, null, endIndex);
|
|
3179
|
+
if (string && string.length > 0) {
|
|
3180
|
+
startIndex += string.length;
|
|
3181
|
+
result += string;
|
|
3182
|
+
} else {
|
|
3183
|
+
break;
|
|
3184
|
+
}
|
|
3185
|
+
}
|
|
3186
|
+
if (startIndex > endIndex) {
|
|
3187
|
+
result = result.slice(0, length);
|
|
3188
|
+
}
|
|
3189
|
+
return result;
|
|
3190
|
+
}
|
|
3191
|
+
function unmarshalCaptures(query, tree, address, result) {
|
|
3192
|
+
for (let i = 0, n = result.length; i < n; i++) {
|
|
3193
|
+
const captureIndex = getValue(address, "i32");
|
|
3194
|
+
address += SIZE_OF_INT;
|
|
3195
|
+
const node = unmarshalNode(tree, address);
|
|
3196
|
+
address += SIZE_OF_NODE;
|
|
3197
|
+
result[i] = {
|
|
3198
|
+
name: query.captureNames[captureIndex],
|
|
3199
|
+
node: node
|
|
3200
|
+
};
|
|
3201
|
+
}
|
|
3202
|
+
return address;
|
|
3203
|
+
}
|
|
3204
|
+
function assertInternal(x) {
|
|
3205
|
+
if (x !== INTERNAL) throw new Error("Illegal constructor");
|
|
3206
|
+
}
|
|
3207
|
+
function isPoint(point) {
|
|
3208
|
+
return point && typeof point.row === "number" && typeof point.column === "number";
|
|
3209
|
+
}
|
|
3210
|
+
function marshalNode(node) {
|
|
3211
|
+
let address = TRANSFER_BUFFER;
|
|
3212
|
+
setValue(address, node.id, "i32");
|
|
3213
|
+
address += SIZE_OF_INT;
|
|
3214
|
+
setValue(address, node.startIndex, "i32");
|
|
3215
|
+
address += SIZE_OF_INT;
|
|
3216
|
+
setValue(address, node.startPosition.row, "i32");
|
|
3217
|
+
address += SIZE_OF_INT;
|
|
3218
|
+
setValue(address, node.startPosition.column, "i32");
|
|
3219
|
+
address += SIZE_OF_INT;
|
|
3220
|
+
setValue(address, node[0], "i32");
|
|
3221
|
+
}
|
|
3222
|
+
function unmarshalNode(tree, address = TRANSFER_BUFFER) {
|
|
3223
|
+
const id = getValue(address, "i32");
|
|
3224
|
+
address += SIZE_OF_INT;
|
|
3225
|
+
if (id === 0) return null;
|
|
3226
|
+
const index = getValue(address, "i32");
|
|
3227
|
+
address += SIZE_OF_INT;
|
|
3228
|
+
const row = getValue(address, "i32");
|
|
3229
|
+
address += SIZE_OF_INT;
|
|
3230
|
+
const column = getValue(address, "i32");
|
|
3231
|
+
address += SIZE_OF_INT;
|
|
3232
|
+
const other = getValue(address, "i32");
|
|
3233
|
+
const result = new Node(INTERNAL, tree);
|
|
3234
|
+
result.id = id;
|
|
3235
|
+
result.startIndex = index;
|
|
3236
|
+
result.startPosition = {
|
|
3237
|
+
row: row,
|
|
3238
|
+
column: column
|
|
3239
|
+
};
|
|
3240
|
+
result[0] = other;
|
|
3241
|
+
return result;
|
|
3242
|
+
}
|
|
3243
|
+
function marshalTreeCursor(cursor, address = TRANSFER_BUFFER) {
|
|
3244
|
+
setValue(address + 0 * SIZE_OF_INT, cursor[0], "i32");
|
|
3245
|
+
setValue(address + 1 * SIZE_OF_INT, cursor[1], "i32");
|
|
3246
|
+
setValue(address + 2 * SIZE_OF_INT, cursor[2], "i32");
|
|
3247
|
+
setValue(address + 3 * SIZE_OF_INT, cursor[3], "i32");
|
|
3248
|
+
}
|
|
3249
|
+
function unmarshalTreeCursor(cursor) {
|
|
3250
|
+
cursor[0] = getValue(TRANSFER_BUFFER + 0 * SIZE_OF_INT, "i32");
|
|
3251
|
+
cursor[1] = getValue(TRANSFER_BUFFER + 1 * SIZE_OF_INT, "i32");
|
|
3252
|
+
cursor[2] = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32");
|
|
3253
|
+
cursor[3] = getValue(TRANSFER_BUFFER + 3 * SIZE_OF_INT, "i32");
|
|
3254
|
+
}
|
|
3255
|
+
function marshalPoint(address, point) {
|
|
3256
|
+
setValue(address, point.row, "i32");
|
|
3257
|
+
setValue(address + SIZE_OF_INT, point.column, "i32");
|
|
3258
|
+
}
|
|
3259
|
+
function unmarshalPoint(address) {
|
|
3260
|
+
const result = {
|
|
3261
|
+
row: getValue(address, "i32") >>> 0,
|
|
3262
|
+
column: getValue(address + SIZE_OF_INT, "i32") >>> 0
|
|
3263
|
+
};
|
|
3264
|
+
return result;
|
|
3265
|
+
}
|
|
3266
|
+
function marshalRange(address, range) {
|
|
3267
|
+
marshalPoint(address, range.startPosition);
|
|
3268
|
+
address += SIZE_OF_POINT;
|
|
3269
|
+
marshalPoint(address, range.endPosition);
|
|
3270
|
+
address += SIZE_OF_POINT;
|
|
3271
|
+
setValue(address, range.startIndex, "i32");
|
|
3272
|
+
address += SIZE_OF_INT;
|
|
3273
|
+
setValue(address, range.endIndex, "i32");
|
|
3274
|
+
address += SIZE_OF_INT;
|
|
3275
|
+
}
|
|
3276
|
+
function unmarshalRange(address) {
|
|
3277
|
+
const result = {};
|
|
3278
|
+
result.startPosition = unmarshalPoint(address);
|
|
3279
|
+
address += SIZE_OF_POINT;
|
|
3280
|
+
result.endPosition = unmarshalPoint(address);
|
|
3281
|
+
address += SIZE_OF_POINT;
|
|
3282
|
+
result.startIndex = getValue(address, "i32") >>> 0;
|
|
3283
|
+
address += SIZE_OF_INT;
|
|
3284
|
+
result.endIndex = getValue(address, "i32") >>> 0;
|
|
3285
|
+
return result;
|
|
3286
|
+
}
|
|
3287
|
+
function marshalEdit(edit) {
|
|
3288
|
+
let address = TRANSFER_BUFFER;
|
|
3289
|
+
marshalPoint(address, edit.startPosition);
|
|
3290
|
+
address += SIZE_OF_POINT;
|
|
3291
|
+
marshalPoint(address, edit.oldEndPosition);
|
|
3292
|
+
address += SIZE_OF_POINT;
|
|
3293
|
+
marshalPoint(address, edit.newEndPosition);
|
|
3294
|
+
address += SIZE_OF_POINT;
|
|
3295
|
+
setValue(address, edit.startIndex, "i32");
|
|
3296
|
+
address += SIZE_OF_INT;
|
|
3297
|
+
setValue(address, edit.oldEndIndex, "i32");
|
|
3298
|
+
address += SIZE_OF_INT;
|
|
3299
|
+
setValue(address, edit.newEndIndex, "i32");
|
|
3300
|
+
address += SIZE_OF_INT;
|
|
3301
|
+
}
|
|
3302
|
+
// end include: /src/lib/binding_web/binding.js
|
|
3303
|
+
// include: /src/lib/binding_web/suffix.js
|
|
3304
|
+
for (const name of Object.getOwnPropertyNames(ParserImpl.prototype)) {
|
|
3305
|
+
Object.defineProperty(Parser.prototype, name, {
|
|
3306
|
+
value: ParserImpl.prototype[name],
|
|
3307
|
+
enumerable: false,
|
|
3308
|
+
writable: false
|
|
3309
|
+
});
|
|
3310
|
+
}
|
|
3311
|
+
Parser.Language = Language;
|
|
3312
|
+
Module.onRuntimeInitialized = () => {
|
|
3313
|
+
ParserImpl.init();
|
|
3314
|
+
resolveInitPromise();
|
|
3315
|
+
};
|
|
3316
|
+
});
|
|
3317
|
+
}
|
|
3318
|
+
}
|
|
3319
|
+
return Parser;
|
|
3320
|
+
}();
|
|
3321
|
+
{
|
|
3322
|
+
module.exports = TreeSitter;
|
|
3323
|
+
}
|
|
3324
|
+
} (treeSitter));
|
|
3325
|
+
|
|
3326
|
+
var treeSitterExports = treeSitter.exports;
|
|
3327
|
+
const WebTreeSitter = /*@__PURE__*/getDefaultExportFromCjs(treeSitterExports);
|
|
3328
|
+
|
|
3329
|
+
const WebTreeSitterNamespace = /*#__PURE__*/_mergeNamespaces({
|
|
3330
|
+
__proto__: null,
|
|
3331
|
+
default: WebTreeSitter
|
|
3332
|
+
}, [treeSitterExports]);
|
|
3333
|
+
|
|
3334
|
+
let Parser;
|
|
3335
|
+
if (
|
|
3336
|
+
// Node/Vitest (jsdom) requires a namespace import, and access to a `default`
|
|
3337
|
+
// property on the imported namespace object.
|
|
3338
|
+
typeof WebTreeSitter === "function"
|
|
3339
|
+
) {
|
|
3340
|
+
Parser = WebTreeSitter;
|
|
3341
|
+
} else if (
|
|
3342
|
+
// Vite build and Vitest (browser test environments) require a namespace
|
|
3343
|
+
// import, to which the constructor is assigned.
|
|
3344
|
+
typeof WebTreeSitterNamespace === "function"
|
|
3345
|
+
) {
|
|
3346
|
+
Parser = WebTreeSitterNamespace;
|
|
3347
|
+
} else if (
|
|
3348
|
+
// No known cases, added out of an abundance of caution since the ESM default
|
|
3349
|
+
// is already imported for its type definitions.
|
|
3350
|
+
typeof WebTreeSitter === "function"
|
|
3351
|
+
) {
|
|
3352
|
+
Parser = WebTreeSitter;
|
|
3353
|
+
} else {
|
|
3354
|
+
throw new Error("Failed to import web-tree-sitter (`Parser` constructor)");
|
|
3355
|
+
}
|
|
3356
|
+
const unprefixNodeFileSystemPath = (resourcePath) => {
|
|
3357
|
+
if (IS_NODE_RUNTIME && resourcePath.startsWith("/@fs/")) {
|
|
3358
|
+
return resourcePath.replace("/@fs/", "/");
|
|
3359
|
+
}
|
|
3360
|
+
return resourcePath;
|
|
3361
|
+
};
|
|
3362
|
+
const WEB_ASSEMBLY_DATA_URL_PREFIX = "data:application/wasm;base64,";
|
|
3363
|
+
const isWebAssemblyDataURL = (resource) => {
|
|
3364
|
+
return resource.startsWith(WEB_ASSEMBLY_DATA_URL_PREFIX);
|
|
3365
|
+
};
|
|
3366
|
+
const dataURLToUInt8Array = (resource) => {
|
|
3367
|
+
const base64 = resource.replace(WEB_ASSEMBLY_DATA_URL_PREFIX, "");
|
|
3368
|
+
const binaryChars = atob(base64);
|
|
3369
|
+
const mapBinaryChar = (character) => character.charCodeAt(0);
|
|
3370
|
+
return Uint8Array.from(binaryChars, mapBinaryChar);
|
|
3371
|
+
};
|
|
3372
|
+
const resolveWASMResource = (resource) => {
|
|
3373
|
+
if (isWebAssemblyDataURL(resource)) {
|
|
3374
|
+
return dataURLToUInt8Array(resource);
|
|
3375
|
+
}
|
|
3376
|
+
return unprefixNodeFileSystemPath(resource);
|
|
3377
|
+
};
|
|
3378
|
+
class TreeSitterXPathParser {
|
|
3379
|
+
constructor(parser) {
|
|
3380
|
+
this.parser = parser;
|
|
3381
|
+
}
|
|
3382
|
+
static async init(resources) {
|
|
3383
|
+
const { webTreeSitter, xpathLanguage } = resources;
|
|
3384
|
+
let webTreeSitterInitOptions = {};
|
|
3385
|
+
if (webTreeSitter != null) {
|
|
3386
|
+
const webTreeSitterResource = resolveWASMResource(webTreeSitter);
|
|
3387
|
+
if (typeof webTreeSitterResource === "string") {
|
|
3388
|
+
webTreeSitterInitOptions = {
|
|
3389
|
+
locateFile: () => webTreeSitterResource
|
|
3390
|
+
};
|
|
3391
|
+
} else {
|
|
3392
|
+
webTreeSitterInitOptions = { wasmBinary: webTreeSitterResource };
|
|
3393
|
+
}
|
|
3394
|
+
}
|
|
3395
|
+
await Parser.init(webTreeSitterInitOptions);
|
|
3396
|
+
const xpathLanguageResource = resolveWASMResource(xpathLanguage);
|
|
3397
|
+
const language = await Parser.Language.load(xpathLanguageResource);
|
|
3398
|
+
const parser = new Parser();
|
|
3399
|
+
parser.setLanguage(language);
|
|
3400
|
+
return new this(parser);
|
|
3401
|
+
}
|
|
3402
|
+
parse(expression) {
|
|
3403
|
+
return this.parser.parse(expression);
|
|
3404
|
+
}
|
|
3405
|
+
}
|
|
3406
|
+
|
|
3407
|
+
class SyntaxNode {
|
|
3408
|
+
type;
|
|
3409
|
+
text;
|
|
3410
|
+
childCount;
|
|
3411
|
+
children;
|
|
3412
|
+
constructor(node) {
|
|
3413
|
+
const {
|
|
3414
|
+
type,
|
|
3415
|
+
text,
|
|
3416
|
+
childCount,
|
|
3417
|
+
children
|
|
3418
|
+
} = node;
|
|
3419
|
+
this.type = type;
|
|
3420
|
+
this.text = text;
|
|
3421
|
+
this.childCount = childCount;
|
|
3422
|
+
this.children = children.map((child) => new SyntaxNode(child));
|
|
3423
|
+
}
|
|
3424
|
+
child(index) {
|
|
3425
|
+
return this.children[index] ?? null;
|
|
3426
|
+
}
|
|
3427
|
+
}
|
|
3428
|
+
class SyntaxLanguage {
|
|
3429
|
+
types;
|
|
3430
|
+
constructor(tsLanguage) {
|
|
3431
|
+
this.types = [...tsLanguage.types].filter((type) => type != null);
|
|
3432
|
+
}
|
|
3433
|
+
}
|
|
3434
|
+
class SyntaxTree {
|
|
3435
|
+
language;
|
|
3436
|
+
rootNode;
|
|
3437
|
+
constructor(tsTree) {
|
|
3438
|
+
const { language, rootNode } = tsTree;
|
|
3439
|
+
this.language = new SyntaxLanguage(language);
|
|
3440
|
+
this.rootNode = new SyntaxNode(rootNode);
|
|
3441
|
+
}
|
|
3442
|
+
}
|
|
3443
|
+
class ExpressionParser {
|
|
3444
|
+
constructor(xpathParser) {
|
|
3445
|
+
this.xpathParser = xpathParser;
|
|
3446
|
+
}
|
|
3447
|
+
static from(baseParser) {
|
|
3448
|
+
if (baseParser instanceof ExpressionParser) {
|
|
3449
|
+
return baseParser;
|
|
3450
|
+
}
|
|
3451
|
+
return new this(baseParser);
|
|
3452
|
+
}
|
|
3453
|
+
static async init(resources) {
|
|
3454
|
+
const baseParser = await TreeSitterXPathParser.init(resources);
|
|
3455
|
+
return this.from(baseParser);
|
|
3456
|
+
}
|
|
3457
|
+
// TODO: this cache can grow indefinitely. If the parser instance continues
|
|
3458
|
+
// to be used as a singleton (see `Evaluator.ts`), it would make sense to
|
|
3459
|
+
// have some sort of cache invalidation considerations.
|
|
3460
|
+
cache = new UpsertableMap();
|
|
3461
|
+
parse(expression, options = {}) {
|
|
3462
|
+
return this.cache.upsert(expression, () => {
|
|
3463
|
+
const parsed = this.xpathParser.parse(expression);
|
|
3464
|
+
const { rootNode } = parsed;
|
|
3465
|
+
if (rootNode.hasError) {
|
|
3466
|
+
if (options.attemptErrorRecovery) ;
|
|
3467
|
+
throw new Error(`Expression has syntax error: ${expression}`);
|
|
3468
|
+
}
|
|
3469
|
+
return new SyntaxTree(parsed);
|
|
3470
|
+
});
|
|
3471
|
+
}
|
|
3472
|
+
}
|
|
3473
|
+
|
|
3474
|
+
const expressionParser = await ExpressionParser.init({
|
|
3475
|
+
webTreeSitter,
|
|
3476
|
+
xpathLanguage
|
|
3477
|
+
});
|
|
3478
|
+
|
|
3479
|
+
export { UpsertableMap as U, getDefaultExportFromCjs as a, commonjsGlobal as c, expressionParser as e, getAugmentedNamespace as g };
|
|
3480
|
+
//# sourceMappingURL=expressionParser-BYZuKGXg.js.map
|