@bitgo/abstract-utxo 8.14.2 → 8.14.4
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/CHANGELOG.md +10 -0
- package/dist/src/abstractUtxoCoin.d.ts +6 -19
- package/dist/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/src/abstractUtxoCoin.js +21 -40
- package/dist/src/descriptor/NamedDescriptor.d.ts +7 -0
- package/dist/src/descriptor/NamedDescriptor.d.ts.map +1 -0
- package/dist/src/descriptor/NamedDescriptor.js +9 -0
- package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts +4 -0
- package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
- package/dist/src/descriptor/assertDescriptorWalletAddress.js +37 -0
- package/dist/src/descriptor/index.d.ts +4 -0
- package/dist/src/descriptor/index.d.ts.map +1 -0
- package/dist/src/descriptor/index.js +11 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NamedDescriptor.d.ts","sourceRoot":"","sources":["../../../src/descriptor/NamedDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,eAAe;;;EAG1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NamedDescriptor = void 0;
|
|
4
|
+
const t = require("io-ts");
|
|
5
|
+
exports.NamedDescriptor = t.type({
|
|
6
|
+
name: t.string,
|
|
7
|
+
value: t.string,
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZWREZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvTmFtZWREZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUVkLFFBQUEsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgY29uc3QgTmFtZWREZXNjcmlwdG9yID0gdC50eXBlKHtcbiAgbmFtZTogdC5zdHJpbmcsXG4gIHZhbHVlOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBOYW1lZERlc2NyaXB0b3IgPSB0LlR5cGVPZjx0eXBlb2YgTmFtZWREZXNjcmlwdG9yPjtcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
|
+
import { UtxoCoinSpecific, VerifyAddressOptions } from '../abstractUtxoCoin';
|
|
3
|
+
export declare function assertDescriptorWalletAddress(network: utxolib.Network, params: VerifyAddressOptions<UtxoCoinSpecific>, descriptors: unknown): void;
|
|
4
|
+
//# sourceMappingURL=assertDescriptorWalletAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertDescriptorWalletAddress.d.ts","sourceRoot":"","sources":["../../../src/descriptor/assertDescriptorWalletAddress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAW7E,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,MAAM,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC9C,WAAW,EAAE,OAAO,GACnB,IAAI,CAuBN"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertDescriptorWalletAddress = void 0;
|
|
4
|
+
const assert = require("assert");
|
|
5
|
+
const t = require("io-ts");
|
|
6
|
+
const utxolib = require("@bitgo/utxo-lib");
|
|
7
|
+
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
8
|
+
const NamedDescriptor_1 = require("./NamedDescriptor");
|
|
9
|
+
class DescriptorAddressMismatchError extends Error {
|
|
10
|
+
constructor(descriptor, index, derivedAddress, expectedAddress) {
|
|
11
|
+
super(`Address mismatch for descriptor ${descriptor.toString()} at index ${index}: ${derivedAddress} !== ${expectedAddress}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function assertDescriptorWalletAddress(network, params, descriptors) {
|
|
15
|
+
assert(params.coinSpecific);
|
|
16
|
+
assert(t.array(NamedDescriptor_1.NamedDescriptor).is(descriptors));
|
|
17
|
+
assert('descriptorName' in params.coinSpecific);
|
|
18
|
+
assert('descriptorChecksum' in params.coinSpecific);
|
|
19
|
+
const descriptorName = params.coinSpecific.descriptorName;
|
|
20
|
+
const descriptorChecksum = params.coinSpecific.descriptorChecksum;
|
|
21
|
+
const namedDescriptor = descriptors.find((d) => d.name === descriptorName);
|
|
22
|
+
if (!namedDescriptor) {
|
|
23
|
+
throw new Error(`Descriptor ${descriptorName} not found`);
|
|
24
|
+
}
|
|
25
|
+
const descriptor = wasm_miniscript_1.Descriptor.fromString(namedDescriptor.value, 'derivable');
|
|
26
|
+
const checksum = descriptor.toString().slice(-8);
|
|
27
|
+
if (checksum !== descriptorChecksum) {
|
|
28
|
+
throw new Error(`Descriptor checksum mismatch for descriptor name=${descriptorName}: ${checksum} !== ${descriptorChecksum}`);
|
|
29
|
+
}
|
|
30
|
+
const derivedScript = Buffer.from(descriptor.atDerivationIndex(params.index).scriptPubkey());
|
|
31
|
+
const derivedAddress = utxolib.address.fromOutputScript(derivedScript, network);
|
|
32
|
+
if (params.address !== derivedAddress) {
|
|
33
|
+
throw new DescriptorAddressMismatchError(descriptor, params.index, derivedAddress, params.address);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.assertDescriptorWalletAddress = assertDescriptorWalletAddress;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0RGVzY3JpcHRvcldhbGxldEFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9hc3NlcnREZXNjcmlwdG9yV2FsbGV0QWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLDJDQUEyQztBQUMzQyw0REFBb0Q7QUFHcEQsdURBQW9EO0FBRXBELE1BQU0sOEJBQStCLFNBQVEsS0FBSztJQUNoRCxZQUFZLFVBQXNCLEVBQUUsS0FBYSxFQUFFLGNBQXNCLEVBQUUsZUFBdUI7UUFDaEcsS0FBSyxDQUNILG1DQUFtQyxVQUFVLENBQUMsUUFBUSxFQUFFLGFBQWEsS0FBSyxLQUFLLGNBQWMsUUFBUSxlQUFlLEVBQUUsQ0FDdkgsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELFNBQWdCLDZCQUE2QixDQUMzQyxPQUF3QixFQUN4QixNQUE4QyxFQUM5QyxXQUFvQjtJQUVwQixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlDQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7SUFDMUQsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO0lBQ2xFLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUM7SUFDM0UsSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsY0FBYyxZQUFZLENBQUMsQ0FBQztLQUMzRDtJQUNELE1BQU0sVUFBVSxHQUFHLDRCQUFVLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDN0UsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksUUFBUSxLQUFLLGtCQUFrQixFQUFFO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0RBQW9ELGNBQWMsS0FBSyxRQUFRLFFBQVEsa0JBQWtCLEVBQUUsQ0FDNUcsQ0FBQztLQUNIO0lBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDN0YsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEYsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLGNBQWMsRUFBRTtRQUNyQyxNQUFNLElBQUksOEJBQThCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNwRztBQUNILENBQUM7QUEzQkQsc0VBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuaW1wb3J0IHsgVXR4b0NvaW5TcGVjaWZpYywgVmVyaWZ5QWRkcmVzc09wdGlvbnMgfSBmcm9tICcuLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IE5hbWVkRGVzY3JpcHRvciB9IGZyb20gJy4vTmFtZWREZXNjcmlwdG9yJztcblxuY2xhc3MgRGVzY3JpcHRvckFkZHJlc3NNaXNtYXRjaEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLCBpbmRleDogbnVtYmVyLCBkZXJpdmVkQWRkcmVzczogc3RyaW5nLCBleHBlY3RlZEFkZHJlc3M6IHN0cmluZykge1xuICAgIHN1cGVyKFxuICAgICAgYEFkZHJlc3MgbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IgJHtkZXNjcmlwdG9yLnRvU3RyaW5nKCl9IGF0IGluZGV4ICR7aW5kZXh9OiAke2Rlcml2ZWRBZGRyZXNzfSAhPT0gJHtleHBlY3RlZEFkZHJlc3N9YFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydERlc2NyaXB0b3JXYWxsZXRBZGRyZXNzKFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnM8VXR4b0NvaW5TcGVjaWZpYz4sXG4gIGRlc2NyaXB0b3JzOiB1bmtub3duXG4pOiB2b2lkIHtcbiAgYXNzZXJ0KHBhcmFtcy5jb2luU3BlY2lmaWMpO1xuICBhc3NlcnQodC5hcnJheShOYW1lZERlc2NyaXB0b3IpLmlzKGRlc2NyaXB0b3JzKSk7XG4gIGFzc2VydCgnZGVzY3JpcHRvck5hbWUnIGluIHBhcmFtcy5jb2luU3BlY2lmaWMpO1xuICBhc3NlcnQoJ2Rlc2NyaXB0b3JDaGVja3N1bScgaW4gcGFyYW1zLmNvaW5TcGVjaWZpYyk7XG4gIGNvbnN0IGRlc2NyaXB0b3JOYW1lID0gcGFyYW1zLmNvaW5TcGVjaWZpYy5kZXNjcmlwdG9yTmFtZTtcbiAgY29uc3QgZGVzY3JpcHRvckNoZWNrc3VtID0gcGFyYW1zLmNvaW5TcGVjaWZpYy5kZXNjcmlwdG9yQ2hlY2tzdW07XG4gIGNvbnN0IG5hbWVkRGVzY3JpcHRvciA9IGRlc2NyaXB0b3JzLmZpbmQoKGQpID0+IGQubmFtZSA9PT0gZGVzY3JpcHRvck5hbWUpO1xuICBpZiAoIW5hbWVkRGVzY3JpcHRvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRvciAke2Rlc2NyaXB0b3JOYW1lfSBub3QgZm91bmRgKTtcbiAgfVxuICBjb25zdCBkZXNjcmlwdG9yID0gRGVzY3JpcHRvci5mcm9tU3RyaW5nKG5hbWVkRGVzY3JpcHRvci52YWx1ZSwgJ2Rlcml2YWJsZScpO1xuICBjb25zdCBjaGVja3N1bSA9IGRlc2NyaXB0b3IudG9TdHJpbmcoKS5zbGljZSgtOCk7XG4gIGlmIChjaGVja3N1bSAhPT0gZGVzY3JpcHRvckNoZWNrc3VtKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYERlc2NyaXB0b3IgY2hlY2tzdW0gbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IgbmFtZT0ke2Rlc2NyaXB0b3JOYW1lfTogJHtjaGVja3N1bX0gIT09ICR7ZGVzY3JpcHRvckNoZWNrc3VtfWBcbiAgICApO1xuICB9XG4gIGNvbnN0IGRlcml2ZWRTY3JpcHQgPSBCdWZmZXIuZnJvbShkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KHBhcmFtcy5pbmRleCkuc2NyaXB0UHVia2V5KCkpO1xuICBjb25zdCBkZXJpdmVkQWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KGRlcml2ZWRTY3JpcHQsIG5ldHdvcmspO1xuICBpZiAocGFyYW1zLmFkZHJlc3MgIT09IGRlcml2ZWRBZGRyZXNzKSB7XG4gICAgdGhyb3cgbmV3IERlc2NyaXB0b3JBZGRyZXNzTWlzbWF0Y2hFcnJvcihkZXNjcmlwdG9yLCBwYXJhbXMuaW5kZXgsIGRlcml2ZWRBZGRyZXNzLCBwYXJhbXMuYWRkcmVzcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/descriptor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NamedDescriptor = exports.assertDescriptorWalletAddress = exports.Descriptor = exports.Miniscript = void 0;
|
|
4
|
+
var wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
5
|
+
Object.defineProperty(exports, "Miniscript", { enumerable: true, get: function () { return wasm_miniscript_1.Miniscript; } });
|
|
6
|
+
Object.defineProperty(exports, "Descriptor", { enumerable: true, get: function () { return wasm_miniscript_1.Descriptor; } });
|
|
7
|
+
var assertDescriptorWalletAddress_1 = require("./assertDescriptorWalletAddress");
|
|
8
|
+
Object.defineProperty(exports, "assertDescriptorWalletAddress", { enumerable: true, get: function () { return assertDescriptorWalletAddress_1.assertDescriptorWalletAddress; } });
|
|
9
|
+
var NamedDescriptor_1 = require("./NamedDescriptor");
|
|
10
|
+
Object.defineProperty(exports, "NamedDescriptor", { enumerable: true, get: function () { return NamedDescriptor_1.NamedDescriptor; } });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBZ0U7QUFBdkQsNkdBQUEsVUFBVSxPQUFBO0FBQUUsNkdBQUEsVUFBVSxPQUFBO0FBQy9CLGlGQUFnRjtBQUF2RSw4SUFBQSw2QkFBNkIsT0FBQTtBQUN0QyxxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWluaXNjcmlwdCwgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuZXhwb3J0IHsgYXNzZXJ0RGVzY3JpcHRvcldhbGxldEFkZHJlc3MgfSBmcm9tICcuL2Fzc2VydERlc2NyaXB0b3JXYWxsZXRBZGRyZXNzJztcbmV4cG9ydCB7IE5hbWVkRGVzY3JpcHRvciB9IGZyb20gJy4vTmFtZWREZXNjcmlwdG9yJztcbiJdfQ==
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AAEvB,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -14,9 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.descriptor = void 0;
|
|
17
18
|
__exportStar(require("./abstractUtxoCoin"), exports);
|
|
18
19
|
__exportStar(require("./config"), exports);
|
|
19
20
|
__exportStar(require("./recovery"), exports);
|
|
20
21
|
__exportStar(require("./replayProtection"), exports);
|
|
21
22
|
__exportStar(require("./sign"), exports);
|
|
22
|
-
|
|
23
|
+
exports.descriptor = require("./descriptor");
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUM7QUFDbkMsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQixxREFBbUM7QUFDbkMseUNBQXVCO0FBRXZCLDZDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3RVdHhvQ29pbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3JlY292ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vcmVwbGF5UHJvdGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NpZ24nO1xuXG5leHBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG4iXX0=
|