@bitgo/abstract-utxo 10.22.1 → 10.23.1
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/cjs/src/abstractUtxoCoin.d.ts +4 -1
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +10 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +4 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +14 -3
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +10 -3
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +4 -3
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/signTransaction.js +2 -1
- package/dist/cjs/test/unit/coins.js +43 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +4 -1
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +11 -2
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +4 -1
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtWasm.js +14 -3
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +10 -3
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signTransaction.js +4 -3
- package/dist/esm/transaction/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/signTransaction.js +2 -1
- package/package.json +8 -8
|
@@ -7,9 +7,15 @@ import { ReplayProtectionKeys } from './signPsbtWasm';
|
|
|
7
7
|
/**
|
|
8
8
|
* Sign and verify a PSBT using either utxolib or wasm-utxo depending on the PSBT type.
|
|
9
9
|
*/
|
|
10
|
-
export declare function signAndVerifyPsbt(psbt: utxolib.bitgo.UtxoPsbt, signerKeychain: bip32.BIP32Interface | BIP32, rootWalletKeys: fixedScriptWallet.RootWalletKeys | undefined, replayProtection: ReplayProtectionKeys | undefined
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
export declare function signAndVerifyPsbt(psbt: utxolib.bitgo.UtxoPsbt, signerKeychain: bip32.BIP32Interface | BIP32, rootWalletKeys: fixedScriptWallet.RootWalletKeys | undefined, replayProtection: ReplayProtectionKeys | undefined, options?: {
|
|
11
|
+
writeSignedWith?: boolean;
|
|
12
|
+
}): utxolib.bitgo.UtxoPsbt;
|
|
13
|
+
export declare function signAndVerifyPsbt(psbt: fixedScriptWallet.BitGoPsbt, signerKeychain: bip32.BIP32Interface | BIP32, rootWalletKeys: fixedScriptWallet.RootWalletKeys, replayProtection: ReplayProtectionKeys, options?: {
|
|
14
|
+
writeSignedWith?: boolean;
|
|
15
|
+
}): fixedScriptWallet.BitGoPsbt;
|
|
16
|
+
export declare function signAndVerifyPsbt(psbt: utxolib.bitgo.UtxoPsbt | fixedScriptWallet.BitGoPsbt, signerKeychain: bip32.BIP32Interface | BIP32, rootWalletKeys: fixedScriptWallet.RootWalletKeys, replayProtection: ReplayProtectionKeys, options?: {
|
|
17
|
+
writeSignedWith?: boolean;
|
|
18
|
+
}): utxolib.bitgo.UtxoPsbt | fixedScriptWallet.BitGoPsbt;
|
|
13
19
|
export declare function signTransaction<T extends utxolib.bitgo.UtxoPsbt | utxolib.bitgo.UtxoTransaction<bigint | number> | fixedScriptWallet.BitGoPsbt>(coin: Musig2Participant<utxolib.bitgo.UtxoPsbt> | Musig2Participant<fixedScriptWallet.BitGoPsbt>, tx: T, signerKeychain: bip32.BIP32Interface | undefined, coinName: UtxoCoinName, params: {
|
|
14
20
|
walletId: string | undefined;
|
|
15
21
|
txInfo: {
|
|
@@ -23,5 +29,6 @@ export declare function signTransaction<T extends utxolib.bitgo.UtxoPsbt | utxol
|
|
|
23
29
|
cosignerPub: string | undefined;
|
|
24
30
|
/** When true (default), extract finalized PSBT to legacy transaction format. When false, return finalized PSBT. */
|
|
25
31
|
extractTransaction?: boolean;
|
|
32
|
+
writeSignedWith?: boolean;
|
|
26
33
|
}): Promise<utxolib.bitgo.UtxoPsbt | utxolib.bitgo.UtxoTransaction<bigint | number> | fixedScriptWallet.BitGoPsbt | Buffer>;
|
|
27
34
|
//# sourceMappingURL=signTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/fixedScript/signTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EAA4D,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGhH;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,EAC5C,cAAc,EAAE,iBAAiB,CAAC,cAAc,GAAG,SAAS,EAC5D,gBAAgB,EAAE,oBAAoB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/fixedScript/signTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EAA4D,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGhH;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,EAC5C,cAAc,EAAE,iBAAiB,CAAC,cAAc,GAAG,SAAS,EAC5D,gBAAgB,EAAE,oBAAoB,GAAG,SAAS,EAClD,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC1B,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,CAAC,SAAS,EACjC,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,EAC5C,cAAc,EAAE,iBAAiB,CAAC,cAAc,EAChD,gBAAgB,EAAE,oBAAoB,EACtC,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,iBAAiB,CAAC,SAAS,CAAC;AAC/B,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAC1D,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,EAC5C,cAAc,EAAE,iBAAiB,CAAC,cAAc,EAChD,gBAAgB,EAAE,oBAAoB,EACtC,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAgBxD,wBAAsB,eAAe,CACnC,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,iBAAiB,CAAC,SAAS,EAE/G,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAChG,EAAE,EAAE,CAAC,EACL,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,SAAS,EAChD,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE;IACN,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9D,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,aAAa,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAC7E,iBAAiB;IACjB,kCAAkC,EAAE,OAAO,CAAC;IAC5C,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,mHAAmH;IACnH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,OAAO,CACR,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,iBAAiB,CAAC,SAAS,GAAG,MAAM,CAC/G,CAgEA"}
|
|
@@ -15,13 +15,13 @@ const signLegacyTransaction_1 = require("./signLegacyTransaction");
|
|
|
15
15
|
const signPsbtUtxolib_1 = require("./signPsbtUtxolib");
|
|
16
16
|
const signPsbtWasm_1 = require("./signPsbtWasm");
|
|
17
17
|
const replayProtection_1 = require("./replayProtection");
|
|
18
|
-
function signAndVerifyPsbt(psbt, signerKeychain, rootWalletKeys, replayProtection) {
|
|
18
|
+
function signAndVerifyPsbt(psbt, signerKeychain, rootWalletKeys, replayProtection, options = {}) {
|
|
19
19
|
if (psbt instanceof utxo_lib_1.bitgo.UtxoPsbt) {
|
|
20
20
|
return (0, signPsbtUtxolib_1.signAndVerifyPsbt)(psbt, (0, wasmUtil_1.toUtxolibBIP32)(signerKeychain));
|
|
21
21
|
}
|
|
22
22
|
(0, assert_1.default)(rootWalletKeys, 'rootWalletKeys required for wasm-utxo signing');
|
|
23
23
|
(0, assert_1.default)(replayProtection, 'replayProtection required for wasm-utxo signing');
|
|
24
|
-
return (0, signPsbtWasm_1.signAndVerifyPsbtWasm)(psbt, signerKeychain, rootWalletKeys, replayProtection);
|
|
24
|
+
return (0, signPsbtWasm_1.signAndVerifyPsbtWasm)(psbt, signerKeychain, rootWalletKeys, replayProtection, options);
|
|
25
25
|
}
|
|
26
26
|
async function signTransaction(coin, tx, signerKeychain, coinName, params) {
|
|
27
27
|
let isLastSignature = false;
|
|
@@ -55,6 +55,7 @@ async function signTransaction(coin, tx, signerKeychain, coinName, params) {
|
|
|
55
55
|
},
|
|
56
56
|
signingStep: params.signingStep,
|
|
57
57
|
walletId: params.walletId,
|
|
58
|
+
writeSignedWith: params.writeSignedWith,
|
|
58
59
|
});
|
|
59
60
|
if (isLastSignature) {
|
|
60
61
|
if (extractTransaction) {
|
|
@@ -74,4 +75,4 @@ async function signTransaction(coin, tx, signerKeychain, coinName, params) {
|
|
|
74
75
|
cosignerPub: params.cosignerPub,
|
|
75
76
|
});
|
|
76
77
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXVDQSw4Q0FZQztBQUVELDBDQW9GQztBQXpJRCxvREFBNEI7QUFFNUIsOENBQTJDO0FBQzNDLG9EQUF1QjtBQUN2Qiw4Q0FBd0M7QUFFeEMsZ0RBQW1FO0FBSW5FLDZDQUFnRDtBQUdoRCxtRUFBZ0U7QUFDaEUsdURBQXdIO0FBQ3hILGlEQUFnSDtBQUNoSCx5REFBZ0U7QUF1QmhFLFNBQWdCLGlCQUFpQixDQUMvQixJQUEwRCxFQUMxRCxjQUE0QyxFQUM1QyxjQUE0RCxFQUM1RCxnQkFBa0Q7SUFFbEQsSUFBSSxJQUFJLFlBQVksZ0JBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUEsbUNBQXdCLEVBQUMsSUFBSSxFQUFFLElBQUEseUJBQWMsRUFBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxJQUFBLGdCQUFNLEVBQUMsY0FBYyxFQUFFLCtDQUErQyxDQUFDLENBQUM7SUFDeEUsSUFBQSxnQkFBTSxFQUFDLGdCQUFnQixFQUFFLGlEQUFpRCxDQUFDLENBQUM7SUFDNUUsT0FBTyxJQUFBLG9DQUFxQixFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUVNLEtBQUssVUFBVSxlQUFlLENBR25DLElBQWdHLEVBQ2hHLEVBQUssRUFDTCxjQUFnRCxFQUNoRCxRQUFzQixFQUN0QixNQVdDO0lBSUQsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzVCLElBQUksZ0JBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDeEMsc0dBQXNHO1FBQ3RHLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLEVBQUUsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTdDLElBQUksRUFBRSxZQUFZLGdCQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHNEQUFvQyxFQUMzRCxJQUFpRCxFQUNqRCxFQUFFLEVBQ0YsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFBLHlCQUFjLEVBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDM0Q7WUFDRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1NBQzFCLENBQ0YsQ0FBQztRQUNGLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN6QyxDQUFDO1lBQ0Qsb0VBQW9FO1lBQ3BFLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO1NBQU0sSUFBSSxFQUFFLFlBQVksNkJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsSUFBQSxnQkFBTSxFQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsNENBQTRDLENBQUMsQ0FBQztRQUNsRSxJQUFBLGdCQUFNLEVBQUMsSUFBQSxtQkFBUSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sY0FBYyxHQUFHLDZCQUFpQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxnREFBaUMsRUFDeEQsSUFBc0QsRUFDdEQsRUFBRSxFQUNGLGNBQWMsRUFDZCxjQUFjLEVBQ2Q7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsVUFBVSxFQUFFLElBQUEsNkNBQTBCLEVBQUMsUUFBUSxDQUFDO2FBQ2pEO1lBQ0QsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtTQUMxQixDQUNGLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQy9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCw0REFBNEQ7WUFDNUQsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPLElBQUEsNkNBQXFCLEVBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUU7UUFDekQsZUFBZTtRQUNmLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztLQUNoQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBpc1RyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgYml0Z28gfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgQklQMzIsIGJpcDMyLCBmaXhlZFNjcmlwdFdhbGxldCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5pbXBvcnQgdHlwZSB7IFVuc3BlbnQgfSBmcm9tICcuLi8uLi91bnNwZW50JztcbmltcG9ydCB7IHRvVXR4b2xpYkJJUDMyIH0gZnJvbSAnLi4vLi4vd2FzbVV0aWwnO1xuXG5pbXBvcnQgeyBNdXNpZzJQYXJ0aWNpcGFudCB9IGZyb20gJy4vbXVzaWcyJztcbmltcG9ydCB7IHNpZ25MZWdhY3lUcmFuc2FjdGlvbiB9IGZyb20gJy4vc2lnbkxlZ2FjeVRyYW5zYWN0aW9uJztcbmltcG9ydCB7IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50VXR4b2xpYiwgc2lnbkFuZFZlcmlmeVBzYnQgYXMgc2lnbkFuZFZlcmlmeVBzYnRVdHhvbGliIH0gZnJvbSAnLi9zaWduUHNidFV0eG9saWInO1xuaW1wb3J0IHsgc2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnRXYXNtLCBzaWduQW5kVmVyaWZ5UHNidFdhc20sIFJlcGxheVByb3RlY3Rpb25LZXlzIH0gZnJvbSAnLi9zaWduUHNidFdhc20nO1xuaW1wb3J0IHsgZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMgfSBmcm9tICcuL3JlcGxheVByb3RlY3Rpb24nO1xuXG4vKipcbiAqIFNpZ24gYW5kIHZlcmlmeSBhIFBTQlQgdXNpbmcgZWl0aGVyIHV0eG9saWIgb3Igd2FzbS11dHhvIGRlcGVuZGluZyBvbiB0aGUgUFNCVCB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2lnbkFuZFZlcmlmeVBzYnQoXG4gIHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQsXG4gIHNpZ25lcktleWNoYWluOiBiaXAzMi5CSVAzMkludGVyZmFjZSB8IEJJUDMyLFxuICByb290V2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMgfCB1bmRlZmluZWQsXG4gIHJlcGxheVByb3RlY3Rpb246IFJlcGxheVByb3RlY3Rpb25LZXlzIHwgdW5kZWZpbmVkXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbmRWZXJpZnlQc2J0KFxuICBwc2J0OiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQsXG4gIHNpZ25lcktleWNoYWluOiBiaXAzMi5CSVAzMkludGVyZmFjZSB8IEJJUDMyLFxuICByb290V2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMsXG4gIHJlcGxheVByb3RlY3Rpb246IFJlcGxheVByb3RlY3Rpb25LZXlzXG4pOiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQ7XG5leHBvcnQgZnVuY3Rpb24gc2lnbkFuZFZlcmlmeVBzYnQoXG4gIHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQsXG4gIHNpZ25lcktleWNoYWluOiBiaXAzMi5CSVAzMkludGVyZmFjZSB8IEJJUDMyLFxuICByb290V2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMsXG4gIHJlcGxheVByb3RlY3Rpb246IFJlcGxheVByb3RlY3Rpb25LZXlzXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbmRWZXJpZnlQc2J0KFxuICBwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0LFxuICBzaWduZXJLZXljaGFpbjogYmlwMzIuQklQMzJJbnRlcmZhY2UgfCBCSVAzMixcbiAgcm9vdFdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzIHwgdW5kZWZpbmVkLFxuICByZXBsYXlQcm90ZWN0aW9uOiBSZXBsYXlQcm90ZWN0aW9uS2V5cyB8IHVuZGVmaW5lZFxuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCB7XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgYml0Z28uVXR4b1BzYnQpIHtcbiAgICByZXR1cm4gc2lnbkFuZFZlcmlmeVBzYnRVdHhvbGliKHBzYnQsIHRvVXR4b2xpYkJJUDMyKHNpZ25lcktleWNoYWluKSk7XG4gIH1cbiAgYXNzZXJ0KHJvb3RXYWxsZXRLZXlzLCAncm9vdFdhbGxldEtleXMgcmVxdWlyZWQgZm9yIHdhc20tdXR4byBzaWduaW5nJyk7XG4gIGFzc2VydChyZXBsYXlQcm90ZWN0aW9uLCAncmVwbGF5UHJvdGVjdGlvbiByZXF1aXJlZCBmb3Igd2FzbS11dHhvIHNpZ25pbmcnKTtcbiAgcmV0dXJuIHNpZ25BbmRWZXJpZnlQc2J0V2FzbShwc2J0LCBzaWduZXJLZXljaGFpbiwgcm9vdFdhbGxldEtleXMsIHJlcGxheVByb3RlY3Rpb24pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRyYW5zYWN0aW9uPFxuICBUIGV4dGVuZHMgdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludCB8IG51bWJlcj4gfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnRcbj4oXG4gIGNvaW46IE11c2lnMlBhcnRpY2lwYW50PHV0eG9saWIuYml0Z28uVXR4b1BzYnQ+IHwgTXVzaWcyUGFydGljaXBhbnQ8Zml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0PixcbiAgdHg6IFQsXG4gIHNpZ25lcktleWNoYWluOiBiaXAzMi5CSVAzMkludGVyZmFjZSB8IHVuZGVmaW5lZCxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgcGFyYW1zOiB7XG4gICAgd2FsbGV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB0eEluZm86IHsgdW5zcGVudHM/OiBVbnNwZW50PGJpZ2ludCB8IG51bWJlcj5bXSB9IHwgdW5kZWZpbmVkO1xuICAgIGlzTGFzdFNpZ25hdHVyZTogYm9vbGVhbjtcbiAgICBzaWduaW5nU3RlcDogJ3NpZ25lck5vbmNlJyB8ICdjb3NpZ25lck5vbmNlJyB8ICdzaWduZXJTaWduYXR1cmUnIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBkZXByZWNhdGVkICovXG4gICAgYWxsb3dOb25TZWd3aXRTaWduaW5nV2l0aG91dFByZXZUeDogYm9vbGVhbjtcbiAgICBwdWJzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBjb3NpZ25lclB1Yjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBXaGVuIHRydWUgKGRlZmF1bHQpLCBleHRyYWN0IGZpbmFsaXplZCBQU0JUIHRvIGxlZ2FjeSB0cmFuc2FjdGlvbiBmb3JtYXQuIFdoZW4gZmFsc2UsIHJldHVybiBmaW5hbGl6ZWQgUFNCVC4gKi9cbiAgICBleHRyYWN0VHJhbnNhY3Rpb24/OiBib29sZWFuO1xuICB9XG4pOiBQcm9taXNlPFxuICB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50IHwgbnVtYmVyPiB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCB8IEJ1ZmZlclxuPiB7XG4gIGxldCBpc0xhc3RTaWduYXR1cmUgPSBmYWxzZTtcbiAgaWYgKF8uaXNCb29sZWFuKHBhcmFtcy5pc0xhc3RTaWduYXR1cmUpKSB7XG4gICAgLy8gaWYgYnVpbGQgaXMgY2FsbGVkIGluc3RlYWQgb2YgYnVpbGRJbmNvbXBsZXRlLCBubyBzaWduYXR1cmUgcGxhY2Vob2xkZXJzIGFyZSBsZWZ0IGluIHRoZSBzaWcgc2NyaXB0XG4gICAgaXNMYXN0U2lnbmF0dXJlID0gcGFyYW1zLmlzTGFzdFNpZ25hdHVyZTtcbiAgfVxuXG4gIGNvbnN0IHsgZXh0cmFjdFRyYW5zYWN0aW9uID0gdHJ1ZSB9ID0gcGFyYW1zO1xuXG4gIGlmICh0eCBpbnN0YW5jZW9mIGJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgY29uc3Qgc2lnbmVkUHNidCA9IGF3YWl0IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50VXR4b2xpYihcbiAgICAgIGNvaW4gYXMgTXVzaWcyUGFydGljaXBhbnQ8dXR4b2xpYi5iaXRnby5VdHhvUHNidD4sXG4gICAgICB0eCxcbiAgICAgIHNpZ25lcktleWNoYWluID8gdG9VdHhvbGliQklQMzIoc2lnbmVyS2V5Y2hhaW4pIDogdW5kZWZpbmVkLFxuICAgICAge1xuICAgICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgICB3YWxsZXRJZDogcGFyYW1zLndhbGxldElkLFxuICAgICAgfVxuICAgICk7XG4gICAgaWYgKGlzTGFzdFNpZ25hdHVyZSkge1xuICAgICAgaWYgKGV4dHJhY3RUcmFuc2FjdGlvbikge1xuICAgICAgICBzaWduZWRQc2J0LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICAgIHJldHVybiBzaWduZWRQc2J0LmV4dHJhY3RUcmFuc2FjdGlvbigpO1xuICAgICAgfVxuICAgICAgLy8gUmV0dXJuIHNpZ25lZCBQU0JUIHdpdGhvdXQgZmluYWxpemluZyB0byBwcmVzZXJ2ZSBkZXJpdmF0aW9uIGluZm9cbiAgICAgIHJldHVybiBzaWduZWRQc2J0O1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmVkUHNidDtcbiAgfSBlbHNlIGlmICh0eCBpbnN0YW5jZW9mIGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCkge1xuICAgIGFzc2VydChwYXJhbXMucHVicywgJ3B1YnMgYXJlIHJlcXVpcmVkIGZvciBmaXhlZCBzY3JpcHQgc2lnbmluZycpO1xuICAgIGFzc2VydChpc1RyaXBsZShwYXJhbXMucHVicyksICdwdWJzIG11c3QgYmUgYSB0cmlwbGUnKTtcbiAgICBjb25zdCByb290V2FsbGV0S2V5cyA9IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzLmZyb21YcHVicyhwYXJhbXMucHVicyk7XG4gICAgY29uc3Qgc2lnbmVkUHNidCA9IGF3YWl0IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50V2FzbShcbiAgICAgIGNvaW4gYXMgTXVzaWcyUGFydGljaXBhbnQ8Zml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0PixcbiAgICAgIHR4LFxuICAgICAgc2lnbmVyS2V5Y2hhaW4sXG4gICAgICByb290V2FsbGV0S2V5cyxcbiAgICAgIHtcbiAgICAgICAgcmVwbGF5UHJvdGVjdGlvbjoge1xuICAgICAgICAgIHB1YmxpY0tleXM6IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzKGNvaW5OYW1lKSxcbiAgICAgICAgfSxcbiAgICAgICAgc2lnbmluZ1N0ZXA6IHBhcmFtcy5zaWduaW5nU3RlcCxcbiAgICAgICAgd2FsbGV0SWQ6IHBhcmFtcy53YWxsZXRJZCxcbiAgICAgIH1cbiAgICApO1xuICAgIGlmIChpc0xhc3RTaWduYXR1cmUpIHtcbiAgICAgIGlmIChleHRyYWN0VHJhbnNhY3Rpb24pIHtcbiAgICAgICAgc2lnbmVkUHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oc2lnbmVkUHNidC5leHRyYWN0VHJhbnNhY3Rpb24oKS50b0J5dGVzKCkpO1xuICAgICAgfVxuICAgICAgLy8gUmV0dXJuIGZpbmFsaXplZCBQU0JUIHdpdGhvdXQgZXh0cmFjdGluZyB0byBsZWdhY3kgZm9ybWF0XG4gICAgICByZXR1cm4gc2lnbmVkUHNidDtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25lZFBzYnQ7XG4gIH1cblxuICByZXR1cm4gc2lnbkxlZ2FjeVRyYW5zYWN0aW9uKHR4LCBzaWduZXJLZXljaGFpbiwgY29pbk5hbWUsIHtcbiAgICBpc0xhc3RTaWduYXR1cmUsXG4gICAgc2lnbmluZ1N0ZXA6IHBhcmFtcy5zaWduaW5nU3RlcCxcbiAgICB0eEluZm86IHBhcmFtcy50eEluZm8sXG4gICAgcHViczogcGFyYW1zLnB1YnMsXG4gICAgY29zaWduZXJQdWI6IHBhcmFtcy5jb3NpZ25lclB1YixcbiAgfSk7XG59XG4iXX0=
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQTBDQSw4Q0FhQztBQUVELDBDQXNGQztBQS9JRCxvREFBNEI7QUFFNUIsOENBQTJDO0FBQzNDLG9EQUF1QjtBQUN2Qiw4Q0FBd0M7QUFFeEMsZ0RBQW1FO0FBSW5FLDZDQUFnRDtBQUdoRCxtRUFBZ0U7QUFDaEUsdURBQXdIO0FBQ3hILGlEQUFnSDtBQUNoSCx5REFBZ0U7QUEwQmhFLFNBQWdCLGlCQUFpQixDQUMvQixJQUEwRCxFQUMxRCxjQUE0QyxFQUM1QyxjQUE0RCxFQUM1RCxnQkFBa0QsRUFDbEQsVUFBeUMsRUFBRTtJQUUzQyxJQUFJLElBQUksWUFBWSxnQkFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sSUFBQSxtQ0FBd0IsRUFBQyxJQUFJLEVBQUUsSUFBQSx5QkFBYyxFQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELElBQUEsZ0JBQU0sRUFBQyxjQUFjLEVBQUUsK0NBQStDLENBQUMsQ0FBQztJQUN4RSxJQUFBLGdCQUFNLEVBQUMsZ0JBQWdCLEVBQUUsaURBQWlELENBQUMsQ0FBQztJQUM1RSxPQUFPLElBQUEsb0NBQXFCLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEcsQ0FBQztBQUVNLEtBQUssVUFBVSxlQUFlLENBR25DLElBQWdHLEVBQ2hHLEVBQUssRUFDTCxjQUFnRCxFQUNoRCxRQUFzQixFQUN0QixNQVlDO0lBSUQsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzVCLElBQUksZ0JBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDeEMsc0dBQXNHO1FBQ3RHLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLEVBQUUsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTdDLElBQUksRUFBRSxZQUFZLGdCQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHNEQUFvQyxFQUMzRCxJQUFpRCxFQUNqRCxFQUFFLEVBQ0YsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFBLHlCQUFjLEVBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDM0Q7WUFDRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1NBQzFCLENBQ0YsQ0FBQztRQUNGLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN6QyxDQUFDO1lBQ0Qsb0VBQW9FO1lBQ3BFLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO1NBQU0sSUFBSSxFQUFFLFlBQVksNkJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsSUFBQSxnQkFBTSxFQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsNENBQTRDLENBQUMsQ0FBQztRQUNsRSxJQUFBLGdCQUFNLEVBQUMsSUFBQSxtQkFBUSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sY0FBYyxHQUFHLDZCQUFpQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxnREFBaUMsRUFDeEQsSUFBc0QsRUFDdEQsRUFBRSxFQUNGLGNBQWMsRUFDZCxjQUFjLEVBQ2Q7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsVUFBVSxFQUFFLElBQUEsNkNBQTBCLEVBQUMsUUFBUSxDQUFDO2FBQ2pEO1lBQ0QsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7U0FDeEMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3ZCLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQ0QsNERBQTREO1lBQzVELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTyxJQUFBLDZDQUFxQixFQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFO1FBQ3pELGVBQWU7UUFDZixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDL0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQ3JCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtRQUNqQixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7S0FDaEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgaXNUcmlwbGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IEJJUDMyLCBiaXAzMiwgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vbmFtZXMnO1xuaW1wb3J0IHR5cGUgeyBVbnNwZW50IH0gZnJvbSAnLi4vLi4vdW5zcGVudCc7XG5pbXBvcnQgeyB0b1V0eG9saWJCSVAzMiB9IGZyb20gJy4uLy4uL3dhc21VdGlsJztcblxuaW1wb3J0IHsgTXVzaWcyUGFydGljaXBhbnQgfSBmcm9tICcuL211c2lnMic7XG5pbXBvcnQgeyBzaWduTGVnYWN5VHJhbnNhY3Rpb24gfSBmcm9tICcuL3NpZ25MZWdhY3lUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBzaWduUHNidFdpdGhNdXNpZzJQYXJ0aWNpcGFudFV0eG9saWIsIHNpZ25BbmRWZXJpZnlQc2J0IGFzIHNpZ25BbmRWZXJpZnlQc2J0VXR4b2xpYiB9IGZyb20gJy4vc2lnblBzYnRVdHhvbGliJztcbmltcG9ydCB7IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50V2FzbSwgc2lnbkFuZFZlcmlmeVBzYnRXYXNtLCBSZXBsYXlQcm90ZWN0aW9uS2V5cyB9IGZyb20gJy4vc2lnblBzYnRXYXNtJztcbmltcG9ydCB7IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzIH0gZnJvbSAnLi9yZXBsYXlQcm90ZWN0aW9uJztcblxuLyoqXG4gKiBTaWduIGFuZCB2ZXJpZnkgYSBQU0JUIHVzaW5nIGVpdGhlciB1dHhvbGliIG9yIHdhc20tdXR4byBkZXBlbmRpbmcgb24gdGhlIFBTQlQgdHlwZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbmRWZXJpZnlQc2J0KFxuICBwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LFxuICBzaWduZXJLZXljaGFpbjogYmlwMzIuQklQMzJJbnRlcmZhY2UgfCBCSVAzMixcbiAgcm9vdFdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzIHwgdW5kZWZpbmVkLFxuICByZXBsYXlQcm90ZWN0aW9uOiBSZXBsYXlQcm90ZWN0aW9uS2V5cyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHsgd3JpdGVTaWduZWRXaXRoPzogYm9vbGVhbiB9XG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbmRWZXJpZnlQc2J0KFxuICBwc2J0OiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQsXG4gIHNpZ25lcktleWNoYWluOiBiaXAzMi5CSVAzMkludGVyZmFjZSB8IEJJUDMyLFxuICByb290V2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMsXG4gIHJlcGxheVByb3RlY3Rpb246IFJlcGxheVByb3RlY3Rpb25LZXlzLFxuICBvcHRpb25zPzogeyB3cml0ZVNpZ25lZFdpdGg/OiBib29sZWFuIH1cbik6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBzaWduQW5kVmVyaWZ5UHNidChcbiAgcHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IGJpcDMyLkJJUDMySW50ZXJmYWNlIHwgQklQMzIsXG4gIHJvb3RXYWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyxcbiAgcmVwbGF5UHJvdGVjdGlvbjogUmVwbGF5UHJvdGVjdGlvbktleXMsXG4gIG9wdGlvbnM/OiB7IHdyaXRlU2lnbmVkV2l0aD86IGJvb2xlYW4gfVxuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBzaWduQW5kVmVyaWZ5UHNidChcbiAgcHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IGJpcDMyLkJJUDMySW50ZXJmYWNlIHwgQklQMzIsXG4gIHJvb3RXYWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyB8IHVuZGVmaW5lZCxcbiAgcmVwbGF5UHJvdGVjdGlvbjogUmVwbGF5UHJvdGVjdGlvbktleXMgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM6IHsgd3JpdGVTaWduZWRXaXRoPzogYm9vbGVhbiB9ID0ge31cbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQge1xuICBpZiAocHNidCBpbnN0YW5jZW9mIGJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgcmV0dXJuIHNpZ25BbmRWZXJpZnlQc2J0VXR4b2xpYihwc2J0LCB0b1V0eG9saWJCSVAzMihzaWduZXJLZXljaGFpbikpO1xuICB9XG4gIGFzc2VydChyb290V2FsbGV0S2V5cywgJ3Jvb3RXYWxsZXRLZXlzIHJlcXVpcmVkIGZvciB3YXNtLXV0eG8gc2lnbmluZycpO1xuICBhc3NlcnQocmVwbGF5UHJvdGVjdGlvbiwgJ3JlcGxheVByb3RlY3Rpb24gcmVxdWlyZWQgZm9yIHdhc20tdXR4byBzaWduaW5nJyk7XG4gIHJldHVybiBzaWduQW5kVmVyaWZ5UHNidFdhc20ocHNidCwgc2lnbmVyS2V5Y2hhaW4sIHJvb3RXYWxsZXRLZXlzLCByZXBsYXlQcm90ZWN0aW9uLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25UcmFuc2FjdGlvbjxcbiAgVCBleHRlbmRzIHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQgfCBudW1iZXI+IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0XG4+KFxuICBjb2luOiBNdXNpZzJQYXJ0aWNpcGFudDx1dHhvbGliLmJpdGdvLlV0eG9Qc2J0PiB8IE11c2lnMlBhcnRpY2lwYW50PGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidD4sXG4gIHR4OiBULFxuICBzaWduZXJLZXljaGFpbjogYmlwMzIuQklQMzJJbnRlcmZhY2UgfCB1bmRlZmluZWQsXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gIHBhcmFtczoge1xuICAgIHdhbGxldElkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdHhJbmZvOiB7IHVuc3BlbnRzPzogVW5zcGVudDxiaWdpbnQgfCBudW1iZXI+W10gfSB8IHVuZGVmaW5lZDtcbiAgICBpc0xhc3RTaWduYXR1cmU6IGJvb2xlYW47XG4gICAgc2lnbmluZ1N0ZXA6ICdzaWduZXJOb25jZScgfCAnY29zaWduZXJOb25jZScgfCAnc2lnbmVyU2lnbmF0dXJlJyB8IHVuZGVmaW5lZDtcbiAgICAvKiogZGVwcmVjYXRlZCAqL1xuICAgIGFsbG93Tm9uU2Vnd2l0U2lnbmluZ1dpdGhvdXRQcmV2VHg6IGJvb2xlYW47XG4gICAgcHViczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgY29zaWduZXJQdWI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKiogV2hlbiB0cnVlIChkZWZhdWx0KSwgZXh0cmFjdCBmaW5hbGl6ZWQgUFNCVCB0byBsZWdhY3kgdHJhbnNhY3Rpb24gZm9ybWF0LiBXaGVuIGZhbHNlLCByZXR1cm4gZmluYWxpemVkIFBTQlQuICovXG4gICAgZXh0cmFjdFRyYW5zYWN0aW9uPzogYm9vbGVhbjtcbiAgICB3cml0ZVNpZ25lZFdpdGg/OiBib29sZWFuO1xuICB9XG4pOiBQcm9taXNlPFxuICB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50IHwgbnVtYmVyPiB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCB8IEJ1ZmZlclxuPiB7XG4gIGxldCBpc0xhc3RTaWduYXR1cmUgPSBmYWxzZTtcbiAgaWYgKF8uaXNCb29sZWFuKHBhcmFtcy5pc0xhc3RTaWduYXR1cmUpKSB7XG4gICAgLy8gaWYgYnVpbGQgaXMgY2FsbGVkIGluc3RlYWQgb2YgYnVpbGRJbmNvbXBsZXRlLCBubyBzaWduYXR1cmUgcGxhY2Vob2xkZXJzIGFyZSBsZWZ0IGluIHRoZSBzaWcgc2NyaXB0XG4gICAgaXNMYXN0U2lnbmF0dXJlID0gcGFyYW1zLmlzTGFzdFNpZ25hdHVyZTtcbiAgfVxuXG4gIGNvbnN0IHsgZXh0cmFjdFRyYW5zYWN0aW9uID0gdHJ1ZSB9ID0gcGFyYW1zO1xuXG4gIGlmICh0eCBpbnN0YW5jZW9mIGJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgY29uc3Qgc2lnbmVkUHNidCA9IGF3YWl0IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50VXR4b2xpYihcbiAgICAgIGNvaW4gYXMgTXVzaWcyUGFydGljaXBhbnQ8dXR4b2xpYi5iaXRnby5VdHhvUHNidD4sXG4gICAgICB0eCxcbiAgICAgIHNpZ25lcktleWNoYWluID8gdG9VdHhvbGliQklQMzIoc2lnbmVyS2V5Y2hhaW4pIDogdW5kZWZpbmVkLFxuICAgICAge1xuICAgICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgICB3YWxsZXRJZDogcGFyYW1zLndhbGxldElkLFxuICAgICAgfVxuICAgICk7XG4gICAgaWYgKGlzTGFzdFNpZ25hdHVyZSkge1xuICAgICAgaWYgKGV4dHJhY3RUcmFuc2FjdGlvbikge1xuICAgICAgICBzaWduZWRQc2J0LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICAgIHJldHVybiBzaWduZWRQc2J0LmV4dHJhY3RUcmFuc2FjdGlvbigpO1xuICAgICAgfVxuICAgICAgLy8gUmV0dXJuIHNpZ25lZCBQU0JUIHdpdGhvdXQgZmluYWxpemluZyB0byBwcmVzZXJ2ZSBkZXJpdmF0aW9uIGluZm9cbiAgICAgIHJldHVybiBzaWduZWRQc2J0O1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmVkUHNidDtcbiAgfSBlbHNlIGlmICh0eCBpbnN0YW5jZW9mIGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCkge1xuICAgIGFzc2VydChwYXJhbXMucHVicywgJ3B1YnMgYXJlIHJlcXVpcmVkIGZvciBmaXhlZCBzY3JpcHQgc2lnbmluZycpO1xuICAgIGFzc2VydChpc1RyaXBsZShwYXJhbXMucHVicyksICdwdWJzIG11c3QgYmUgYSB0cmlwbGUnKTtcbiAgICBjb25zdCByb290V2FsbGV0S2V5cyA9IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzLmZyb21YcHVicyhwYXJhbXMucHVicyk7XG4gICAgY29uc3Qgc2lnbmVkUHNidCA9IGF3YWl0IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50V2FzbShcbiAgICAgIGNvaW4gYXMgTXVzaWcyUGFydGljaXBhbnQ8Zml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0PixcbiAgICAgIHR4LFxuICAgICAgc2lnbmVyS2V5Y2hhaW4sXG4gICAgICByb290V2FsbGV0S2V5cyxcbiAgICAgIHtcbiAgICAgICAgcmVwbGF5UHJvdGVjdGlvbjoge1xuICAgICAgICAgIHB1YmxpY0tleXM6IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzKGNvaW5OYW1lKSxcbiAgICAgICAgfSxcbiAgICAgICAgc2lnbmluZ1N0ZXA6IHBhcmFtcy5zaWduaW5nU3RlcCxcbiAgICAgICAgd2FsbGV0SWQ6IHBhcmFtcy53YWxsZXRJZCxcbiAgICAgICAgd3JpdGVTaWduZWRXaXRoOiBwYXJhbXMud3JpdGVTaWduZWRXaXRoLFxuICAgICAgfVxuICAgICk7XG4gICAgaWYgKGlzTGFzdFNpZ25hdHVyZSkge1xuICAgICAgaWYgKGV4dHJhY3RUcmFuc2FjdGlvbikge1xuICAgICAgICBzaWduZWRQc2J0LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICAgIHJldHVybiBCdWZmZXIuZnJvbShzaWduZWRQc2J0LmV4dHJhY3RUcmFuc2FjdGlvbigpLnRvQnl0ZXMoKSk7XG4gICAgICB9XG4gICAgICAvLyBSZXR1cm4gZmluYWxpemVkIFBTQlQgd2l0aG91dCBleHRyYWN0aW5nIHRvIGxlZ2FjeSBmb3JtYXRcbiAgICAgIHJldHVybiBzaWduZWRQc2J0O1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmVkUHNidDtcbiAgfVxuXG4gIHJldHVybiBzaWduTGVnYWN5VHJhbnNhY3Rpb24odHgsIHNpZ25lcktleWNoYWluLCBjb2luTmFtZSwge1xuICAgIGlzTGFzdFNpZ25hdHVyZSxcbiAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgIHR4SW5mbzogcGFyYW1zLnR4SW5mbyxcbiAgICBwdWJzOiBwYXJhbXMucHVicyxcbiAgICBjb3NpZ25lclB1YjogcGFyYW1zLmNvc2lnbmVyUHViLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA0B/E,wBAAsB,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACnE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA0B/E,wBAAsB,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACnE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyD5B"}
|
|
@@ -102,6 +102,7 @@ async function signTransaction(coin, bitgo, params) {
|
|
|
102
102
|
pubs: params.pubs,
|
|
103
103
|
cosignerPub: params.cosignerPub,
|
|
104
104
|
extractTransaction: params.extractTransaction,
|
|
105
|
+
writeSignedWith: params.writeSignedWith,
|
|
105
106
|
});
|
|
106
107
|
// Convert half-signed PSBT to legacy format when the caller explicitly requested txFormat: 'legacy'
|
|
107
108
|
if (params.returnLegacyFormat && signedTx instanceof wasm_utxo_1.fixedScriptWallet.BitGoPsbt) {
|
|
@@ -111,4 +112,4 @@ async function signTransaction(coin, bitgo, params) {
|
|
|
111
112
|
return { txHex: buffer.toString('hex') };
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStCQSwwQ0E2REM7QUE1RkQsb0RBQXVCO0FBRXZCLGdEQUE0RDtBQUM1RCxrREFBK0I7QUFHL0IsOENBQWdHO0FBQ2hHLDRDQUE2RDtBQUM3RCwwQ0FBd0Q7QUFFeEQsMkRBQTZDO0FBQzdDLHlEQUEyQztBQUMzQyxxQ0FBNkQ7QUFFN0QsTUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFVLEVBQUMsaURBQWlELENBQUMsQ0FBQztBQUU1RSxTQUFTLGlCQUFpQixDQUFDLE9BQWdCO0lBQ3pDLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsaUJBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELEtBQUssQ0FBQyx3REFBd0QsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RyxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRU0sS0FBSyxVQUFVLGVBQWUsQ0FDbkMsSUFBc0IsRUFDdEIsS0FBZ0IsRUFDaEIsTUFBdUM7SUFFdkMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUs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QUFDLFdBQVc7WUFDL0Isa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtZQUM3QyxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsb0dBQW9HO1FBQ3BHLElBQUksTUFBTSxDQUFDLGtCQUFrQixJQUFJLFFBQVEsWUFBWSw2QkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0RixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLDBCQUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCSVAzMiwgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBmZXRjaEtleWNoYWlucywgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uL2tleWNoYWlucyc7XG5pbXBvcnQgeyBpc1V0eG9MaWJQc2J0LCB0b1dhc21Qc2J0IH0gZnJvbSAnLi4vd2FzbVV0aWwnO1xuXG5pbXBvcnQgKiBhcyBmaXhlZFNjcmlwdCBmcm9tICcuL2ZpeGVkU2NyaXB0JztcbmltcG9ydCAqIGFzIGRlc2NyaXB0b3IgZnJvbSAnLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGRlY29kZVBzYnRXaXRoLCBlbmNvZGVUcmFuc2FjdGlvbiB9IGZyb20gJy4vZGVjb2RlJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCdiaXRnbzphYnN0cmFjdC11dHhvOnRyYW5zYWN0aW9uOnNpZ25UcmFuc2FjdGlvbicpO1xuXG5mdW5jdGlvbiBnZXRTaWduZXJLZXljaGFpbih1c2VyUHJ2OiB1bmtub3duKTogQklQMzIgfCB1bmRlZmluZWQge1xuICBpZiAodXNlclBydiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAodHlwZW9mIHVzZXJQcnYgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCB1c2VyIHByaXZhdGUga2V5IHRvIGJlIGEgc3RyaW5nJyk7XG4gIH1cbiAgY29uc3Qgc2lnbmVyS2V5Y2hhaW4gPSBCSVAzMi5mcm9tQmFzZTU4KHVzZXJQcnYpO1xuICBpZiAoc2lnbmVyS2V5Y2hhaW4uaXNOZXV0ZXJlZCgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCB1c2VyIHByaXZhdGUga2V5IGJ1dCByZWNlaXZlZCBwdWJsaWMga2V5Jyk7XG4gIH1cbiAgZGVidWcoYEhlcmUgaXMgdGhlIHB1YmxpYyBrZXkgb2YgdGhlIHhwcnYgeW91IHVzZWQgdG8gc2lnbjogJHtzaWduZXJLZXljaGFpbi5uZXV0ZXJlZCgpLnRvQmFzZTU4KCl9YCk7XG4gIHJldHVybiBzaWduZXJLZXljaGFpbjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25UcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgcGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+XG4pOiBQcm9taXNlPHsgdHhIZXg6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHR4UHJlYnVpbGQgPSBwYXJhbXMudHhQcmVidWlsZDtcblxuICBpZiAoXy5pc1VuZGVmaW5lZCh0eFByZWJ1aWxkKSB8fCAhXy5pc09iamVjdCh0eFByZWJ1aWxkKSkge1xuICAgIGlmICghXy5pc1VuZGVmaW5lZCh0eFByZWJ1aWxkKSAmJiAhXy5pc09iamVjdCh0eFByZWJ1aWxkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0eFByZWJ1aWxkIG11c3QgYmUgYW4gb2JqZWN0LCBnb3QgdHlwZSAke3R5cGVvZiB0eFByZWJ1aWxkfWApO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgdHhQcmVidWlsZCBwYXJhbWV0ZXInKTtcbiAgfVxuXG4gIGxldCB0eCA9IGNvaW4uZGVjb2RlVHJhbnNhY3Rpb25Gcm9tUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpO1xuXG4gIC8vIFdoZW4gcmV0dXJuTGVnYWN5Rm9ybWF0IGlzIHNldCwgZW5zdXJlIHdlIHVzZSB3YXNtLXV0eG8ncyBCaXRHb1BzYnQgc29cbiAgLy8gZ2V0SGFsZlNpZ25lZExlZ2FjeUZvcm1hdCgpIGlzIGF2YWlsYWJsZSBhZnRlciBzaWduaW5nLlxuICBpZiAocGFyYW1zLnJldHVybkxlZ2FjeUZvcm1hdCAmJiBpc1V0eG9MaWJQc2J0KHR4KSkge1xuICAgIHR4ID0gZGVjb2RlUHNidFdpdGgodHgudG9CdWZmZXIoKSwgY29pbi5uYW1lLCAnd2FzbS11dHhvJyk7XG4gIH1cblxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpO1xuXG4gIGNvbnN0IHsgd2FsbGV0IH0gPSBwYXJhbXM7XG5cbiAgaWYgKHdhbGxldCAmJiBpc0Rlc2NyaXB0b3JXYWxsZXQod2FsbGV0KSkge1xuICAgIGlmICghc2lnbmVyS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBzaWduZXInKTtcbiAgICB9XG4gICAgaWYgKCFpc1V0eG9MaWJQc2J0KHR4KSAmJiAhKHR4IGluc3RhbmNlb2YgVWludDhBcnJheSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGVzY3JpcHRvciB3YWxsZXRzIHJlcXVpcmUgUFNCVCBmb3JtYXQgdHJhbnNhY3Rpb25zJyk7XG4gICAgfVxuICAgIGNvbnN0IHdhbGxldEtleXMgPSB0b0JpcDMyVHJpcGxlKGF3YWl0IGZldGNoS2V5Y2hhaW5zKGNvaW4sIHdhbGxldCkpO1xuICAgIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCh3YWxsZXQsIHdhbGxldEtleXMsIGdldFBvbGljeUZvckVudihiaXRnby5lbnYpKTtcbiAgICBjb25zdCBwc2J0ID0gdG9XYXNtUHNidCh0eCk7XG4gICAgZGVzY3JpcHRvci5zaWduUHNidChwc2J0LCBkZXNjcmlwdG9yTWFwLCBzaWduZXJLZXljaGFpbiwge1xuICAgICAgb25Vbmtub3duSW5wdXQ6ICd0aHJvdycsXG4gICAgfSk7XG4gICAgcmV0dXJuIHsgdHhIZXg6IEJ1ZmZlci5mcm9tKHBzYnQuc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKSB9O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNpZ25lZFR4ID0gYXdhaXQgZml4ZWRTY3JpcHQuc2lnblRyYW5zYWN0aW9uKGNvaW4sIHR4LCBnZXRTaWduZXJLZXljaGFpbihwYXJhbXMucHJ2KSwgY29pbi5uYW1lLCB7XG4gICAgICB3YWxsZXRJZDogcGFyYW1zLnR4UHJlYnVpbGQud2FsbGV0SWQsXG4gICAgICB0eEluZm86IHBhcmFtcy50eFByZWJ1aWxkLnR4SW5mbyxcbiAgICAgIGlzTGFzdFNpZ25hdHVyZTogcGFyYW1zLmlzTGFzdFNpZ25hdHVyZSA/PyBmYWxzZSxcbiAgICAgIHNpZ25pbmdTdGVwOiBwYXJhbXMuc2lnbmluZ1N0ZXAsXG4gICAgICBhbGxvd05vblNlZ3dpdFNpZ25pbmdXaXRob3V0UHJldlR4OiBwYXJhbXMuYWxsb3dOb25TZWd3aXRTaWduaW5nV2l0aG91dFByZXZUeCA/PyBmYWxzZSxcbiAgICAgIHB1YnM6IHBhcmFtcy5wdWJzLFxuICAgICAgY29zaWduZXJQdWI6IHBhcmFtcy5jb3NpZ25lclB1YixcbiAgICAgIGV4dHJhY3RUcmFuc2FjdGlvbjogcGFyYW1zLmV4dHJhY3RUcmFuc2FjdGlvbixcbiAgICAgIHdyaXRlU2lnbmVkV2l0aDogcGFyYW1zLndyaXRlU2lnbmVkV2l0aCxcbiAgICB9KTtcblxuICAgIC8vIENvbnZlcnQgaGFsZi1zaWduZWQgUFNCVCB0byBsZWdhY3kgZm9ybWF0IHdoZW4gdGhlIGNhbGxlciBleHBsaWNpdGx5IHJlcXVlc3RlZCB0eEZvcm1hdDogJ2xlZ2FjeSdcbiAgICBpZiAocGFyYW1zLnJldHVybkxlZ2FjeUZvcm1hdCAmJiBzaWduZWRUeCBpbnN0YW5jZW9mIGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCkge1xuICAgICAgcmV0dXJuIHsgdHhIZXg6IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LmdldEhhbGZTaWduZWRMZWdhY3lGb3JtYXQoKSkudG9TdHJpbmcoJ2hleCcpIH07XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmlzQnVmZmVyKHNpZ25lZFR4KSA/IHNpZ25lZFR4IDogZW5jb2RlVHJhbnNhY3Rpb24oc2lnbmVkVHgpO1xuICAgIHJldHVybiB7IHR4SGV4OiBidWZmZXIudG9TdHJpbmcoJ2hleCcpIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -99,6 +99,48 @@ describe('utxoCoins', function () {
|
|
|
99
99
|
['zcashTest', 'tzec'],
|
|
100
100
|
]);
|
|
101
101
|
});
|
|
102
|
+
describe('isValidAddress with allowLightning', function () {
|
|
103
|
+
const btc = (0, util_1.getUtxoCoin)('btc');
|
|
104
|
+
const tbtc = (0, util_1.getUtxoCoin)('tbtc');
|
|
105
|
+
const bch = (0, util_1.getUtxoCoin)('bch');
|
|
106
|
+
it('should reject node pubkeys and invoices without allowLightning', function () {
|
|
107
|
+
assert.strictEqual(btc.isValidAddress('02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619'), false);
|
|
108
|
+
assert.strictEqual(btc.isValidAddress('lnbc1500n1pj0ggavpp5example'), false);
|
|
109
|
+
});
|
|
110
|
+
it('should accept node pubkeys with allowLightning', function () {
|
|
111
|
+
assert.strictEqual(btc.isValidAddress('02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619', {
|
|
112
|
+
allowLightning: true,
|
|
113
|
+
}), true);
|
|
114
|
+
assert.strictEqual(tbtc.isValidAddress('03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad', {
|
|
115
|
+
allowLightning: true,
|
|
116
|
+
}), true);
|
|
117
|
+
});
|
|
118
|
+
it('should reject invalid node pubkeys even with allowLightning', function () {
|
|
119
|
+
// wrong prefix
|
|
120
|
+
assert.strictEqual(btc.isValidAddress('04eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619', {
|
|
121
|
+
allowLightning: true,
|
|
122
|
+
}), false);
|
|
123
|
+
// too short
|
|
124
|
+
assert.strictEqual(btc.isValidAddress('02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f28368', {
|
|
125
|
+
allowLightning: true,
|
|
126
|
+
}), false);
|
|
127
|
+
});
|
|
128
|
+
it('should accept bolt11 invoices with allowLightning', function () {
|
|
129
|
+
assert.strictEqual(btc.isValidAddress('lnbc1500n1pj0ggavpp5example', { allowLightning: true }), true);
|
|
130
|
+
assert.strictEqual(tbtc.isValidAddress('lntb1500n1pj0ggavpp5example', { allowLightning: true }), true);
|
|
131
|
+
});
|
|
132
|
+
it('should reject non-bolt11 strings with allowLightning', function () {
|
|
133
|
+
assert.strictEqual(btc.isValidAddress('lnxyz1500n1pj0ggavpp5example', { allowLightning: true }), false);
|
|
134
|
+
assert.strictEqual(btc.isValidAddress('not-an-address', { allowLightning: true }), false);
|
|
135
|
+
});
|
|
136
|
+
it('should still accept regular bitcoin addresses with allowLightning', function () {
|
|
137
|
+
assert.strictEqual(btc.isValidAddress('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', { allowLightning: true }), true);
|
|
138
|
+
});
|
|
139
|
+
it('should not accept lightning addresses for non-btc coins without allowLightning', function () {
|
|
140
|
+
assert.strictEqual(bch.isValidAddress('02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619'), false);
|
|
141
|
+
assert.strictEqual(bch.isValidAddress('lnbc1500n1pj0ggavpp5example'), false);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
102
144
|
it('getMainnetCoinName returns correct mainnet coin name', function () {
|
|
103
145
|
// Mainnet coins return themselves
|
|
104
146
|
for (const coin of names_1.utxoCoinsMainnet) {
|
|
@@ -116,4 +158,4 @@ describe('utxoCoins', function () {
|
|
|
116
158
|
assert.strictEqual((0, names_1.getMainnetCoinName)('tbtcbgsig'), 'btc');
|
|
117
159
|
});
|
|
118
160
|
});
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMseURBQTJDO0FBRTNDLDJDQUF5RjtBQUV6RixpQ0FBaUY7QUFFakYsUUFBUSxDQUFDLFdBQVcsRUFBRTtJQUNwQixFQUFFLENBQUMsNkNBQTZDLEVBQUU7UUFDaEQsTUFBTSxDQUFDLGVBQWUsQ0FDcEIsZ0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDWixDQUFDLENBQUMsU0FBUyxFQUFFO1lBQ2IsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNmLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBQSw0QkFBcUIsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEQsQ0FBQyxFQUNGO1lBQ0UsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDcEMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsQ0FBQztZQUM3QyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUM7WUFDbEUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDO1lBQ3ZELENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztZQUNsRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztZQUM3QyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUM7WUFDN0QsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFB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QUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxpREFBaUQ7UUFDakQsS0FBSyxNQUFNLElBQUksSUFBSSx3QkFBZ0IsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUEsMEJBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLEVBQUUsQ0FBQyx3QkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLE9BQU8sT0FBTywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2xHLENBQUM7UUFFRCxnRUFBZ0U7UUFDaEUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFBLDBCQUFrQixFQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSwwQkFBa0IsRUFBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUEsMEJBQWtCLEVBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFBLDBCQUFrQixFQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBnZXRNYWlubmV0Q29pbk5hbWUsIHV0eG9Db2luc01haW5uZXQsIHV0eG9Db2luc1Rlc3RuZXQgfSBmcm9tICcuLi8uLi9zcmMvbmFtZXMnO1xuXG5pbXBvcnQgeyBnZXROZXR3b3JrRm9yQ29pbk5hbWUsIGdldFV0eG9Db2luRm9yTmV0d29yaywgdXR4b0NvaW5zIH0gZnJvbSAnLi91dGlsJztcblxuZGVzY3JpYmUoJ3V0eG9Db2lucycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ2hhcyBleHBlY3RlZCBjaGFpbi9uZXR3b3JrIHZhbHVlcyBmb3IgaXRlbXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIHV0eG9Db2lucy5tYXAoKGMpID0+IFtcbiAgICAgICAgYy5nZXRDaGFpbigpLFxuICAgICAgICBjLmdldEZhbWlseSgpLFxuICAgICAgICBjLmdldEZ1bGxOYW1lKCksXG4gICAgICAgIHV0eG9saWIuZ2V0TmV0d29ya05hbWUoZ2V0TmV0d29ya0ZvckNvaW5OYW1lKGMubmFtZSkpLFxuICAgICAgXSksXG4gICAgICBbXG4gICAgICAgIFsnYnRjJywgJ2J0YycsICdCaXRjb2luJywgJ2JpdGNvaW4nXSxcbiAgICAgICAgWyd0YnRjJywgJ2J0YycsICdUZXN0bmV0IEJpdGNvaW4nLCAndGVzdG5ldCddLFxuICAgICAgICBbJ3RidGNzaWcnLCAnYnRjJywgJ1B1YmxpYyBTaWduZXQgQml0Y29pbicsICdiaXRjb2luUHVibGljU2lnbmV0J10sXG4gICAgICAgIFsndGJ0YzQnLCAnYnRjJywgJ1Rlc3RuZXQ0IEJpdGNvaW4nLCAnYml0Y29pblRlc3RuZXQ0J10sXG4gICAgICAgIFsndGJ0Y2Jnc2lnJywgJ2J0YycsICdCaXRHbyBTaWduZXQgQml0Y29pbicsICdiaXRjb2luQml0R29TaWduZXQnXSxcbiAgICAgICAgWydiY2gnLCAnYmNoJywgJ0JpdGNvaW4gQ2FzaCcsICdiaXRjb2luY2FzaCddLFxuICAgICAgICBbJ3RiY2gnLCAnYmNoJywgJ1Rlc3RuZXQgQml0Y29pbiBDYXNoJywgJ2JpdGNvaW5jYXNoVGVzdG5ldCddLFxuICAgICAgICBbJ2J0ZycsICdidGcnLCAnQml0Y29pbiBHb2xkJywgJ2JpdGNvaW5nb2xkJ10sXG4gICAgICAgIFsnYnN2JywgJ2JzdicsICdCaXRjb2luIFNWJywgJ2JpdGNvaW5zdiddLFxuICAgICAgICBbJ3Ric3YnLCAnYnN2JywgJ1Rlc3RuZXQgQml0Y29pbiBTVicsICdiaXRjb2luc3ZUZXN0bmV0J10sXG4gICAgICAgIFsnZGFzaCcsICdkYXNoJywgJ0Rhc2gnLCAnZGFzaCddLFxuICAgICAgICBbJ3RkYXNoJywgJ2Rhc2gnLCAnVGVzdG5ldCBEYXNoJywgJ2Rhc2hUZXN0J10sXG4gICAgICAgIFsnZG9nZScsICdkb2dlJywgJ0RvZ2Vjb2luJywgJ2RvZ2Vjb2luJ10sXG4gICAgICAgIFsndGRvZ2UnLCAnZG9nZScsICdUZXN0bmV0IERvZ2Vjb2luJywgJ2RvZ2Vjb2luVGVzdCddLFxuICAgICAgICBbJ2JjaGEnLCAnYmNoYScsICdCaXRjb2luIEFCQycsICdlY2FzaCddLFxuICAgICAgICBbJ3RiY2hhJywgJ2JjaGEnLCAnVGVzdG5ldCBCaXRjb2luIEFCQycsICdlY2FzaFRlc3QnXSxcbiAgICAgICAgWydsdGMnLCAnbHRjJywgJ0xpdGVjb2luJywgJ2xpdGVjb2luJ10sXG4gICAgICAgIFsndGx0YycsICdsdGMnLCAnVGVzdG5ldCBMaXRlY29pbicsICdsaXRlY29pblRlc3QnXSxcbiAgICAgICAgWyd6ZWMnLCAnemVjJywgJ1pDYXNoJywgJ3pjYXNoJ10sXG4gICAgICAgIFsndHplYycsICd6ZWMnLCAnVGVzdG5ldCBaQ2FzaCcsICd6Y2FzaFRlc3QnXSxcbiAgICAgIF1cbiAgICApO1xuXG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIHV0eG9saWIuZ2V0TmV0d29ya0xpc3QoKS5tYXAoKG5ldHdvcmspOiBbc3RyaW5nIHwgdW5kZWZpbmVkLCBzdHJpbmcgfCB1bmRlZmluZWRdID0+IHtcbiAgICAgICAgbGV0IGNvaW47XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29pbiA9IGdldFV0eG9Db2luRm9yTmV0d29yayhuZXR3b3JrKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIGlnbm9yZVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFt1dHhvbGliLmdldE5ldHdvcmtOYW1lKG5ldHdvcmspLCBjb2luPy5nZXRDaGFpbigpXTtcbiAgICAgIH0pLFxuICAgICAgW1xuICAgICAgICBbJ2JpdGNvaW4nLCAnYnRjJ10sXG4gICAgICAgIFsndGVzdG5ldCcsICd0YnRjJ10sXG4gICAgICAgIFsnYml0Y29pblB1YmxpY1NpZ25ldCcsICd0YnRjc2lnJ10sXG4gICAgICAgIFsnYml0Y29pblRlc3RuZXQ0JywgJ3RidGM0J10sXG4gICAgICAgIFsnYml0Y29pbkJpdEdvU2lnbmV0JywgJ3RidGNiZ3NpZyddLFxuICAgICAgICBbJ2JpdGNvaW5jYXNoJywgJ2JjaCddLFxuICAgICAgICBbJ2JpdGNvaW5jYXNoVGVzdG5ldCcsICd0YmNoJ10sXG4gICAgICAgIFsnYml0Y29pbmdvbGQnLCAnYnRnJ10sXG4gICAgICAgIFsnYml0Y29pbmdvbGRUZXN0bmV0JywgdW5kZWZpbmVkXSxcbiAgICAgICAgWydiaXRjb2luc3YnLCAnYnN2J10sXG4gICAgICAgIFsnYml0Y29pbnN2VGVzdG5ldCcsICd0YnN2J10sXG4gICAgICAgIFsnZGFzaCcsICdkYXNoJ10sXG4gICAgICAgIFsnZGFzaFRlc3QnLCAndGRhc2gnXSxcbiAgICAgICAgWydkb2dlY29pbicsICdkb2dlJ10sXG4gICAgICAgIFsnZG9nZWNvaW5UZXN0JywgJ3Rkb2dlJ10sXG4gICAgICAgIFsnZWNhc2gnLCAnYmNoYSddLFxuICAgICAgICBbJ2VjYXNoVGVzdCcsICd0YmNoYSddLFxuICAgICAgICBbJ2xpdGVjb2luJywgJ2x0YyddLFxuICAgICAgICBbJ2xpdGVjb2luVGVzdCcsICd0bHRjJ10sXG4gICAgICAgIFsnemNhc2gnLCAnemVjJ10sXG4gICAgICAgIFsnemNhc2hUZXN0JywgJ3R6ZWMnXSxcbiAgICAgIF1cbiAgICApO1xuICB9KTtcblxuICBpdCgnZ2V0TWFpbm5ldENvaW5OYW1lIHJldHVybnMgY29ycmVjdCBtYWlubmV0IGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICAvLyBNYWlubmV0IGNvaW5zIHJldHVybiB0aGVtc2VsdmVzXG4gICAgZm9yIChjb25zdCBjb2luIG9mIHV0eG9Db2luc01haW5uZXQpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRNYWlubmV0Q29pbk5hbWUoY29pbiksIGNvaW4pO1xuICAgIH1cblxuICAgIC8vIFRlc3RuZXQgY29pbnMgcmV0dXJuIHRoZWlyIG1haW5uZXQgY291bnRlcnBhcnRcbiAgICBmb3IgKGNvbnN0IGNvaW4gb2YgdXR4b0NvaW5zVGVzdG5ldCkge1xuICAgICAgY29uc3QgbWFpbm5ldCA9IGdldE1haW5uZXRDb2luTmFtZShjb2luKTtcbiAgICAgIGFzc2VydC5vayh1dHhvQ29pbnNNYWlubmV0LmluY2x1ZGVzKG1haW5uZXQpLCBgJHtjb2lufSAtPiAke21haW5uZXR9IHNob3VsZCBiZSBhIG1haW5uZXQgY29pbmApO1xuICAgIH1cblxuICAgIC8vIFZlcmlmeSBzcGVjaWZpYyBtYXBwaW5ncyBmb3Igc3BlY2lhbCBCaXRjb2luIHRlc3RuZXQgdmFyaWFudHNcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0TWFpbm5ldENvaW5OYW1lKCd0YnRjJyksICdidGMnKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0TWFpbm5ldENvaW5OYW1lKCd0YnRjNCcpLCAnYnRjJyk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldE1haW5uZXRDb2luTmFtZSgndGJ0Y3NpZycpLCAnYnRjJyk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldE1haW5uZXRDb2luTmFtZSgndGJ0Y2Jnc2lnJyksICdidGMnKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMseURBQTJDO0FBRTNDLDJDQUF5RjtBQUV6RixpQ0FBOEY7QUFFOUYsUUFBUSxDQUFDLFdBQVcsRUFBRTtJQUNwQixFQUFFLENBQUMsNkNBQTZDLEVBQUU7UUFDaEQsTUFBTSxDQUFDLGVBQWUsQ0FDcEIsZ0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDWixDQUFDLENBQUMsU0FBUyxFQUFFO1lBQ2IsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNmLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBQSw0QkFBcUIsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEQsQ0FBQyxFQUNGO1lBQ0UsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDcEMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsQ0FBQztZQUM3QyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUM7WUFDbEUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDO1lBQ3ZELENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztZQUNsRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztZQUM3QyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUM7WUFDN0QsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFB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Z0IsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSwwQkFBa0IsRUFBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsaURBQWlEO1FBQ2pELEtBQUssTUFBTSxJQUFJLElBQUksd0JBQWdCLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDBCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsd0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxPQUFPLE9BQU8sMkJBQTJCLENBQUMsQ0FBQztRQUNsRyxDQUFDO1FBRUQsZ0VBQWdFO1FBQ2hFLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSwwQkFBa0IsRUFBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUEsMEJBQWtCLEVBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFBLDBCQUFrQixFQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSwwQkFBa0IsRUFBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgZ2V0TWFpbm5ldENvaW5OYW1lLCB1dHhvQ29pbnNNYWlubmV0LCB1dHhvQ29pbnNUZXN0bmV0IH0gZnJvbSAnLi4vLi4vc3JjL25hbWVzJztcblxuaW1wb3J0IHsgZ2V0TmV0d29ya0ZvckNvaW5OYW1lLCBnZXRVdHhvQ29pbkZvck5ldHdvcmssIGdldFV0eG9Db2luLCB1dHhvQ29pbnMgfSBmcm9tICcuL3V0aWwnO1xuXG5kZXNjcmliZSgndXR4b0NvaW5zJywgZnVuY3Rpb24gKCkge1xuICBpdCgnaGFzIGV4cGVjdGVkIGNoYWluL25ldHdvcmsgdmFsdWVzIGZvciBpdGVtcycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFxuICAgICAgdXR4b0NvaW5zLm1hcCgoYykgPT4gW1xuICAgICAgICBjLmdldENoYWluKCksXG4gICAgICAgIGMuZ2V0RmFtaWx5KCksXG4gICAgICAgIGMuZ2V0RnVsbE5hbWUoKSxcbiAgICAgICAgdXR4b2xpYi5nZXROZXR3b3JrTmFtZShnZXROZXR3b3JrRm9yQ29pbk5hbWUoYy5uYW1lKSksXG4gICAgICBdKSxcbiAgICAgIFtcbiAgICAgICAgWydidGMnLCAnYnRjJywgJ0JpdGNvaW4nLCAnYml0Y29pbiddLFxuICAgICAgICBbJ3RidGMnLCAnYnRjJywgJ1Rlc3RuZXQgQml0Y29pbicsICd0ZXN0bmV0J10sXG4gICAgICAgIFsndGJ0Y3NpZycsICdidGMnLCAnUHVibGljIFNpZ25ldCBCaXRjb2luJywgJ2JpdGNvaW5QdWJsaWNTaWduZXQnXSxcbiAgICAgICAgWyd0YnRjNCcsICdidGMnLCAnVGVzdG5ldDQgQml0Y29pbicsICdiaXRjb2luVGVzdG5ldDQnXSxcbiAgICAgICAgWyd0YnRjYmdzaWcnLCAnYnRjJywgJ0JpdEdvIFNpZ25ldCBCaXRjb2luJywgJ2JpdGNvaW5CaXRHb1NpZ25ldCddLFxuICAgICAgICBbJ2JjaCcsICdiY2gnLCAnQml0Y29pbiBDYXNoJywgJ2JpdGNvaW5jYXNoJ10sXG4gICAgICAgIFsndGJjaCcsICdiY2gnLCAnVGVzdG5ldCBCaXRjb2luIENhc2gnLCAnYml0Y29pbmNhc2hUZXN0bmV0J10sXG4gICAgICAgIFsnYnRnJywgJ2J0ZycsICdCaXRjb2luIEdvbGQnLCAnYml0Y29pbmdvbGQnXSxcbiAgICAgICAgWydic3YnLCAnYnN2JywgJ0JpdGNvaW4gU1YnLCAnYml0Y29pbnN2J10sXG4gICAgICAgIFsndGJzdicsICdic3YnLCAnVGVzdG5ldCBCaXRjb2luIFNWJywgJ2JpdGNvaW5zdlRlc3RuZXQnXSxcbiAgICAgICAgWydkYXNoJywgJ2Rhc2gnLCAnRGFzaCcsICdkYXNoJ10sXG4gICAgICAgIFsndGRhc2gnLCAnZGFzaCcsICdUZXN0bmV0IERhc2gnLCAnZGFzaFRlc3QnXSxcbiAgICAgICAgWydkb2dlJywgJ2RvZ2UnLCAnRG9nZWNvaW4nLCAnZG9nZWNvaW4nXSxcbiAgICAgICAgWyd0ZG9nZScsICdkb2dlJywgJ1Rlc3RuZXQgRG9nZWNvaW4nLCAnZG9nZWNvaW5UZXN0J10sXG4gICAgICAgIFsnYmNoYScsICdiY2hhJywgJ0JpdGNvaW4gQUJDJywgJ2VjYXNoJ10sXG4gICAgICAgIFsndGJjaGEnLCAnYmNoYScsICdUZXN0bmV0IEJpdGNvaW4gQUJDJywgJ2VjYXNoVGVzdCddLFxuICAgICAgICBbJ2x0YycsICdsdGMnLCAnTGl0ZWNvaW4nLCAnbGl0ZWNvaW4nXSxcbiAgICAgICAgWyd0bHRjJywgJ2x0YycsICdUZXN0bmV0IExpdGVjb2luJywgJ2xpdGVjb2luVGVzdCddLFxuICAgICAgICBbJ3plYycsICd6ZWMnLCAnWkNhc2gnLCAnemNhc2gnXSxcbiAgICAgICAgWyd0emVjJywgJ3plYycsICdUZXN0bmV0IFpDYXNoJywgJ3pjYXNoVGVzdCddLFxuICAgICAgXVxuICAgICk7XG5cbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFxuICAgICAgdXR4b2xpYi5nZXROZXR3b3JrTGlzdCgpLm1hcCgobmV0d29yayk6IFtzdHJpbmcgfCB1bmRlZmluZWQsIHN0cmluZyB8IHVuZGVmaW5lZF0gPT4ge1xuICAgICAgICBsZXQgY29pbjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb2luID0gZ2V0VXR4b0NvaW5Gb3JOZXR3b3JrKG5ldHdvcmspO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gaWdub3JlXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW3V0eG9saWIuZ2V0TmV0d29ya05hbWUobmV0d29yayksIGNvaW4/LmdldENoYWluKCldO1xuICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIFsnYml0Y29pbicsICdidGMnXSxcbiAgICAgICAgWyd0ZXN0bmV0JywgJ3RidGMnXSxcbiAgICAgICAgWydiaXRjb2luUHVibGljU2lnbmV0JywgJ3RidGNzaWcnXSxcbiAgICAgICAgWydiaXRjb2luVGVzdG5ldDQnLCAndGJ0YzQnXSxcbiAgICAgICAgWydiaXRjb2luQml0R29TaWduZXQnLCAndGJ0Y2Jnc2lnJ10sXG4gICAgICAgIFsnYml0Y29pbmNhc2gnLCAnYmNoJ10sXG4gICAgICAgIFsnYml0Y29pbmNhc2hUZXN0bmV0JywgJ3RiY2gnXSxcbiAgICAgICAgWydiaXRjb2luZ29sZCcsICdidGcnXSxcbiAgICAgICAgWydiaXRjb2luZ29sZFRlc3RuZXQnLCB1bmRlZmluZWRdLFxuICAgICAgICBbJ2JpdGNvaW5zdicsICdic3YnXSxcbiAgICAgICAgWydiaXRjb2luc3ZUZXN0bmV0JywgJ3Ric3YnXSxcbiAgICAgICAgWydkYXNoJywgJ2Rhc2gnXSxcbiAgICAgICAgWydkYXNoVGVzdCcsICd0ZGFzaCddLFxuICAgICAgICBbJ2RvZ2Vjb2luJywgJ2RvZ2UnXSxcbiAgICAgICAgWydkb2dlY29pblRlc3QnLCAndGRvZ2UnXSxcbiAgICAgICAgWydlY2FzaCcsICdiY2hhJ10sXG4gICAgICAgIFsnZWNhc2hUZXN0JywgJ3RiY2hhJ10sXG4gICAgICAgIFsnbGl0ZWNvaW4nLCAnbHRjJ10sXG4gICAgICAgIFsnbGl0ZWNvaW5UZXN0JywgJ3RsdGMnXSxcbiAgICAgICAgWyd6Y2FzaCcsICd6ZWMnXSxcbiAgICAgICAgWyd6Y2FzaFRlc3QnLCAndHplYyddLFxuICAgICAgXVxuICAgICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc1ZhbGlkQWRkcmVzcyB3aXRoIGFsbG93TGlnaHRuaW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGJ0YyA9IGdldFV0eG9Db2luKCdidGMnKTtcbiAgICBjb25zdCB0YnRjID0gZ2V0VXR4b0NvaW4oJ3RidGMnKTtcbiAgICBjb25zdCBiY2ggPSBnZXRVdHhvQ29pbignYmNoJyk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBub2RlIHB1YmtleXMgYW5kIGludm9pY2VzIHdpdGhvdXQgYWxsb3dMaWdodG5pbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGJ0Yy5pc1ZhbGlkQWRkcmVzcygnMDJlZWM3MjQ1ZDZiN2QyY2NiMzAzODBiZmJlMmEzNjQ4Y2Q3YTk0MjY1M2Y1YWEzNDBlZGNlYTFmMjgzNjg2NjE5JyksXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJ0Yy5pc1ZhbGlkQWRkcmVzcygnbG5iYzE1MDBuMXBqMGdnYXZwcDVleGFtcGxlJyksIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYWNjZXB0IG5vZGUgcHVia2V5cyB3aXRoIGFsbG93TGlnaHRuaW5nJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBidGMuaXNWYWxpZEFkZHJlc3MoJzAyZWVjNzI0NWQ2YjdkMmNjYjMwMzgwYmZiZTJhMzY0OGNkN2E5NDI2NTNmNWFhMzQwZWRjZWExZjI4MzY4NjYxOScsIHtcbiAgICAgICAgICBhbGxvd0xpZ2h0bmluZzogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIHRidGMuaXNWYWxpZEFkZHJlc3MoJzAzZTcxNTZhZTMzYjBhMjA4ZDA3NDQxOTkxNjMxNzdlOTA5ZTgwMTc2ZTU1ZDk3YTJmMjIxZWRlMGY5MzRkZDlhZCcsIHtcbiAgICAgICAgICBhbGxvd0xpZ2h0bmluZzogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBpbnZhbGlkIG5vZGUgcHVia2V5cyBldmVuIHdpdGggYWxsb3dMaWdodG5pbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyB3cm9uZyBwcmVmaXhcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgYnRjLmlzVmFsaWRBZGRyZXNzKCcwNGVlYzcyNDVkNmI3ZDJjY2IzMDM4MGJmYmUyYTM2NDhjZDdhOTQyNjUzZjVhYTM0MGVkY2VhMWYyODM2ODY2MTknLCB7XG4gICAgICAgICAgYWxsb3dMaWdodG5pbmc6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICAgIC8vIHRvbyBzaG9ydFxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBidGMuaXNWYWxpZEFkZHJlc3MoJzAyZWVjNzI0NWQ2YjdkMmNjYjMwMzgwYmZiZTJhMzY0OGNkN2E5NDI2NTNmNWFhMzQwZWRjZWExZjI4MzY4Jywge1xuICAgICAgICAgIGFsbG93TGlnaHRuaW5nOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFjY2VwdCBib2x0MTEgaW52b2ljZXMgd2l0aCBhbGxvd0xpZ2h0bmluZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidGMuaXNWYWxpZEFkZHJlc3MoJ2xuYmMxNTAwbjFwajBnZ2F2cHA1ZXhhbXBsZScsIHsgYWxsb3dMaWdodG5pbmc6IHRydWUgfSksIHRydWUpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHRidGMuaXNWYWxpZEFkZHJlc3MoJ2xudGIxNTAwbjFwajBnZ2F2cHA1ZXhhbXBsZScsIHsgYWxsb3dMaWdodG5pbmc6IHRydWUgfSksIHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3Qgbm9uLWJvbHQxMSBzdHJpbmdzIHdpdGggYWxsb3dMaWdodG5pbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnRjLmlzVmFsaWRBZGRyZXNzKCdsbnh5ejE1MDBuMXBqMGdnYXZwcDVleGFtcGxlJywgeyBhbGxvd0xpZ2h0bmluZzogdHJ1ZSB9KSwgZmFsc2UpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJ0Yy5pc1ZhbGlkQWRkcmVzcygnbm90LWFuLWFkZHJlc3MnLCB7IGFsbG93TGlnaHRuaW5nOiB0cnVlIH0pLCBmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHN0aWxsIGFjY2VwdCByZWd1bGFyIGJpdGNvaW4gYWRkcmVzc2VzIHdpdGggYWxsb3dMaWdodG5pbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnRjLmlzVmFsaWRBZGRyZXNzKCcxQTF6UDFlUDVRR2VmaTJETVBUZlRMNVNMbXY3RGl2Zk5hJywgeyBhbGxvd0xpZ2h0bmluZzogdHJ1ZSB9KSwgdHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBhY2NlcHQgbGlnaHRuaW5nIGFkZHJlc3NlcyBmb3Igbm9uLWJ0YyBjb2lucyB3aXRob3V0IGFsbG93TGlnaHRuaW5nJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBiY2guaXNWYWxpZEFkZHJlc3MoJzAyZWVjNzI0NWQ2YjdkMmNjYjMwMzgwYmZiZTJhMzY0OGNkN2E5NDI2NTNmNWFhMzQwZWRjZWExZjI4MzY4NjYxOScpLFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChiY2guaXNWYWxpZEFkZHJlc3MoJ2xuYmMxNTAwbjFwajBnZ2F2cHA1ZXhhbXBsZScpLCBmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdnZXRNYWlubmV0Q29pbk5hbWUgcmV0dXJucyBjb3JyZWN0IG1haW5uZXQgY29pbiBuYW1lJywgZnVuY3Rpb24gKCkge1xuICAgIC8vIE1haW5uZXQgY29pbnMgcmV0dXJuIHRoZW1zZWx2ZXNcbiAgICBmb3IgKGNvbnN0IGNvaW4gb2YgdXR4b0NvaW5zTWFpbm5ldCkge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldE1haW5uZXRDb2luTmFtZShjb2luKSwgY29pbik7XG4gICAgfVxuXG4gICAgLy8gVGVzdG5ldCBjb2lucyByZXR1cm4gdGhlaXIgbWFpbm5ldCBjb3VudGVycGFydFxuICAgIGZvciAoY29uc3QgY29pbiBvZiB1dHhvQ29pbnNUZXN0bmV0KSB7XG4gICAgICBjb25zdCBtYWlubmV0ID0gZ2V0TWFpbm5ldENvaW5OYW1lKGNvaW4pO1xuICAgICAgYXNzZXJ0Lm9rKHV0eG9Db2luc01haW5uZXQuaW5jbHVkZXMobWFpbm5ldCksIGAke2NvaW59IC0+ICR7bWFpbm5ldH0gc2hvdWxkIGJlIGEgbWFpbm5ldCBjb2luYCk7XG4gICAgfVxuXG4gICAgLy8gVmVyaWZ5IHNwZWNpZmljIG1hcHBpbmdzIGZvciBzcGVjaWFsIEJpdGNvaW4gdGVzdG5ldCB2YXJpYW50c1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRNYWlubmV0Q29pbk5hbWUoJ3RidGMnKSwgJ2J0YycpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRNYWlubmV0Q29pbk5hbWUoJ3RidGM0JyksICdidGMnKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0TWFpbm5ldENvaW5OYW1lKCd0YnRjc2lnJyksICdidGMnKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0TWFpbm5ldENvaW5OYW1lKCd0YnRjYmdzaWcnKSwgJ2J0YycpO1xuICB9KTtcbn0pO1xuIl19
|