@bitgo-beta/sdk-coin-sol 7.6.4-beta.790 → 7.6.4-beta.792
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/lib/constants.d.ts +8 -0
- package/dist/cjs/src/lib/constants.d.ts.map +1 -1
- package/dist/cjs/src/lib/constants.js +13 -2
- package/dist/cjs/src/lib/explainTransactionWasm.d.ts.map +1 -1
- package/dist/cjs/src/lib/explainTransactionWasm.js +26 -8
- package/dist/cjs/src/lib/instructionParamsFactory.d.ts.map +1 -1
- package/dist/cjs/src/lib/instructionParamsFactory.js +13 -1
- package/dist/cjs/src/lib/utils.d.ts +12 -1
- package/dist/cjs/src/lib/utils.d.ts.map +1 -1
- package/dist/cjs/src/lib/utils.js +55 -3
- package/dist/cjs/src/sol.d.ts.map +1 -1
- package/dist/cjs/src/sol.js +9 -1
- package/dist/cjs/test/resources/sol.d.ts +1 -1
- package/dist/cjs/test/resources/sol.d.ts.map +1 -1
- package/dist/cjs/test/resources/sol.js +2 -2
- package/dist/cjs/test/unit/explainTransactionWasm.js +82 -1
- package/dist/cjs/test/unit/instructionParamsFactory.staking.js +14 -38
- package/dist/cjs/test/unit/sol.js +63 -1
- package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +2 -2
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/lib/constants.d.ts +8 -0
- package/dist/esm/lib/constants.d.ts.map +1 -1
- package/dist/esm/lib/constants.js +12 -1
- package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -1
- package/dist/esm/lib/explainTransactionWasm.js +26 -8
- package/dist/esm/lib/instructionParamsFactory.d.ts.map +1 -1
- package/dist/esm/lib/instructionParamsFactory.js +13 -1
- package/dist/esm/lib/utils.d.ts +12 -1
- package/dist/esm/lib/utils.d.ts.map +1 -1
- package/dist/esm/lib/utils.js +53 -4
- package/dist/esm/sol.d.ts.map +1 -1
- package/dist/esm/sol.js +10 -2
- package/package.json +8 -8
|
@@ -202,6 +202,14 @@ export declare const marinadeStakingDeactivateInstructionsIndexes: {
|
|
|
202
202
|
readonly Transfer: 0;
|
|
203
203
|
readonly Memo: 1;
|
|
204
204
|
};
|
|
205
|
+
/**
|
|
206
|
+
* Marinade native-staking unstake has no on-chain program instruction: it is a single SystemProgram
|
|
207
|
+
* Transfer to one of Marinade's order addresses plus a PrepareForRevoke memo, acted on off-chain.
|
|
208
|
+
* The destination and amount are therefore the only server-independent signal that it is genuine.
|
|
209
|
+
*/
|
|
210
|
+
export declare const MARINADE_ORDER_ADDRESSES: readonly string[];
|
|
211
|
+
/** Lamports BitGo sends per Marinade unstake order (marinade.unstakeTransferAmount in staking-service) */
|
|
212
|
+
export declare const MARINADE_UNSTAKE_TRANSFER_LAMPORTS: bigint;
|
|
205
213
|
/** Const to check the order of the Partial Staking Deactivate instructions when decoded */
|
|
206
214
|
export declare const stakingPartialDeactivateInstructionsIndexes: {
|
|
207
215
|
readonly Transfer: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validInstructionData2 = exports.validInstructionData = exports.nonceAdvanceInstruction = exports.ataRecoverNestedInstructionIndexes = exports.ataCloseInstructionIndexes = exports.ataInitInstructionIndexes = exports.stakingWithdrawInstructionsIndexes = exports.stakingPartialDeactivateInstructionsIndexes = exports.marinadeStakingDeactivateInstructionsIndexes = exports.stakingDeactivateInstructionsIndexes = exports.stakingDelegateInstructionsIndexes = exports.stakingAuthorizeInstructionsIndexes = exports.jitoStakingDeactivateInstructionsIndexes = exports.jitoStakingActivateWithATAInstructionsIndexes = exports.jitoStakingActivateInstructionsIndexes = exports.marinadeStakingActivateInstructionsIndexes = exports.stakingActivateInstructionsIndexes = exports.walletInitInstructionIndexes = exports.VALID_SYSTEM_INSTRUCTION_TYPES = exports.InstructionBuilderTypes = exports.ValidInstructionTypesEnum = exports.TOKEN_ACL_THAW_EXTRA_METAS_SEED = exports.TOKEN_ACL_FLAG_ACCOUNT_SEED = exports.TOKEN_ACL_MINT_CONFIG_SEED = exports.THAW_PERMISSIONLESS_IDEMPOTENT_DISCRIMINATOR = exports.TOKEN_ACL_PROGRAM_ID = exports.JITO_MANAGER_FEE_ACCOUNT_TESTNET = exports.JITO_MANAGER_FEE_ACCOUNT = exports.JITO_STAKE_POOL_RESERVE_ACCOUNT_TESTNET = exports.JITO_STAKE_POOL_RESERVE_ACCOUNT = exports.JITOSOL_MINT_ADDRESS = exports.JITO_STAKE_POOL_ADDRESS = exports.SOLANA_TRANSACTION_MAX_SIZE = exports.CT_SUB_DISCRIMINATORS = exports.CT_EXT_DISCRIMINATOR = exports.ZK_ELGAMAL_PROOF_PROGRAM_ID = exports.INSTRUCTIONS_SYSVAR_ADDRESS = exports.UNAVAILABLE_TEXT = exports.MAX_COMPUTE_UNIT_LIMIT = exports.STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT = exports.MAX_MEMO_LENGTH = exports.SEED_LENGTH = exports.MEMO_PROGRAM_PK = void 0;
|
|
3
|
+
exports.validInstructionData2 = exports.validInstructionData = exports.nonceAdvanceInstruction = exports.ataRecoverNestedInstructionIndexes = exports.ataCloseInstructionIndexes = exports.ataInitInstructionIndexes = exports.stakingWithdrawInstructionsIndexes = exports.stakingPartialDeactivateInstructionsIndexes = exports.MARINADE_UNSTAKE_TRANSFER_LAMPORTS = exports.MARINADE_ORDER_ADDRESSES = exports.marinadeStakingDeactivateInstructionsIndexes = exports.stakingDeactivateInstructionsIndexes = exports.stakingDelegateInstructionsIndexes = exports.stakingAuthorizeInstructionsIndexes = exports.jitoStakingDeactivateInstructionsIndexes = exports.jitoStakingActivateWithATAInstructionsIndexes = exports.jitoStakingActivateInstructionsIndexes = exports.marinadeStakingActivateInstructionsIndexes = exports.stakingActivateInstructionsIndexes = exports.walletInitInstructionIndexes = exports.VALID_SYSTEM_INSTRUCTION_TYPES = exports.InstructionBuilderTypes = exports.ValidInstructionTypesEnum = exports.TOKEN_ACL_THAW_EXTRA_METAS_SEED = exports.TOKEN_ACL_FLAG_ACCOUNT_SEED = exports.TOKEN_ACL_MINT_CONFIG_SEED = exports.THAW_PERMISSIONLESS_IDEMPOTENT_DISCRIMINATOR = exports.TOKEN_ACL_PROGRAM_ID = exports.JITO_MANAGER_FEE_ACCOUNT_TESTNET = exports.JITO_MANAGER_FEE_ACCOUNT = exports.JITO_STAKE_POOL_RESERVE_ACCOUNT_TESTNET = exports.JITO_STAKE_POOL_RESERVE_ACCOUNT = exports.JITOSOL_MINT_ADDRESS = exports.JITO_STAKE_POOL_ADDRESS = exports.SOLANA_TRANSACTION_MAX_SIZE = exports.CT_SUB_DISCRIMINATORS = exports.CT_EXT_DISCRIMINATOR = exports.ZK_ELGAMAL_PROOF_PROGRAM_ID = exports.INSTRUCTIONS_SYSVAR_ADDRESS = exports.UNAVAILABLE_TEXT = exports.MAX_COMPUTE_UNIT_LIMIT = exports.STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT = exports.MAX_MEMO_LENGTH = exports.SEED_LENGTH = exports.MEMO_PROGRAM_PK = void 0;
|
|
4
4
|
exports.MEMO_PROGRAM_PK = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr';
|
|
5
5
|
exports.SEED_LENGTH = 32;
|
|
6
6
|
exports.MAX_MEMO_LENGTH = 130;
|
|
@@ -244,6 +244,17 @@ exports.marinadeStakingDeactivateInstructionsIndexes = {
|
|
|
244
244
|
Transfer: 0,
|
|
245
245
|
Memo: 1,
|
|
246
246
|
};
|
|
247
|
+
/**
|
|
248
|
+
* Marinade native-staking unstake has no on-chain program instruction: it is a single SystemProgram
|
|
249
|
+
* Transfer to one of Marinade's order addresses plus a PrepareForRevoke memo, acted on off-chain.
|
|
250
|
+
* The destination and amount are therefore the only server-independent signal that it is genuine.
|
|
251
|
+
*/
|
|
252
|
+
exports.MARINADE_ORDER_ADDRESSES = [
|
|
253
|
+
'opNS8ENpEMWdXcJUgJCsJTDp7arTXayoBEeBUg6UezP', // native
|
|
254
|
+
'opiNSvKm1aPkbuSjnZfY5vyJUmaVxuQyTJt6jnNTW1L', // select
|
|
255
|
+
];
|
|
256
|
+
/** Lamports BitGo sends per Marinade unstake order (marinade.unstakeTransferAmount in staking-service) */
|
|
257
|
+
exports.MARINADE_UNSTAKE_TRANSFER_LAMPORTS = BigInt(2300000);
|
|
247
258
|
/** Const to check the order of the Partial Staking Deactivate instructions when decoded */
|
|
248
259
|
exports.stakingPartialDeactivateInstructionsIndexes = {
|
|
249
260
|
Transfer: 0,
|
|
@@ -274,4 +285,4 @@ exports.ataRecoverNestedInstructionIndexes = {
|
|
|
274
285
|
exports.nonceAdvanceInstruction = 'AdvanceNonceAccount';
|
|
275
286
|
exports.validInstructionData = '0a00000001000000';
|
|
276
287
|
exports.validInstructionData2 = '0a00000000000000';
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxlQUFlLEdBQUcsNkNBQTZDLENBQUM7QUFFaEUsUUFBQSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRWpCLFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUN0QixRQUFBLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsT0FBUyxDQUFDO0FBRW5DLFFBQUEsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsNkNBQTZDLENBQUM7QUFFekY7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyw2Q0FBNkMsQ0FBQztBQUV6Rjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOzs7R0FHRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDbkQsQ0FBQyxFQUFFLG1CQUFtQjtJQUN0QixDQUFDLEVBQUUsVUFBVTtJQUNiLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLFdBQVc7SUFDZCxDQUFDLEVBQUUsc0JBQXNCO0NBQzFCLENBQUMsQ0FBQztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxJQUFJLENBQUM7QUFFbkMsUUFBQSx1QkFBdUIsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RSxRQUFBLG9CQUFvQixHQUFHLDhDQUE4QyxDQUFDO0FBQ3RFLFFBQUEsK0JBQStCLEdBQUcsOENBQThDLENBQUM7QUFDakYsUUFBQSx1Q0FBdUMsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RixRQUFBLHdCQUF3QixHQUFHLDZDQUE2QyxDQUFDO0FBQ3pFLFFBQUEsZ0NBQWdDLEdB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WCx3RUFBd0U7QUFDM0QsUUFBQSwwQkFBMEIsR0FBRztJQUN4QywyQkFBMkIsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFWCxrRkFBa0Y7QUFDckUsUUFBQSxrQ0FBa0MsR0FBRztJQUNoRCxtQ0FBbUMsRUFBRSxDQUFDO0NBQzlCLENBQUM7QUFFRSxRQUFBLHVCQUF1QixHQUFHLHFCQUFxQixDQUFDO0FBQ2hELFFBQUEsb0JBQW9CLEdBQUcsa0JBQWtCLENBQUM7QUFDMUMsUUFBQSxxQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlcyB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgY29uc3QgTUVNT19QUk9HUkFNX1BLID0gJ01lbW9TcTRncUFCQVhLYjk2cW5IOFR5c05jV3hNeVdDcVhnRExHbWZjSHInO1xuXG5leHBvcnQgY29uc3QgU0VFRF9MRU5HVEggPSAzMjtcblxuZXhwb3J0IGNvbnN0IE1BWF9NRU1PX0xFTkdUSCA9IDEzMDtcbmV4cG9ydCBjb25zdCBTVEFLRV9BQ0NPVU5UX1JFTlRfRVhFTVBUX0FNT1VOVCA9IDIyODI4ODA7XG5cbi8qKlxuICogTWF4aW11bSBjb21wdXRlIHVuaXRzIGEgc2luZ2xlIHRyYW5zYWN0aW9uIGNhbiByZXF1ZXN0IHRocm91Z2ggdGhlIGNvbXB1dGVcbiAqIGJ1ZGdldCBwcm9ncmFtIChTZXRDb21wdXRlVW5pdExpbWl0KSwgZW5mb3JjZWQgb24tY2hhaW4gYnkgdGhlIHJ1bnRpbWUuXG4gKiBUaGUgcHJpb3JpdHkgZmVlIGlzIGNoYXJnZWQgb24gdGhlIHJlcXVlc3RlZCBsaW1pdCByYXRoZXIgdGhhbiB0aGUgdW5pdHNcbiAqIGFjdHVhbGx5IGNvbnN1bWVkLCBzbyBidWlsZGVycyBtdXN0IHNldCBhbiBpbnRlbnQtc2l6ZWQgbGltaXQgYmVsb3cgdGhpcyBjYXAuXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfQ09NUFVURV9VTklUX0xJTUlUID0gMV80MDBfMDAwO1xuXG5leHBvcnQgY29uc3QgVU5BVkFJTEFCTEVfVEVYVCA9ICdVTkFWQUlMQUJMRSc7XG5cbi8qKlxuICogU3lzdmFyIGluc3RydWN0aW9ucyBhY2NvdW50IGFkZHJlc3Mg4oCUIHVzZWQgYnkgVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXJcbiAqIGluc3RydWN0aW9ucyB0byBsb2NhdGUgaW5saW5lIHByb29mIHZlcmlmaWNhdGlvbiBpbnN0cnVjdGlvbnMgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBJTlNUUlVDVElPTlNfU1lTVkFSX0FERFJFU1MgPSAnU3lzdmFyMW5zdHJ1Y3Rpb25zMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogQ2Fub25pY2FsIG9uLWNoYWluIHByb2dyYW0gaWQgb2YgdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbS5cbiAqXG4gKiBUaGlzIGlzIHRoZSBzYW1lIGFjcm9zcyBtYWlubmV0LCBkZXZuZXQsIGFuZCB0ZXN0bmV0IOKAlCBpdCBpcyBhIG5hdGl2ZVxuICogYnVpbHQtaW4gcHJvZ3JhbS4gQ2FsbGVycyBjYW4gb3ZlcnJpZGUgdmlhIENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlclxuICogLnprUHJvb2ZQcm9ncmFtSWQoKSBpZiB0YXJnZXRpbmcgYSBjdXN0b20gZGVwbG95bWVudC5cbiAqXG4gKiBOb3RlOiBUaGUgZGVwcmVjYXRlZCB6ay10b2tlbi1wcm9vZiBwcm9ncmFtIGlkIGlzXG4gKiBgWmtUb2tlblByb29mMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMWAuXG4gKi9cbmV4cG9ydCBjb25zdCBaS19FTEdBTUFMX1BST09GX1BST0dSQU1fSUQgPSAnWmtFMUdhbWExUHJvb2YxMTExMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXIgZXh0ZW5zaW9uIGRpc2NyaW1pbmF0b3IgKGJ5dGUgMCBvZiBpbnN0cnVjdGlvbiBkYXRhKS5cbiAqL1xuZXhwb3J0IGNvbnN0IENUX0VYVF9ESVNDUklNSU5BVE9SID0gMjc7XG5cbi8qKlxuICogVmFsaWQgQ1Qgc3ViLWluc3RydWN0aW9uIGRpc2NyaW1pbmF0b3JzIChieXRlIDEgYWZ0ZXIgQ1RfRVhUX0RJU0NSSU1JTkFUT1IpLlxuICogVXNlZCBmb3IgdHJhbnNhY3Rpb24gdHlwZSBkZXRlY3Rpb24gKGdldFRyYW5zYWN0aW9uVHlwZSAvIGRlcml2ZVRyYW5zYWN0aW9uVHlwZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBDVF9TVUJfRElTQ1JJTUlOQVRPUlMgPSBuZXcgU2V0PG51bWJlcj4oW1xuICAyLCAvLyBDb25maWd1cmVBY2NvdW50XG4gIDUsIC8vIERlcG9zaXRcbiAgNiwgLy8gV2l0aGRyYXdcbiAgNywgLy8gVHJhbnNmZXJcbiAgOCwgLy8gQXBwbHlQZW5kaW5nQmFsYW5jZVxuXSk7XG5cbi8qKlxuICogTWF4aW11bSBvdmVyLXRoZS13aXJlIHNpemUgb2YgYSBTb2xhbmEgdHJhbnNhY3Rpb24gKGluIGJ5dGVzKVxuICpcbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2FuemEteHl6L2FnYXZlL2Jsb2IvdjIuMS4xMy9zZGsvcGFja2V0L3NyYy9saWIucnMjTDI3LUwyOVxuICpcbiAqIENhbGN1bGF0aW9uOlxuICogLSBJUHY2IG1pbmltdW0gTVRVOiAxMjgwIGJ5dGVzXG4gKiAtIElQdjYgaGVhZGVyOiA0MCBieXRlc1xuICogLSBGcmFnbWVudC9VRFAgaGVhZGVyOiA4IGJ5dGVzXG4gKiAtIFJlc3VsdDogMTI4MCAtIDQwIC0gOCA9IDEyMzIgYnl0ZXNcbiAqXG4gKiBUaGlzIGxpbWl0IGlzIGRlc2lnbmVkIHRvIGF2b2lkIHBhY2tldCBmcmFnbWVudGF0aW9uIG9uIHR5cGljYWwgaW50ZXJuZXQgaW5mcmFzdHJ1Y3R1cmUuXG4gKiBUcmFuc2FjdGlvbnMgZXhjZWVkaW5nIHRoaXMgbGltaXQgd2lsbCBmYWlsIHRvIHNlcmlhbGl6ZSB3aXRoIGEgUmFuZ2VFcnJvciBkdXJpbmdcbiAqIHRoZSBlbmNvZGluZyBvZiB0aGUgdHJhbnNhY3Rpb24gbWVzc2FnZS5cbiAqXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vc29sYW5hLmNvbS9kb2NzL2NvcmUvdHJhbnNhY3Rpb25zI3RyYW5zYWN0aW9uLXNpemVcbiAqL1xuZXhwb3J0IGNvbnN0IFNPTEFOQV9UUkFOU0FDVElPTl9NQVhfU0laRSA9IDEyMzI7XG5cbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfQUREUkVTUyA9ICdKaXRvNEFQeWY2NDJKUFpQeDNoR2M2V1dKOHpQS3RSYlJzNFA4MTVBd2JiJztcbmV4cG9ydCBjb25zdCBKSVRPU09MX01JTlRfQUREUkVTUyA9ICdKMXRvc28xdUNrM1JMbWpvcmhUdHJWd1k5SEo3WDhWOXlZYWM2WTdrR0NQbic7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVCA9ICdCZ0tVWGRTMjlZY0hDRnJQbTVNOG9MSGlUelphTURqc2ViZ2dqb2FRNktGTCc7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVF9URVNUTkVUID0gJ3JyV0JRcVJxQlhZWnczQ21QQ0NjakZ4UTJEczRKRkpkN29SUUo5OTdkaHonO1xuZXhwb3J0IGNvbnN0IEpJVE9fTUFOQUdFUl9GRUVfQUNDT1VOVCA9ICdmZWVlRkxMc2FtNnhaSkZjNlVRRnJIcWt2VnQ0amZtVnZpMkJSTGtVWjRpJztcbmV4cG9ydCBjb25zdCBKSVRPX01BTkFHRVJfRkVFX0FDQ09VTlRfVEVTVE5FVCA9ICdESDd0bWpvUTV6anFjZ2ZZSlUyMkpxbVhoUDVFWTF0a2JZcGdWV1VTMm9Obyc7XG5cbi8qKlxuICogT24tY2hhaW4gcHJvZ3JhbSBpZCBvZiB0aGUgc1JGQy0zNyBUb2tlbiBBQ0wgcHJvZ3JhbS4gVGhpcyBzaW5nbGUgcHJvZ3JhbSBnYXRlcyBldmVyeVxuICogYWxsb3dsaXN0L2Jsb2NrbGlzdCAoRGVmYXVsdEFjY291bnRTdGF0ZSkgVG9rZW4tMjAyMiBtaW50LCBzbyB0aGUgdmFsdWUgaXMgZ2VuZXJpYyBhbmQgbmV2ZXJcbiAqIHRpZWQgdG8gYSBzcGVjaWZpYyBpc3N1ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfUFJPR1JBTV9JRCA9ICdUQUNMa1U2Q2lDZGtRTjJNam95RGtWZzJ5QUg5emt4aUhEc2l6dFE1MlRQJztcblxuLyoqXG4gKiBJbnN0cnVjdGlvbiBkaXNjcmltaW5hdG9yIChhIHNpbmdsZSB1OCBieXRlKSBmb3IgdGhlIFRva2VuIEFDTCBgVGhhd1Blcm1pc3Npb25sZXNzSWRlbXBvdGVudGBcbiAqIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgVEhBV19QRVJNSVNTSU9OTEVTU19JREVNUE9URU5UX0RJU0NSSU1JTkFUT1IgPSA5O1xuXG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgVG9rZW4gQUNMIHByb2dyYW0pIGZvciBhIG1pbnQncyBNaW50Q29uZmlnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX01JTlRfQ09ORklHX1NFRUQgPSAnTUlOVF9DT05GSUcnO1xuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIFRva2VuIEFDTCBwcm9ncmFtKSBmb3IgYSB0b2tlbiBhY2NvdW50J3MgdGhhdyBmbGFnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX0ZMQUdfQUNDT1VOVF9TRUVEID0gJ0ZMQUdfQUNDT1VOVCc7XG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgZ2F0aW5nIHByb2dyYW0pIGZvciBhIG1pbnQncyB0aGF3IEV4dHJhQWNjb3VudE1ldGFMaXN0IGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX1RIQVdfRVhUUkFfTUVUQVNfU0VFRCA9ICd0aGF3X2V4dHJhX2FjY291bnRfbWV0YXMnO1xuXG4vLyBTZGsgaW5zdHJ1Y3Rpb25zLCBtYWlubHkgdG8gY2hlY2sgZGVjb2RlZCB0eXBlcy5cbmV4cG9ydCBlbnVtIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0ge1xuICBBZHZhbmNlTm9uY2VBY2NvdW50ID0gJ0FkdmFuY2VOb25jZUFjY291bnQnLFxuICBDcmVhdGUgPSAnQ3JlYXRlJyxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCA9ICdJbml0aWFsaXplTm9uY2VBY2NvdW50JyxcbiAgU3Rha2luZ0luaXRpYWxpemUgPSAnSW5pdGlhbGl6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdEZWxlZ2F0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ0RlYWN0aXZhdGUnLFxuICBTdGFraW5nV2l0aGRyYXcgPSAnV2l0aGRyYXcnLFxuICBUcmFuc2ZlciA9ICdUcmFuc2ZlcicsXG4gIFRva2VuVHJhbnNmZXIgPSAnVG9rZW5UcmFuc2ZlcicsXG4gIE1lbW8gPSAnTWVtbycsXG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0luaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQWxsb2NhdGUgPSAnQWxsb2NhdGUnLFxuICBBc3NpZ24gPSAnQXNzaWduJyxcbiAgU3BsaXQgPSAnU3BsaXQnLFxuICBBdXRob3JpemUgPSAnQXV0aG9yaXplJyxcbiAgU2V0Q29tcHV0ZVVuaXRMaW1pdCA9ICdTZXRDb21wdXRlVW5pdExpbWl0JyxcbiAgU2V0UHJpb3JpdHlGZWUgPSAnU2V0UHJpb3JpdHlGZWUnLFxuICBNaW50VG8gPSAnTWludFRvJyxcbiAgQnVybiA9ICdCdXJuJyxcbiAgRGVwb3NpdFNvbCA9ICdEZXBvc2l0U29sJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgV2l0aGRyYXdTb2wgPSAnV2l0aGRyYXdTb2wnLFxuICBBcHByb3ZlID0gJ0FwcHJvdmUnLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQgPSAnUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCcsXG4gIC8vIENvbmZpZGVudGlhbCBUcmFuc2ZlciBpbnN0cnVjdGlvbiB0eXBlcyAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gKyB6ay1lbGdhbWFsLXByb29mKVxuICBDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQgPSAnQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50JyxcbiAgQXBwbHlQZW5kaW5nQmFsYW5jZSA9ICdBcHBseVBlbmRpbmdCYWxhbmNlJyxcbiAgQ29uZmlkZW50aWFsRGVwb3NpdCA9ICdDb25maWRlbnRpYWxEZXBvc2l0JyxcbiAgQ29uZmlkZW50aWFsV2l0aGRyYXcgPSAnQ29uZmlkZW50aWFsV2l0aGRyYXcnLFxuICBDb25maWRlbnRpYWxUcmFuc2ZlciA9ICdDb25maWRlbnRpYWxUcmFuc2ZlcicsXG4gIFZlcmlmeVB1YmtleVZhbGlkaXR5ID0gJ1ZlcmlmeVB1YmtleVZhbGlkaXR5JyxcbiAgVmVyaWZ5RXF1YWxpdHlQcm9vZiA9ICdWZXJpZnlFcXVhbGl0eVByb29mJyxcbiAgVmVyaWZ5VmFsaWRpdHlQcm9vZiA9ICdWZXJpZnlWYWxpZGl0eVByb29mJyxcbiAgVmVyaWZ5UmFuZ2VQcm9vZiA9ICdWZXJpZnlSYW5nZVByb29mJyxcbn1cblxuLy8gSW50ZXJuYWwgaW5zdHJ1Y3Rpb25zIHR5cGVzXG5leHBvcnQgZW51bSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB7XG4gIENyZWF0ZU5vbmNlQWNjb3VudCA9ICdDcmVhdGVOb25jZUFjY291bnQnLFxuICBTdGFraW5nQWN0aXZhdGUgPSAnQWN0aXZhdGUnLFxuICBTdGFraW5nRGVhY3RpdmF0ZSA9ICdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1dpdGhkcmF3JyxcbiAgVHJhbnNmZXIgPSAnVHJhbnNmZXInLFxuICBNZW1vID0gJ01lbW8nLFxuICBOb25jZUFkdmFuY2UgPSAnTm9uY2VBZHZhbmNlJyxcbiAgQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgUmVhbGxvY2F0ZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdSZWFsbG9jYXRlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgVG9rZW5UcmFuc2ZlciA9ICdUb2tlblRyYW5zZmVyJyxcbiAgU3Rha2luZ0F1dGhvcml6ZSA9ICdBdXRob3JpemUnLFxuICBTdGFraW5nRGVsZWdhdGUgPSAnRGVsZWdhdGUnLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gJ1NldENvbXB1dGVVbml0TGltaXQnLFxuICBTZXRQcmlvcml0eUZlZSA9ICdTZXRQcmlvcml0eUZlZScsXG4gIE1pbnRUbyA9ICdNaW50VG8nLFxuICBCdXJuID0gJ0J1cm4nLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uID0gJ1ZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uJyxcbiAgQXBwcm92ZSA9ICdBcHByb3ZlJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCA9ICdQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50JyxcbiAgLy8gQ29uZmlkZW50aWFsIFRyYW5zZmVyIGluc3RydWN0aW9uIHR5cGVzIChUb2tlbi0yMDIyIENUIGV4dGVuc2lvbiArIHprLWVsZ2FtYWwtcHJvb2YpXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBBcHBseVBlbmRpbmdCYWxhbmNlID0gJ0FwcGx5UGVuZGluZ0JhbGFuY2UnLFxuICBDb25maWRlbnRpYWxEZXBvc2l0ID0gJ0NvbmZpZGVudGlhbERlcG9zaXQnLFxuICBDb25maWRlbnRpYWxXaXRoZHJhdyA9ICdDb25maWRlbnRpYWxXaXRoZHJhdycsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbiAgVmVyaWZ5UHVia2V5VmFsaWRpdHkgPSAnVmVyaWZ5UHVia2V5VmFsaWRpdHknLFxuICBWZXJpZnlFcXVhbGl0eVByb29mID0gJ1ZlcmlmeUVxdWFsaXR5UHJvb2YnLFxuICBWZXJpZnlWYWxpZGl0eVByb29mID0gJ1ZlcmlmeVZhbGlkaXR5UHJvb2YnLFxuICBWZXJpZnlSYW5nZVByb29mID0gJ1ZlcmlmeVJhbmdlUHJvb2YnLFxufVxuXG5leHBvcnQgY29uc3QgVkFMSURfU1lTVEVNX0lOU1RSVUNUSU9OX1RZUEVTOiBWYWxpZEluc3RydWN0aW9uVHlwZXNbXSA9IFtcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BZHZhbmNlTm9uY2VBY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkNyZWF0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nSW5pdGlhbGl6ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nRGVsZWdhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ0RlYWN0aXZhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ1dpdGhkcmF3LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlRyYW5zZmVyLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkluaXRpYWxpemVOb25jZUFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWVtbyxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Jbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVG9rZW5UcmFuc2ZlcixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BbGxvY2F0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Bc3NpZ24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3BsaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXV0aG9yaXplLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlNldENvbXB1dGVVbml0TGltaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU2V0UHJpb3JpdHlGZWUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWludFRvLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkJ1cm4sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXBwcm92ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5EZXBvc2l0U29sLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLldpdGhkcmF3U3Rha2UsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uV2l0aGRyYXdTb2wsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ3VzdG9tSW5zdHJ1Y3Rpb24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCxcbl07XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFdhbGxldCBJbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHdhbGxldEluaXRJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudDogMSxcbiAgTWVtbzogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplOiAxLFxuICBEZWxlZ2F0ZTogMixcbiAgTWVtbzogMyxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIE1hcmluYWRlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemU6IDEsXG4gIE1lbW86IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlcG9zaXRTb2w6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZVdpdGhBVEFJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgRGVwb3NpdFNvbDogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBBcHByb3ZlOiAwLFxuICBDcmVhdGU6IDEsXG4gIFdpdGhkcmF3U3Rha2U6IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIEF1dGhvcml6ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nQXV0aG9yaXplSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQXV0aG9yaXplOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBEZWxlZ2F0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVsZWdhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBEZWxlZ2F0ZTogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlYWN0aXZhdGU6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBNYXJpbmFkZSBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgUGFydGlhbCBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlZCAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdQYXJ0aWFsRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBBbGxvY2F0ZTogMSxcbiAgQXNzaWduOiAyLFxuICBTcGxpdDogMyxcbiAgRGVhY3RpdmF0ZTogNCxcbiAgTWVtbzogNSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgV2l0aGRyYXcgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgV2l0aGRyYXc6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBBVEEgaW5pdCBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUNsb3NlSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSByZWNvdmVyIG5lc3RlZCBBVEEgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhUmVjb3Zlck5lc3RlZEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgbm9uY2VBZHZhbmNlSW5zdHJ1Y3Rpb24gPSAnQWR2YW5jZU5vbmNlQWNjb3VudCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEgPSAnMGEwMDAwMDAwMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEyID0gJzBhMDAwMDAwMDAwMDAwMDAnO1xuIl19
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxlQUFlLEdBQUcsNkNBQTZDLENBQUM7QUFFaEUsUUFBQSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRWpCLFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUN0QixRQUFBLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsT0FBUyxDQUFDO0FBRW5DLFFBQUEsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsNkNBQTZDLENBQUM7QUFFekY7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyw2Q0FBNkMsQ0FBQztBQUV6Rjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOzs7R0FHRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDbkQsQ0FBQyxFQUFFLG1CQUFtQjtJQUN0QixDQUFDLEVBQUUsVUFBVTtJQUNiLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLFdBQVc7SUFDZCxDQUFDLEVBQUUsc0JBQXNCO0NBQzFCLENBQUMsQ0FBQztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxJQUFJLENBQUM7QUFFbkMsUUFBQSx1QkFBdUIsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RSxRQUFBLG9CQUFvQixHQUFHLDhDQUE4QyxDQUFDO0FBQ3RFLFFBQUEsK0JBQStCLEdBQUcsOENBQThDLENBQUM7QUFDakYsUUFBQSx1Q0FBdUMsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RixRQUFBLHdCQUF3QixHQUFHLDZDQUE2QyxDQUFDO0FBQ3pFLFFBQUEsZ0NBQWdDLEdB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Q0FBa0MsR0FBRztJQUNoRCxRQUFRLEVBQUUsQ0FBQztJQUNYLElBQUksRUFBRSxDQUFDO0NBQ0MsQ0FBQztBQUVYLHdFQUF3RTtBQUMzRCxRQUFBLHlCQUF5QixHQUFHO0lBQ3ZDLGdDQUFnQyxFQUFFLENBQUM7SUFDbkMsSUFBSSxFQUFFLENBQUM7Q0FDQyxDQUFDO0FBRVgsd0VBQXdFO0FBQzNELFFBQUEsMEJBQTBCLEdBQUc7SUFDeEMsMkJBQTJCLEVBQUUsQ0FBQztDQUN0QixDQUFDO0FBRVgsa0ZBQWtGO0FBQ3JFLFFBQUEsa0NBQWtDLEdBQUc7SUFDaEQsbUNBQW1DLEVBQUUsQ0FBQztDQUM5QixDQUFDO0FBRUUsUUFBQSx1QkFBdUIsR0FBRyxxQkFBcUIsQ0FBQztBQUNoRCxRQUFBLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO0FBQzFDLFFBQUEscUJBQXFCLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZEluc3RydWN0aW9uVHlwZXMgfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNvbnN0IE1FTU9fUFJPR1JBTV9QSyA9ICdNZW1vU3E0Z3FBQkFYS2I5NnFuSDhUeXNOY1d4TXlXQ3FYZ0RMR21mY0hyJztcblxuZXhwb3J0IGNvbnN0IFNFRURfTEVOR1RIID0gMzI7XG5cbmV4cG9ydCBjb25zdCBNQVhfTUVNT19MRU5HVEggPSAxMzA7XG5leHBvcnQgY29uc3QgU1RBS0VfQUNDT1VOVF9SRU5UX0VYRU1QVF9BTU9VTlQgPSAyMjgyODgwO1xuXG4vKipcbiAqIE1heGltdW0gY29tcHV0ZSB1bml0cyBhIHNpbmdsZSB0cmFuc2FjdGlvbiBjYW4gcmVxdWVzdCB0aHJvdWdoIHRoZSBjb21wdXRlXG4gKiBidWRnZXQgcHJvZ3JhbSAoU2V0Q29tcHV0ZVVuaXRMaW1pdCksIGVuZm9yY2VkIG9uLWNoYWluIGJ5IHRoZSBydW50aW1lLlxuICogVGhlIHByaW9yaXR5IGZlZSBpcyBjaGFyZ2VkIG9uIHRoZSByZXF1ZXN0ZWQgbGltaXQgcmF0aGVyIHRoYW4gdGhlIHVuaXRzXG4gKiBhY3R1YWxseSBjb25zdW1lZCwgc28gYnVpbGRlcnMgbXVzdCBzZXQgYW4gaW50ZW50LXNpemVkIGxpbWl0IGJlbG93IHRoaXMgY2FwLlxuICovXG5leHBvcnQgY29uc3QgTUFYX0NPTVBVVEVfVU5JVF9MSU1JVCA9IDFfNDAwXzAwMDtcblxuZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuXG4vKipcbiAqIFN5c3ZhciBpbnN0cnVjdGlvbnMgYWNjb3VudCBhZGRyZXNzIOKAlCB1c2VkIGJ5IFRva2VuLTIwMjIgY29uZmlkZW50aWFsIHRyYW5zZmVyXG4gKiBpbnN0cnVjdGlvbnMgdG8gbG9jYXRlIGlubGluZSBwcm9vZiB2ZXJpZmljYXRpb24gaW5zdHJ1Y3Rpb25zIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgSU5TVFJVQ1RJT05TX1NZU1ZBUl9BRERSRVNTID0gJ1N5c3ZhcjFuc3RydWN0aW9uczExMTExMTExMTExMTExMTExMTExMTExMTEnO1xuXG4vKipcbiAqIENhbm9uaWNhbCBvbi1jaGFpbiBwcm9ncmFtIGlkIG9mIHRoZSB6ay1lbGdhbWFsLXByb29mIHByb2dyYW0uXG4gKlxuICogVGhpcyBpcyB0aGUgc2FtZSBhY3Jvc3MgbWFpbm5ldCwgZGV2bmV0LCBhbmQgdGVzdG5ldCDigJQgaXQgaXMgYSBuYXRpdmVcbiAqIGJ1aWx0LWluIHByb2dyYW0uIENhbGxlcnMgY2FuIG92ZXJyaWRlIHZpYSBDb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXJcbiAqIC56a1Byb29mUHJvZ3JhbUlkKCkgaWYgdGFyZ2V0aW5nIGEgY3VzdG9tIGRlcGxveW1lbnQuXG4gKlxuICogTm90ZTogVGhlIGRlcHJlY2F0ZWQgemstdG9rZW4tcHJvb2YgcHJvZ3JhbSBpZCBpc1xuICogYFprVG9rZW5Qcm9vZjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFgLlxuICovXG5leHBvcnQgY29uc3QgWktfRUxHQU1BTF9QUk9PRl9QUk9HUkFNX0lEID0gJ1prRTFHYW1hMVByb29mMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnO1xuXG4vKipcbiAqIFRva2VuLTIwMjIgY29uZmlkZW50aWFsIHRyYW5zZmVyIGV4dGVuc2lvbiBkaXNjcmltaW5hdG9yIChieXRlIDAgb2YgaW5zdHJ1Y3Rpb24gZGF0YSkuXG4gKi9cbmV4cG9ydCBjb25zdCBDVF9FWFRfRElTQ1JJTUlOQVRPUiA9IDI3O1xuXG4vKipcbiAqIFZhbGlkIENUIHN1Yi1pbnN0cnVjdGlvbiBkaXNjcmltaW5hdG9ycyAoYnl0ZSAxIGFmdGVyIENUX0VYVF9ESVNDUklNSU5BVE9SKS5cbiAqIFVzZWQgZm9yIHRyYW5zYWN0aW9uIHR5cGUgZGV0ZWN0aW9uIChnZXRUcmFuc2FjdGlvblR5cGUgLyBkZXJpdmVUcmFuc2FjdGlvblR5cGUpLlxuICovXG5leHBvcnQgY29uc3QgQ1RfU1VCX0RJU0NSSU1JTkFUT1JTID0gbmV3IFNldDxudW1iZXI+KFtcbiAgMiwgLy8gQ29uZmlndXJlQWNjb3VudFxuICA1LCAvLyBEZXBvc2l0XG4gIDYsIC8vIFdpdGhkcmF3XG4gIDcsIC8vIFRyYW5zZmVyXG4gIDgsIC8vIEFwcGx5UGVuZGluZ0JhbGFuY2Vcbl0pO1xuXG4vKipcbiAqIE1heGltdW0gb3Zlci10aGUtd2lyZSBzaXplIG9mIGEgU29sYW5hIHRyYW5zYWN0aW9uIChpbiBieXRlcylcbiAqXG4gKiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnphLXh5ei9hZ2F2ZS9ibG9iL3YyLjEuMTMvc2RrL3BhY2tldC9zcmMvbGliLnJzI0wyNy1MMjlcbiAqXG4gKiBDYWxjdWxhdGlvbjpcbiAqIC0gSVB2NiBtaW5pbXVtIE1UVTogMTI4MCBieXRlc1xuICogLSBJUHY2IGhlYWRlcjogNDAgYnl0ZXNcbiAqIC0gRnJhZ21lbnQvVURQIGhlYWRlcjogOCBieXRlc1xuICogLSBSZXN1bHQ6IDEyODAgLSA0MCAtIDggPSAxMjMyIGJ5dGVzXG4gKlxuICogVGhpcyBsaW1pdCBpcyBkZXNpZ25lZCB0byBhdm9pZCBwYWNrZXQgZnJhZ21lbnRhdGlvbiBvbiB0eXBpY2FsIGludGVybmV0IGluZnJhc3RydWN0dXJlLlxuICogVHJhbnNhY3Rpb25zIGV4Y2VlZGluZyB0aGlzIGxpbWl0IHdpbGwgZmFpbCB0byBzZXJpYWxpemUgd2l0aCBhIFJhbmdlRXJyb3IgZHVyaW5nXG4gKiB0aGUgZW5jb2Rpbmcgb2YgdGhlIHRyYW5zYWN0aW9uIG1lc3NhZ2UuXG4gKlxuICogUmVmZXJlbmNlOiBodHRwczovL3NvbGFuYS5jb20vZG9jcy9jb3JlL3RyYW5zYWN0aW9ucyN0cmFuc2FjdGlvbi1zaXplXG4gKi9cbmV4cG9ydCBjb25zdCBTT0xBTkFfVFJBTlNBQ1RJT05fTUFYX1NJWkUgPSAxMjMyO1xuXG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX0FERFJFU1MgPSAnSml0bzRBUHlmNjQySlBaUHgzaEdjNldXSjh6UEt0UmJSczRQODE1QXdiYic7XG5leHBvcnQgY29uc3QgSklUT1NPTF9NSU5UX0FERFJFU1MgPSAnSjF0b3NvMXVDazNSTG1qb3JoVHRyVndZOUhKN1g4Vjl5WWFjNlk3a0dDUG4nO1xuZXhwb3J0IGNvbnN0IEpJVE9fU1RBS0VfUE9PTF9SRVNFUlZFX0FDQ09VTlQgPSAnQmdLVVhkUzI5WWNIQ0ZyUG01TThvTEhpVHpaYU1EanNlYmdnam9hUTZLRkwnO1xuZXhwb3J0IGNvbnN0IEpJVE9fU1RBS0VfUE9PTF9SRVNFUlZFX0FDQ09VTlRfVEVTVE5FVCA9ICdycldCUXFScUJYWVp3M0NtUENDY2pGeFEyRHM0SkZKZDdvUlFKOTk3ZGh6JztcbmV4cG9ydCBjb25zdCBKSVRPX01BTkFHRVJfRkVFX0FDQ09VTlQgPSAnZmVlZUZMTHNhbTZ4WkpGYzZVUUZySHFrdlZ0NGpmbVZ2aTJCUkxrVVo0aSc7XG5leHBvcnQgY29uc3QgSklUT19NQU5BR0VSX0ZFRV9BQ0NPVU5UX1RFU1RORVQgPSAnREg3dG1qb1E1empxY2dmWUpVMjJKcW1YaFA1RVkxdGtiWXBnVldVUzJvTm8nO1xuXG4vKipcbiAqIE9uLWNoYWluIHByb2dyYW0gaWQgb2YgdGhlIHNSRkMtMzcgVG9rZW4gQUNMIHByb2dyYW0uIFRoaXMgc2luZ2xlIHByb2dyYW0gZ2F0ZXMgZXZlcnlcbiAqIGFsbG93bGlzdC9ibG9ja2xpc3QgKERlZmF1bHRBY2NvdW50U3RhdGUpIFRva2VuLTIwMjIgbWludCwgc28gdGhlIHZhbHVlIGlzIGdlbmVyaWMgYW5kIG5ldmVyXG4gKiB0aWVkIHRvIGEgc3BlY2lmaWMgaXNzdWVyLlxuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX1BST0dSQU1fSUQgPSAnVEFDTGtVNkNpQ2RrUU4yTWpveURrVmcyeUFIOXpreGlIRHNpenRRNTJUUCc7XG5cbi8qKlxuICogSW5zdHJ1Y3Rpb24gZGlzY3JpbWluYXRvciAoYSBzaW5nbGUgdTggYnl0ZSkgZm9yIHRoZSBUb2tlbiBBQ0wgYFRoYXdQZXJtaXNzaW9ubGVzc0lkZW1wb3RlbnRgXG4gKiBpbnN0cnVjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFRIQVdfUEVSTUlTU0lPTkxFU1NfSURFTVBPVEVOVF9ESVNDUklNSU5BVE9SID0gOTtcblxuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIFRva2VuIEFDTCBwcm9ncmFtKSBmb3IgYSBtaW50J3MgTWludENvbmZpZyBhY2NvdW50LiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9NSU5UX0NPTkZJR19TRUVEID0gJ01JTlRfQ09ORklHJztcbi8qKiBQREEgc2VlZCBwcmVmaXggKHVuZGVyIHRoZSBUb2tlbiBBQ0wgcHJvZ3JhbSkgZm9yIGEgdG9rZW4gYWNjb3VudCdzIHRoYXcgZmxhZyBhY2NvdW50LiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9GTEFHX0FDQ09VTlRfU0VFRCA9ICdGTEFHX0FDQ09VTlQnO1xuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIGdhdGluZyBwcm9ncmFtKSBmb3IgYSBtaW50J3MgdGhhdyBFeHRyYUFjY291bnRNZXRhTGlzdCBhY2NvdW50LiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9USEFXX0VYVFJBX01FVEFTX1NFRUQgPSAndGhhd19leHRyYV9hY2NvdW50X21ldGFzJztcblxuLy8gU2RrIGluc3RydWN0aW9ucywgbWFpbmx5IHRvIGNoZWNrIGRlY29kZWQgdHlwZXMuXG5leHBvcnQgZW51bSBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtIHtcbiAgQWR2YW5jZU5vbmNlQWNjb3VudCA9ICdBZHZhbmNlTm9uY2VBY2NvdW50JyxcbiAgQ3JlYXRlID0gJ0NyZWF0ZScsXG4gIEluaXRpYWxpemVOb25jZUFjY291bnQgPSAnSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCcsXG4gIFN0YWtpbmdJbml0aWFsaXplID0gJ0luaXRpYWxpemUnLFxuICBTdGFraW5nRGVsZWdhdGUgPSAnRGVsZWdhdGUnLFxuICBTdGFraW5nRGVhY3RpdmF0ZSA9ICdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1dpdGhkcmF3JyxcbiAgVHJhbnNmZXIgPSAnVHJhbnNmZXInLFxuICBUb2tlblRyYW5zZmVyID0gJ1Rva2VuVHJhbnNmZXInLFxuICBNZW1vID0gJ01lbW8nLFxuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIENsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIEFsbG9jYXRlID0gJ0FsbG9jYXRlJyxcbiAgQXNzaWduID0gJ0Fzc2lnbicsXG4gIFNwbGl0ID0gJ1NwbGl0JyxcbiAgQXV0aG9yaXplID0gJ0F1dGhvcml6ZScsXG4gIFNldENvbXB1dGVVbml0TGltaXQgPSAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsXG4gIFNldFByaW9yaXR5RmVlID0gJ1NldFByaW9yaXR5RmVlJyxcbiAgTWludFRvID0gJ01pbnRUbycsXG4gIEJ1cm4gPSAnQnVybicsXG4gIERlcG9zaXRTb2wgPSAnRGVwb3NpdFNvbCcsXG4gIFdpdGhkcmF3U3Rha2UgPSAnV2l0aGRyYXdTdGFrZScsXG4gIFdpdGhkcmF3U29sID0gJ1dpdGhkcmF3U29sJyxcbiAgQXBwcm92ZSA9ICdBcHByb3ZlJyxcbiAgQ3VzdG9tSW5zdHJ1Y3Rpb24gPSAnQ3VzdG9tSW5zdHJ1Y3Rpb24nLFxuICBQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50ID0gJ1Blcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQnLFxuICAvLyBDb25maWRlbnRpYWwgVHJhbnNmZXIgaW5zdHJ1Y3Rpb24gdHlwZXMgKFRva2VuLTIwMjIgQ1QgZXh0ZW5zaW9uICsgemstZWxnYW1hbC1wcm9vZilcbiAgQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50ID0gJ0NvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCcsXG4gIEFwcGx5UGVuZGluZ0JhbGFuY2UgPSAnQXBwbHlQZW5kaW5nQmFsYW5jZScsXG4gIENvbmZpZGVudGlhbERlcG9zaXQgPSAnQ29uZmlkZW50aWFsRGVwb3NpdCcsXG4gIENvbmZpZGVudGlhbFdpdGhkcmF3ID0gJ0NvbmZpZGVudGlhbFdpdGhkcmF3JyxcbiAgQ29uZmlkZW50aWFsVHJhbnNmZXIgPSAnQ29uZmlkZW50aWFsVHJhbnNmZXInLFxuICBWZXJpZnlQdWJrZXlWYWxpZGl0eSA9ICdWZXJpZnlQdWJrZXlWYWxpZGl0eScsXG4gIFZlcmlmeUVxdWFsaXR5UHJvb2YgPSAnVmVyaWZ5RXF1YWxpdHlQcm9vZicsXG4gIFZlcmlmeVZhbGlkaXR5UHJvb2YgPSAnVmVyaWZ5VmFsaWRpdHlQcm9vZicsXG4gIFZlcmlmeVJhbmdlUHJvb2YgPSAnVmVyaWZ5UmFuZ2VQcm9vZicsXG59XG5cbi8vIEludGVybmFsIGluc3RydWN0aW9ucyB0eXBlc1xuZXhwb3J0IGVudW0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMge1xuICBDcmVhdGVOb25jZUFjY291bnQgPSAnQ3JlYXRlTm9uY2VBY2NvdW50JyxcbiAgU3Rha2luZ0FjdGl2YXRlID0gJ0FjdGl2YXRlJyxcbiAgU3Rha2luZ0RlYWN0aXZhdGUgPSAnRGVhY3RpdmF0ZScsXG4gIFN0YWtpbmdXaXRoZHJhdyA9ICdXaXRoZHJhdycsXG4gIFRyYW5zZmVyID0gJ1RyYW5zZmVyJyxcbiAgTWVtbyA9ICdNZW1vJyxcbiAgTm9uY2VBZHZhbmNlID0gJ05vbmNlQWR2YW5jZScsXG4gIENyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlYWxsb2NhdGVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQgPSAnUmVhbGxvY2F0ZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCcsXG4gIENsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFRva2VuVHJhbnNmZXIgPSAnVG9rZW5UcmFuc2ZlcicsXG4gIFN0YWtpbmdBdXRob3JpemUgPSAnQXV0aG9yaXplJyxcbiAgU3Rha2luZ0RlbGVnYXRlID0gJ0RlbGVnYXRlJyxcbiAgU2V0Q29tcHV0ZVVuaXRMaW1pdCA9ICdTZXRDb21wdXRlVW5pdExpbWl0JyxcbiAgU2V0UHJpb3JpdHlGZWUgPSAnU2V0UHJpb3JpdHlGZWUnLFxuICBNaW50VG8gPSAnTWludFRvJyxcbiAgQnVybiA9ICdCdXJuJyxcbiAgQ3VzdG9tSW5zdHJ1Y3Rpb24gPSAnQ3VzdG9tSW5zdHJ1Y3Rpb24nLFxuICBWZXJzaW9uZWRDdXN0b21JbnN0cnVjdGlvbiA9ICdWZXJzaW9uZWRDdXN0b21JbnN0cnVjdGlvbicsXG4gIEFwcHJvdmUgPSAnQXBwcm92ZScsXG4gIFdpdGhkcmF3U3Rha2UgPSAnV2l0aGRyYXdTdGFrZScsXG4gIFBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQgPSAnUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCcsXG4gIC8vIENvbmZpZGVudGlhbCBUcmFuc2ZlciBpbnN0cnVjdGlvbiB0eXBlcyAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gKyB6ay1lbGdhbWFsLXByb29mKVxuICBDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQgPSAnQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50JyxcbiAgQXBwbHlQZW5kaW5nQmFsYW5jZSA9ICdBcHBseVBlbmRpbmdCYWxhbmNlJyxcbiAgQ29uZmlkZW50aWFsRGVwb3NpdCA9ICdDb25maWRlbnRpYWxEZXBvc2l0JyxcbiAgQ29uZmlkZW50aWFsV2l0aGRyYXcgPSAnQ29uZmlkZW50aWFsV2l0aGRyYXcnLFxuICBDb25maWRlbnRpYWxUcmFuc2ZlciA9ICdDb25maWRlbnRpYWxUcmFuc2ZlcicsXG4gIFZlcmlmeVB1YmtleVZhbGlkaXR5ID0gJ1ZlcmlmeVB1YmtleVZhbGlkaXR5JyxcbiAgVmVyaWZ5RXF1YWxpdHlQcm9vZiA9ICdWZXJpZnlFcXVhbGl0eVByb29mJyxcbiAgVmVyaWZ5VmFsaWRpdHlQcm9vZiA9ICdWZXJpZnlWYWxpZGl0eVByb29mJyxcbiAgVmVyaWZ5UmFuZ2VQcm9vZiA9ICdWZXJpZnlSYW5nZVByb29mJyxcbn1cblxuZXhwb3J0IGNvbnN0IFZBTElEX1NZU1RFTV9JTlNUUlVDVElPTl9UWVBFUzogVmFsaWRJbnN0cnVjdGlvblR5cGVzW10gPSBbXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQWR2YW5jZU5vbmNlQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DcmVhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ0luaXRpYWxpemUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ0RlbGVnYXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdEZWFjdGl2YXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdXaXRoZHJhdyxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5UcmFuc2ZlcixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Jbml0aWFsaXplTm9uY2VBY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLk1lbW8sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uSW5pdGlhbGl6ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlRva2VuVHJhbnNmZXIsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQWxsb2NhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXNzaWduLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlNwbGl0LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkF1dGhvcml6ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TZXRDb21wdXRlVW5pdExpbWl0LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlNldFByaW9yaXR5RmVlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLk1pbnRUbyxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5CdXJuLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFwcHJvdmUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uRGVwb3NpdFNvbCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5XaXRoZHJhd1N0YWtlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLldpdGhkcmF3U29sLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkN1c3RvbUluc3RydWN0aW9uLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQsXG5dO1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBXYWxsZXQgSW5pdCBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCB3YWxsZXRJbml0SW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemVOb25jZUFjY291bnQ6IDEsXG4gIE1lbW86IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIEFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZTogMSxcbiAgRGVsZWdhdGU6IDIsXG4gIE1lbW86IDMsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBNYXJpbmFkZSBTdGFraW5nIEFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IG1hcmluYWRlU3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplOiAxLFxuICBNZW1vOiAyLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgSml0byBTdGFraW5nIEFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGppdG9TdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBEZXBvc2l0U29sOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgSml0byBTdGFraW5nIEFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGppdG9TdGFraW5nQWN0aXZhdGVXaXRoQVRBSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgSW5pdGlhbGl6ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG4gIERlcG9zaXRTb2w6IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQXBwcm92ZTogMCxcbiAgQ3JlYXRlOiAxLFxuICBXaXRoZHJhd1N0YWtlOiAyLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBBdXRob3JpemUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ0F1dGhvcml6ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIEF1dGhvcml6ZTogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgRGVsZWdhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ0RlbGVnYXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgRGVsZWdhdGU6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBEZWFjdGl2YXRlOiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgTWFyaW5hZGUgU3Rha2luZyBEZWFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IG1hcmluYWRlU3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBUcmFuc2ZlcjogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogTWFyaW5hZGUgbmF0aXZlLXN0YWtpbmcgdW5zdGFrZSBoYXMgbm8gb24tY2hhaW4gcHJvZ3JhbSBpbnN0cnVjdGlvbjogaXQgaXMgYSBzaW5nbGUgU3lzdGVtUHJvZ3JhbVxuICogVHJhbnNmZXIgdG8gb25lIG9mIE1hcmluYWRlJ3Mgb3JkZXIgYWRkcmVzc2VzIHBsdXMgYSBQcmVwYXJlRm9yUmV2b2tlIG1lbW8sIGFjdGVkIG9uIG9mZi1jaGFpbi5cbiAqIFRoZSBkZXN0aW5hdGlvbiBhbmQgYW1vdW50IGFyZSB0aGVyZWZvcmUgdGhlIG9ubHkgc2VydmVyLWluZGVwZW5kZW50IHNpZ25hbCB0aGF0IGl0IGlzIGdlbnVpbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBNQVJJTkFERV9PUkRFUl9BRERSRVNTRVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAnb3BOUzhFTnBFTVdkWGNKVWdKQ3NKVERwN2FyVFhheW9CRWVCVWc2VWV6UCcsIC8vIG5hdGl2ZVxuICAnb3BpTlN2S20xYVBrYnVTam5aZlk1dnlKVW1hVnh1UXlUSnQ2am5OVFcxTCcsIC8vIHNlbGVjdFxuXTtcbi8qKiBMYW1wb3J0cyBCaXRHbyBzZW5kcyBwZXIgTWFyaW5hZGUgdW5zdGFrZSBvcmRlciAobWFyaW5hZGUudW5zdGFrZVRyYW5zZmVyQW1vdW50IGluIHN0YWtpbmctc2VydmljZSkgKi9cbmV4cG9ydCBjb25zdCBNQVJJTkFERV9VTlNUQUtFX1RSQU5TRkVSX0xBTVBPUlRTID0gQmlnSW50KDIzMDAwMDApO1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBQYXJ0aWFsIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGVkICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1BhcnRpYWxEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgVHJhbnNmZXI6IDAsXG4gIEFsbG9jYXRlOiAxLFxuICBBc3NpZ246IDIsXG4gIFNwbGl0OiAzLFxuICBEZWFjdGl2YXRlOiA0LFxuICBNZW1vOiA1LFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBXaXRoZHJhdyBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nV2l0aGRyYXdJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBXaXRoZHJhdzogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50OiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgQVRBIGluaXQgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhQ2xvc2VJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIENsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIHJlY292ZXIgbmVzdGVkIEFUQSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFSZWNvdmVyTmVzdGVkSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBub25jZUFkdmFuY2VJbnN0cnVjdGlvbiA9ICdBZHZhbmNlTm9uY2VBY2NvdW50JztcbmV4cG9ydCBjb25zdCB2YWxpZEluc3RydWN0aW9uRGF0YSA9ICcwYTAwMDAwMDAxMDAwMDAwJztcbmV4cG9ydCBjb25zdCB2YWxpZEluc3RydWN0aW9uRGF0YTIgPSAnMGEwMDAwMDAwMDAwMDAwMCc7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainTransactionWasm.d.ts","sourceRoot":"","sources":["../../../../src/lib/explainTransactionWasm.ts"],"names":[],"mappings":"AASA,OAAO,EAA0B,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"explainTransactionWasm.d.ts","sourceRoot":"","sources":["../../../../src/lib/explainTransactionWasm.ts"],"names":[],"mappings":"AASA,OAAO,EAA0B,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAIzG,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AA0ND;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,GAAG,4BAA4B,CAkJzG"}
|
|
@@ -4,6 +4,7 @@ exports.explainSolTransaction = explainSolTransaction;
|
|
|
4
4
|
const wasm_solana_1 = require("@bitgo/wasm-solana");
|
|
5
5
|
const constants_1 = require("./constants");
|
|
6
6
|
const instructionParamsFactory_1 = require("./instructionParamsFactory");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
7
8
|
// =============================================================================
|
|
8
9
|
// Transaction type derivation (ported from @bitgo/wasm-solana explain.ts)
|
|
9
10
|
// =============================================================================
|
|
@@ -83,11 +84,29 @@ function isWasmConfidentialTransferInstruction(instr) {
|
|
|
83
84
|
function isWasmTokenAclThawInstruction(instr) {
|
|
84
85
|
return instr.type === 'Unknown' && instr.programId === constants_1.TOKEN_ACL_PROGRAM_ID;
|
|
85
86
|
}
|
|
86
|
-
|
|
87
|
+
/**
|
|
88
|
+
* True only for a genuine Marinade unstake: exactly one Transfer to a Marinade order address for the
|
|
89
|
+
* pinned amount, one well-formed PrepareForRevoke memo, and only nonce-advance / compute-budget besides.
|
|
90
|
+
* Mirrors getMarinadeUnstakeTransfer in utils.ts; the memo alone is attacker-controlled.
|
|
91
|
+
*/
|
|
92
|
+
function isWasmMarinadeUnstake(instructions) {
|
|
93
|
+
const transfers = instructions.filter((i) => i.type === 'Transfer');
|
|
94
|
+
const memos = instructions.filter((i) => i.type === 'Memo');
|
|
95
|
+
const others = instructions.filter((i) => !BOILERPLATE_TYPES.has(i.type) && i.type !== 'Transfer');
|
|
96
|
+
if (transfers.length !== 1 || memos.length !== 1 || others.length > 0)
|
|
97
|
+
return false;
|
|
98
|
+
const transfer = transfers[0];
|
|
99
|
+
const memo = memos[0];
|
|
100
|
+
return (transfer.type === 'Transfer' &&
|
|
101
|
+
memo.type === 'Memo' &&
|
|
102
|
+
(0, utils_1.isPrepareForRevokeMemo)(memo.memo) &&
|
|
103
|
+
(0, utils_1.isMarinadeUnstakeTransfer)(transfer.toAddress, transfer.amount));
|
|
104
|
+
}
|
|
105
|
+
function deriveTransactionType(instructions, combined) {
|
|
87
106
|
if (combined)
|
|
88
107
|
return TransactionType[combined.kind];
|
|
89
|
-
// Marinade deactivate:
|
|
90
|
-
if (
|
|
108
|
+
// Marinade deactivate: validated by transfer destination/amount, never by the memo alone
|
|
109
|
+
if (isWasmMarinadeUnstake(instructions))
|
|
91
110
|
return TransactionType.StakingDeactivate;
|
|
92
111
|
// Jito pool operations
|
|
93
112
|
if (instructions.some((i) => i.type === 'StakePoolDepositSol'))
|
|
@@ -187,10 +206,9 @@ function explainSolTransaction(params) {
|
|
|
187
206
|
}
|
|
188
207
|
// --- Detect combined patterns and derive type ---
|
|
189
208
|
const combined = detectCombinedPattern(parsed.instructionsData);
|
|
190
|
-
const txType = deriveTransactionType(parsed.instructionsData, combined
|
|
191
|
-
// Marinade deactivate: Transfer
|
|
192
|
-
|
|
193
|
-
const isMarinadeDeactivate = txType === TransactionType.StakingDeactivate && memo !== undefined && memo.includes('PrepareForRevoke');
|
|
209
|
+
const txType = deriveTransactionType(parsed.instructionsData, combined);
|
|
210
|
+
// Genuine Marinade deactivate: the Transfer is a contract interaction, not a real value transfer.
|
|
211
|
+
const isMarinadeDeactivate = isWasmMarinadeUnstake(parsed.instructionsData);
|
|
194
212
|
// --- Extract outputs and inputs ---
|
|
195
213
|
const outputs = [];
|
|
196
214
|
const inputs = [];
|
|
@@ -301,4 +319,4 @@ function explainSolTransaction(params) {
|
|
|
301
319
|
...(stakingAuthorize ? { stakingAuthorize } : {}),
|
|
302
320
|
};
|
|
303
321
|
}
|
|
304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uV2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZXhwbGFpblRyYW5zYWN0aW9uV2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFPQSxzREFvSkM7QUF4WEQsb0RBQW1IO0FBQ25ILDJDQU1xQjtBQUVyQix5RUFBMkQ7QUFTM0QsZ0ZBQWdGO0FBQ2hGLDBFQUEwRTtBQUMxRSxnRkFBZ0Y7QUFFaEYsSUFBSyxlQVdKO0FBWEQsV0FBSyxlQUFlO0lBQ2xCLGdDQUFhLENBQUE7SUFDYixzREFBbUMsQ0FBQTtJQUNuQywwREFBdUMsQ0FBQTtJQUN2QyxzREFBbUMsQ0FBQTtJQUNuQyx3REFBcUMsQ0FBQTtJQUNyQyxzREFBbUMsQ0FBQTtJQUNuQyxnRUFBNkMsQ0FBQTtJQUM3QyxnR0FBNkUsQ0FBQTtJQUM3RSx3Q0FBcUIsQ0FBQTtJQUNyQixnRUFBNkMsQ0FBQTtBQUMvQyxDQUFDLEVBWEksZUFBZSxLQUFmLGVBQWUsUUFXbkI7QUEyQkQsU0FBUyxxQkFBcUIsQ0FBQyxZQUFpQztJQUM5RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVqQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztZQUNyRSxPQUFPO2dCQUNMLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMvQixNQUFN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YztZQUNkLGNBQWM7WUFDZCxjQUFjO1lBQ2QsU0FBUztZQUNULGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsS0FBSztZQUNMLE1BQU07U0FDUDtRQUNELEVBQUUsRUFBRSxFQUFFLElBQUksNEJBQWdCO1FBQzFCLHlFQUF5RTtRQUN6RSxnRkFBZ0Y7UUFDaEYsSUFBSSxFQUFFLE1BQU0sS0FBSyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNO1FBQ2xGLGFBQWEsRUFBRSxFQUFFO1FBQ2pCLFlBQVksRUFBRSxHQUFHO1FBQ2pCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtRQUN6QixHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO1lBQ3ZDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNqRTtRQUNELElBQUk7UUFDSixTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDdkIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1FBQ2pDLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNsRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUb2tlbkVuYWJsZW1lbnQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgcGFyc2VUcmFuc2FjdGlvbiwgdHlwZSBQYXJzZWRUcmFuc2FjdGlvbiwgdHlwZSBJbnN0cnVjdGlvblBhcmFtcyB9IGZyb20gJ0BiaXRnby93YXNtLXNvbGFuYSc7XG5pbXBvcnQge1xuICBVTkFWQUlMQUJMRV9URVhULFxuICBaS19FTEdBTUFMX1BST09GX1BST0dSQU1fSUQsXG4gIENUX0VYVF9ESVNDUklNSU5BVE9SLFxuICBDVF9TVUJfRElTQ1JJTUlOQVRPUlMsXG4gIFRPS0VOX0FDTF9QUk9HUkFNX0lELFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdGFraW5nQXV0aG9yaXplUGFyYW1zLCBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIFNvbExpYlRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGZpbmRUb2tlbk5hbWUgfSBmcm9tICcuL2luc3RydWN0aW9uUGFyYW1zRmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFpblRyYW5zYWN0aW9uV2FzbU9wdGlvbnMge1xuICB0eEJhc2U2NDogc3RyaW5nO1xuICBmZWVJbmZvPzogeyBmZWU6IHN0cmluZyB9O1xuICB0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50Pzogc3RyaW5nO1xuICBjb2luTmFtZTogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHJhbnNhY3Rpb24gdHlwZSBkZXJpdmF0aW9uIChwb3J0ZWQgZnJvbSBAYml0Z28vd2FzbS1zb2xhbmEgZXhwbGFpbi50cylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmVudW0gVHJhbnNhY3Rpb25UeXBlIHtcbiAgU2VuZCA9ICdTZW5kJyxcbiAgU3Rha2luZ0FjdGl2YXRlID0gJ1N0YWtpbmdBY3RpdmF0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ1N0YWtpbmdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1N0YWtpbmdXaXRoZHJhdycsXG4gIFN0YWtpbmdBdXRob3JpemUgPSAnU3Rha2luZ0F1dGhvcml6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdTdGFraW5nRGVsZWdhdGUnLFxuICBXYWxsZXRJbml0aWFsaXphdGlvbiA9ICdXYWxsZXRJbml0aWFsaXphdGlvbicsXG4gIEFzc29jaWF0ZWRUb2tlbkFjY291bnRJbml0aWFsaXphdGlvbiA9ICdBc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb24nLFxuICBDdXN0b21UeCA9ICdDdXN0b21UeCcsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbWJpbmVkIGluc3RydWN0aW9uIHBhdHRlcm4gZGV0ZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTb2xhbmEgbmF0aXZlIHN0YWtpbmcgcmVxdWlyZXMgMyBzZXBhcmF0ZSBpbnN0cnVjdGlvbnM6XG4vLyAgIENyZWF0ZUFjY291bnQgKGZ1bmQpICsgU3Rha2VJbml0aWFsaXplIChzZXQgYXV0aG9yaXRpZXMpICsgRGVsZWdhdGVTdGFrZSAocGljayB2YWxpZGF0b3IpXG4vLyBNYXJpbmFkZSBzdGFraW5nIHVzZXMgb25seSBDcmVhdGVBY2NvdW50ICsgU3Rha2VJbml0aWFsaXplIChubyBEZWxlZ2F0ZSkuXG4vLyBXYWxsZXQgaW5pdCB1c2VzIENyZWF0ZUFjY291bnQgKyBOb25jZUluaXRpYWxpemUuXG5cbmludGVyZmFjZSBDb21iaW5lZFN0YWtlQWN0aXZhdGUge1xuICBraW5kOiAnU3Rha2luZ0FjdGl2YXRlJztcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcbiAgc3Rha2luZ0FkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7XG59XG5cbmludGVyZmFjZSBDb21iaW5lZFdhbGxldEluaXQge1xuICBraW5kOiAnV2FsbGV0SW5pdGlhbGl6YXRpb24nO1xuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuICBub25jZUFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7XG59XG5cbnR5cGUgQ29tYmluZWRQYXR0ZXJuID0gQ29tYmluZWRTdGFrZUFjdGl2YXRlIHwgQ29tYmluZWRXYWxsZXRJbml0O1xuXG5mdW5jdGlvbiBkZXRlY3RDb21iaW5lZFBhdHRlcm4oaW5zdHJ1Y3Rpb25zOiBJbnN0cnVjdGlvblBhcmFtc1tdKTogQ29tYmluZWRQYXR0ZXJuIHwgbnVsbCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdHJ1Y3Rpb25zLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIGNvbnN0IGN1cnIgPSBpbnN0cnVjdGlvbnNbaV07XG4gICAgY29uc3QgbmV4dCA9IGluc3RydWN0aW9uc1tpICsgMV07XG5cbiAgICBpZiAoY3Vyci50eXBlID09PSAnQ3JlYXRlQWNjb3VudCcgJiYgbmV4dC50eXBlID09PSAnU3Rha2VJbml0aWFsaXplJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2luZDogJ1N0YWtpbmdBY3RpdmF0ZScsXG4gICAgICAgIGZyb21BZGRyZXNzOiBjdXJyLmZyb21BZGRyZXNzLFxuICAgICAgICBzdGFraW5nQWRkcmVzczogY3Vyci5uZXdBZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IGN1cnIuYW1vdW50LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoY3Vyci50eXBlID09PSAnQ3JlYXRlQWNjb3VudCcgJiYgbmV4dC50eXBlID09PSAnTm9uY2VJbml0aWFsaXplJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2luZDogJ1dhbGxldEluaXRpYWxpemF0aW9uJyxcbiAgICAgICAgZnJvbUFkZHJlc3M6IGN1cnIuZnJvbUFkZHJlc3MsXG4gICAgICAgIG5vbmNlQWRkcmVzczogY3Vyci5uZXdBZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IGN1cnIuYW1vdW50LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYW5zYWN0aW9uIHR5cGUgZGVyaXZhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgQk9JTEVSUExBVEVfVFlQRVMgPSBuZXcgU2V0KFsnTm9uY2VBZHZhbmNlJywgJ01lbW8nLCAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsICdTZXRQcmlvcml0eUZlZSddKTtcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgYSBXQVNNLXBhcnNlZCBVbmtub3duIGluc3RydWN0aW9uIGlzIGEgY29uZmlkZW50aWFsIHRyYW5zZmVyIGluc3RydWN0aW9uXG4gKiAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gb3IgemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtKS5cbiAqXG4gKiBDVCBleHRlbnNpb246IGJ5dGUgMCA9IENUX0VYVF9ESVNDUklNSU5BVE9SLCBieXRlIDEg4oiIIENUX1NVQl9ESVNDUklNSU5BVE9SU1xuICogemstZWxnYW1hbC1wcm9vZjogYW55IGluc3RydWN0aW9uIGZyb20gdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbVxuICovXG5mdW5jdGlvbiBpc1dhc21Db25maWRlbnRpYWxUcmFuc2Zlckluc3RydWN0aW9uKGluc3RyOiBJbnN0cnVjdGlvblBhcmFtcyk6IGJvb2xlYW4ge1xuICBpZiAoaW5zdHIudHlwZSAhPT0gJ1Vua25vd24nKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHByb2dyYW1JZCA9IGluc3RyLnByb2dyYW1JZDtcbiAgLy8gemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtIGluc3RydWN0aW9ucyBhcmUgYWx3YXlzIENUIHByb29mIHZlcmlmaWNhdGlvbnNcbiAgaWYgKHByb2dyYW1JZCA9PT0gWktfRUxHQU1BTF9QUk9PRl9QUk9HUkFNX0lEKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gVG9rZW4tMjAyMiBDVCBleHRlbnNpb246IGJ5dGUgMCA9IENUX0VYVF9ESVNDUklNSU5BVE9SLCBieXRlIDEg4oiIIENUX1NVQl9ESVNDUklNSU5BVE9SU1xuICBjb25zdCBUT0tFTl8yMDIyX1BST0dSQU1fSUQgPSAnVG9rZW56UWRCTmJMcVA1VkVoZGtBUzZFUEZMQzFQSG5CcUNYRXBQeHVFYic7XG4gIGlmIChwcm9ncmFtSWQgPT09IFRPS0VOXzIwMjJfUFJPR1JBTV9JRCkge1xuICAgIGNvbnN0IGRhdGFCeXRlcyA9IEJ1ZmZlci5mcm9tKGluc3RyLmRhdGEsICdiYXNlNjQnKTtcbiAgICBpZiAoZGF0YUJ5dGVzLmxlbmd0aCA+PSAyKSB7XG4gICAgICByZXR1cm4gZGF0YUJ5dGVzWzBdID09PSBDVF9FWFRfRElTQ1JJTUlOQVRPUiAmJiBDVF9TVUJfRElTQ1JJTUlOQVRPUlMuaGFzKGRhdGFCeXRlc1sxXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgYSBXQVNNLXBhcnNlZCBVbmtub3duIGluc3RydWN0aW9uIGlzIGEgVG9rZW4gQUNMIHBlcm1pc3Npb25sZXNzXG4gKiB0aGF3IGluc3RydWN0aW9uIChzUkZDLTM3IFRva2VuIEFDTCBwcm9ncmFtKS5cbiAqXG4gKiBUaGUgd2FzbSBwYXJzZXIgZG9lcyBub3Qga25vdyB0aGUgVG9rZW4gQUNMIHByb2dyYW0sIHNvIFRoYXdQZXJtaXNzaW9ubGVzc0lkZW1wb3RlbnRcbiAqIGluc3RydWN0aW9ucyBwYXJzZSBhcyBVbmtub3duLiBNaXJyb3JzIHRoZSBKUy1zaWRlIGBnZXRJbnN0cnVjdGlvblR5cGVgIGNhc2UgZm9yXG4gKiBUT0tFTl9BQ0xfUFJPR1JBTV9JRCBpbiBsaWIvdXRpbHMudHMuXG4gKi9cbmZ1bmN0aW9uIGlzV2FzbVRva2VuQWNsVGhhd0luc3RydWN0aW9uKGluc3RyOiBJbnN0cnVjdGlvblBhcmFtcyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaW5zdHIudHlwZSA9PT0gJ1Vua25vd24nICYmIGluc3RyLnByb2dyYW1JZCA9PT0gVE9LRU5fQUNMX1BST0dSQU1fSUQ7XG59XG5cbmZ1bmN0aW9uIGRlcml2ZVRyYW5zYWN0aW9uVHlwZShcbiAgaW5zdHJ1Y3Rpb25zOiBJbnN0cnVjdGlvblBhcmFtc1tdLFxuICBjb21iaW5lZDogQ29tYmluZWRQYXR0ZXJuIHwgbnVsbCxcbiAgbWVtbzogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBUcmFuc2FjdGlvblR5cGUge1xuICBpZiAoY29tYmluZWQpIHJldHVybiBUcmFuc2FjdGlvblR5cGVbY29tYmluZWQua2luZF07XG5cbiAgLy8gTWFyaW5hZGUgZGVhY3RpdmF0ZTogVHJhbnNmZXIgKyBtZW1vIGNvbnRhaW5pbmcgXCJQcmVwYXJlRm9yUmV2b2tlXCJcbiAgaWYgKG1lbW8/LmluY2x1ZGVzKCdQcmVwYXJlRm9yUmV2b2tlJykpIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU7XG5cbiAgLy8gSml0byBwb29sIG9wZXJhdGlvbnNcbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdTdGFrZVBvb2xEZXBvc2l0U29sJykpIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICBpZiAoaW5zdHJ1Y3Rpb25zLnNvbWUoKGkpID0+IGkudHlwZSA9PT0gJ1N0YWtlUG9vbFdpdGhkcmF3U3Rha2UnKSkgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTtcblxuICAvLyBBVEEtb25seSB0cmFuc2FjdGlvbnMgKGlnbm9yaW5nIGJvaWxlcnBsYXRlIGFuZCBUb2tlbiBBQ0wgcGVybWlzc2lvbmxlc3MgdGhhdylcbiAgY29uc3QgbWVhbmluZ2Z1bCA9IGluc3RydWN0aW9ucy5maWx0ZXIoKGkpID0+ICFCT0lMRVJQTEFURV9UWVBFUy5oYXMoaS50eXBlKSAmJiAhaXNXYXNtVG9rZW5BY2xUaGF3SW5zdHJ1Y3Rpb24oaSkpO1xuICBpZiAobWVhbmluZ2Z1bC5sZW5ndGggPiAwICYmIG1lYW5pbmdmdWwuZXZlcnkoKGkpID0+IGkudHlwZSA9PT0gJ0NyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnKSkge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgLy8gRGlyZWN0IHN0YWtpbmcgaW5zdHJ1Y3Rpb24gbWFwcGluZ1xuICBjb25zdCBzdGFraW5nID0gaW5zdHJ1Y3Rpb25zLmZpbmQoKGkpID0+IGkudHlwZSBpbiBUcmFuc2FjdGlvblR5cGUpO1xuICBpZiAoc3Rha2luZykgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZVtzdGFraW5nLnR5cGUgYXMga2V5b2YgdHlwZW9mIFRyYW5zYWN0aW9uVHlwZV07XG5cbiAgLy8gVW5rbm93biBpbnN0cnVjdGlvbnMgaW5kaWNhdGUgYSBjdXN0b20vdW5yZWNvZ25pemVkIHRyYW5zYWN0aW9uXG4gIGlmIChpbnN0cnVjdGlvbnMuc29tZSgoaSkgPT4gaS50eXBlID09PSAnVW5rbm93bicgJiYgaXNXYXNtQ29uZmlkZW50aWFsVHJhbnNmZXJJbnN0cnVjdGlvbihpKSkpIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkNvbmZpZGVudGlhbFRyYW5zZmVyO1xuICB9XG4gIGlmIChpbnN0cnVjdGlvbnMuc29tZSgoaSkgPT4gaS50eXBlID09PSAnVW5rbm93bicgJiYgIWlzV2FzbVRva2VuQWNsVGhhd0luc3RydWN0aW9uKGkpKSlcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuXG4gIC8vIFNlbmQgcmVxdWlyZXMgYW4gZXhwbGljaXQgVHJhbnNmZXIgb3IgVG9rZW5UcmFuc2ZlciBpbnN0cnVjdGlvbi5cbiAgLy8gRXZlcnl0aGluZyBlbHNlIGlzIGEgY3VzdG9tL3VucmVjb2duaXplZCB0cmFuc2FjdGlvbi5cbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdUcmFuc2ZlcicgfHwgaS50eXBlID09PSAnVG9rZW5UcmFuc2ZlcicpKSByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG5cbiAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYW5zYWN0aW9uIElEIGV4dHJhY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJhc2U1OCBlbmNvZGluZyBvZiA2NCB6ZXJvIGJ5dGVzICh1bnNpZ25lZCB0cmFuc2FjdGlvbnMgaGF2ZSBhbGwtemVybyBzaWduYXR1cmVzKVxuY29uc3QgQUxMX1pFUk9TX0JBU0U1OCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJztcblxuZnVuY3Rpb24gZXh0cmFjdFRyYW5zYWN0aW9uSWQoc2lnbmF0dXJlczogc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBzaWcgPSBzaWduYXR1cmVzWzBdO1xuICBpZiAoIXNpZyB8fCBzaWcgPT09IEFMTF9aRVJPU19CQVNFNTgpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiBzaWc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdGFraW5nIGF1dGhvcml6ZSBtYXBwaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1hcCBXQVNNIFN0YWtpbmdBdXRob3JpemUgaW5zdHJ1Y3Rpb24gdG8gdGhlIGxlZ2FjeSBCaXRHb0pTIHNoYXBlLlxuICogQml0R29KUyB1c2VzIGRpZmZlcmVudCBmaWVsZCBuYW1lcyBmb3IgU3Rha2VyIHZzIFdpdGhkcmF3ZXIgYXV0aG9yaXR5IGNoYW5nZXMuXG4gKi9cbmZ1bmN0aW9uIG1hcFN0YWtpbmdBdXRob3JpemUoaW5zdHI6IHtcbiAgc3Rha2luZ0FkZHJlc3M6IHN0cmluZztcbiAgb2xkQXV0aG9yaXplQWRkcmVzczogc3RyaW5nO1xuICBuZXdBdXRob3JpemVBZGRyZXNzOiBzdHJpbmc7XG4gIGF1dGhvcml6ZVR5cGU6ICdTdGFrZXInIHwgJ1dpdGhkcmF3ZXInO1xuICBjdXN0b2RpYW5BZGRyZXNzPzogc3RyaW5nO1xufSk6IFN0YWtpbmdBdXRob3JpemVQYXJhbXMge1xuICBpZiAoaW5zdHIuYXV0aG9yaXplVHlwZSA9PT0gJ1dpdGhkcmF3ZXInKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YWtpbmdBZGRyZXNzOiBpbnN0ci5zdGFraW5nQWRkcmVzcyxcbiAgICAgIG9sZFdpdGhkcmF3QWRkcmVzczogaW5zdHIub2xkQXV0aG9yaXplQWRkcmVzcyxcbiAgICAgIG5ld1dpdGhkcmF3QWRkcmVzczogaW5zdHIubmV3QXV0aG9yaXplQWRkcmVzcyxcbiAgICAgIGN1c3RvZGlhbkFkZHJlc3M6IGluc3RyLmN1c3RvZGlhbkFkZHJlc3MsXG4gICAgfTtcbiAgfVxuICAvLyBTdGFrZXIgYXV0aG9yaXR5IGNoYW5nZVxuICByZXR1cm4ge1xuICAgIHN0YWtpbmdBZGRyZXNzOiBpbnN0ci5zdGFraW5nQWRkcmVzcyxcbiAgICBvbGRXaXRoZHJhd0FkZHJlc3M6ICcnLFxuICAgIG5ld1dpdGhkcmF3QWRkcmVzczogJycsXG4gICAgb2xkU3Rha2luZ0F1dGhvcml0eUFkZHJlc3M6IGluc3RyLm9sZEF1dGhvcml6ZUFkZHJlc3MsXG4gICAgbmV3U3Rha2luZ0F1dGhvcml0eUFkZHJlc3M6IGluc3RyLm5ld0F1dGhvcml6ZUFkZHJlc3MsXG4gIH07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNYWluIGV4cGxhaW4gZnVuY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogU3RhbmRhbG9uZSBXQVNNLWJhc2VkIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uLlxuICpcbiAqIFBhcnNlcyB0aGUgdHJhbnNhY3Rpb24gdmlhIGBwYXJzZVRyYW5zYWN0aW9uKHR4KWAgZnJvbSBAYml0Z28vd2FzbS1zb2xhbmEsXG4gKiB0aGVuIGRlcml2ZXMgdGhlIHRyYW5zYWN0aW9uIHR5cGUsIGV4dHJhY3RzIG91dHB1dHMvaW5wdXRzLCBjb21wdXRlcyBmZWVzLFxuICogYW5kIG1hcHMgdG8gQml0R29KUyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGZvcm1hdC5cbiAqXG4gKiBUaGUgZXhwbGFpbiBsb2dpYyB3YXMgcG9ydGVkIGZyb20gd2FzbS1zb2xhbmEgcGVyIHRoZSBjb252ZW50aW9uIHRoYXRcbiAqIGBleHBsYWluVHJhbnNhY3Rpb25gIGJlbG9uZ3MgaW4gQml0R29KUywgbm90IGluIHdhc20tKiBwYWNrYWdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGxhaW5Tb2xUcmFuc2FjdGlvbihwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbldhc21PcHRpb25zKTogU29sTGliVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIGNvbnN0IHR4Qnl0ZXMgPSBCdWZmZXIuZnJvbShwYXJhbXMudHhCYXNlNjQsICdiYXNlNjQnKTtcbiAgY29uc3QgdHggPSBUcmFuc2FjdGlvbi5mcm9tQnl0ZXModHhCeXRlcyk7XG4gIGNvbnN0IHBhcnNlZDogUGFyc2VkVHJhbnNhY3Rpb24gPSBwYXJzZVRyYW5zYWN0aW9uKHR4KTtcblxuICAvLyAtLS0gVHJhbnNhY3Rpb24gSUQgLS0tXG4gIGNvbnN0IGlkID0gZXh0cmFjdFRyYW5zYWN0aW9uSWQocGFyc2VkLnNpZ25hdHVyZXMpO1xuXG4gIC8vIC0tLSBGZWUgY2FsY3VsYXRpb24gLS0tXG4gIGNvbnN0IGxhbXBvcnRzUGVyU2lnbmF0dXJlID0gcGFyYW1zLmZlZUluZm8gPyBCaWdJbnQocGFyYW1zLmZlZUluZm8uZmVlKSA6IDBuO1xuICBsZXQgZmVlID0gQmlnSW50KHBhcnNlZC5udW1TaWduYXR1cmVzKSAqIGxhbXBvcnRzUGVyU2lnbmF0dXJlO1xuXG4gIC8vIEVhY2ggQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCBjcmVhdGVzIGEgbmV3IHRva2VuIGFjY291bnQgcmVxdWlyaW5nIGEgcmVudCBkZXBvc2l0LlxuICBjb25zdCBhdGFDb3VudCA9IHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhLmZpbHRlcigoaSkgPT4gaS50eXBlID09PSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcpLmxlbmd0aDtcbiAgaWYgKGF0YUNvdW50ID4gMCAmJiBwYXJhbXMudG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudCkge1xuICAgIGZlZSArPSBCaWdJbnQoYXRhQ291bnQpICogQmlnSW50KHBhcmFtcy50b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50KTtcbiAgfVxuXG4gIC8vIC0tLSBFeHRyYWN0IG1lbW8gKG5lZWRlZCBiZWZvcmUgdHlwZSBkZXJpdmF0aW9uKSAtLS1cbiAgbGV0IG1lbW86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnTWVtbycpIHtcbiAgICAgIG1lbW8gPSBpbnN0ci5tZW1vO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBEZXRlY3QgY29tYmluZWQgcGF0dGVybnMgYW5kIGRlcml2ZSB0eXBlIC0tLVxuICBjb25zdCBjb21iaW5lZCA9IGRldGVjdENvbWJpbmVkUGF0dGVybihwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSk7XG4gIGNvbnN0IHR4VHlwZSA9IGRlcml2ZVRyYW5zYWN0aW9uVHlwZShwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSwgY29tYmluZWQsIG1lbW8pO1xuXG4gIC8vIE1hcmluYWRlIGRlYWN0aXZhdGU6IFRyYW5zZmVyICsgUHJlcGFyZUZvclJldm9rZSBtZW1vLlxuICAvLyBUaGUgVHJhbnNmZXIgaXMgYSBjb250cmFjdCBpbnRlcmFjdGlvbiwgbm90IHJlYWwgdmFsdWUgdHJhbnNmZXIg4oCUIHNraXAgZnJvbSBvdXRwdXRzLlxuICBjb25zdCBpc01hcmluYWRlRGVhY3RpdmF0ZSA9XG4gICAgdHhUeXBlID09PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGUgJiYgbWVtbyAhPT0gdW5kZWZpbmVkICYmIG1lbW8uaW5jbHVkZXMoJ1ByZXBhcmVGb3JSZXZva2UnKTtcblxuICAvLyAtLS0gRXh0cmFjdCBvdXRwdXRzIGFuZCBpbnB1dHMgLS0tXG4gIGNvbnN0IG91dHB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IGJpZ2ludDsgdG9rZW5OYW1lPzogc3RyaW5nIH1bXSA9IFtdO1xuICBjb25zdCBpbnB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyB2YWx1ZTogYmlnaW50IH1bXSA9IFtdO1xuXG4gIGlmIChjb21iaW5lZD8ua2luZCA9PT0gJ1N0YWtpbmdBY3RpdmF0ZScpIHtcbiAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5zdGFraW5nQWRkcmVzcywgYW1vdW50OiBjb21iaW5lZC5hbW91bnQgfSk7XG4gICAgaW5wdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5mcm9tQWRkcmVzcywgdmFsdWU6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgfSBlbHNlIGlmIChjb21iaW5lZD8ua2luZCA9PT0gJ1dhbGxldEluaXRpYWxpemF0aW9uJykge1xuICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGNvbWJpbmVkLm5vbmNlQWRkcmVzcywgYW1vdW50OiBjb21iaW5lZC5hbW91bnQgfSk7XG4gICAgaW5wdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5mcm9tQWRkcmVzcywgdmFsdWU6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKGNvbnN0IGluc3RyIG9mIHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBzd2l0Y2ggKGluc3RyLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnVHJhbnNmZXInOlxuICAgICAgICAgIGlmIChpc01hcmluYWRlRGVhY3RpdmF0ZSkgYnJlYWs7XG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIudG9BZGRyZXNzLCBhbW91bnQ6IGluc3RyLmFtb3VudCB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdUb2tlblRyYW5zZmVyJzpcbiAgICAgICAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBpbnN0ci50b0FkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50LCB0b2tlbk5hbWU6IGluc3RyLnRva2VuQWRkcmVzcyB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdTdGFraW5nQWN0aXZhdGUnOlxuICAgICAgICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLnN0YWtpbmdBZGRyZXNzLCBhbW91bnQ6IGluc3RyLmFtb3VudCB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdTdGFraW5nV2l0aGRyYXcnOlxuICAgICAgICAgIC8vIFdpdGhkcmF3OiBTT0wgZmxvd3MgRlJPTSBzdGFraW5nIGFkZHJlc3MgVE8gdGhlIHJlY2lwaWVudCAoZnJvbUFkZHJlc3MpXG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuZnJvbUFkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuc3Rha2luZ0FkZHJlc3MsIHZhbHVlOiBpbnN0ci5hbW91bnQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1N0YWtlUG9vbERlcG9zaXRTb2wnOlxuICAgICAgICAgIC8vIEppdG8gbGlxdWlkIHN0YWtpbmcgZGVwb3NpdFxuICAgICAgICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLnN0YWtlUG9vbCwgYW1vdW50OiBpbnN0ci5sYW1wb3J0cyB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZ1bmRpbmdBY2NvdW50LCB2YWx1ZTogaW5zdHIubGFtcG9ydHMgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIE91dHB1dCBhbW91bnQgKG5hdGl2ZSBTT0wgb25seSwgbm90IHRva2VuIGFtb3VudHMpIC0tLVxuICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRzLmZpbHRlcigobykgPT4gIW8udG9rZW5OYW1lKS5yZWR1Y2UoKHN1bSwgbykgPT4gc3VtICsgby5hbW91bnQsIDBuKTtcblxuICAvLyAtLS0gQVRBIG93bmVyIG1hcHBpbmcgYW5kIHRva2VuIGVuYWJsZW1lbnRzIC0tLVxuICBjb25zdCBhdGFPd25lck1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCB0b2tlbkVuYWJsZW1lbnRzOiBJVG9rZW5FbmFibGVtZW50W10gPSBbXTtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcpIHtcbiAgICAgIGF0YU93bmVyTWFwW2luc3RyLmF0YUFkZHJlc3NdID0gaW5zdHIub3duZXJBZGRyZXNzO1xuICAgICAgdG9rZW5FbmFibGVtZW50cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogaW5zdHIuYXRhQWRkcmVzcyxcbiAgICAgICAgdG9rZW5OYW1lOiBmaW5kVG9rZW5OYW1lKGluc3RyLm1pbnRBZGRyZXNzLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICB0b2tlbkFkZHJlc3M6IGluc3RyLm1pbnRBZGRyZXNzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIFN0YWtpbmcgYXV0aG9yaXplIC0tLVxuICBsZXQgc3Rha2luZ0F1dGhvcml6ZTogU3Rha2luZ0F1dGhvcml6ZVBhcmFtcyB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnU3Rha2luZ0F1dGhvcml6ZScpIHtcbiAgICAgIHN0YWtpbmdBdXRob3JpemUgPSBtYXBTdGFraW5nQXV0aG9yaXplKGluc3RyKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBSZXNvbHZlIHRva2VuIG5hbWVzIGFuZCBjb252ZXJ0IGJpZ2ludCB0byBzdHJpbmcgYXQgc2VyaWFsaXphdGlvbiBib3VuZGFyeSAtLS1cbiAgY29uc3QgcmVzb2x2ZWRPdXRwdXRzID0gb3V0cHV0cy5tYXAoKG8pID0+ICh7XG4gICAgYWRkcmVzczogby5hZGRyZXNzLFxuICAgIGFtb3VudDogU3RyaW5nKG8uYW1vdW50KSxcbiAgICAuLi4oby50b2tlbk5hbWUgPyB7IHRva2VuTmFtZTogZmluZFRva2VuTmFtZShvLnRva2VuTmFtZSwgdW5kZWZpbmVkLCB0cnVlKSB9IDoge30pLFxuICB9KSk7XG5cbiAgY29uc3QgcmVzb2x2ZWRJbnB1dHMgPSBpbnB1dHMubWFwKChpKSA9PiAoe1xuICAgIGFkZHJlc3M6IGkuYWRkcmVzcyxcbiAgICB2YWx1ZTogU3RyaW5nKGkudmFsdWUpLFxuICB9KSk7XG5cbiAgcmV0dXJuIHtcbiAgICBkaXNwbGF5T3JkZXI6IFtcbiAgICAgICdpZCcsXG4gICAgICAndHlwZScsXG4gICAgICAnYmxvY2toYXNoJyxcbiAgICAgICdkdXJhYmxlTm9uY2UnLFxuICAgICAgJ291dHB1dEFtb3VudCcsXG4gICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICdvdXRwdXRzJyxcbiAgICAgICdjaGFuZ2VPdXRwdXRzJyxcbiAgICAgICd0b2tlbkVuYWJsZW1lbnRzJyxcbiAgICAgICdmZWUnLFxuICAgICAgJ21lbW8nLFxuICAgIF0sXG4gICAgaWQ6IGlkID8/IFVOQVZBSUxBQkxFX1RFWFQsXG4gICAgLy8gV0FTTSByZXR1cm5zIFwiU3Rha2luZ0F1dGhvcml6ZVwiIGJ1dCBCaXRHb0pTIHVzZXMgXCJTdGFraW5nQXV0aG9yaXplUmF3XCJcbiAgICAvLyB3aGVuIGRlc2VyaWFsaXppbmcgZnJvbSBieXRlcyAodGhlIG5vbi1yYXcgdHlwZSBvbmx5IGV4aXN0cyBkdXJpbmcgYnVpbGRpbmcpLlxuICAgIHR5cGU6IHR4VHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBdXRob3JpemUgPyAnU3Rha2luZ0F1dGhvcml6ZVJhdycgOiB0eFR5cGUsXG4gICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgb3V0cHV0QW1vdW50OiBTdHJpbmcob3V0cHV0QW1vdW50KSxcbiAgICBvdXRwdXRzOiByZXNvbHZlZE91dHB1dHMsXG4gICAgaW5wdXRzOiByZXNvbHZlZElucHV0cyxcbiAgICBmZWVQYXllcjogcGFyc2VkLmZlZVBheWVyLFxuICAgIGZlZToge1xuICAgICAgZmVlOiBwYXJhbXMuZmVlSW5mbyA/IFN0cmluZyhmZWUpIDogJzAnLFxuICAgICAgZmVlUmF0ZTogcGFyYW1zLmZlZUluZm8gPyBOdW1iZXIocGFyYW1zLmZlZUluZm8uZmVlKSA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIG1lbW8sXG4gICAgYmxvY2toYXNoOiBwYXJzZWQubm9uY2UsXG4gICAgZHVyYWJsZU5vbmNlOiBwYXJzZWQuZHVyYWJsZU5vbmNlLFxuICAgIHRva2VuRW5hYmxlbWVudHMsXG4gICAgYXRhT3duZXJNYXAsXG4gICAgLi4uKHN0YWtpbmdBdXRob3JpemUgPyB7IHN0YWtpbmdBdXRob3JpemUgfSA6IHt9KSxcbiAgfTtcbn1cbiJdfQ==
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uV2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZXhwbGFpblRyYW5zYWN0aW9uV2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNQQSxzREFrSkM7QUF2WUQsb0RBQW1IO0FBQ25ILDJDQU1xQjtBQUVyQix5RUFBMkQ7QUFDM0QsbUNBQTRFO0FBUzVFLGdGQUFnRjtBQUNoRiwwRUFBMEU7QUFDMUUsZ0ZBQWdGO0FBRWhGLElBQUssZUFXSjtBQVhELFdBQUssZUFBZTtJQUNsQixnQ0FBYSxDQUFBO0lBQ2Isc0RBQW1DLENBQUE7SUFDbkMsMERBQXVDLENBQUE7SUFDdkMsc0RBQW1DLENBQUE7SUFDbkMsd0RBQXFDLENBQUE7SUFDckMsc0RBQW1DLENBQUE7SUFDbkMsZ0VBQTZDLENBQUE7SUFDN0MsZ0dBQTZFLENBQUE7SUFDN0Usd0NBQXFCLENBQUE7SUFDckIsZ0VBQTZDLENBQUE7QUFDL0MsQ0FBQyxFQVhJLGVBQWUsS0FBZixlQUFlLFFBV25CO0FBMkJELFNBQVMscUJBQXFCLENBQUMsWUFBaUM7SUFDOUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakQsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFakMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGlCQUFpQixFQUFFLENBQUM7WUFDckUsT0FBTztnQkFDTCxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFB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QUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTTtRQUNsRixhQUFhLEVBQUUsRUFBRTtRQUNqQixZQUFZLEVBQUUsR0FBRztRQUNqQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUNsQyxPQUFPLEVBQUUsZUFBZTtRQUN4QixNQUFNLEVBQUUsY0FBYztRQUN0QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDekIsR0FBRyxFQUFFO1lBQ0gsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztZQUN2QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDakU7UUFDRCxJQUFJO1FBQ0osU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ3ZCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtRQUNqQyxnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDbEQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVG9rZW5FbmFibGVtZW50IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIHBhcnNlVHJhbnNhY3Rpb24sIHR5cGUgUGFyc2VkVHJhbnNhY3Rpb24sIHR5cGUgSW5zdHJ1Y3Rpb25QYXJhbXMgfSBmcm9tICdAYml0Z28vd2FzbS1zb2xhbmEnO1xuaW1wb3J0IHtcbiAgVU5BVkFJTEFCTEVfVEVYVCxcbiAgWktfRUxHQU1BTF9QUk9PRl9QUk9HUkFNX0lELFxuICBDVF9FWFRfRElTQ1JJTUlOQVRPUixcbiAgQ1RfU1VCX0RJU0NSSU1JTkFUT1JTLFxuICBUT0tFTl9BQ0xfUFJPR1JBTV9JRCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgU3Rha2luZ0F1dGhvcml6ZVBhcmFtcywgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBhcyBTb2xMaWJUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBmaW5kVG9rZW5OYW1lIH0gZnJvbSAnLi9pbnN0cnVjdGlvblBhcmFtc0ZhY3RvcnknO1xuaW1wb3J0IHsgaXNNYXJpbmFkZVVuc3Rha2VUcmFuc2ZlciwgaXNQcmVwYXJlRm9yUmV2b2tlTWVtbyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxhaW5UcmFuc2FjdGlvbldhc21PcHRpb25zIHtcbiAgdHhCYXNlNjQ6IHN0cmluZztcbiAgZmVlSW5mbz86IHsgZmVlOiBzdHJpbmcgfTtcbiAgdG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudD86IHN0cmluZztcbiAgY29pbk5hbWU6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYW5zYWN0aW9uIHR5cGUgZGVyaXZhdGlvbiAocG9ydGVkIGZyb20gQGJpdGdvL3dhc20tc29sYW5hIGV4cGxhaW4udHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5lbnVtIFRyYW5zYWN0aW9uVHlwZSB7XG4gIFNlbmQgPSAnU2VuZCcsXG4gIFN0YWtpbmdBY3RpdmF0ZSA9ICdTdGFraW5nQWN0aXZhdGUnLFxuICBTdGFraW5nRGVhY3RpdmF0ZSA9ICdTdGFraW5nRGVhY3RpdmF0ZScsXG4gIFN0YWtpbmdXaXRoZHJhdyA9ICdTdGFraW5nV2l0aGRyYXcnLFxuICBTdGFraW5nQXV0aG9yaXplID0gJ1N0YWtpbmdBdXRob3JpemUnLFxuICBTdGFraW5nRGVsZWdhdGUgPSAnU3Rha2luZ0RlbGVnYXRlJyxcbiAgV2FsbGV0SW5pdGlhbGl6YXRpb24gPSAnV2FsbGV0SW5pdGlhbGl6YXRpb24nLFxuICBBc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb24gPSAnQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uJyxcbiAgQ3VzdG9tVHggPSAnQ3VzdG9tVHgnLFxuICBDb25maWRlbnRpYWxUcmFuc2ZlciA9ICdDb25maWRlbnRpYWxUcmFuc2ZlcicsXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21iaW5lZCBpbnN0cnVjdGlvbiBwYXR0ZXJuIGRldGVjdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU29sYW5hIG5hdGl2ZSBzdGFraW5nIHJlcXVpcmVzIDMgc2VwYXJhdGUgaW5zdHJ1Y3Rpb25zOlxuLy8gICBDcmVhdGVBY2NvdW50IChmdW5kKSArIFN0YWtlSW5pdGlhbGl6ZSAoc2V0IGF1dGhvcml0aWVzKSArIERlbGVnYXRlU3Rha2UgKHBpY2sgdmFsaWRhdG9yKVxuLy8gTWFyaW5hZGUgc3Rha2luZyB1c2VzIG9ubHkgQ3JlYXRlQWNjb3VudCArIFN0YWtlSW5pdGlhbGl6ZSAobm8gRGVsZWdhdGUpLlxuLy8gV2FsbGV0IGluaXQgdXNlcyBDcmVhdGVBY2NvdW50ICsgTm9uY2VJbml0aWFsaXplLlxuXG5pbnRlcmZhY2UgQ29tYmluZWRTdGFrZUFjdGl2YXRlIHtcbiAga2luZDogJ1N0YWtpbmdBY3RpdmF0ZSc7XG4gIGZyb21BZGRyZXNzOiBzdHJpbmc7XG4gIHN0YWtpbmdBZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogYmlnaW50O1xufVxuXG5pbnRlcmZhY2UgQ29tYmluZWRXYWxsZXRJbml0IHtcbiAga2luZDogJ1dhbGxldEluaXRpYWxpemF0aW9uJztcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcbiAgbm9uY2VBZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogYmlnaW50O1xufVxuXG50eXBlIENvbWJpbmVkUGF0dGVybiA9IENvbWJpbmVkU3Rha2VBY3RpdmF0ZSB8IENvbWJpbmVkV2FsbGV0SW5pdDtcblxuZnVuY3Rpb24gZGV0ZWN0Q29tYmluZWRQYXR0ZXJuKGluc3RydWN0aW9uczogSW5zdHJ1Y3Rpb25QYXJhbXNbXSk6IENvbWJpbmVkUGF0dGVybiB8IG51bGwge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RydWN0aW9ucy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICBjb25zdCBjdXJyID0gaW5zdHJ1Y3Rpb25zW2ldO1xuICAgIGNvbnN0IG5leHQgPSBpbnN0cnVjdGlvbnNbaSArIDFdO1xuXG4gICAgaWYgKGN1cnIudHlwZSA9PT0gJ0NyZWF0ZUFjY291bnQnICYmIG5leHQudHlwZSA9PT0gJ1N0YWtlSW5pdGlhbGl6ZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtpbmQ6ICdTdGFraW5nQWN0aXZhdGUnLFxuICAgICAgICBmcm9tQWRkcmVzczogY3Vyci5mcm9tQWRkcmVzcyxcbiAgICAgICAgc3Rha2luZ0FkZHJlc3M6IGN1cnIubmV3QWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiBjdXJyLmFtb3VudCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGN1cnIudHlwZSA9PT0gJ0NyZWF0ZUFjY291bnQnICYmIG5leHQudHlwZSA9PT0gJ05vbmNlSW5pdGlhbGl6ZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtpbmQ6ICdXYWxsZXRJbml0aWFsaXphdGlvbicsXG4gICAgICAgIGZyb21BZGRyZXNzOiBjdXJyLmZyb21BZGRyZXNzLFxuICAgICAgICBub25jZUFkZHJlc3M6IGN1cnIubmV3QWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiBjdXJyLmFtb3VudCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUcmFuc2FjdGlvbiB0eXBlIGRlcml2YXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IEJPSUxFUlBMQVRFX1RZUEVTID0gbmV3IFNldChbJ05vbmNlQWR2YW5jZScsICdNZW1vJywgJ1NldENvbXB1dGVVbml0TGltaXQnLCAnU2V0UHJpb3JpdHlGZWUnXSk7XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIGEgV0FTTS1wYXJzZWQgVW5rbm93biBpbnN0cnVjdGlvbiBpcyBhIGNvbmZpZGVudGlhbCB0cmFuc2ZlciBpbnN0cnVjdGlvblxuICogKFRva2VuLTIwMjIgQ1QgZXh0ZW5zaW9uIG9yIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbSkuXG4gKlxuICogQ1QgZXh0ZW5zaW9uOiBieXRlIDAgPSBDVF9FWFRfRElTQ1JJTUlOQVRPUiwgYnl0ZSAxIOKIiCBDVF9TVUJfRElTQ1JJTUlOQVRPUlNcbiAqIHprLWVsZ2FtYWwtcHJvb2Y6IGFueSBpbnN0cnVjdGlvbiBmcm9tIHRoZSB6ay1lbGdhbWFsLXByb29mIHByb2dyYW1cbiAqL1xuZnVuY3Rpb24gaXNXYXNtQ29uZmlkZW50aWFsVHJhbnNmZXJJbnN0cnVjdGlvbihpbnN0cjogSW5zdHJ1Y3Rpb25QYXJhbXMpOiBib29sZWFuIHtcbiAgaWYgKGluc3RyLnR5cGUgIT09ICdVbmtub3duJykgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBwcm9ncmFtSWQgPSBpbnN0ci5wcm9ncmFtSWQ7XG4gIC8vIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbSBpbnN0cnVjdGlvbnMgYXJlIGFsd2F5cyBDVCBwcm9vZiB2ZXJpZmljYXRpb25zXG4gIGlmIChwcm9ncmFtSWQgPT09IFpLX0VMR0FNQUxfUFJPT0ZfUFJPR1JBTV9JRCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8vIFRva2VuLTIwMjIgQ1QgZXh0ZW5zaW9uOiBieXRlIDAgPSBDVF9FWFRfRElTQ1JJTUlOQVRPUiwgYnl0ZSAxIOKIiCBDVF9TVUJfRElTQ1JJTUlOQVRPUlNcbiAgY29uc3QgVE9LRU5fMjAyMl9QUk9HUkFNX0lEID0gJ1Rva2VuelFkQk5iTHFQNVZFaGRrQVM2RVBGTEMxUEhuQnFDWEVwUHh1RWInO1xuICBpZiAocHJvZ3JhbUlkID09PSBUT0tFTl8yMDIyX1BST0dSQU1fSUQpIHtcbiAgICBjb25zdCBkYXRhQnl0ZXMgPSBCdWZmZXIuZnJvbShpbnN0ci5kYXRhLCAnYmFzZTY0Jyk7XG4gICAgaWYgKGRhdGFCeXRlcy5sZW5ndGggPj0gMikge1xuICAgICAgcmV0dXJuIGRhdGFCeXRlc1swXSA9PT0gQ1RfRVhUX0RJU0NSSU1JTkFUT1IgJiYgQ1RfU1VCX0RJU0NSSU1JTkFUT1JTLmhhcyhkYXRhQnl0ZXNbMV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIGEgV0FTTS1wYXJzZWQgVW5rbm93biBpbnN0cnVjdGlvbiBpcyBhIFRva2VuIEFDTCBwZXJtaXNzaW9ubGVzc1xuICogdGhhdyBpbnN0cnVjdGlvbiAoc1JGQy0zNyBUb2tlbiBBQ0wgcHJvZ3JhbSkuXG4gKlxuICogVGhlIHdhc20gcGFyc2VyIGRvZXMgbm90IGtub3cgdGhlIFRva2VuIEFDTCBwcm9ncmFtLCBzbyBUaGF3UGVybWlzc2lvbmxlc3NJZGVtcG90ZW50XG4gKiBpbnN0cnVjdGlvbnMgcGFyc2UgYXMgVW5rbm93bi4gTWlycm9ycyB0aGUgSlMtc2lkZSBgZ2V0SW5zdHJ1Y3Rpb25UeXBlYCBjYXNlIGZvclxuICogVE9LRU5fQUNMX1BST0dSQU1fSUQgaW4gbGliL3V0aWxzLnRzLlxuICovXG5mdW5jdGlvbiBpc1dhc21Ub2tlbkFjbFRoYXdJbnN0cnVjdGlvbihpbnN0cjogSW5zdHJ1Y3Rpb25QYXJhbXMpOiBib29sZWFuIHtcbiAgcmV0dXJuIGluc3RyLnR5cGUgPT09ICdVbmtub3duJyAmJiBpbnN0ci5wcm9ncmFtSWQgPT09IFRPS0VOX0FDTF9QUk9HUkFNX0lEO1xufVxuXG4vKipcbiAqIFRydWUgb25seSBmb3IgYSBnZW51aW5lIE1hcmluYWRlIHVuc3Rha2U6IGV4YWN0bHkgb25lIFRyYW5zZmVyIHRvIGEgTWFyaW5hZGUgb3JkZXIgYWRkcmVzcyBmb3IgdGhlXG4gKiBwaW5uZWQgYW1vdW50LCBvbmUgd2VsbC1mb3JtZWQgUHJlcGFyZUZvclJldm9rZSBtZW1vLCBhbmQgb25seSBub25jZS1hZHZhbmNlIC8gY29tcHV0ZS1idWRnZXQgYmVzaWRlcy5cbiAqIE1pcnJvcnMgZ2V0TWFyaW5hZGVVbnN0YWtlVHJhbnNmZXIgaW4gdXRpbHMudHM7IHRoZSBtZW1vIGFsb25lIGlzIGF0dGFja2VyLWNvbnRyb2xsZWQuXG4gKi9cbmZ1bmN0aW9uIGlzV2FzbU1hcmluYWRlVW5zdGFrZShpbnN0cnVjdGlvbnM6IEluc3RydWN0aW9uUGFyYW1zW10pOiBib29sZWFuIHtcbiAgY29uc3QgdHJhbnNmZXJzID0gaW5zdHJ1Y3Rpb25zLmZpbHRlcigoaSkgPT4gaS50eXBlID09PSAnVHJhbnNmZXInKTtcbiAgY29uc3QgbWVtb3MgPSBpbnN0cnVjdGlvbnMuZmlsdGVyKChpKSA9PiBpLnR5cGUgPT09ICdNZW1vJyk7XG4gIGNvbnN0IG90aGVycyA9IGluc3RydWN0aW9ucy5maWx0ZXIoKGkpID0+ICFCT0lMRVJQTEFURV9UWVBFUy5oYXMoaS50eXBlKSAmJiBpLnR5cGUgIT09ICdUcmFuc2ZlcicpO1xuICBpZiAodHJhbnNmZXJzLmxlbmd0aCAhPT0gMSB8fCBtZW1vcy5sZW5ndGggIT09IDEgfHwgb3RoZXJzLmxlbmd0aCA+IDApIHJldHVybiBmYWxzZTtcbiAgY29uc3QgdHJhbnNmZXIgPSB0cmFuc2ZlcnNbMF07XG4gIGNvbnN0IG1lbW8gPSBtZW1vc1swXTtcbiAgcmV0dXJuIChcbiAgICB0cmFuc2Zlci50eXBlID09PSAnVHJhbnNmZXInICYmXG4gICAgbWVtby50eXBlID09PSAnTWVtbycgJiZcbiAgICBpc1ByZXBhcmVGb3JSZXZva2VNZW1vKG1lbW8ubWVtbykgJiZcbiAgICBpc01hcmluYWRlVW5zdGFrZVRyYW5zZmVyKHRyYW5zZmVyLnRvQWRkcmVzcywgdHJhbnNmZXIuYW1vdW50KVxuICApO1xufVxuXG5mdW5jdGlvbiBkZXJpdmVUcmFuc2FjdGlvblR5cGUoaW5zdHJ1Y3Rpb25zOiBJbnN0cnVjdGlvblBhcmFtc1tdLCBjb21iaW5lZDogQ29tYmluZWRQYXR0ZXJuIHwgbnVsbCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gIGlmIChjb21iaW5lZCkgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZVtjb21iaW5lZC5raW5kXTtcblxuICAvLyBNYXJpbmFkZSBkZWFjdGl2YXRlOiB2YWxpZGF0ZWQgYnkgdHJhbnNmZXIgZGVzdGluYXRpb24vYW1vdW50LCBuZXZlciBieSB0aGUgbWVtbyBhbG9uZVxuICBpZiAoaXNXYXNtTWFyaW5hZGVVbnN0YWtlKGluc3RydWN0aW9ucykpIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU7XG5cbiAgLy8gSml0byBwb29sIG9wZXJhdGlvbnNcbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdTdGFrZVBvb2xEZXBvc2l0U29sJykpIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICBpZiAoaW5zdHJ1Y3Rpb25zLnNvbWUoKGkpID0+IGkudHlwZSA9PT0gJ1N0YWtlUG9vbFdpdGhkcmF3U3Rha2UnKSkgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTtcblxuICAvLyBBVEEtb25seSB0cmFuc2FjdGlvbnMgKGlnbm9yaW5nIGJvaWxlcnBsYXRlIGFuZCBUb2tlbiBBQ0wgcGVybWlzc2lvbmxlc3MgdGhhdylcbiAgY29uc3QgbWVhbmluZ2Z1bCA9IGluc3RydWN0aW9ucy5maWx0ZXIoKGkpID0+ICFCT0lMRVJQTEFURV9UWVBFUy5oYXMoaS50eXBlKSAmJiAhaXNXYXNtVG9rZW5BY2xUaGF3SW5zdHJ1Y3Rpb24oaSkpO1xuICBpZiAobWVhbmluZ2Z1bC5sZW5ndGggPiAwICYmIG1lYW5pbmdmdWwuZXZlcnkoKGkpID0+IGkudHlwZSA9PT0gJ0NyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnKSkge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgLy8gRGlyZWN0IHN0YWtpbmcgaW5zdHJ1Y3Rpb24gbWFwcGluZ1xuICBjb25zdCBzdGFraW5nID0gaW5zdHJ1Y3Rpb25zLmZpbmQoKGkpID0+IGkudHlwZSBpbiBUcmFuc2FjdGlvblR5cGUpO1xuICBpZiAoc3Rha2luZykgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZVtzdGFraW5nLnR5cGUgYXMga2V5b2YgdHlwZW9mIFRyYW5zYWN0aW9uVHlwZV07XG5cbiAgLy8gVW5rbm93biBpbnN0cnVjdGlvbnMgaW5kaWNhdGUgYSBjdXN0b20vdW5yZWNvZ25pemVkIHRyYW5zYWN0aW9uXG4gIGlmIChpbnN0cnVjdGlvbnMuc29tZSgoaSkgPT4gaS50eXBlID09PSAnVW5rbm93bicgJiYgaXNXYXNtQ29uZmlkZW50aWFsVHJhbnNmZXJJbnN0cnVjdGlvbihpKSkpIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkNvbmZpZGVudGlhbFRyYW5zZmVyO1xuICB9XG4gIGlmIChpbnN0cnVjdGlvbnMuc29tZSgoaSkgPT4gaS50eXBlID09PSAnVW5rbm93bicgJiYgIWlzV2FzbVRva2VuQWNsVGhhd0luc3RydWN0aW9uKGkpKSlcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuXG4gIC8vIFNlbmQgcmVxdWlyZXMgYW4gZXhwbGljaXQgVHJhbnNmZXIgb3IgVG9rZW5UcmFuc2ZlciBpbnN0cnVjdGlvbi5cbiAgLy8gRXZlcnl0aGluZyBlbHNlIGlzIGEgY3VzdG9tL3VucmVjb2duaXplZCB0cmFuc2FjdGlvbi5cbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdUcmFuc2ZlcicgfHwgaS50eXBlID09PSAnVG9rZW5UcmFuc2ZlcicpKSByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG5cbiAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYW5zYWN0aW9uIElEIGV4dHJhY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJhc2U1OCBlbmNvZGluZyBvZiA2NCB6ZXJvIGJ5dGVzICh1bnNpZ25lZCB0cmFuc2FjdGlvbnMgaGF2ZSBhbGwtemVybyBzaWduYXR1cmVzKVxuY29uc3QgQUxMX1pFUk9TX0JBU0U1OCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJztcblxuZnVuY3Rpb24gZXh0cmFjdFRyYW5zYWN0aW9uSWQoc2lnbmF0dXJlczogc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBzaWcgPSBzaWduYXR1cmVzWzBdO1xuICBpZiAoIXNpZyB8fCBzaWcgPT09IEFMTF9aRVJPU19CQVNFNTgpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiBzaWc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdGFraW5nIGF1dGhvcml6ZSBtYXBwaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1hcCBXQVNNIFN0YWtpbmdBdXRob3JpemUgaW5zdHJ1Y3Rpb24gdG8gdGhlIGxlZ2FjeSBCaXRHb0pTIHNoYXBlLlxuICogQml0R29KUyB1c2VzIGRpZmZlcmVudCBmaWVsZCBuYW1lcyBmb3IgU3Rha2VyIHZzIFdpdGhkcmF3ZXIgYXV0aG9yaXR5IGNoYW5nZXMuXG4gKi9cbmZ1bmN0aW9uIG1hcFN0YWtpbmdBdXRob3JpemUoaW5zdHI6IHtcbiAgc3Rha2luZ0FkZHJlc3M6IHN0cmluZztcbiAgb2xkQXV0aG9yaXplQWRkcmVzczogc3RyaW5nO1xuICBuZXdBdXRob3JpemVBZGRyZXNzOiBzdHJpbmc7XG4gIGF1dGhvcml6ZVR5cGU6ICdTdGFrZXInIHwgJ1dpdGhkcmF3ZXInO1xuICBjdXN0b2RpYW5BZGRyZXNzPzogc3RyaW5nO1xufSk6IFN0YWtpbmdBdXRob3JpemVQYXJhbXMge1xuICBpZiAoaW5zdHIuYXV0aG9yaXplVHlwZSA9PT0gJ1dpdGhkcmF3ZXInKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YWtpbmdBZGRyZXNzOiBpbnN0ci5zdGFraW5nQWRkcmVzcyxcbiAgICAgIG9sZFdpdGhkcmF3QWRkcmVzczogaW5zdHIub2xkQXV0aG9yaXplQWRkcmVzcyxcbiAgICAgIG5ld1dpdGhkcmF3QWRkcmVzczogaW5zdHIubmV3QXV0aG9yaXplQWRkcmVzcyxcbiAgICAgIGN1c3RvZGlhbkFkZHJlc3M6IGluc3RyLmN1c3RvZGlhbkFkZHJlc3MsXG4gICAgfTtcbiAgfVxuICAvLyBTdGFrZXIgYXV0aG9yaXR5IGNoYW5nZVxuICByZXR1cm4ge1xuICAgIHN0YWtpbmdBZGRyZXNzOiBpbnN0ci5zdGFraW5nQWRkcmVzcyxcbiAgICBvbGRXaXRoZHJhd0FkZHJlc3M6ICcnLFxuICAgIG5ld1dpdGhkcmF3QWRkcmVzczogJycsXG4gICAgb2xkU3Rha2luZ0F1dGhvcml0eUFkZHJlc3M6IGluc3RyLm9sZEF1dGhvcml6ZUFkZHJlc3MsXG4gICAgbmV3U3Rha2luZ0F1dGhvcml0eUFkZHJlc3M6IGluc3RyLm5ld0F1dGhvcml6ZUFkZHJlc3MsXG4gIH07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNYWluIGV4cGxhaW4gZnVuY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogU3RhbmRhbG9uZSBXQVNNLWJhc2VkIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uLlxuICpcbiAqIFBhcnNlcyB0aGUgdHJhbnNhY3Rpb24gdmlhIGBwYXJzZVRyYW5zYWN0aW9uKHR4KWAgZnJvbSBAYml0Z28vd2FzbS1zb2xhbmEsXG4gKiB0aGVuIGRlcml2ZXMgdGhlIHRyYW5zYWN0aW9uIHR5cGUsIGV4dHJhY3RzIG91dHB1dHMvaW5wdXRzLCBjb21wdXRlcyBmZWVzLFxuICogYW5kIG1hcHMgdG8gQml0R29KUyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGZvcm1hdC5cbiAqXG4gKiBUaGUgZXhwbGFpbiBsb2dpYyB3YXMgcG9ydGVkIGZyb20gd2FzbS1zb2xhbmEgcGVyIHRoZSBjb252ZW50aW9uIHRoYXRcbiAqIGBleHBsYWluVHJhbnNhY3Rpb25gIGJlbG9uZ3MgaW4gQml0R29KUywgbm90IGluIHdhc20tKiBwYWNrYWdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGxhaW5Tb2xUcmFuc2FjdGlvbihwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbldhc21PcHRpb25zKTogU29sTGliVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIGNvbnN0IHR4Qnl0ZXMgPSBCdWZmZXIuZnJvbShwYXJhbXMudHhCYXNlNjQsICdiYXNlNjQnKTtcbiAgY29uc3QgdHggPSBUcmFuc2FjdGlvbi5mcm9tQnl0ZXModHhCeXRlcyk7XG4gIGNvbnN0IHBhcnNlZDogUGFyc2VkVHJhbnNhY3Rpb24gPSBwYXJzZVRyYW5zYWN0aW9uKHR4KTtcblxuICAvLyAtLS0gVHJhbnNhY3Rpb24gSUQgLS0tXG4gIGNvbnN0IGlkID0gZXh0cmFjdFRyYW5zYWN0aW9uSWQocGFyc2VkLnNpZ25hdHVyZXMpO1xuXG4gIC8vIC0tLSBGZWUgY2FsY3VsYXRpb24gLS0tXG4gIGNvbnN0IGxhbXBvcnRzUGVyU2lnbmF0dXJlID0gcGFyYW1zLmZlZUluZm8gPyBCaWdJbnQocGFyYW1zLmZlZUluZm8uZmVlKSA6IDBuO1xuICBsZXQgZmVlID0gQmlnSW50KHBhcnNlZC5udW1TaWduYXR1cmVzKSAqIGxhbXBvcnRzUGVyU2lnbmF0dXJlO1xuXG4gIC8vIEVhY2ggQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCBjcmVhdGVzIGEgbmV3IHRva2VuIGFjY291bnQgcmVxdWlyaW5nIGEgcmVudCBkZXBvc2l0LlxuICBjb25zdCBhdGFDb3VudCA9IHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhLmZpbHRlcigoaSkgPT4gaS50eXBlID09PSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcpLmxlbmd0aDtcbiAgaWYgKGF0YUNvdW50ID4gMCAmJiBwYXJhbXMudG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudCkge1xuICAgIGZlZSArPSBCaWdJbnQoYXRhQ291bnQpICogQmlnSW50KHBhcmFtcy50b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50KTtcbiAgfVxuXG4gIC8vIC0tLSBFeHRyYWN0IG1lbW8gKG5lZWRlZCBiZWZvcmUgdHlwZSBkZXJpdmF0aW9uKSAtLS1cbiAgbGV0IG1lbW86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnTWVtbycpIHtcbiAgICAgIG1lbW8gPSBpbnN0ci5tZW1vO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBEZXRlY3QgY29tYmluZWQgcGF0dGVybnMgYW5kIGRlcml2ZSB0eXBlIC0tLVxuICBjb25zdCBjb21iaW5lZCA9IGRldGVjdENvbWJpbmVkUGF0dGVybihwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSk7XG4gIGNvbnN0IHR4VHlwZSA9IGRlcml2ZVRyYW5zYWN0aW9uVHlwZShwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSwgY29tYmluZWQpO1xuXG4gIC8vIEdlbnVpbmUgTWFyaW5hZGUgZGVhY3RpdmF0ZTogdGhlIFRyYW5zZmVyIGlzIGEgY29udHJhY3QgaW50ZXJhY3Rpb24sIG5vdCBhIHJlYWwgdmFsdWUgdHJhbnNmZXIuXG4gIGNvbnN0IGlzTWFyaW5hZGVEZWFjdGl2YXRlID0gaXNXYXNtTWFyaW5hZGVVbnN0YWtlKHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKTtcblxuICAvLyAtLS0gRXh0cmFjdCBvdXRwdXRzIGFuZCBpbnB1dHMgLS0tXG4gIGNvbnN0IG91dHB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IGJpZ2ludDsgdG9rZW5OYW1lPzogc3RyaW5nIH1bXSA9IFtdO1xuICBjb25zdCBpbnB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyB2YWx1ZTogYmlnaW50IH1bXSA9IFtdO1xuXG4gIGlmIChjb21iaW5lZD8ua2luZCA9PT0gJ1N0YWtpbmdBY3RpdmF0ZScpIHtcbiAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5zdGFraW5nQWRkcmVzcywgYW1vdW50OiBjb21iaW5lZC5hbW91bnQgfSk7XG4gICAgaW5wdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5mcm9tQWRkcmVzcywgdmFsdWU6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgfSBlbHNlIGlmIChjb21iaW5lZD8ua2luZCA9PT0gJ1dhbGxldEluaXRpYWxpemF0aW9uJykge1xuICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGNvbWJpbmVkLm5vbmNlQWRkcmVzcywgYW1vdW50OiBjb21iaW5lZC5hbW91bnQgfSk7XG4gICAgaW5wdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5mcm9tQWRkcmVzcywgdmFsdWU6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKGNvbnN0IGluc3RyIG9mIHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBzd2l0Y2ggKGluc3RyLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnVHJhbnNmZXInOlxuICAgICAgICAgIGlmIChpc01hcmluYWRlRGVhY3RpdmF0ZSkgYnJlYWs7XG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIudG9BZGRyZXNzLCBhbW91bnQ6IGluc3RyLmFtb3VudCB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdUb2tlblRyYW5zZmVyJzpcbiAgICAgICAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBpbnN0ci50b0FkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50LCB0b2tlbk5hbWU6IGluc3RyLnRva2VuQWRkcmVzcyB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdTdGFraW5nQWN0aXZhdGUnOlxuICAgICAgICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLnN0YWtpbmdBZGRyZXNzLCBhbW91bnQ6IGluc3RyLmFtb3VudCB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdTdGFraW5nV2l0aGRyYXcnOlxuICAgICAgICAgIC8vIFdpdGhkcmF3OiBTT0wgZmxvd3MgRlJPTSBzdGFraW5nIGFkZHJlc3MgVE8gdGhlIHJlY2lwaWVudCAoZnJvbUFkZHJlc3MpXG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuZnJvbUFkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuc3Rha2luZ0FkZHJlc3MsIHZhbHVlOiBpbnN0ci5hbW91bnQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1N0YWtlUG9vbERlcG9zaXRTb2wnOlxuICAgICAgICAgIC8vIEppdG8gbGlxdWlkIHN0YWtpbmcgZGVwb3NpdFxuICAgICAgICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLnN0YWtlUG9vbCwgYW1vdW50OiBpbnN0ci5sYW1wb3J0cyB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZ1bmRpbmdBY2NvdW50LCB2YWx1ZTogaW5zdHIubGFtcG9ydHMgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIE91dHB1dCBhbW91bnQgKG5hdGl2ZSBTT0wgb25seSwgbm90IHRva2VuIGFtb3VudHMpIC0tLVxuICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRzLmZpbHRlcigobykgPT4gIW8udG9rZW5OYW1lKS5yZWR1Y2UoKHN1bSwgbykgPT4gc3VtICsgby5hbW91bnQsIDBuKTtcblxuICAvLyAtLS0gQVRBIG93bmVyIG1hcHBpbmcgYW5kIHRva2VuIGVuYWJsZW1lbnRzIC0tLVxuICBjb25zdCBhdGFPd25lck1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCB0b2tlbkVuYWJsZW1lbnRzOiBJVG9rZW5FbmFibGVtZW50W10gPSBbXTtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcpIHtcbiAgICAgIGF0YU93bmVyTWFwW2luc3RyLmF0YUFkZHJlc3NdID0gaW5zdHIub3duZXJBZGRyZXNzO1xuICAgICAgdG9rZW5FbmFibGVtZW50cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogaW5zdHIuYXRhQWRkcmVzcyxcbiAgICAgICAgdG9rZW5OYW1lOiBmaW5kVG9rZW5OYW1lKGluc3RyLm1pbnRBZGRyZXNzLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICB0b2tlbkFkZHJlc3M6IGluc3RyLm1pbnRBZGRyZXNzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIFN0YWtpbmcgYXV0aG9yaXplIC0tLVxuICBsZXQgc3Rha2luZ0F1dGhvcml6ZTogU3Rha2luZ0F1dGhvcml6ZVBhcmFtcyB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnU3Rha2luZ0F1dGhvcml6ZScpIHtcbiAgICAgIHN0YWtpbmdBdXRob3JpemUgPSBtYXBTdGFraW5nQXV0aG9yaXplKGluc3RyKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBSZXNvbHZlIHRva2VuIG5hbWVzIGFuZCBjb252ZXJ0IGJpZ2ludCB0byBzdHJpbmcgYXQgc2VyaWFsaXphdGlvbiBib3VuZGFyeSAtLS1cbiAgY29uc3QgcmVzb2x2ZWRPdXRwdXRzID0gb3V0cHV0cy5tYXAoKG8pID0+ICh7XG4gICAgYWRkcmVzczogby5hZGRyZXNzLFxuICAgIGFtb3VudDogU3RyaW5nKG8uYW1vdW50KSxcbiAgICAuLi4oby50b2tlbk5hbWUgPyB7IHRva2VuTmFtZTogZmluZFRva2VuTmFtZShvLnRva2VuTmFtZSwgdW5kZWZpbmVkLCB0cnVlKSB9IDoge30pLFxuICB9KSk7XG5cbiAgY29uc3QgcmVzb2x2ZWRJbnB1dHMgPSBpbnB1dHMubWFwKChpKSA9PiAoe1xuICAgIGFkZHJlc3M6IGkuYWRkcmVzcyxcbiAgICB2YWx1ZTogU3RyaW5nKGkudmFsdWUpLFxuICB9KSk7XG5cbiAgcmV0dXJuIHtcbiAgICBkaXNwbGF5T3JkZXI6IFtcbiAgICAgICdpZCcsXG4gICAgICAndHlwZScsXG4gICAgICAnYmxvY2toYXNoJyxcbiAgICAgICdkdXJhYmxlTm9uY2UnLFxuICAgICAgJ291dHB1dEFtb3VudCcsXG4gICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICdvdXRwdXRzJyxcbiAgICAgICdjaGFuZ2VPdXRwdXRzJyxcbiAgICAgICd0b2tlbkVuYWJsZW1lbnRzJyxcbiAgICAgICdmZWUnLFxuICAgICAgJ21lbW8nLFxuICAgIF0sXG4gICAgaWQ6IGlkID8/IFVOQVZBSUxBQkxFX1RFWFQsXG4gICAgLy8gV0FTTSByZXR1cm5zIFwiU3Rha2luZ0F1dGhvcml6ZVwiIGJ1dCBCaXRHb0pTIHVzZXMgXCJTdGFraW5nQXV0aG9yaXplUmF3XCJcbiAgICAvLyB3aGVuIGRlc2VyaWFsaXppbmcgZnJvbSBieXRlcyAodGhlIG5vbi1yYXcgdHlwZSBvbmx5IGV4aXN0cyBkdXJpbmcgYnVpbGRpbmcpLlxuICAgIHR5cGU6IHR4VHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBdXRob3JpemUgPyAnU3Rha2luZ0F1dGhvcml6ZVJhdycgOiB0eFR5cGUsXG4gICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgb3V0cHV0QW1vdW50OiBTdHJpbmcob3V0cHV0QW1vdW50KSxcbiAgICBvdXRwdXRzOiByZXNvbHZlZE91dHB1dHMsXG4gICAgaW5wdXRzOiByZXNvbHZlZElucHV0cyxcbiAgICBmZWVQYXllcjogcGFyc2VkLmZlZVBheWVyLFxuICAgIGZlZToge1xuICAgICAgZmVlOiBwYXJhbXMuZmVlSW5mbyA/IFN0cmluZyhmZWUpIDogJzAnLFxuICAgICAgZmVlUmF0ZTogcGFyYW1zLmZlZUluZm8gPyBOdW1iZXIocGFyYW1zLmZlZUluZm8uZmVlKSA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIG1lbW8sXG4gICAgYmxvY2toYXNoOiBwYXJzZWQubm9uY2UsXG4gICAgZHVyYWJsZU5vbmNlOiBwYXJzZWQuZHVyYWJsZU5vbmNlLFxuICAgIHRva2VuRW5hYmxlbWVudHMsXG4gICAgYXRhT3duZXJNYXAsXG4gICAgLi4uKHN0YWtpbmdBdXRob3JpemUgPyB7IHN0YWtpbmdBdXRob3JpemUgfSA6IHt9KSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructionParamsFactory.d.ts","sourceRoot":"","sources":["../../../../src/lib/instructionParamsFactory.ts"],"names":[],"mappings":"AAaA,OAAO,EAYL,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAgB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIrE,OAAO,EAKL,gBAAgB,EAChB,iBAAiB,EAiBlB,MAAM,SAAS,CAAC;AAKjB;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,sBAAsB,EAAE,EACtC,QAAQ,CAAC,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,EACzC,yBAAyB,CAAC,EAAE,OAAO,GAClC,iBAAiB,EAAE,CA6BrB;
|
|
1
|
+
{"version":3,"file":"instructionParamsFactory.d.ts","sourceRoot":"","sources":["../../../../src/lib/instructionParamsFactory.ts"],"names":[],"mappings":"AAaA,OAAO,EAYL,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAgB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIrE,OAAO,EAKL,gBAAgB,EAChB,iBAAiB,EAiBlB,MAAM,SAAS,CAAC;AAKjB;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,sBAAsB,EAAE,EACtC,QAAQ,CAAC,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,EACzC,yBAAyB,CAAC,EAAE,OAAO,GAClC,iBAAiB,EAAE,CA6BrB;AA85CD,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,EACzC,yBAAyB,CAAC,EAAE,OAAO,GAClC,MAAM,CAgCR;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,GACxC,gBAAgB,EAAE,GAAG,SAAS,CAehC"}
|