@bitgo/sdk-coin-apt 2.6.7 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/src/lib/constants.d.ts +1 -0
  2. package/dist/src/lib/constants.d.ts.map +1 -1
  3. package/dist/src/lib/constants.js +3 -2
  4. package/dist/src/lib/transaction/delegationPoolAddStakeTransaction.d.ts +11 -0
  5. package/dist/src/lib/transaction/delegationPoolAddStakeTransaction.d.ts.map +1 -0
  6. package/dist/src/lib/transaction/delegationPoolAddStakeTransaction.js +46 -0
  7. package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
  8. package/dist/src/lib/transaction/transaction.js +1 -3
  9. package/dist/src/lib/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts +12 -0
  10. package/dist/src/lib/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts.map +1 -0
  11. package/dist/src/lib/transactionBuilder/delegationPoolAddStakeTransactionBuilder.js +45 -0
  12. package/dist/src/lib/transactionBuilderFactory.d.ts +2 -0
  13. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  14. package/dist/src/lib/transactionBuilderFactory.js +10 -1
  15. package/dist/src/lib/utils.d.ts.map +1 -1
  16. package/dist/src/lib/utils.js +3 -1
  17. package/dist/test/resources/apt.d.ts +3 -0
  18. package/dist/test/resources/apt.d.ts.map +1 -1
  19. package/dist/test/resources/apt.js +10 -2
  20. package/dist/test/unit/apt.js +34 -1
  21. package/dist/test/unit/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts +2 -0
  22. package/dist/test/unit/transactionBuilder/delegationPoolAddStakeTransactionBuilder.d.ts.map +1 -0
  23. package/dist/test/unit/transactionBuilder/delegationPoolAddStakeTransactionBuilder.js +185 -0
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +6 -6
@@ -27,6 +27,7 @@ export declare const batchRecipients: Recipient[];
27
27
  export declare const fungibleTokenRecipients: Recipient[];
28
28
  export declare const batchFungibleRecipients: Recipient[];
29
29
  export declare const digitalTokenRecipients: Recipient[];
30
+ export declare const delegationPoolAddStakeRecipients: Recipient[];
30
31
  export declare const invalidRecipients: Recipient[];
31
32
  export declare const TRANSFER = "0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a37244992000000000000000200000000000000000000000000000000000000000000000000000000000000010d6170746f735f6163636f756e740e7472616e736665725f636f696e73010700000000000000000000000000000000000000000000000000000000000000010a6170746f735f636f696e094170746f73436f696e000220f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad908e803000000000000400d0300000000006400000000000000979390670000000002030020f73836f42257240e43d439552471fc9dbcc3f1af5bd0b4ed83f44b5f6614644240caeb90efd4b7ecd922c97bb3163e6a9de1fbb2ee0fc0d56af484f4af9b0015c5831341550af29b3686713b6657c821d894635fe13c7933f06ee043728f040b090000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f200205223396c531f13e031a9f0cb26d459d799a52e51be9a1cb9e871afb4c31f91ff4013e7e8a1325ee5f656c93baa3d0206a1d9bd6da5abdc6f5d9b8bbbb0926ddac68f3e57a915dd217d2d43e776a6cc01af72f895ea712acc836d30349f29a3c606";
32
33
  export declare const TRANSACTION_USING_TRANSFER_COINS = "0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a37244992000000000000000200000000000000000000000000000000000000000000000000000000000000010d6170746f735f6163636f756e740e7472616e736665725f636f696e73010700000000000000000000000000000000000000000000000000000000000000010a6170746f735f636f696e094170746f73436f696e000220f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad908e803000000000000400d0300000000006400000000000000979390670000000002030020f73836f42257240e43d439552471fc9dbcc3f1af5bd0b4ed83f44b5f6614644240caeb90efd4b7ecd922c97bb3163e6a9de1fbb2ee0fc0d56af484f4af9b0015c5831341550af29b3686713b6657c821d894635fe13c7933f06ee043728f040b090000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f200205223396c531f13e031a9f0cb26d459d799a52e51be9a1cb9e871afb4c31f91ff4013e7e8a1325ee5f656c93baa3d0206a1d9bd6da5abdc6f5d9b8bbbb0926ddac68f3e57a915dd217d2d43e776a6cc01af72f895ea712acc836d30349f29a3c606";
@@ -43,4 +44,6 @@ export declare const LEGACY_COIN = "0x4fb379c10c763a13e724064ecfb7d946690bea519b
43
44
  export declare const FUNGIBLE_SERIALIZED_TX_HEX = "0xd171f03aa2c3f37d7838b76cdd83da045ecc3f080a1c190f7e412d79485809a00000000000000000020000000000000000000000000000000000000000000000000000000000000001167072696d6172795f66756e6769626c655f73746f7265087472616e73666572010700000000000000000000000000000000000000000000000000000000000000010e66756e6769626c655f6173736574084d65746164617461000320d5d0d561493ea2b9410f67da804653ae44e793c2423707d4f11edb2e3819205020ba7af528be58094057170e365a6b5fa836868152a505b2733355dff1d183171e080100000000000000400d0300000000006400000000000000fcaabe670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c14e0894f3334dcd4008447628f3f7e3b5c5200eee399b72c0e63f8e5d09f09600209b4e96086d111500259f9b38680b0509a405c1904da18976455a20c691d3bb074000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
44
45
  export declare const FUNGIBLE_BATCH_RAW_TX_HEX = "0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010d6170746f735f6163636f756e741e62617463685f7472616e736665725f66756e6769626c655f617373657473000320d5d0d561493ea2b9410f67da804653ae44e793c2423707d4f11edb2e381920504102dd52c0b72a73696b867d6571a308c413e43bff8f44956a5991abc4d50db0b8492a81760d52db9a96df2609860218214b6d1012e77e84a3fed5145a9a65bf6932110201000000000000000100000000000000400d03000000000064000000000000008b037d670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
45
46
  export declare const FUNGIBLE_BATCH_SIGNABLE_PAYLOAD = "5efa3c4f02f83a0f4b2d69fc95c607cc02825cc4e7be536ef0992df050d9e67c011aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010d6170746f735f6163636f756e741e62617463685f7472616e736665725f66756e6769626c655f617373657473000320d5d0d561493ea2b9410f67da804653ae44e793c2423707d4f11edb2e381920504102dd52c0b72a73696b867d6571a308c413e43bff8f44956a5991abc4d50db0b8492a81760d52db9a96df2609860218214b6d1012e77e84a3fed5145a9a65bf6932110201000000000000000100000000000000400d03000000000064000000000000008b037d67000000000200dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2";
47
+ export declare const DELEGATION_POOL_ADD_STAKE_TX_HEX = "0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010f64656c65676174696f6e5f706f6f6c096164645f7374616b65000220f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad908e803000000000000400d03000000000064000000000000008b037d670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
48
+ export declare const DELEGATION_POOL_ADD_STAKE_TX_HEX_SIGNABLE_PAYLOAD = "5efa3c4f02f83a0f4b2d69fc95c607cc02825cc4e7be536ef0992df050d9e67c011aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010f64656c65676174696f6e5f706f6f6c096164645f7374616b65000220f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad908e803000000000000400d03000000000064000000000000008b037d67000000000200dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2";
46
49
  //# sourceMappingURL=apt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apt.d.ts","sourceRoot":"","sources":["../../../test/resources/apt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,MAAM,OAAO,CAAC;AAC3B,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,SAAS;;;CAUrB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AAEF,eAAO,MAAM,OAAO;;;CAGnB,CAAC;AAEF,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,EAKjC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,EAStC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,EAS9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,EAS9C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAK7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAaxC,CAAC;AAEF,eAAO,MAAM,QAAQ,65BACu4B,CAAC;AAE75B,eAAO,MAAM,gCAAgC,65BAC+2B,CAAC;AAE75B,eAAO,MAAM,uBAAuB,2+BACs8B,CAAC;AAE3+B,eAAO,MAAM,uBAAuB,q+BACg8B,CAAC;AAEr+B,eAAO,MAAM,sBAAsB,i6BAC63B,CAAC;AAEj6B,eAAO,MAAM,mBAAmB,6/BAC49B,CAAC;AAE7/B,eAAO,MAAM,gBAAgB,kgBACoe,CAAC;AAElgB,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,uEAAuE,CAAC;AAExG,eAAO,MAAM,WAAW,uFAAuF,CAAC;AAEhH,eAAO,MAAM,0BAA0B,2+BACm8B,CAAC;AAE3+B,eAAO,MAAM,yBAAyB,q+BAC87B,CAAC;AAEr+B,eAAO,MAAM,+BAA+B,qpBACwmB,CAAC"}
1
+ {"version":3,"file":"apt.d.ts","sourceRoot":"","sources":["../../../test/resources/apt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,MAAM,OAAO,CAAC;AAC3B,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,SAAS;;;CAUrB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AAEF,eAAO,MAAM,OAAO;;;CAGnB,CAAC;AAEF,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,EAKjC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,EAStC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,EAS9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,EAS9C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAK7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,SAAS,EAKvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAaxC,CAAC;AAEF,eAAO,MAAM,QAAQ,65BACu4B,CAAC;AAE75B,eAAO,MAAM,gCAAgC,65BAC+2B,CAAC;AAE75B,eAAO,MAAM,uBAAuB,2+BACs8B,CAAC;AAE3+B,eAAO,MAAM,uBAAuB,q+BACg8B,CAAC;AAEr+B,eAAO,MAAM,sBAAsB,i6BAC63B,CAAC;AAEj6B,eAAO,MAAM,mBAAmB,6/BAC49B,CAAC;AAE7/B,eAAO,MAAM,gBAAgB,kgBACoe,CAAC;AAElgB,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,uEAAuE,CAAC;AAExG,eAAO,MAAM,WAAW,uFAAuF,CAAC;AAEhH,eAAO,MAAM,0BAA0B,2+BACm8B,CAAC;AAE3+B,eAAO,MAAM,yBAAyB,q+BAC87B,CAAC;AAEr+B,eAAO,MAAM,+BAA+B,qpBACwmB,CAAC;AAErpB,eAAO,MAAM,gCAAgC,yyBAC2vB,CAAC;AAEzyB,eAAO,MAAM,iDAAiD,ydAC0Z,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FUNGIBLE_BATCH_SIGNABLE_PAYLOAD = exports.FUNGIBLE_BATCH_RAW_TX_HEX = exports.FUNGIBLE_SERIALIZED_TX_HEX = exports.LEGACY_COIN = exports.digitalAssetAddress = exports.fungibleTokenAddress = exports.INVALID_TRANSFER = exports.COIN_BATCH_TRANSFER = exports.DIGITAL_ASSET_TRANSFER = exports.FUNGIBLE_BATCH_TRANSFER = exports.FUNGIBLE_TOKEN_TRANSFER = exports.TRANSACTION_USING_TRANSFER_COINS = exports.TRANSFER = exports.invalidRecipients = exports.digitalTokenRecipients = exports.batchFungibleRecipients = exports.fungibleTokenRecipients = exports.batchRecipients = exports.recipients = exports.feePayer = exports.fungibleSender = exports.sender2 = exports.sender = exports.addresses = exports.FUNGIBLE_TOKEN_AMOUNT = exports.AMOUNT = void 0;
3
+ exports.DELEGATION_POOL_ADD_STAKE_TX_HEX_SIGNABLE_PAYLOAD = exports.DELEGATION_POOL_ADD_STAKE_TX_HEX = exports.FUNGIBLE_BATCH_SIGNABLE_PAYLOAD = exports.FUNGIBLE_BATCH_RAW_TX_HEX = exports.FUNGIBLE_SERIALIZED_TX_HEX = exports.LEGACY_COIN = exports.digitalAssetAddress = exports.fungibleTokenAddress = exports.INVALID_TRANSFER = exports.COIN_BATCH_TRANSFER = exports.DIGITAL_ASSET_TRANSFER = exports.FUNGIBLE_BATCH_TRANSFER = exports.FUNGIBLE_TOKEN_TRANSFER = exports.TRANSACTION_USING_TRANSFER_COINS = exports.TRANSFER = exports.invalidRecipients = exports.delegationPoolAddStakeRecipients = exports.digitalTokenRecipients = exports.batchFungibleRecipients = exports.fungibleTokenRecipients = exports.batchRecipients = exports.recipients = exports.feePayer = exports.fungibleSender = exports.sender2 = exports.sender = exports.addresses = exports.FUNGIBLE_TOKEN_AMOUNT = exports.AMOUNT = void 0;
4
4
  exports.AMOUNT = 1000;
5
5
  exports.FUNGIBLE_TOKEN_AMOUNT = 1;
6
6
  exports.addresses = {
@@ -73,6 +73,12 @@ exports.digitalTokenRecipients = [
73
73
  amount: '1',
74
74
  },
75
75
  ];
76
+ exports.delegationPoolAddStakeRecipients = [
77
+ {
78
+ address: exports.addresses.validAddresses[0],
79
+ amount: exports.AMOUNT.toString(),
80
+ },
81
+ ];
76
82
  exports.invalidRecipients = [
77
83
  {
78
84
  address: exports.addresses.invalidAddresses[0],
@@ -102,4 +108,6 @@ exports.LEGACY_COIN = '0x4fb379c10c763a13e724064ecfb7d946690bea519ba982c81b518d1
102
108
  exports.FUNGIBLE_SERIALIZED_TX_HEX = '0xd171f03aa2c3f37d7838b76cdd83da045ecc3f080a1c190f7e412d79485809a00000000000000000020000000000000000000000000000000000000000000000000000000000000001167072696d6172795f66756e6769626c655f73746f7265087472616e73666572010700000000000000000000000000000000000000000000000000000000000000010e66756e6769626c655f6173736574084d65746164617461000320d5d0d561493ea2b9410f67da804653ae44e793c2423707d4f11edb2e3819205020ba7af528be58094057170e365a6b5fa836868152a505b2733355dff1d183171e080100000000000000400d0300000000006400000000000000fcaabe670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c14e0894f3334dcd4008447628f3f7e3b5c5200eee399b72c0e63f8e5d09f09600209b4e96086d111500259f9b38680b0509a405c1904da18976455a20c691d3bb074000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';
103
109
  exports.FUNGIBLE_BATCH_RAW_TX_HEX = '0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010d6170746f735f6163636f756e741e62617463685f7472616e736665725f66756e6769626c655f617373657473000320d5d0d561493ea2b9410f67da804653ae44e793c2423707d4f11edb2e381920504102dd52c0b72a73696b867d6571a308c413e43bff8f44956a5991abc4d50db0b8492a81760d52db9a96df2609860218214b6d1012e77e84a3fed5145a9a65bf6932110201000000000000000100000000000000400d03000000000064000000000000008b037d670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';
104
110
  exports.FUNGIBLE_BATCH_SIGNABLE_PAYLOAD = '5efa3c4f02f83a0f4b2d69fc95c607cc02825cc4e7be536ef0992df050d9e67c011aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010d6170746f735f6163636f756e741e62617463685f7472616e736665725f66756e6769626c655f617373657473000320d5d0d561493ea2b9410f67da804653ae44e793c2423707d4f11edb2e381920504102dd52c0b72a73696b867d6571a308c413e43bff8f44956a5991abc4d50db0b8492a81760d52db9a96df2609860218214b6d1012e77e84a3fed5145a9a65bf6932110201000000000000000100000000000000400d03000000000064000000000000008b037d67000000000200dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2';
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvYXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsTUFBTSxHQUFHLElBQUksQ0FBQztBQUNkLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBRTFCLFFBQUEsU0FBUyxHQUFHO0lBQ3ZCLGNBQWMsRUFBRTtRQUNkLG9FQUFvRTtRQUNwRSxvRUFBb0U7S0FDckU7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixjQUFjO1FBQ2Qsc0NBQXNDO1FBQ3RDLDhDQUE4QztLQUMvQztDQUNGLENBQUM7QUFFVyxRQUFBLE1BQU0sR0FBRztJQUNwQixPQUFPLEVBQUUsb0VBQW9FO0lBQzdFLFVBQVUsRUFBRSxvRUFBb0U7SUFDaEYsU0FBUyxFQUFFLG9FQUFvRTtDQUNoRixDQUFDO0FBRVcsUUFBQSxPQUFPLEdBQUc7SUFDckIsT0FBTyxFQUFFLG9FQUFvRTtJQUM3RSxTQUFTLEVBQUUsb0VBQW9FO0NBQ2hGLENBQUM7QUFFVyxRQUFBLGNBQWMsR0FBRztJQUM1QixPQUFPLEVBQUUsb0VBQW9FO0NBQzlFLENBQUM7QUFFVyxRQUFBLFFBQVEsR0FBRztJQUN0QixPQUFPLEVBQUUsb0VBQW9FO0lBQzdFLFVBQVUsRUFBRSxvRUFBb0U7SUFDaEYsU0FBUyxFQUFFLG9FQUFvRTtDQUNoRixDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQWdCO0lBQ3JDO1FBQ0UsT0FBTyxFQUFFLGlCQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLEVBQUUsY0FBTSxDQUFDLFFBQVEsRUFBRTtLQUMxQjtDQUNGLENBQUM7QUFFVyxRQUFBLGVBQWUsR0FBZ0I7SUFDMUM7UUFDRSxPQUFPLEVBQUUsb0VBQW9FO1FBQzdFLE1BQU0sRUFBRSxNQUFNO0tBQ2Y7SUFDRDtRQUNFLE9BQU8sRUFBRSxvRUFBb0U7UUFDN0UsTUFBTSxFQUFFLE1BQU07S0FDZjtDQUNGLENBQUM7QUFFVyxRQUFBLHVCQUF1QixHQUFnQjtJQUNsRDtRQUNFLE9BQU8sRUFBRSxpQkFBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxFQUFFLDZCQUFxQixDQUFDLFFBQVEsRUFBRTtLQUN6QztJQUNEO1FBQ0UsT0FBTyxFQUFFLG9FQUFvRTtRQUM3RSxNQUFNLEVBQUUsR0FBRztLQUNaO0NBQ0YsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQWdCO0lBQ2xEO1FBQ0UsT0FBTyxFQUFFLG9FQUFvRTtRQUM3RSxNQUFNLEVBQUUsR0FBRztLQUNaO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsb0VBQW9FO1FBQzdFLE1BQU0sRUFBRSxHQUFHO0tBQ1o7Q0FDRixDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBZ0I7SUFDakQ7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxHQUFHO0tBQ1o7Q0FDRixDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBZ0I7SUFDNUM7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxFQUFFLGNBQU0sQ0FBQyxRQUFRLEVBQUU7S0FDMUI7SUFDRDtRQUNFLE9BQU8sRUFBRSxpQkFBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxFQUFFLFNBQVM7S0FDbEI7SUFDRDtRQUNFLE9BQU8sRUFBRSxpQkFBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxFQUFFLGVBQWU7S0FDeEI7Q0FDRixDQUFDO0FBRVcsUUFBQSxRQUFRLEdBQ25CLDA1QkFBMDVCLENBQUM7QUFFaDVCLFFBQUEsZ0NBQWdDLEdBQzNDLDA1QkFBMDVCLENBQUM7QUFFaDVCLFFBQUEsdUJBQXVCLEdBQ2xDLHcrQkFBdytCLENBQUM7QUFFOTlCLFFBQUEsdUJBQXVCLEdBQ2xDLGsrQkFBaytCLENBQUM7QUFFeDlCLFFBQUEsc0JBQXNCLEdBQ2pDLDg1QkFBODVCLENBQUM7QUFFcDVCLFFBQUEsbUJBQW1CLEdBQzlCLDAvQkFBMC9CLENBQUM7QUFFaC9CLFFBQUEsZ0JBQWdCLEdBQzNCLCtmQUErZixDQUFDO0FBRXJmLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsSUFBSSxFQUFFLG9FQUFvRTtDQUMzRSxDQUFDO0FBRVcsUUFBQSxtQkFBbUIsR0FBRyxvRUFBb0UsQ0FBQztBQUUzRixRQUFBLFdBQVcsR0FBRyxvRkFBb0YsQ0FBQztBQUVuRyxRQUFBLDBCQUEwQixHQUNyQyx3K0JBQXcrQixDQUFDO0FBRTk5QixRQUFBLHlCQUF5QixHQUNwQyxrK0JBQWsrQixDQUFDO0FBRXg5QixRQUFBLCtCQUErQixHQUMxQyxrcEJBQWtwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjaXBpZW50IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFNT1VOVCA9IDEwMDA7XG5leHBvcnQgY29uc3QgRlVOR0lCTEVfVE9LRU5fQU1PVU5UID0gMTtcblxuZXhwb3J0IGNvbnN0IGFkZHJlc3NlcyA9IHtcbiAgdmFsaWRBZGRyZXNzZXM6IFtcbiAgICAnMHhmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5JyxcbiAgICAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5JyxcbiAgXSxcbiAgaW52YWxpZEFkZHJlc3NlczogW1xuICAgICdyYW5kb21TdHJpbmcnLFxuICAgICcweGM0MTczYTgwNDQwNmEzNjVlNjlkZmIyOTdkZGZnc2RjdmYnLFxuICAgICc1bmU3cGhBNDhKcnZwbjM5QXR1cEI4WmtDQ0F5OGdMVGZwR2loWlB1RHFlbicsXG4gIF0sXG59O1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyID0ge1xuICBhZGRyZXNzOiAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5JyxcbiAgcHJpdmF0ZUtleTogJzB4NTRlMWE4OGViMmI4ODFmZTZjMjIyOTg1ZDBmYWJjOWJhM2FjYTM1NzQzZGQxZDE5ZGIxOGE5YTM1NWFjYmFhYScsXG4gIHB1YmxpY0tleTogJzB4ZjczODM2ZjQyMjU3MjQwZTQzZDQzOTU1MjQ3MWZjOWRiY2MzZjFhZjViZDBiNGVkODNmNDRiNWY2NjE0NjQ0MicsXG59O1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyMiA9IHtcbiAgYWRkcmVzczogJzB4MWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OScsXG4gIHB1YmxpY0tleTogJzB4ZjczODM2ZjQyMjU3MjQwZTQzZDQzOTU1MjQ3MWZjOWRiY2MzZjFhZjViZDBiNGVkODNmNDRiNWY2NjE0NjQ0MicsXG59O1xuXG5leHBvcnQgY29uc3QgZnVuZ2libGVTZW5kZXIgPSB7XG4gIGFkZHJlc3M6ICcweGQxNzFmMDNhYTJjM2YzN2Q3ODM4Yjc2Y2RkODNkYTA0NWVjYzNmMDgwYTFjMTkwZjdlNDEyZDc5NDg1ODA5YTAnLFxufTtcblxuZXhwb3J0IGNvbnN0IGZlZVBheWVyID0ge1xuICBhZGRyZXNzOiAnMHhkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyJyxcbiAgcHJpdmF0ZUtleTogJzB4NTFhOTUwN2Q5MTI3ODQxYTE0NjUxODkxODhkOTMwNjVjYjI2YmFkM2JlYzA1ZDNjOGYyOGU5YzFmYzM1YmRhMCcsXG4gIHB1YmxpY0tleTogJzB4NTIyMzM5NmM1MzFmMTNlMDMxYTlmMGNiMjZkNDU5ZDc5OWE1MmU1MWJlOWExY2I5ZTg3MWFmYjRjMzFmOTFmZicsXG59O1xuXG5leHBvcnQgY29uc3QgcmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiBBTU9VTlQudG9TdHJpbmcoKSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBiYXRjaFJlY2lwaWVudHM6IFJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogJzB4ZGQ1MmMwYjcyYTczNjk2Yjg2N2Q2NTcxYTMwOGM0MTNlNDNiZmY4ZjQ0OTU2YTU5OTFhYmM0ZDUwZGIwYjg0OScsXG4gICAgYW1vdW50OiAnMTAwMCcsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiAnMHgyYTgxNzYwZDUyZGI5YTk2ZGYyNjA5ODYwMjE4MjE0YjZkMTAxMmU3N2U4NGEzZmVkNTE0NWE5YTY1YmY2OTMyJyxcbiAgICBhbW91bnQ6ICcxMDAwJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBmdW5naWJsZVRva2VuUmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiBGVU5HSUJMRV9UT0tFTl9BTU9VTlQudG9TdHJpbmcoKSxcbiAgfSxcbiAge1xuICAgIGFkZHJlc3M6ICcweGJhN2FmNTI4YmU1ODA5NDA1NzE3MGUzNjVhNmI1ZmE4MzY4NjgxNTJhNTA1YjI3MzMzNTVkZmYxZDE4MzE3MWUnLFxuICAgIGFtb3VudDogJzEnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGJhdGNoRnVuZ2libGVSZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6ICcweGRkNTJjMGI3MmE3MzY5NmI4NjdkNjU3MWEzMDhjNDEzZTQzYmZmOGY0NDk1NmE1OTkxYWJjNGQ1MGRiMGI4NDknLFxuICAgIGFtb3VudDogJzEnLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogJzB4MmE4MTc2MGQ1MmRiOWE5NmRmMjYwOTg2MDIxODIxNGI2ZDEwMTJlNzdlODRhM2ZlZDUxNDVhOWE2NWJmNjkzMicsXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZGlnaXRhbFRva2VuUmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgaW52YWxpZFJlY2lwaWVudHM6IFJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLmludmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiBBTU9VTlQudG9TdHJpbmcoKSxcbiAgfSxcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6ICctOTE5MTkxJyxcbiAgfSxcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6ICdpbnZhbGlkQW1vdW50JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBUUkFOU0ZFUiA9XG4gICcweDFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDk5MjAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGQ2MTcwNzQ2ZjczNWY2MTYzNjM2Zjc1NmU3NDBlNzQ3MjYxNmU3MzY2NjU3MjVmNjM2ZjY5NmU3MzAxMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGE2MTcwNzQ2ZjczNWY2MzZmNjk2ZTA5NDE3MDc0NmY3MzQzNmY2OTZlMDAwMjIwZjc0MDVjMjhhMDJjZjViYWI0ZWE0NDk4MjQwYmIzNTc5ZGI0NTk1MTc5NGViMWM4NDNiZWYwNTM0YzA5M2FkOTA4ZTgwMzAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwOTc5MzkwNjcwMDAwMDAwMDAyMDMwMDIwZjczODM2ZjQyMjU3MjQwZTQzZDQzOTU1MjQ3MWZjOWRiY2MzZjFhZjViZDBiNGVkODNmNDRiNWY2NjE0NjQ0MjQwY2FlYjkwZWZkNGI3ZWNkOTIyYzk3YmIzMTYzZTZhOWRlMWZiYjJlZTBmYzBkNTZhZjQ4NGY0YWY5YjAwMTVjNTgzMTM0MTU1MGFmMjliMzY4NjcxM2I2NjU3YzgyMWQ4OTQ2MzVmZTEzYzc5MzNmMDZlZTA0MzcyOGYwNDBiMDkwMDAwZGJjODdhMWM4MTZkOWJjZDA2YjY4M2MzN2U4MGM3MTYyZTRkNDhkYTc4MTIxOThiODMwZTRkNWQ4ZTA2MjlmMjAwMjA1MjIzMzk2YzUzMWYxM2UwMzFhOWYwY2IyNmQ0NTlkNzk5YTUyZTUxYmU5YTFjYjllODcxYWZiNGMzMWY5MWZmNDAxM2U3ZThhMTMyNWVlNWY2NTZjOTNiYWEzZDAyMDZhMWQ5YmQ2ZGE1YWJkYzZmNWQ5YjhiYmJiMDkyNmRkYWM2OGYzZTU3YTkxNWRkMjE3ZDJkNDNlNzc2YTZjYzAxYWY3MmY4OTVlYTcxMmFjYzgzNmQzMDM0OWYyOWEzYzYwNic7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0FDVElPTl9VU0lOR19UUkFOU0ZFUl9DT0lOUyA9XG4gICcweDFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDk5MjAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGQ2MTcwNzQ2ZjczNWY2MTYzNjM2Zjc1NmU3NDBlNzQ3MjYxNmU3MzY2NjU3MjVmNjM2ZjY5NmU3MzAxMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGE2MTcwNzQ2ZjczNWY2MzZmNjk2ZTA5NDE3MDc0NmY3MzQzNmY2OTZlMDAwMjIwZjc0MDVjMjhhMDJjZjViYWI0ZWE0NDk4MjQwYmIzNTc5ZGI0NTk1MTc5NGViMWM4NDNiZWYwNTM0YzA5M2FkOTA4ZTgwMzAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwOTc5MzkwNjcwMDAwMDAwMDAyMDMwMDIwZjczODM2ZjQyMjU3MjQwZTQzZDQzOTU1MjQ3MWZjOWRiY2MzZjFhZjViZDBiNGVkODNmNDRiNWY2NjE0NjQ0MjQwY2FlYjkwZWZkNGI3ZWNkOTIyYzk3YmIzMTYzZTZhOWRlMWZiYjJlZTBmYzBkNTZhZjQ4NGY0YWY5YjAwMTVjNTgzMTM0MTU1MGFmMjliMzY4NjcxM2I2NjU3YzgyMWQ4OTQ2MzVmZTEzYzc5MzNmMDZlZTA0MzcyOGYwNDBiMDkwMDAwZGJjODdhMWM4MTZkOWJjZDA2YjY4M2MzN2U4MGM3MTYyZTRkNDhkYTc4MTIxOThiODMwZTRkNWQ4ZTA2MjlmMjAwMjA1MjIzMzk2YzUzMWYxM2UwMzFhOWYwY2IyNmQ0NTlkNzk5YTUyZTUxYmU5YTFjYjllODcxYWZiNGMzMWY5MWZmNDAxM2U3ZThhMTMyNWVlNWY2NTZjOTNiYWEzZDAyMDZhMWQ5YmQ2ZGE1YWJkYzZmNWQ5YjhiYmJiMDkyNmRkYWM2OGYzZTU3YTkxNWRkMjE3ZDJkNDNlNzc2YTZjYzAxYWY3MmY4OTVlYTcxMmFjYzgzNmQzMDM0OWYyOWEzYzYwNic7XG5cbmV4cG9ydCBjb25zdCBGVU5HSUJMRV9UT0tFTl9UUkFOU0ZFUiA9XG4gICcweDFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDlhNzAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTY3MDcyNjk2ZDYxNzI3OTVmNjY3NTZlNjc2OTYyNmM2NTVmNzM3NDZmNzI2NTA4NzQ3MjYxNmU3MzY2NjU3MjAxMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGU2Njc1NmU2NzY5NjI2YzY1NWY2MTczNzM2NTc0MDg0ZDY1NzQ2MTY0NjE3NDYxMDAwMzIwZDVkMGQ1NjE0OTNlYTJiOTQxMGY2N2RhODA0NjUzYWU0NGU3OTNjMjQyMzcwN2Q0ZjExZWRiMmUzODE5MjA1MDIwZjc0MDVjMjhhMDJjZjViYWI0ZWE0NDk4MjQwYmIzNTc5ZGI0NTk1MTc5NGViMWM4NDNiZWYwNTM0YzA5M2FkOTA4MDEwMDAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwZTQyNjk2NjcwMDAwMDAwMDAyMDMwMDIwZjczODM2ZjQyMjU3MjQwZTQzZDQzOTU1MjQ3MWZjOWRiY2MzZjFhZjViZDBiNGVkODNmNDRiNWY2NjE0NjQ0MjQwMjk2NjVjZDRjOTQ2NThhMGQ4MzkwN2JiZWQ3ZTc2MTc5NGIyNWJjY2MwM2ZjODdlNmRkNjNhNTQzYWNjZGRkZmQ3YTZmMWU3YTE1ZTg2ODE1NDdjYTQzN2ZmOTliNThjOTJmODE2ZTM1YTBmMzMzZDdmMWZkMTMzMGMyMWFkMGEwMDAwZGJjODdhMWM4MTZkOWJjZDA2YjY4M2MzN2U4MGM3MTYyZTRkNDhkYTc4MTIxOThiODMwZTRkNWQ4ZTA2MjlmMjAwMjA1MjIzMzk2YzUzMWYxM2UwMzFhOWYwY2IyNmQ0NTlkNzk5YTUyZTUxYmU5YTFjYjllODcxYWZiNGMzMWY5MWZmNDBkZTdiMGJiODZjYTM0NjAzMTk0MmU5Y2YyMWZmOTYwNGM3YzA4YzJjNjYyZTM4YTBhZmUzZGQ2NDA1MTJjMDQ0MTM5NmMwNjk3Y2Q4YmJiY2YzOTY5NGQ2Zjg4ZTM1ZjZiZWQ5ZmIzNGJkMjA5YjA0NzliNWU4YmQwY2YzZWIwYic7XG5cbmV4cG9ydCBjb25zdCBGVU5HSUJMRV9CQVRDSF9UUkFOU0ZFUiA9XG4gICcweGM4ZjAyZDI1YWE2OThiM2U5ZmJkOGEwOGU4ZGE0YzhlZTI2MTgzMmEyNWE0Y2RlODczMWI1ZWMzNTY1MzdkMDk1MTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGQ2MTcwNzQ2ZjczNWY2MTYzNjM2Zjc1NmU3NDFlNjI2MTc0NjM2ODVmNzQ3MjYxNmU3MzY2NjU3MjVmNjY3NTZlNjc2OTYyNmM2NTVmNjE3MzczNjU3NDczMDAwMzIwZDVkMGQ1NjE0OTNlYTJiOTQxMGY2N2RhODA0NjUzYWU0NGU3OTNjMjQyMzcwN2Q0ZjExZWRiMmUzODE5MjA1MDQxMDJkZDUyYzBiNzJhNzM2OTZiODY3ZDY1NzFhMzA4YzQxM2U0M2JmZjhmNDQ5NTZhNTk5MWFiYzRkNTBkYjBiODQ5MmE4MTc2MGQ1MmRiOWE5NmRmMjYwOTg2MDIxODIxNGI2ZDEwMTJlNzdlODRhM2ZlZDUxNDVhOWE2NWJmNjkzMjExMDIwMTAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwMDAyNTVhM2FiMzAxMDAwMDAyMDMwMDIwMjEyMWRjZDA5ODA2OWFlNTM1Njk3ZGQwMTljZmQ4Njc3Y2E3YWJhMGFkYWMxZDE5NTljYmNlNmRjNTRiMTI1OTQwZDNlNzQ0OGJhZmQxMTkyNGE1ZDE4OTg1MzEwYjk5YTUzOWE3YjkwMzk2MWQ1YzI5NmZkY2IzMTQ5NTBiNGEyNDdmYWQ3N2JhZDc5N2E2NDRlNTlmYjc2NzY3Y2Y3OTZjMjA3YTQwZWJjM2QyMmZjNWM4NDcxNzJlYmYwOTU3MGYwMDAwZGJjODdhMWM4MTZkOWJjZDA2YjY4M2MzN2U4MGM3MTYyZTRkNDhkYTc4MTIxOThiODMwZTRkNWQ4ZTA2MjlmMjAwMjA1MjIzMzk2YzUzMWYxM2UwMzFhOWYwY2IyNmQ0NTlkNzk5YTUyZTUxYmU5YTFjYjllODcxYWZiNGMzMWY5MWZmNDBlMjQyZDU5NzEyZThlOGEyMTNjYjZiMjRhYjExNzg1NGNmMTIyNzU2NjBkZWRjYjQ5ZWI1YjIyZjU0M2JhZGE4M2Y4N2NhNTFkNWRhMDZhMjNhYzVkNGRjNmJiZmM3NzQ1Y2I0NGQyMjQ2N2JlNjEzNTY1ZjQxYjNiYTg3NTEwOCc7XG5cbmV4cG9ydCBjb25zdCBESUdJVEFMX0FTU0VUX1RSQU5TRkVSID1cbiAgJzB4MWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OWFiMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjZmNjI2YTY1NjM3NDA4NzQ3MjYxNmU3MzY2NjU3MjAxMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDU3NDZmNmI2NTZlMDU1NDZmNmI2NTZlMDAwMjIwMmUzNTYwNjI3Nzc0NjlkMzljYTVkOWI3MjUxMmNlMmQ1NzEzZDc5MzhlZDZjYTkxOTNkNGZjMjAxNmE4MTlmZDIwZjc0MDVjMjhhMDJjZjViYWI0ZWE0NDk4MjQwYmIzNTc5ZGI0NTk1MTc5NGViMWM4NDNiZWYwNTM0YzA5M2FkOTQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwNTI2Nzk4NjcwMDAwMDAwMDAyMDMwMDIwZjczODM2ZjQyMjU3MjQwZTQzZDQzOTU1MjQ3MWZjOWRiY2MzZjFhZjViZDBiNGVkODNmNDRiNWY2NjE0NjQ0MjQwMGMyYzMxZWFlNDk1ZDIyZDFkMzEwMzFiOTc1NmU4MjM4YTNkZjZlNzYwNTE1YWEzZTExMDhkOTNiM2FlYzZhZWI5MTY4NDMwN2U4MzY1YWQ5ZGM0NGMwYjU5NTdlOTVhMjFhNmY0N2Q4ZDRhNmUwZWIzYjE0NWZiM2Q1MTdmMDMwMDAwZGJjODdhMWM4MTZkOWJjZDA2YjY4M2MzN2U4MGM3MTYyZTRkNDhkYTc4MTIxOThiODMwZTRkNWQ4ZTA2MjlmMjAwMjA1MjIzMzk2YzUzMWYxM2UwMzFhOWYwY2IyNmQ0NTlkNzk5YTUyZTUxYmU5YTFjYjllODcxYWZiNGMzMWY5MWZmNDBkZDZjMDY0ZTQ0NjQyODE5ZGVjMmY2M2QzMmQ2ZGFhNGY4ODlkNjJkMDYwMjVhZDk5YjQyNTYyYzRjNmNkZWY4YjE0Mzc3MzkxMTVkN2YzODA1MDA3ODgyOWVmYjlkZDA1NTI4ZjUzMzA5YmNhYjViODlmYWRiMjgzNDIzMTAwZCc7XG5cbmV4cG9ydCBjb25zdCBDT0lOX0JBVENIX1RSQU5TRkVSID1cbiAgJzB4YzhmMDJkMjVhYTY5OGIzZTlmYmQ4YTA4ZThkYTRjOGVlMjYxODMyYTI1YTRjZGU4NzMxYjVlYzM1NjUzN2QwOTUxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZDYxNzA3NDZmNzM1ZjYxNjM2MzZmNzU2ZTc0MTQ2MjYxNzQ2MzY4NWY3NDcyNjE2ZTczNjY2NTcyNWY2MzZmNjk2ZTczMDEwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwYTYxNzA3NDZmNzM1ZjYzNmY2OTZlMDk0MTcwNzQ2ZjczNDM2ZjY5NmUwMDAyNDEwMmRkNTJjMGI3MmE3MzY5NmI4NjdkNjU3MWEzMDhjNDEzZTQzYmZmOGY0NDk1NmE1OTkxYWJjNGQ1MGRiMGI4NDkyYTgxNzYwZDUyZGI5YTk2ZGYyNjA5ODYwMjE4MjE0YjZkMTAxMmU3N2U4NGEzZmVkNTE0NWE5YTY1YmY2OTMyMTEwMmU4MDMwMDAwMDAwMDAwMDBlODAzMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDAwOWQ0ZWE2NzAwMDAwMDAwMDIwMzAwMjAyMTIxZGNkMDk4MDY5YWU1MzU2OTdkZDAxOWNmZDg2NzdjYTdhYmEwYWRhYzFkMTk1OWNiY2U2ZGM1NGIxMjU5NDA0NzYwMmQwODQyNmNlMDM1OTcxZTg2ZDU3ZDU3ZmMzM2E3ZTlkMjlkYTU2YTg3YTJlNmU5ZDEyYWUzYjM5ZTI1ODkyMjk4ZmE4YjA4MDExMWM2MDljOWE0NTEyNjRiMzIwMjM2YTA2YTQ1ZWFiODcwNzY1ZjkwZmZjNGE0MmEwMzAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDUyMjMzOTZjNTMxZjEzZTAzMWE5ZjBjYjI2ZDQ1OWQ3OTlhNTJlNTFiZTlhMWNiOWU4NzFhZmI0YzMxZjkxZmY0MDFkODE3YTY0MWI5MTU3MjcwNTdiYWJiMGRkZmU2ODc2NTgzYWM1YzhkNGI4NmI0YzkxMzg1ZGM5NGYwNzFmOGUxMmE0OTA4Nzg2YTQxN2IyNzIxZmE5ODM4ZGQxYmVlNmUxNTNjYTAyZjc4ZGU0MzE2MWE5ODEwNDA3ZWEwYjBmJztcblxuZXhwb3J0IGNvbnN0IElOVkFMSURfVFJBTlNGRVIgPVxuICAnQUFBQUFBQUFBQUFBQTZlNzM2MTYzNzQ2OWJjNGE1OGU1MDBiOWU2NGNiNjU0N2VlOWI0MDMwMDAwMDAwMDAwMDAwMDIwNjRiYTFmYjJmMmZiZDI5MzhhMzUwMDE1ZDYwMWY0ZGI4OWNkN2U4ZTIzNzBkMGRkOWFlM2FjNGY2MzVjMTU4MTExMWI4YTQ5ZjY3MzcwYmM0YTU4ZTUwMGI5ZTY0Y2I2NDYyZTM5YjgwMjAwMDAwMDAwMDAwMDAwMjA2NGJhMWZiMmYyZmJkMjkzOGEzNTAwMTVkNjAxZjRkYjg5Y2Q3ZThlMjM3MGQwZGQ5YWUzYWM0N2FhMWZmODFmMDFjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZDRlYWFmMDAyNTQ2ZWJkMDE2NDAwMDAwMDAwMDAwMDAwY2JhNGE0OGJiMGY4YjU4NmMxNjdlNWRjZWZhYTFjNWU5NmFiM2YwODM2ZDZjYTA4ZjIwODE3MzI5NDRkMWU1YjZiNDA2YTRhNDYyZTM5YjgwMzAwMDAwMDAwMDAwMDAwMjBiOTQ5MGVkZTYzMjE1MjYyYzQzNGUwM2Y2MDZkOTc5OWYzYmE3MDQ1MjNjZWRhMTg0YjM4NmQ0N2FhMWZmODFmMDEwMDAwMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDAnO1xuXG5leHBvcnQgY29uc3QgZnVuZ2libGVUb2tlbkFkZHJlc3MgPSB7XG4gIHVzZHQ6ICcweGQ1ZDBkNTYxNDkzZWEyYjk0MTBmNjdkYTgwNDY1M2FlNDRlNzkzYzI0MjM3MDdkNGYxMWVkYjJlMzgxOTIwNTAnLFxufTtcblxuZXhwb3J0IGNvbnN0IGRpZ2l0YWxBc3NldEFkZHJlc3MgPSAnMHgyZTM1NjA2Mjc3NzQ2OWQzOWNhNWQ5YjcyNTEyY2UyZDU3MTNkNzkzOGVkNmNhOTE5M2Q0ZmMyMDE2YTgxOWZkJztcblxuZXhwb3J0IGNvbnN0IExFR0FDWV9DT0lOID0gJzB4NGZiMzc5YzEwYzc2M2ExM2U3MjQwNjRlY2ZiN2Q5NDY2OTBiZWE1MTliYTk4MmM4MWI1MThkMWMxMWRkMjNmZTo6ZmFfdGVzdDo6Q29pbnonO1xuXG5leHBvcnQgY29uc3QgRlVOR0lCTEVfU0VSSUFMSVpFRF9UWF9IRVggPVxuICAnMHhkMTcxZjAzYWEyYzNmMzdkNzgzOGI3NmNkZDgzZGEwNDVlY2MzZjA4MGExYzE5MGY3ZTQxMmQ3OTQ4NTgwOWEwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTE2NzA3MjY5NmQ2MTcyNzk1ZjY2NzU2ZTY3Njk2MjZjNjU1ZjczNzQ2ZjcyNjUwODc0NzI2MTZlNzM2NjY1NzIwMTA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTBlNjY3NTZlNjc2OTYyNmM2NTVmNjE3MzczNjU3NDA4NGQ2NTc0NjE2NDYxNzQ2MTAwMDMyMGQ1ZDBkNTYxNDkzZWEyYjk0MTBmNjdkYTgwNDY1M2FlNDRlNzkzYzI0MjM3MDdkNGYxMWVkYjJlMzgxOTIwNTAyMGJhN2FmNTI4YmU1ODA5NDA1NzE3MGUzNjVhNmI1ZmE4MzY4NjgxNTJhNTA1YjI3MzMzNTVkZmYxZDE4MzE3MWUwODAxMDAwMDAwMDAwMDAwMDA0MDBkMDMwMDAwMDAwMDAwNjQwMDAwMDAwMDAwMDAwMGZjYWFiZTY3MDAwMDAwMDAwMjAzMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMxNGUwODk0ZjMzMzRkY2Q0MDA4NDQ3NjI4ZjNmN2UzYjVjNTIwMGVlZTM5OWI3MmMwZTYzZjhlNWQwOWYwOTYwMDIwOWI0ZTk2MDg2ZDExMTUwMDI1OWY5YjM4NjgwYjA1MDlhNDA1YzE5MDRkYTE4OTc2NDU1YTIwYzY5MWQzYmIwNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuXG5leHBvcnQgY29uc3QgRlVOR0lCTEVfQkFUQ0hfUkFXX1RYX0hFWCA9XG4gICcweDFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDkwZTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGQ2MTcwNzQ2ZjczNWY2MTYzNjM2Zjc1NmU3NDFlNjI2MTc0NjM2ODVmNzQ3MjYxNmU3MzY2NjU3MjVmNjY3NTZlNjc2OTYyNmM2NTVmNjE3MzczNjU3NDczMDAwMzIwZDVkMGQ1NjE0OTNlYTJiOTQxMGY2N2RhODA0NjUzYWU0NGU3OTNjMjQyMzcwN2Q0ZjExZWRiMmUzODE5MjA1MDQxMDJkZDUyYzBiNzJhNzM2OTZiODY3ZDY1NzFhMzA4YzQxM2U0M2JmZjhmNDQ5NTZhNTk5MWFiYzRkNTBkYjBiODQ5MmE4MTc2MGQ1MmRiOWE5NmRmMjYwOTg2MDIxODIxNGI2ZDEwMTJlNzdlODRhM2ZlZDUxNDVhOWE2NWJmNjkzMjExMDIwMTAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwOGIwMzdkNjcwMDAwMDAwMDAyMDMwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZGJjODdhMWM4MTZkOWJjZDA2YjY4M2MzN2U4MGM3MTYyZTRkNDhkYTc4MTIxOThiODMwZTRkNWQ4ZTA2MjlmMjAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG5cbmV4cG9ydCBjb25zdCBGVU5HSUJMRV9CQVRDSF9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJzVlZmEzYzRmMDJmODNhMGY0YjJkNjlmYzk1YzYwN2NjMDI4MjVjYzRlN2JlNTM2ZWYwOTkyZGYwNTBkOWU2N2MwMTFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDkwZTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGQ2MTcwNzQ2ZjczNWY2MTYzNjM2Zjc1NmU3NDFlNjI2MTc0NjM2ODVmNzQ3MjYxNmU3MzY2NjU3MjVmNjY3NTZlNjc2OTYyNmM2NTVmNjE3MzczNjU3NDczMDAwMzIwZDVkMGQ1NjE0OTNlYTJiOTQxMGY2N2RhODA0NjUzYWU0NGU3OTNjMjQyMzcwN2Q0ZjExZWRiMmUzODE5MjA1MDQxMDJkZDUyYzBiNzJhNzM2OTZiODY3ZDY1NzFhMzA4YzQxM2U0M2JmZjhmNDQ5NTZhNTk5MWFiYzRkNTBkYjBiODQ5MmE4MTc2MGQ1MmRiOWE5NmRmMjYwOTg2MDIxODIxNGI2ZDEwMTJlNzdlODRhM2ZlZDUxNDVhOWE2NWJmNjkzMjExMDIwMTAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwOGIwMzdkNjcwMDAwMDAwMDAyMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyJztcbiJdfQ==
111
+ exports.DELEGATION_POOL_ADD_STAKE_TX_HEX = '0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010f64656c65676174696f6e5f706f6f6c096164645f7374616b65000220f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad908e803000000000000400d03000000000064000000000000008b037d670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';
112
+ exports.DELEGATION_POOL_ADD_STAKE_TX_HEX_SIGNABLE_PAYLOAD = '5efa3c4f02f83a0f4b2d69fc95c607cc02825cc4e7be536ef0992df050d9e67c011aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e000000000000000200000000000000000000000000000000000000000000000000000000000000010f64656c65676174696f6e5f706f6f6c096164645f7374616b65000220f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad908e803000000000000400d03000000000064000000000000008b037d67000000000200dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2';
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvYXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsTUFBTSxHQUFHLElBQUksQ0FBQztBQUNkLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBRTFCLFFBQUEsU0FBUyxHQUFHO0lBQ3ZCLGNBQWMsRUFBRTtRQUNkLG9FQUFvRTtRQUNwRSxvRUFBb0U7S0FDckU7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixjQUFjO1FBQ2Qsc0NBQXNDO1FBQ3RDLDhDQUE4QztLQUMvQztDQUNGLENBQUM7QUFFVyxRQUFBLE1BQU0sR0FBRztJQUNwQixPQUFPLEVBQUUsb0VBQW9FO0lBQzdFLFVBQVUsRUFBRSxvRUFBb0U7SUFDaEYsU0FBUyxFQUFFLG9FQUFvRTtDQUNoRixDQUFDO0FBRVcsUUFBQSxPQUFPLEdBQUc7SUFDckIsT0FBTyxFQUFFLG9FQUFvRTtJQUM3RSxTQUFTLEVBQUUsb0VBQW9FO0NBQ2hGLENBQUM7QUFFVyxRQUFBLGNBQWMsR0FBRztJQUM1QixPQUFPLEVBQUUsb0VBQW9FO0NBQzlFLENBQUM7QUFFVyxRQUFBLFFBQVEsR0FBRztJQUN0QixPQUFPLEVBQUUsb0VBQW9FO0lBQzdFLFVBQVUsRUFBRSxvRUFBb0U7SUFDaEYsU0FBUyxFQUFFLG9FQUFvRTtDQUNoRixDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQWdCO0lBQ3JDO1FBQ0UsT0FBTyxFQUFFLGlCQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLEVBQUUsY0FBTSxDQUFDLFFBQVEsRUFBRTtLQUMxQjtDQUNGLENBQUM7QUFFVyxRQUFBLGVBQWUsR0FBZ0I7SUFDMUM7UUFDRSxPQUFPLEVBQUUsb0VBQW9FO1FBQzdFLE1BQU0sRUFBRSxNQUFNO0tBQ2Y7SUFDRDtRQUNFLE9BQU8sRUFBRSxvRUFBb0U7UUFDN0UsTUFBTSxFQUFFLE1BQU07S0FDZjtDQUNGLENBQUM7QUFFVyxRQUFBLHVCQUF1QixHQUFnQjtJQUNsRDtRQUNFLE9BQU8sRUFBRSxpQkFBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxFQUFFLDZCQUFxQixDQUFDLFFBQVEsRUFBRTtLQUN6QztJQUNEO1FBQ0UsT0FBTyxFQUFFLG9FQUFvRTtRQUM3RSxNQUFNLEVBQUUsR0FBRztLQUNaO0NBQ0YsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQWdCO0lBQ2xEO1FBQ0UsT0FBTyxFQUFFLG9FQUFvRTtRQUM3RSxNQUFNLEVBQUUsR0FBRztLQUNaO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsb0VBQW9FO1FBQzdFLE1BQU0sRUFBRSxHQUFHO0tBQ1o7Q0FDRixDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBZ0I7SUFDakQ7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxHQUFHO0tBQ1o7Q0FDRixDQUFDO0FBRVcsUUFBQSxnQ0FBZ0MsR0FBZ0I7SUFDM0Q7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxjQUFNLENBQUMsUUFBUSxFQUFFO0tBQzFCO0NBQ0YsQ0FBQztBQUVXLFFBQUEsaUJBQWlCLEdBQWdCO0lBQzVDO1FBQ0UsT0FBTyxFQUFFLGlCQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxjQUFNLENBQUMsUUFBUSxFQUFFO0tBQzFCO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxTQUFTO0tBQ2xCO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxlQUFlO0tBQ3hCO0NBQ0YsQ0FBQztBQUVXLFFBQUEsUUFBUSxHQUNuQiwwNUJBQTA1QixDQUFDO0FBRWg1QixRQUFBLGdDQUFnQyxHQUMzQywwNUJBQTA1QixDQUFDO0FBRWg1QixRQUFBLHVCQUF1QixHQUNsQyx3K0JBQXcrQixDQUFDO0FBRTk5QixRQUFBLHVCQUF1QixHQUNsQyxrK0JBQWsrQixDQUFDO0FBRXg5QixRQUFBLHNCQUFzQixHQUNqQyw4NUJBQTg1QixDQUFDO0FBRXA1QixRQUFBLG1CQUFtQixHQUM5QiwwL0JBQTAvQixDQUFDO0FBRWgvQixRQUFBLGdCQUFnQixHQUMzQiwrZkFBK2YsQ0FBQztBQUVyZixRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLElBQUksRUFBRSxvRUFBb0U7Q0FDM0UsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsb0VBQW9FLENBQUM7QUFFM0YsUUFBQSxXQUFXLEdBQUcsb0ZBQW9GLENBQUM7QUFFbkcsUUFBQSwwQkFBMEIsR0FDckMsdytCQUF3K0IsQ0FBQztBQUU5OUIsUUFBQSx5QkFBeUIsR0FDcEMsaytCQUFrK0IsQ0FBQztBQUV4OUIsUUFBQSwrQkFBK0IsR0FDMUMsa3BCQUFrcEIsQ0FBQztBQUV4b0IsUUFBQSxnQ0FBZ0MsR0FDM0Msc3lCQUFzeUIsQ0FBQztBQUU1eEIsUUFBQSxpREFBaUQsR0FDNUQsc2RBQXNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWNpcGllbnQgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5leHBvcnQgY29uc3QgQU1PVU5UID0gMTAwMDtcbmV4cG9ydCBjb25zdCBGVU5HSUJMRV9UT0tFTl9BTU9VTlQgPSAxO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzc2VzID0ge1xuICB2YWxpZEFkZHJlc3NlczogW1xuICAgICcweGY3NDA1YzI4YTAyY2Y1YmFiNGVhNDQ5ODI0MGJiMzU3OWRiNDU5NTE3OTRlYjFjODQzYmVmMDUzNGMwOTNhZDknLFxuICAgICcweDFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDknLFxuICBdLFxuICBpbnZhbGlkQWRkcmVzc2VzOiBbXG4gICAgJ3JhbmRvbVN0cmluZycsXG4gICAgJzB4YzQxNzNhODA0NDA2YTM2NWU2OWRmYjI5N2RkZmdzZGN2ZicsXG4gICAgJzVuZTdwaEE0OEpydnBuMzlBdHVwQjhaa0NDQXk4Z0xUZnBHaWhaUHVEcWVuJyxcbiAgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBzZW5kZXIgPSB7XG4gIGFkZHJlc3M6ICcweDFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDknLFxuICBwcml2YXRlS2V5OiAnMHg1NGUxYTg4ZWIyYjg4MWZlNmMyMjI5ODVkMGZhYmM5YmEzYWNhMzU3NDNkZDFkMTlkYjE4YTlhMzU1YWNiYWFhJyxcbiAgcHVibGljS2V5OiAnMHhmNzM4MzZmNDIyNTcyNDBlNDNkNDM5NTUyNDcxZmM5ZGJjYzNmMWFmNWJkMGI0ZWQ4M2Y0NGI1ZjY2MTQ2NDQyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBzZW5kZXIyID0ge1xuICBhZGRyZXNzOiAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5JyxcbiAgcHVibGljS2V5OiAnMHhmNzM4MzZmNDIyNTcyNDBlNDNkNDM5NTUyNDcxZmM5ZGJjYzNmMWFmNWJkMGI0ZWQ4M2Y0NGI1ZjY2MTQ2NDQyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBmdW5naWJsZVNlbmRlciA9IHtcbiAgYWRkcmVzczogJzB4ZDE3MWYwM2FhMmMzZjM3ZDc4MzhiNzZjZGQ4M2RhMDQ1ZWNjM2YwODBhMWMxOTBmN2U0MTJkNzk0ODU4MDlhMCcsXG59O1xuXG5leHBvcnQgY29uc3QgZmVlUGF5ZXIgPSB7XG4gIGFkZHJlc3M6ICcweGRiYzg3YTFjODE2ZDliY2QwNmI2ODNjMzdlODBjNzE2MmU0ZDQ4ZGE3ODEyMTk4YjgzMGU0ZDVkOGUwNjI5ZjInLFxuICBwcml2YXRlS2V5OiAnMHg1MWE5NTA3ZDkxMjc4NDFhMTQ2NTE4OTE4OGQ5MzA2NWNiMjZiYWQzYmVjMDVkM2M4ZjI4ZTljMWZjMzViZGEwJyxcbiAgcHVibGljS2V5OiAnMHg1MjIzMzk2YzUzMWYxM2UwMzFhOWYwY2IyNmQ0NTlkNzk5YTUyZTUxYmU5YTFjYjllODcxYWZiNGMzMWY5MWZmJyxcbn07XG5cbmV4cG9ydCBjb25zdCByZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6IEFNT1VOVC50b1N0cmluZygpLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGJhdGNoUmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiAnMHhkZDUyYzBiNzJhNzM2OTZiODY3ZDY1NzFhMzA4YzQxM2U0M2JmZjhmNDQ5NTZhNTk5MWFiYzRkNTBkYjBiODQ5JyxcbiAgICBhbW91bnQ6ICcxMDAwJyxcbiAgfSxcbiAge1xuICAgIGFkZHJlc3M6ICcweDJhODE3NjBkNTJkYjlhOTZkZjI2MDk4NjAyMTgyMTRiNmQxMDEyZTc3ZTg0YTNmZWQ1MTQ1YTlhNjViZjY5MzInLFxuICAgIGFtb3VudDogJzEwMDAnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGZ1bmdpYmxlVG9rZW5SZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6IEZVTkdJQkxFX1RPS0VOX0FNT1VOVC50b1N0cmluZygpLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogJzB4YmE3YWY1MjhiZTU4MDk0MDU3MTcwZTM2NWE2YjVmYTgzNjg2ODE1MmE1MDViMjczMzM1NWRmZjFkMTgzMTcxZScsXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgYmF0Y2hGdW5naWJsZVJlY2lwaWVudHM6IFJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogJzB4ZGQ1MmMwYjcyYTczNjk2Yjg2N2Q2NTcxYTMwOGM0MTNlNDNiZmY4ZjQ0OTU2YTU5OTFhYmM0ZDUwZGIwYjg0OScsXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiAnMHgyYTgxNzYwZDUyZGI5YTk2ZGYyNjA5ODYwMjE4MjE0YjZkMTAxMmU3N2U4NGEzZmVkNTE0NWE5YTY1YmY2OTMyJyxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBkaWdpdGFsVG9rZW5SZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBkZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiBBTU9VTlQudG9TdHJpbmcoKSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBpbnZhbGlkUmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMuaW52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6IEFNT1VOVC50b1N0cmluZygpLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogJy05MTkxOTEnLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogJ2ludmFsaWRBbW91bnQnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IFRSQU5TRkVSID1cbiAgJzB4MWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OTkyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZDYxNzA3NDZmNzM1ZjYxNjM2MzZmNzU2ZTc0MGU3NDcyNjE2ZTczNjY2NTcyNWY2MzZmNjk2ZTczMDEwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwYTYxNzA3NDZmNzM1ZjYzNmY2OTZlMDk0MTcwNzQ2ZjczNDM2ZjY5NmUwMDAyMjBmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5MDhlODAzMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA5NzkzOTA2NzAwMDAwMDAwMDIwMzAwMjBmNzM4MzZmNDIyNTcyNDBlNDNkNDM5NTUyNDcxZmM5ZGJjYzNmMWFmNWJkMGI0ZWQ4M2Y0NGI1ZjY2MTQ2NDQyNDBjYWViOTBlZmQ0YjdlY2Q5MjJjOTdiYjMxNjNlNmE5ZGUxZmJiMmVlMGZjMGQ1NmFmNDg0ZjRhZjliMDAxNWM1ODMxMzQxNTUwYWYyOWIzNjg2NzEzYjY2NTdjODIxZDg5NDYzNWZlMTNjNzkzM2YwNmVlMDQzNzI4ZjA0MGIwOTAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDUyMjMzOTZjNTMxZjEzZTAzMWE5ZjBjYjI2ZDQ1OWQ3OTlhNTJlNTFiZTlhMWNiOWU4NzFhZmI0YzMxZjkxZmY0MDEzZTdlOGExMzI1ZWU1ZjY1NmM5M2JhYTNkMDIwNmExZDliZDZkYTVhYmRjNmY1ZDliOGJiYmIwOTI2ZGRhYzY4ZjNlNTdhOTE1ZGQyMTdkMmQ0M2U3NzZhNmNjMDFhZjcyZjg5NWVhNzEyYWNjODM2ZDMwMzQ5ZjI5YTNjNjA2JztcblxuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX1VTSU5HX1RSQU5TRkVSX0NPSU5TID1cbiAgJzB4MWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OTkyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZDYxNzA3NDZmNzM1ZjYxNjM2MzZmNzU2ZTc0MGU3NDcyNjE2ZTczNjY2NTcyNWY2MzZmNjk2ZTczMDEwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwYTYxNzA3NDZmNzM1ZjYzNmY2OTZlMDk0MTcwNzQ2ZjczNDM2ZjY5NmUwMDAyMjBmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5MDhlODAzMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA5NzkzOTA2NzAwMDAwMDAwMDIwMzAwMjBmNzM4MzZmNDIyNTcyNDBlNDNkNDM5NTUyNDcxZmM5ZGJjYzNmMWFmNWJkMGI0ZWQ4M2Y0NGI1ZjY2MTQ2NDQyNDBjYWViOTBlZmQ0YjdlY2Q5MjJjOTdiYjMxNjNlNmE5ZGUxZmJiMmVlMGZjMGQ1NmFmNDg0ZjRhZjliMDAxNWM1ODMxMzQxNTUwYWYyOWIzNjg2NzEzYjY2NTdjODIxZDg5NDYzNWZlMTNjNzkzM2YwNmVlMDQzNzI4ZjA0MGIwOTAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDUyMjMzOTZjNTMxZjEzZTAzMWE5ZjBjYjI2ZDQ1OWQ3OTlhNTJlNTFiZTlhMWNiOWU4NzFhZmI0YzMxZjkxZmY0MDEzZTdlOGExMzI1ZWU1ZjY1NmM5M2JhYTNkMDIwNmExZDliZDZkYTVhYmRjNmY1ZDliOGJiYmIwOTI2ZGRhYzY4ZjNlNTdhOTE1ZGQyMTdkMmQ0M2U3NzZhNmNjMDFhZjcyZjg5NWVhNzEyYWNjODM2ZDMwMzQ5ZjI5YTNjNjA2JztcblxuZXhwb3J0IGNvbnN0IEZVTkdJQkxFX1RPS0VOX1RSQU5TRkVSID1cbiAgJzB4MWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OWE3MDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExNjcwNzI2OTZkNjE3Mjc5NWY2Njc1NmU2NzY5NjI2YzY1NWY3Mzc0NmY3MjY1MDg3NDcyNjE2ZTczNjY2NTcyMDEwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZTY2NzU2ZTY3Njk2MjZjNjU1ZjYxNzM3MzY1NzQwODRkNjU3NDYxNjQ2MTc0NjEwMDAzMjBkNWQwZDU2MTQ5M2VhMmI5NDEwZjY3ZGE4MDQ2NTNhZTQ0ZTc5M2MyNDIzNzA3ZDRmMTFlZGIyZTM4MTkyMDUwMjBmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5MDgwMTAwMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDBlNDI2OTY2NzAwMDAwMDAwMDIwMzAwMjBmNzM4MzZmNDIyNTcyNDBlNDNkNDM5NTUyNDcxZmM5ZGJjYzNmMWFmNWJkMGI0ZWQ4M2Y0NGI1ZjY2MTQ2NDQyNDAyOTY2NWNkNGM5NDY1OGEwZDgzOTA3YmJlZDdlNzYxNzk0YjI1YmNjYzAzZmM4N2U2ZGQ2M2E1NDNhY2NkZGRmZDdhNmYxZTdhMTVlODY4MTU0N2NhNDM3ZmY5OWI1OGM5MmY4MTZlMzVhMGYzMzNkN2YxZmQxMzMwYzIxYWQwYTAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDUyMjMzOTZjNTMxZjEzZTAzMWE5ZjBjYjI2ZDQ1OWQ3OTlhNTJlNTFiZTlhMWNiOWU4NzFhZmI0YzMxZjkxZmY0MGRlN2IwYmI4NmNhMzQ2MDMxOTQyZTljZjIxZmY5NjA0YzdjMDhjMmM2NjJlMzhhMGFmZTNkZDY0MDUxMmMwNDQxMzk2YzA2OTdjZDhiYmJjZjM5Njk0ZDZmODhlMzVmNmJlZDlmYjM0YmQyMDliMDQ3OWI1ZThiZDBjZjNlYjBiJztcblxuZXhwb3J0IGNvbnN0IEZVTkdJQkxFX0JBVENIX1RSQU5TRkVSID1cbiAgJzB4YzhmMDJkMjVhYTY5OGIzZTlmYmQ4YTA4ZThkYTRjOGVlMjYxODMyYTI1YTRjZGU4NzMxYjVlYzM1NjUzN2QwOTUxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZDYxNzA3NDZmNzM1ZjYxNjM2MzZmNzU2ZTc0MWU2MjYxNzQ2MzY4NWY3NDcyNjE2ZTczNjY2NTcyNWY2Njc1NmU2NzY5NjI2YzY1NWY2MTczNzM2NTc0NzMwMDAzMjBkNWQwZDU2MTQ5M2VhMmI5NDEwZjY3ZGE4MDQ2NTNhZTQ0ZTc5M2MyNDIzNzA3ZDRmMTFlZGIyZTM4MTkyMDUwNDEwMmRkNTJjMGI3MmE3MzY5NmI4NjdkNjU3MWEzMDhjNDEzZTQzYmZmOGY0NDk1NmE1OTkxYWJjNGQ1MGRiMGI4NDkyYTgxNzYwZDUyZGI5YTk2ZGYyNjA5ODYwMjE4MjE0YjZkMTAxMmU3N2U4NGEzZmVkNTE0NWE5YTY1YmY2OTMyMTEwMjAxMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDAwMDI1NWEzYWIzMDEwMDAwMDIwMzAwMjAyMTIxZGNkMDk4MDY5YWU1MzU2OTdkZDAxOWNmZDg2NzdjYTdhYmEwYWRhYzFkMTk1OWNiY2U2ZGM1NGIxMjU5NDBkM2U3NDQ4YmFmZDExOTI0YTVkMTg5ODUzMTBiOTlhNTM5YTdiOTAzOTYxZDVjMjk2ZmRjYjMxNDk1MGI0YTI0N2ZhZDc3YmFkNzk3YTY0NGU1OWZiNzY3NjdjZjc5NmMyMDdhNDBlYmMzZDIyZmM1Yzg0NzE3MmViZjA5NTcwZjAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDUyMjMzOTZjNTMxZjEzZTAzMWE5ZjBjYjI2ZDQ1OWQ3OTlhNTJlNTFiZTlhMWNiOWU4NzFhZmI0YzMxZjkxZmY0MGUyNDJkNTk3MTJlOGU4YTIxM2NiNmIyNGFiMTE3ODU0Y2YxMjI3NTY2MGRlZGNiNDllYjViMjJmNTQzYmFkYTgzZjg3Y2E1MWQ1ZGEwNmEyM2FjNWQ0ZGM2YmJmYzc3NDVjYjQ0ZDIyNDY3YmU2MTM1NjVmNDFiM2JhODc1MTA4JztcblxuZXhwb3J0IGNvbnN0IERJR0lUQUxfQVNTRVRfVFJBTlNGRVIgPVxuICAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5YWIwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NmY2MjZhNjU2Mzc0MDg3NDcyNjE2ZTczNjY2NTcyMDEwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwNTc0NmY2YjY1NmUwNTU0NmY2YjY1NmUwMDAyMjAyZTM1NjA2Mjc3NzQ2OWQzOWNhNWQ5YjcyNTEyY2UyZDU3MTNkNzkzOGVkNmNhOTE5M2Q0ZmMyMDE2YTgxOWZkMjBmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5NDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA1MjY3OTg2NzAwMDAwMDAwMDIwMzAwMjBmNzM4MzZmNDIyNTcyNDBlNDNkNDM5NTUyNDcxZmM5ZGJjYzNmMWFmNWJkMGI0ZWQ4M2Y0NGI1ZjY2MTQ2NDQyNDAwYzJjMzFlYWU0OTVkMjJkMWQzMTAzMWI5NzU2ZTgyMzhhM2RmNmU3NjA1MTVhYTNlMTEwOGQ5M2IzYWVjNmFlYjkxNjg0MzA3ZTgzNjVhZDlkYzQ0YzBiNTk1N2U5NWEyMWE2ZjQ3ZDhkNGE2ZTBlYjNiMTQ1ZmIzZDUxN2YwMzAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDUyMjMzOTZjNTMxZjEzZTAzMWE5ZjBjYjI2ZDQ1OWQ3OTlhNTJlNTFiZTlhMWNiOWU4NzFhZmI0YzMxZjkxZmY0MGRkNmMwNjRlNDQ2NDI4MTlkZWMyZjYzZDMyZDZkYWE0Zjg4OWQ2MmQwNjAyNWFkOTliNDI1NjJjNGM2Y2RlZjhiMTQzNzczOTExNWQ3ZjM4MDUwMDc4ODI5ZWZiOWRkMDU1MjhmNTMzMDliY2FiNWI4OWZhZGIyODM0MjMxMDBkJztcblxuZXhwb3J0IGNvbnN0IENPSU5fQkFUQ0hfVFJBTlNGRVIgPVxuICAnMHhjOGYwMmQyNWFhNjk4YjNlOWZiZDhhMDhlOGRhNGM4ZWUyNjE4MzJhMjVhNGNkZTg3MzFiNWVjMzU2NTM3ZDA5NTEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTBkNjE3MDc0NmY3MzVmNjE2MzYzNmY3NTZlNzQxNDYyNjE3NDYzNjg1Zjc0NzI2MTZlNzM2NjY1NzI1ZjYzNmY2OTZlNzMwMTA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTBhNjE3MDc0NmY3MzVmNjM2ZjY5NmUwOTQxNzA3NDZmNzM0MzZmNjk2ZTAwMDI0MTAyZGQ1MmMwYjcyYTczNjk2Yjg2N2Q2NTcxYTMwOGM0MTNlNDNiZmY4ZjQ0OTU2YTU5OTFhYmM0ZDUwZGIwYjg0OTJhODE3NjBkNTJkYjlhOTZkZjI2MDk4NjAyMTgyMTRiNmQxMDEyZTc3ZTg0YTNmZWQ1MTQ1YTlhNjViZjY5MzIxMTAyZTgwMzAwMDAwMDAwMDAwMGU4MDMwMDAwMDAwMDAwMDA0MDBkMDMwMDAwMDAwMDAwNjQwMDAwMDAwMDAwMDAwMDA5ZDRlYTY3MDAwMDAwMDAwMjAzMDAyMDIxMjFkY2QwOTgwNjlhZTUzNTY5N2RkMDE5Y2ZkODY3N2NhN2FiYTBhZGFjMWQxOTU5Y2JjZTZkYzU0YjEyNTk0MDQ3NjAyZDA4NDI2Y2UwMzU5NzFlODZkNTdkNTdmYzMzYTdlOWQyOWRhNTZhODdhMmU2ZTlkMTJhZTNiMzllMjU4OTIyOThmYThiMDgwMTExYzYwOWM5YTQ1MTI2NGIzMjAyMzZhMDZhNDVlYWI4NzA3NjVmOTBmZmM0YTQyYTAzMDAwMGRiYzg3YTFjODE2ZDliY2QwNmI2ODNjMzdlODBjNzE2MmU0ZDQ4ZGE3ODEyMTk4YjgzMGU0ZDVkOGUwNjI5ZjIwMDIwNTIyMzM5NmM1MzFmMTNlMDMxYTlmMGNiMjZkNDU5ZDc5OWE1MmU1MWJlOWExY2I5ZTg3MWFmYjRjMzFmOTFmZjQwMWQ4MTdhNjQxYjkxNTcyNzA1N2JhYmIwZGRmZTY4NzY1ODNhYzVjOGQ0Yjg2YjRjOTEzODVkYzk0ZjA3MWY4ZTEyYTQ5MDg3ODZhNDE3YjI3MjFmYTk4MzhkZDFiZWU2ZTE1M2NhMDJmNzhkZTQzMTYxYTk4MTA0MDdlYTBiMGYnO1xuXG5leHBvcnQgY29uc3QgSU5WQUxJRF9UUkFOU0ZFUiA9XG4gICdBQUFBQUFBQUFBQUFBNmU3MzYxNjM3NDY5YmM0YTU4ZTUwMGI5ZTY0Y2I2NTQ3ZWU5YjQwMzAwMDAwMDAwMDAwMDAwMjA2NGJhMWZiMmYyZmJkMjkzOGEzNTAwMTVkNjAxZjRkYjg5Y2Q3ZThlMjM3MGQwZGQ5YWUzYWM0ZjYzNWMxNTgxMTExYjhhNDlmNjczNzBiYzRhNThlNTAwYjllNjRjYjY0NjJlMzliODAyMDAwMDAwMDAwMDAwMDAyMDY0YmExZmIyZjJmYmQyOTM4YTM1MDAxNWQ2MDFmNGRiODljZDdlOGUyMzcwZDBkZDlhZTNhYzQ3YWExZmY4MWYwMWM0MTczYTgwNDQwNmEzNjVlNjlkZmIyOTdkNGVhYWYwMDI1NDZlYmQwMTY0MDAwMDAwMDAwMDAwMDBjYmE0YTQ4YmIwZjhiNTg2YzE2N2U1ZGNlZmFhMWM1ZTk2YWIzZjA4MzZkNmNhMDhmMjA4MTczMjk0NGQxZTViNmI0MDZhNGE0NjJlMzliODAzMDAwMDAwMDAwMDAwMDAyMGI5NDkwZWRlNjMyMTUyNjJjNDM0ZTAzZjYwNmQ5Nzk5ZjNiYTcwNDUyM2NlZGExODRiMzg2ZDQ3YWExZmY4MWYwMTAwMDAwMDAwMDAwMDAwNjQwMDAwMDAwMDAwMDAwMCc7XG5cbmV4cG9ydCBjb25zdCBmdW5naWJsZVRva2VuQWRkcmVzcyA9IHtcbiAgdXNkdDogJzB4ZDVkMGQ1NjE0OTNlYTJiOTQxMGY2N2RhODA0NjUzYWU0NGU3OTNjMjQyMzcwN2Q0ZjExZWRiMmUzODE5MjA1MCcsXG59O1xuXG5leHBvcnQgY29uc3QgZGlnaXRhbEFzc2V0QWRkcmVzcyA9ICcweDJlMzU2MDYyNzc3NDY5ZDM5Y2E1ZDliNzI1MTJjZTJkNTcxM2Q3OTM4ZWQ2Y2E5MTkzZDRmYzIwMTZhODE5ZmQnO1xuXG5leHBvcnQgY29uc3QgTEVHQUNZX0NPSU4gPSAnMHg0ZmIzNzljMTBjNzYzYTEzZTcyNDA2NGVjZmI3ZDk0NjY5MGJlYTUxOWJhOTgyYzgxYjUxOGQxYzExZGQyM2ZlOjpmYV90ZXN0OjpDb2lueic7XG5cbmV4cG9ydCBjb25zdCBGVU5HSUJMRV9TRVJJQUxJWkVEX1RYX0hFWCA9XG4gICcweGQxNzFmMDNhYTJjM2YzN2Q3ODM4Yjc2Y2RkODNkYTA0NWVjYzNmMDgwYTFjMTkwZjdlNDEyZDc5NDg1ODA5YTAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTY3MDcyNjk2ZDYxNzI3OTVmNjY3NTZlNjc2OTYyNmM2NTVmNzM3NDZmNzI2NTA4NzQ3MjYxNmU3MzY2NjU3MjAxMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMGU2Njc1NmU2NzY5NjI2YzY1NWY2MTczNzM2NTc0MDg0ZDY1NzQ2MTY0NjE3NDYxMDAwMzIwZDVkMGQ1NjE0OTNlYTJiOTQxMGY2N2RhODA0NjUzYWU0NGU3OTNjMjQyMzcwN2Q0ZjExZWRiMmUzODE5MjA1MDIwYmE3YWY1MjhiZTU4MDk0MDU3MTcwZTM2NWE2YjVmYTgzNjg2ODE1MmE1MDViMjczMzM1NWRmZjFkMTgzMTcxZTA4MDEwMDAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwZmNhYWJlNjcwMDAwMDAwMDAyMDMwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzE0ZTA4OTRmMzMzNGRjZDQwMDg0NDc2MjhmM2Y3ZTNiNWM1MjAwZWVlMzk5YjcyYzBlNjNmOGU1ZDA5ZjA5NjAwMjA5YjRlOTYwODZkMTExNTAwMjU5ZjliMzg2ODBiMDUwOWE0MDVjMTkwNGRhMTg5NzY0NTVhMjBjNjkxZDNiYjA3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG5cbmV4cG9ydCBjb25zdCBGVU5HSUJMRV9CQVRDSF9SQVdfVFhfSEVYID1cbiAgJzB4MWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OTBlMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZDYxNzA3NDZmNzM1ZjYxNjM2MzZmNzU2ZTc0MWU2MjYxNzQ2MzY4NWY3NDcyNjE2ZTczNjY2NTcyNWY2Njc1NmU2NzY5NjI2YzY1NWY2MTczNzM2NTc0NzMwMDAzMjBkNWQwZDU2MTQ5M2VhMmI5NDEwZjY3ZGE4MDQ2NTNhZTQ0ZTc5M2MyNDIzNzA3ZDRmMTFlZGIyZTM4MTkyMDUwNDEwMmRkNTJjMGI3MmE3MzY5NmI4NjdkNjU3MWEzMDhjNDEzZTQzYmZmOGY0NDk1NmE1OTkxYWJjNGQ1MGRiMGI4NDkyYTgxNzYwZDUyZGI5YTk2ZGYyNjA5ODYwMjE4MjE0YjZkMTAxMmU3N2U4NGEzZmVkNTE0NWE5YTY1YmY2OTMyMTEwMjAxMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA4YjAzN2Q2NzAwMDAwMDAwMDIwMzAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcblxuZXhwb3J0IGNvbnN0IEZVTkdJQkxFX0JBVENIX1NJR05BQkxFX1BBWUxPQUQgPVxuICAnNWVmYTNjNGYwMmY4M2EwZjRiMmQ2OWZjOTVjNjA3Y2MwMjgyNWNjNGU3YmU1MzZlZjA5OTJkZjA1MGQ5ZTY3YzAxMWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OTBlMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZDYxNzA3NDZmNzM1ZjYxNjM2MzZmNzU2ZTc0MWU2MjYxNzQ2MzY4NWY3NDcyNjE2ZTczNjY2NTcyNWY2Njc1NmU2NzY5NjI2YzY1NWY2MTczNzM2NTc0NzMwMDAzMjBkNWQwZDU2MTQ5M2VhMmI5NDEwZjY3ZGE4MDQ2NTNhZTQ0ZTc5M2MyNDIzNzA3ZDRmMTFlZGIyZTM4MTkyMDUwNDEwMmRkNTJjMGI3MmE3MzY5NmI4NjdkNjU3MWEzMDhjNDEzZTQzYmZmOGY0NDk1NmE1OTkxYWJjNGQ1MGRiMGI4NDkyYTgxNzYwZDUyZGI5YTk2ZGYyNjA5ODYwMjE4MjE0YjZkMTAxMmU3N2U4NGEzZmVkNTE0NWE5YTY1YmY2OTMyMTEwMjAxMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA4YjAzN2Q2NzAwMDAwMDAwMDIwMGRiYzg3YTFjODE2ZDliY2QwNmI2ODNjMzdlODBjNzE2MmU0ZDQ4ZGE3ODEyMTk4YjgzMGU0ZDVkOGUwNjI5ZjInO1xuXG5leHBvcnQgY29uc3QgREVMRUdBVElPTl9QT09MX0FERF9TVEFLRV9UWF9IRVggPVxuICAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5MGUwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTBmNjQ2NTZjNjU2NzYxNzQ2OTZmNmU1ZjcwNmY2ZjZjMDk2MTY0NjQ1ZjczNzQ2MTZiNjUwMDAyMjBmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5MDhlODAzMDAwMDAwMDAwMDAwNDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA4YjAzN2Q2NzAwMDAwMDAwMDIwMzAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcblxuZXhwb3J0IGNvbnN0IERFTEVHQVRJT05fUE9PTF9BRERfU1RBS0VfVFhfSEVYX1NJR05BQkxFX1BBWUxPQUQgPVxuICAnNWVmYTNjNGYwMmY4M2EwZjRiMmQ2OWZjOTVjNjA3Y2MwMjgyNWNjNGU3YmU1MzZlZjA5OTJkZjA1MGQ5ZTY3YzAxMWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OTBlMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwZjY0NjU2YzY1Njc2MTc0Njk2ZjZlNWY3MDZmNmY2YzA5NjE2NDY0NWY3Mzc0NjE2YjY1MDAwMjIwZjc0MDVjMjhhMDJjZjViYWI0ZWE0NDk4MjQwYmIzNTc5ZGI0NTk1MTc5NGViMWM4NDNiZWYwNTM0YzA5M2FkOTA4ZTgwMzAwMDAwMDAwMDAwMDQwMGQwMzAwMDAwMDAwMDA2NDAwMDAwMDAwMDAwMDAwOGIwMzdkNjcwMDAwMDAwMDAyMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyJztcbiJdfQ==
@@ -47,6 +47,7 @@ const assert_1 = __importDefault(require("assert"));
47
47
  const ts_sdk_1 = require("@aptos-labs/ts-sdk");
48
48
  const utils_1 = __importDefault(require("../../src/lib/utils"));
49
49
  const statics_1 = require("@bitgo/statics");
50
+ const delegationPoolAddStakeTransaction_1 = require("../../src/lib/transaction/delegationPoolAddStakeTransaction");
50
51
  describe('APT:', function () {
51
52
  let bitgo;
52
53
  let basecoin;
@@ -231,6 +232,38 @@ describe('APT:', function () {
231
232
  type: 0,
232
233
  });
233
234
  });
235
+ it('should explain a staking delegate transaction', async function () {
236
+ const rawTx = testData.DELEGATION_POOL_ADD_STAKE_TX_HEX;
237
+ const transaction = new delegationPoolAddStakeTransaction_1.DelegationPoolAddStakeTransaction(statics_1.coins.get('tapt'));
238
+ transaction.fromRawTransaction(rawTx);
239
+ const explainedTx = transaction.explainTransaction();
240
+ explainedTx.should.deepEqual({
241
+ displayOrder: [
242
+ 'id',
243
+ 'outputs',
244
+ 'outputAmount',
245
+ 'changeOutputs',
246
+ 'changeAmount',
247
+ 'fee',
248
+ 'withdrawAmount',
249
+ 'sender',
250
+ 'type',
251
+ ],
252
+ id: '0xc5b960d1bec149c77896344774352c61441307af564eaa8c84f857208e411bf3',
253
+ outputs: [
254
+ {
255
+ address: '0xf7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad9',
256
+ amount: '1000',
257
+ },
258
+ ],
259
+ outputAmount: '1000',
260
+ changeOutputs: [],
261
+ changeAmount: '0',
262
+ fee: { fee: '0' },
263
+ sender: '0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a372449',
264
+ type: 30,
265
+ });
266
+ });
234
267
  it('should fail to explain a invalid raw transaction', async function () {
235
268
  const rawTx = 'invalidRawTransaction';
236
269
  const transaction = new src_1.TransferTransaction(statics_1.coins.get('tapt'));
@@ -339,4 +372,4 @@ describe('APT:', function () {
339
372
  });
340
373
  });
341
374
  });
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2FwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtCQUFnQjtBQUNoQiw4Q0FBMEQ7QUFDMUQsNENBQTBDO0FBQzFDLG1DQUFxRTtBQUNyRSwyREFBNkM7QUFDN0Msb0RBQXVCO0FBQ3ZCLGtEQUEwQjtBQUMxQixvREFBNEI7QUFDNUIsK0NBVTRCO0FBQzVCLGdFQUF3QztBQUN4Qyw0Q0FBb0U7QUFFcEUsUUFBUSxDQUFDLE1BQU0sRUFBRTtJQUNmLElBQUksS0FBbUIsQ0FBQztJQUN4QixJQUFJLFFBQVEsQ0FBQztJQUNiLElBQUksYUFBYSxDQUFDO0lBQ2xCLElBQUksV0FBVyxDQUFDO0lBRWhCLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLEtBQUssRUFBRSxRQUFRLENBQUMsZ0NBQWdDO1FBQ2hELE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHO1FBQ2YsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0tBQ2hDLENBQUM7SUFFRixNQUFNLHVCQUF1QixHQUFHO1FBQzlCLEtBQUssRUFBRSxRQUFRLENBQUMseUJBQXlCO1FBQ3pDLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQztJQUVGLE1BQU0scUJBQXFCLEdBQUc7UUFDNUIsVUFBVSxFQUFFLFFBQVEsQ0FBQyx1QkFBdUI7UUFDNUMsSUFBSSxFQUFFLFVBQVU7S0FDakIsQ0FBQztJQUVGLE1BQU0sQ0FBQztRQUNMLEtBQUssR0FBRyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlDLEtBQUssQ0FBQyxZQUFZLENBQUMs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QUUsQ0FBQyxDQUFDO1lBRTdFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7UUFDeEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgVGVzdEJpdEdvLCBUZXN0Qml0R29BUEkgfSBmcm9tICdAYml0Z28vc2RrLXRlc3QnO1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28vc2RrLWFwaSc7XG5pbXBvcnQgeyBBcHQsIEFwdFRva2VuLCBUYXB0LCBUcmFuc2ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uL3Jlc291cmNlcy9hcHQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQge1xuICBBY2NvdW50QWRkcmVzcyxcbiAgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5LFxuICBBcHRvcyxcbiAgQVBUT1NfQ09JTixcbiAgQXB0b3NDb25maWcsXG4gIEVkMjU1MTlQdWJsaWNLZXksXG4gIEVkMjU1MTlTaWduYXR1cmUsXG4gIGdlbmVyYXRlVXNlclRyYW5zYWN0aW9uSGFzaCxcbiAgTmV0d29yayxcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi8uLi9zcmMvbGliL3V0aWxzJztcbmltcG9ydCB7IEFwdENvaW4sIGNvaW5zLCBHYXNUYW5rQWNjb3VudENvaW4gfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmRlc2NyaWJlKCdBUFQ6JywgZnVuY3Rpb24gKCkge1xuICBsZXQgYml0Z286IFRlc3RCaXRHb0FQSTtcbiAgbGV0IGJhc2Vjb2luO1xuICBsZXQgbmV3VHhQcmVidWlsZDtcbiAgbGV0IG5ld1R4UGFyYW1zO1xuXG4gIGNvbnN0IHR4UHJlQnVpbGQgPSB7XG4gICAgdHhIZXg6IHRlc3REYXRhLlRSQU5TQUNUSU9OX1VTSU5HX1RSQU5TRkVSX0NPSU5TLFxuICAgIHR4SW5mbzoge30sXG4gIH07XG5cbiAgY29uc3QgdHhQYXJhbXMgPSB7XG4gICAgcmVjaXBpZW50czogdGVzdERhdGEucmVjaXBpZW50cyxcbiAgfTtcblxuICBjb25zdCBiYXRjaEZ1bmdpYmxlVHhQcmVidWlsZCA9IHtcbiAgICB0eEhleDogdGVzdERhdGEuRlVOR0lCTEVfQkFUQ0hfUkFXX1RYX0hFWCxcbiAgICB0eEluZm86IHt9LFxuICB9O1xuXG4gIGNvbnN0IGJhdGNoRnVuZ2libGVUeFBhcmFtcyA9IHtcbiAgICByZWNpcGllbnRzOiB0ZXN0RGF0YS5iYXRjaEZ1bmdpYmxlUmVjaXBpZW50cyxcbiAgICB0eXBlOiAndHJhbnNmZXInLFxuICB9O1xuXG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgYml0Z28gPSBUZXN0Qml0R28uZGVjb3JhdGUoQml0R29BUEksIHsgZW52OiAnbW9jaycgfSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCdhcHQnLCBBcHQuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcigndGFwdCcsIFRhcHQuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcignYXB0OnVzZHQnLCBBcHRUb2tlbi5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gICAgYmFzZWNvaW4gPSBiaXRnby5jb2luKCd0YXB0Jyk7XG4gICAgbmV3VHhQcmVidWlsZCA9ICgpID0+IHtcbiAgICAgIHJldHVybiBfLmNsb25lRGVlcCh0eFByZUJ1aWxkKTtcbiAgICB9O1xuICAgIG5ld1R4UGFyYW1zID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIF8uY2xvbmVEZWVwKHR4UGFyYW1zKTtcbiAgICB9O1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgaW5mbycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBhcHQgPSBiaXRnby5jb2luKCdhcHQnKTtcbiAgICBjb25zdCB0YXB0ID0gYml0Z28uY29pbigndGFwdCcpO1xuICAgIGNvbnN0IGFwdFVzZHQgPSBiaXRnby5jb2luKCdhcHQ6dXNkdCcpO1xuICAgIGNvbnN0IGFwdFN0YXRpY3MgPSBjb2lucy5nZXQoJ2FwdCcpIGFzIEdhc1RhbmtBY2NvdW50Q29pbjtcbiAgICBjb25zdCB0YXB0U3RhdGljcyA9IGNvaW5zLmdldCgndGFwdCcpIGFzIEdhc1RhbmtBY2NvdW50Q29pbjtcblxuICAgIGFwdC5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgnYXB0Jyk7XG4gICAgYXB0LmdldEZhbWlseSgpLnNob3VsZC5lcXVhbCgnYXB0Jyk7XG4gICAgYXB0LmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdBcHRvcycpO1xuICAgIGFwdC5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlOCk7XG5cbiAgICB0YXB0LmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCd0YXB0Jyk7XG4gICAgdGFwdC5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ2FwdCcpO1xuICAgIHRhcHQuZ2V0RnVsbE5hbWUoKS5zaG91bGQuZXF1YWwoJ1Rlc3RuZXQgQXB0b3MnKTtcbiAgICB0YXB0LmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWU4KTtcblxuICAgIGFwdFN0YXRpY3MuZ2FzVGFua0xvd0JhbGFuY2VBbGVydEZhY3Rvci5zaG91bGQuZXF1YWwoODApO1xuICAgIHRhcHRTdGF0aWNzLmdhc1RhbmtMb3dCYWxhbmNlQWxlcnRGYWN0b3Iuc2hvdWxkLmVxdWFsKDgwKTtcbiAgICBhcHRTdGF0aWNzLmdhc1RhbmtNaW5CYWxhbmNlUmVjb21tZW5kYXRpb25GYWN0b3Iuc2hvdWxkLmVxdWFsKDIwMCk7XG4gICAgdGFwdFN0YXRpY3MuZ2FzVGFua01pbkJhbGFuY2VSZWNvbW1lbmRhdGlvbkZhY3Rvci5zaG91bGQuZXF1YWwoMjAwKTtcblxuICAgIGFwdFVzZHQuZ2V0RmFtaWx5KCkuc2hvdWxkLmVxdWFsKCdhcHQnKTtcbiAgICBhcHRVc2R0LmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCdhcHQnKTtcbiAgICBjb25zdCBhcHRVc2R0U3RhdGljcyA9IGFwdFVzZHQuZ2V0Q29uZmlnKCkgYXMgQXB0Q29pbjtcbiAgICBhcHRVc2R0U3RhdGljcy5mdWxsTmFtZS5zaG91bGQuZXF1YWwoJ1VTRCBUZXRoZXInKTtcbiAgICBhcHRVc2R0U3RhdGljcy5hc3NldElkLnNob3VsZC5lcXVhbCgnMHgzNTdiMGI3NGJjODMzZTk1YTExNWFkMjI2MDQ4NTRkNmIwZmNhMTUxY2VjZDk0MTExNzcwZTVkNmZmYzlkYzJiJyk7XG4gICAgYXB0VXNkdFN0YXRpY3MuZGVjaW1hbFBsYWNlcy5zaG91bGQuZXF1YWwoNik7XG4gIH0pO1xuXG4gIGl0KCdpcyB2YWxpZCBwdWInLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gd2l0aCAweCBwcmVmaXhcbiAgICBiYXNlY29pbi5pc1ZhbGlkUHViKCcweDliNGU5NjA4NmQxMTE1MDAyNTlmOWIzODY4MGIwNTA5YTQwNWMxOTA0ZGExODk3NjQ1NWEyMGM2OTFkM2JiMDcnKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIC8vIHdpdGhvdXQgMHggcHJlZml4XG4gICAgYmFzZWNvaW4uaXNWYWxpZFB1YignOWI0ZTk2MDg2ZDExMTUwMDI1OWY5YjM4NjgwYjA1MDlhNDA1YzE5MDRkYTE4OTc2NDU1YTIwYzY5MWQzYmIwNycpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1ZlcmlmeSB0cmFuc2FjdGlvbjogJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc3VjY2VlZCB0byB2ZXJpZnkgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eFByZWJ1aWxkID0gbmV3VHhQcmVidWlsZCgpO1xuICAgICAgY29uc3QgdHhQYXJhbXMgPSBuZXdUeFBhcmFtcygpO1xuICAgICAgY29uc3QgdmVyaWZpY2F0aW9uID0ge307XG4gICAgICBjb25zdCBpc1RyYW5zYWN0aW9uVmVyaWZpZWQgPSBhd2FpdCBiYXNlY29pbi52ZXJpZnlUcmFuc2FjdGlvbih7IHR4UGFyYW1zLCB0eFByZWJ1aWxkLCB2ZXJpZmljYXRpb24gfSk7XG4gICAgICBpc1RyYW5zYWN0aW9uVmVyaWZpZWQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHRvIHZlcmlmeSBmdW5naWJsZSB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWNhdGlvbiA9IHt9O1xuICAgICAgY29uc3QgaXNUcmFuc2FjdGlvblZlcmlmaWVkID0gYXdhaXQgYmFzZWNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFByZWJ1aWxkOiBiYXRjaEZ1bmdpYmxlVHhQcmVidWlsZCxcbiAgICAgICAgdHhQYXJhbXM6IGJhdGNoRnVuZ2libGVUeFBhcmFtcyxcbiAgICAgICAgdmVyaWZpY2F0aW9uLFxuICAgICAgfSk7XG4gICAgICBpc1RyYW5zYWN0aW9uVmVyaWZpZWQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHRvIHZlcmlmeSB0cmFuc2FjdGlvbiB3aGVuIHJlY2lwaWVudHMgYW1vdW50IGFyZSBudW1iZXJzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhQcmVidWlsZCA9IG5ld1R4UHJlYnVpbGQoKTtcbiAgICAgIGNvbnN0IHR4UGFyYW1zV2l0aE51bWJlckFtb3VudHMgPSBuZXdUeFBhcmFtcygpO1xuICAgICAgdHhQYXJhbXNXaXRoTnVtYmVyQW1vdW50cy5yZWNpcGllbnRzID0gdHhQYXJhbXNXaXRoTnVtYmVyQW1vdW50cy5yZWNpcGllbnRzLm1hcCgoeyBhZGRyZXNzLCBhbW91bnQgfSkgPT4ge1xuICAgICAgICByZXR1cm4geyBhZGRyZXNzLCBhbW91bnQ6IE51bWJlcihhbW91bnQpIH07XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHZlcmlmaWNhdGlvbiA9IHt9O1xuICAgICAgY29uc3QgaXNUcmFuc2FjdGlvblZlcmlmaWVkID0gYXdhaXQgYmFzZWNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFBhcmFtczogdHhQYXJhbXNXaXRoTnVtYmVyQW1vdW50cyxcbiAgICAgICAgdHhQcmVidWlsZCxcbiAgICAgICAgdmVyaWZpY2F0aW9uLFxuICAgICAgfSk7XG4gICAgICBpc1RyYW5zYWN0aW9uVmVyaWZpZWQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRvIHZlcmlmeSB0cmFuc2FjdGlvbiB3aXRoIGludmFsaWQgcGFyYW0nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eFByZWJ1aWxkID0ge307XG4gICAgICBjb25zdCB0eFBhcmFtcyA9IG5ld1R4UGFyYW1zKCk7XG4gICAgICB0eFBhcmFtcy5yZWNpcGllbnRzID0gdW5kZWZpbmVkO1xuICAgICAgYXdhaXQgYmFzZWNvaW5cbiAgICAgICAgLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgICB0eFBhcmFtcyxcbiAgICAgICAgICB0eFByZWJ1aWxkLFxuICAgICAgICB9KVxuICAgICAgICAuc2hvdWxkLnJlamVjdGVkV2l0aCgnbWlzc2luZyByZXF1aXJlZCB0eCBwcmVidWlsZCBwcm9wZXJ0eSB0eEhleCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGFyc2UgYW5kIEV4cGxhaW4gVHJhbnNhY3Rpb25zOiAnLCAoKSA9PiB7XG4gICAgY29uc3QgdHJhbnNmZXJJbnB1dHNSZXNwb25zZSA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGVzdERhdGEuc2VuZGVyMi5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHRlc3REYXRhLkFNT1VOVC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgdHJhbnNmZXJPdXRwdXRzUmVzcG9uc2UgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLnJlY2lwaWVudHNbMF0uYWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiB0ZXN0RGF0YS5yZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHRyYW5zZmVyRnVuZ2libGVJbnB1dFJlc3BvbnNlID0gW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5mdW5naWJsZVNlbmRlci5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHRlc3REYXRhLkZVTkdJQkxFX1RPS0VOX0FNT1VOVC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgdHJhbmZlckZ1bmdpYmxlT3V0cHV0UmVzcG9uc2UgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmZ1bmdpYmxlVG9rZW5SZWNpcGllbnRzWzFdLmFkZHJlc3MsXG4gICAgICAgIGFtb3VudDogdGVzdERhdGEuZnVuZ2libGVUb2tlblJlY2lwaWVudHNbMV0uYW1vdW50LFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBhIHRyYW5zZmVyIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcGFyc2VkVHJhbnNhY3Rpb24gPSBhd2FpdCBiYXNlY29pbi5wYXJzZVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhIZXg6IHRlc3REYXRhLlRSQU5TQUNUSU9OX1VTSU5HX1RSQU5TRkVSX0NPSU5TLFxuICAgICAgfSk7XG5cbiAgICAgIHBhcnNlZFRyYW5zYWN0aW9uLnNob3VsZC5kZWVwRXF1YWwoe1xuICAgICAgICBpbnB1dHM6IHRyYW5zZmVySW5wdXRzUmVzcG9uc2UsXG4gICAgICAgIG91dHB1dHM6IHRyYW5zZmVyT3V0cHV0c1Jlc3BvbnNlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhcnNlIHNpZ25lZCBmdW5naWJsZSB0cmFuc2FjdGlvbiwgb25seSB3b3JrIGlmIGFtb3VudCBwYXJzaW5nIGNvcnJlY3RseSBkb25lIGZyb20gcGF5bG9hZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHBhcnNlZFRyYW5zYWN0aW9uID0gYXdhaXQgYmFzZWNvaW4ucGFyc2VUcmFuc2FjdGlvbih7XG4gICAgICAgIHR4SGV4OiB0ZXN0RGF0YS5GVU5HSUJMRV9TRVJJQUxJWkVEX1RYX0hFWCxcbiAgICAgIH0pO1xuXG4gICAgICBwYXJzZWRUcmFuc2FjdGlvbi5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgICAgaW5wdXRzOiB0cmFuc2ZlckZ1bmdpYmxlSW5wdXRSZXNwb25zZSxcbiAgICAgICAgb3V0cHV0czogdHJhbmZlckZ1bmdpYmxlT3V0cHV0UmVzcG9uc2UsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhwbGFpbiBhIHRyYW5zZmVyIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcmF3VHggPSBuZXdUeFByZWJ1aWxkKCkudHhIZXg7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2ZlclRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGFwdCcpKTtcbiAgICAgIHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXdUeCk7XG4gICAgICBjb25zdCBleHBsYWluZWRUeCA9IHRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICAgICAgY29uc29sZS5sb2coZXhwbGFpbmVkVHgpO1xuICAgICAgZXhwbGFpbmVkVHguc2hvdWxkLmRlZXBFcXVhbCh7XG4gICAgICAgIGRpc3BsYXlPcmRlcjogW1xuICAgICAgICAgICdpZCcsXG4gICAgICAgICAgJ291dHB1dHMnLFxuICAgICAgICAgICdvdXRwdXRBbW91bnQnLFxuICAgICAgICAgICdjaGFuZ2VPdXRwdXRzJyxcbiAgICAgICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICAgICAnZmVlJyxcbiAgICAgICAgICAnd2l0aGRyYXdBbW91bnQnLFxuICAgICAgICAgICdzZW5kZXInLFxuICAgICAgICAgICd0eXBlJyxcbiAgICAgICAgXSxcbiAgICAgICAgaWQ6ICcweDI0OTI4OWE4MTc4ZTRiOWNkYjg5ZmFkNmU4ZTQzNmNjYzQzNTc1M2U0ZWEzYzlkNTBlMGM4YjUyNTU4MmU5MGQnLFxuICAgICAgICBvdXRwdXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogJzB4Zjc0MDVjMjhhMDJjZjViYWI0ZWE0NDk4MjQwYmIzNTc5ZGI0NTk1MTc5NGViMWM4NDNiZWYwNTM0YzA5M2FkOScsXG4gICAgICAgICAgICBhbW91bnQ6ICcxMDAwJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRBbW91bnQ6ICcxMDAwJyxcbiAgICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgICAgc2VuZGVyOiAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5JyxcbiAgICAgICAgdHlwZTogMCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRvIGV4cGxhaW4gYSBpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJhd1R4ID0gJ2ludmFsaWRSYXdUcmFuc2FjdGlvbic7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2ZlclRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGFwdCcpKTtcbiAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKGFzeW5jICgpID0+IHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXdUeCksIHtcbiAgICAgICAgbWVzc2FnZTogJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRvIHBhcnNlIGEgdHJhbnNmZXIgdHJhbnNhY3Rpb24gd2hlbiBleHBsYWluVHJhbnNhY3Rpb24gcmVzcG9uc2UgaXMgdW5kZWZpbmVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgc3R1YiA9IHNpbm9uLnN0dWIoQXB0LnByb3RvdHlwZSwgJ2V4cGxhaW5UcmFuc2FjdGlvbicpO1xuICAgICAgc3R1Yi5yZXNvbHZlcyh1bmRlZmluZWQpO1xuICAgICAgYXdhaXQgYmFzZWNvaW4ucGFyc2VUcmFuc2FjdGlvbih7IHR4SGV4OiB0ZXN0RGF0YS5UUkFOU0ZFUiB9KS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgICBzdHViLnJlc3RvcmUoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0FkZHJlc3MgVmFsaWRhdGlvbicsICgpID0+IHtcbiAgICBsZXQga2V5Y2hhaW5zO1xuICAgIGxldCBjb21tb25LZXljaGFpbjtcblxuICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICBjb21tb25LZXljaGFpbiA9XG4gICAgICAgICcxOWJkZmUyYTRiNDk4YTA1NTExMzgxMjM1YTg4OTJkNTQyNjc4MDdjNGEzZjY1NGUzMTBiOTM4YjhiNDI0ZmY0YWRlZGJlOTJmNGMxNDZkZTY0MWM2NzUwOGE5NjEzMjRjODUwNGNkZjhlMGMwYWNiYjY4ZDYxMDRjY2NjZDc4MSc7XG4gICAgICBrZXljaGFpbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJzY0MjRjMzUzZWFmNzhkMDAwNzY2ZTk1OTQ5ODY4NDY4JyxcbiAgICAgICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgICAgICB0eXBlOiAndHNzJyxcbiAgICAgICAgICBjb21tb25LZXljaGFpbjpcbiAgICAgICAgICAgICcxOWJkZmUyYTRiNDk4YTA1NTExMzgxMjM1YTg4OTJkNTQyNjc4MDdjNGEzZjY1NGUzMTBiOTM4YjhiNDI0ZmY0YWRlZGJlOTJmNGMxNDZkZTY0MWM2NzUwOGE5NjEzMjRjODUwNGNkZjhlMGMwYWNiYjY4ZDYxMDRjY2NjZDc4MScsXG4gICAgICAgICAgZW5jcnlwdGVkUHJ2OlxuICAgICAgICAgICAgJ3tcIml2XCI6XCJjWmQ1aTdMNFJ4dHdyQUxXMnJLN1VBPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiNXpnb0gxQmQzRnc9XCIsXCJjdFwiOlwiOXZWbG5YRlJ0ck05RlZFbytkMmNoYkdIbE05bEZaZW11ZUJ1QXMzQklrUG8zM0ZvN2p6d3dOSy9rSVdrRXlnK05tRUJkNUlhcUFTMTU3bnZ2dnd6enNtTVdsUWRVejlxYm1YTnYzcGc5ODdjWEZSMDhleFMrNHVod1AxWU5PakpUUnZSTmNPOVpxSGI0NmQ0Zm15Si95Qzkvc3VzQ2dlN3IvRXNiYU41QzNhZnYxZHp5YnVxOTEyRndhUUVsWkxZWXA1QklDdWRGT01aOWswVURNZktNL1BNRGtIN1dleG9HSHI5R0txL2JnQ0gyQjM5VFpaeUhLVTZVeTQ3bFhlcDJzNmgwRHJNd0hPcm5taUwzRFpqT2o4OFludnBobHp4dW80ZU9sRDJVSGlhMitudklhSVNZczI5UHIwREF2UkV1dGNodmNCcEV4ajFrV1dQdjdoUVlydjhGME5BZGF0c2JXbDN3K3hLeWZpTUtvMVVTbHJ3eUp2aXlwR3RRdFhPSnl3MFhQTjBydjIrTDVsVzhCYmpwekhmWVlOMTNmSlRlZGxHVEZoaGt6VnRiYlBBS0UwMmt4N3pDSmNqWWFpZXhkU1RzckRMU2NZTlQ5L0poZHQyN0twc29vZWh3Vm9oTGZTS3o0dmJGZlJ1Mk1QWnczLytjL2hmaUpOZ3R6NmVzV2JueEdyY0U4VTJJd1BZQ2FLK0doazREY3FXTkluaTU5Ukk1QjVrQXNRT1RvSUk0MHFQTjUxMHVUZ3hCU1BPN3E3TUhna3hkZDRDcUJxK29qcjlqMFA3b2FvOEU1WStDQkRKcm9qRG9DaDFvQ0NEVzl2bzJkWGxWY0Q4U0lidzdVLzlBZnZFYkE0eHlFLzVtZDFNN0NJd0xuV3MyWW52MFl0YUtvcWhkUzl4NkZtSGxNRGhOL0RLSGlucndtb3d0clRUODJmT2twTzVnOXNhU21nVTdReTNnTHQ4dCtWd2RFeWVGZVFVS1JTeWNpOHFncVhRYVpJZzQrYVhnYVNPbmxDRk10bUI4ZWtZeEVoVFk1dXpSZnJOZ1M0czFRZXFGQnBOdFVGK1lkaTI5N3BiVlhuSm9YQU4rU1ZXZDgwR0N4K3lJMmRwVkM4OWszck9XSzlXZXlxbG56dUxKV3AyUklPQjljZFc4R0Z2L2ZOK1FBSnBZZVZ4T0U0K25aRHNLbnNqOG5LY2c5dDREbHgxRzZnTE0xL1ZxOVl4TkxidXp1UkMwYXNVWXZkTW5vTXZzem1wbSsrVHhuZFlpc2dOWXNjcFpTb3o3d3ZjYXpKTkVQZmhQVmpFa2Q2dFVVdU40R00zNUgwRG1LQ1VRTlQrYTZCNmhtSGxUWnZqeGl5R0FnNWJZNTloZGp2SisyMlFkdWF6bEVFQzZMSTNIckE3dUswVHBwbFd6UzF0Q0lGdlRNVWhqNjVERVptTkoyK1pZOWJRNHZzTWYrRFJSM09PRzR0K0RNbE5mak9kM3pOdjNRb1k5NUJqZldwcnlGd1B6RHE3YkNQNjdKRHNvajdqMlRZNUZSU3JSa0Q3N0gwRXdsdXgyY1dmalJUd2NNSGNkUXh4dVYwT1AwYU5qR0RqeWJGTlwifScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJzY0MjRjMzUzZWFmNzhkMDAwNzY2ZTk2MTM3ZDQ0MDRiJyxcbiAgICAgICAgICBzb3VyY2U6ICdiYWNrdXAnLFxuICAgICAgICAgIHR5cGU6ICd0c3MnLFxuICAgICAgICAgIGNvbW1vbktleWNoYWluOlxuICAgICAgICAgICAgJzE5YmRmZTJhNGI0OThhMDU1MTEzODEyMzVhODg5MmQ1NDI2NzgwN2M0YTNmNjU0ZTMxMGI5MzhiOGI0MjRmZjRhZGVkYmU5MmY0YzE0NmRlNjQxYzY3NTA4YTk2MTMyNGM4NTA0Y2RmOGUwYzBhY2JiNjhkNjEwNGNjY2NkNzgxJyxcbiAgICAgICAgICBlbmNyeXB0ZWRQcnY6XG4gICAgICAgICAgICAne1wiaXZcIjpcInZpMGRQZWYvUng3a0cvcFJ5U1FpNlE9PVwiLFwidlwiOjEsXCJpdGVyXCI6MTAwMDAsXCJrc1wiOjI1NixcInRzXCI6NjQsXCJtb2RlXCI6XCJjY21cIixcImFkYXRhXCI6XCJcIixcImNpcGhlclwiOlwiYWVzXCIsXCJzYWx0XCI6XCI5ZWZoUXNpRXZWcz1cIixcImN0XCI6XCJHdzZhdHZmNmd4S3pzanRsM3hzZWlwTzNyQXhwMW1BejdZdTFpaEZzaTUvbGYydk1aZWdBcGdaeCtweUlMRlM5S0tMSGJORjNVNldnU1lkcnIydDR2emRMc1hrSDFXSXhmSFMrY2QyQzVONTl5QURaRG5QSkJUNnB2L0lSdmFZZWxQMENrM25JWVEyaFNNbThvcCtWT1dDL1N6SGVoN3NsWURxd0VIVEdhbjBXaWdmdmsxeVJkN0NDSlRhRUFvbW5jLzRlRmkyTlkzWDNndC8zb3B5OUlBZ2tubndVRm9objk2RVdwRVEwRjZwYnpIL1o4VkY2Z0YrRFVjcnJCeUF4RXhVUG5IUVppRmszWUhVL3ZWVjRGeEJVL21WQUU4eEJzQm41dWw1ZTVTVU1QZmM3VEJ1Sld2NEJCeVROZzl4RFNoRi85MVl4Mm5iZlVtNWQ5UW1NOGxwS2d6elF2Y0s4UE9BUGs4N2dSQ3VLbnNHaDV2TlMwVXBwa0hjK29jZnpSUWxHQTZqemU3UXl5UU8wck1qNUx5OGtXandrMnZJU3ZLWUhZUzFOUjdWVTU0OVVJWG83TlhqYXR1bktTYzMrSXJlb1JVSElzaGlhTGc2aGwrcHhDQ3VjMHFRNDNWMG1kSWZDalROOGdrR1dMTms4Ujd0QUdQejlqeWFwUVBjUEVHSGdFejBBVElpNnlNTldDc2liUzJlTGlFMXVWRUpPTm9NNGxrNkZQbDNRMkNIYlcyTWVFYnFqWThoYmF3MThtTmIyeFNCSC9Gd3BpaWFsK1R2aTJpbXFnbkNPNFpwTzlibGxLZnRaUGNReTBzdE4rZUdCbGI1dWZ5ZmxLa0RTaUNoSFlyb0dqRXBtaUZpY2RkZTQ4Y0pzekY1MnVLTm5mMXE2N2ZBOS9TMkZBSFFhYjNFWG9qeEgyR2JrK2trVjJoL1RZS0ZGWlNXQzN2aTRlOG1PK3ZqTVVjUjBBZHNnUEZ5RUl6MFNDR3ViYTNDblRMTmRFdVp3c2F1QWVIa3gydlVUblJnSlBWZ05lZXVYbXNWRzc2U3kyZ2dKSHVhbHMwSGo4VTJYZGEwcU8xUnVGZm9DV2Zzczl3bjZIR1J3UFBraFNCLzhvTmd1QXFtUlZHS2tkOFp3dDNJdnJUZDlmazAvckZGREpLR3o3V3lOSGtZZ1VtTmlHY0l0RDEydjBqeDdGWjUyRUp6bDNBdjFSeUpVUUsxOCs4RVlQaDNTR2lVOWR0N1ZYMGFGMHVvNkpvdUtoT2VsZFV2TVArQXVnUXo4ZlVjbHdUUXNiYm9WZzI3WXhvMER5QVRWd1RoVzVhNTZSNlFmNVppUUpsdUZ1enM1eTk4cnEwUzVxMDQ2bEU2bzN2Vm1KcEVkd2plU0NKb0VUNUNMNG5UZ2tYeVd2aG00ZUI4dS9lNjZsM28wcWJhU3g4cTlZWW1UOUVwUmNsNVRQNFRoTEJLRVRZZHpWdmc0ZXhqUWZla3RNYXRrNUV5VXBFSWhaUFhoNXZYcEpaZXNkZk85TEo4elRhSEJzQmpEUFU3Y2ROZ1FNYmVicGF0YVJpOEEwZWwyL0lKWGwrRStvbGdBejV6QzRpMk8xUT09XCJ9JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnNjQyNGMzNTNlYWY3OGQwMDA3NjZlOTUxMGIxMjVmYmEnLFxuICAgICAgICAgIHNvdXJjZTogJ2JpdGdvJyxcbiAgICAgICAgICB0eXBlOiAndHNzJyxcbiAgICAgICAgICBjb21tb25LZXljaGFpbjpcbiAgICAgICAgICAgICcxOWJkZmUyYTRiNDk4YTA1NTExMzgxMjM1YTg4OTJkNTQyNjc4MDdjNGEzZjY1NGUzMTBiOTM4YjhiNDI0ZmY0YWRlZGJlOTJmNGMxNDZkZTY0MWM2NzUwOGE5NjEzMjRjODUwNGNkZjhlMGMwYWNiYjY4ZDYxMDRjY2NjZDc4MScsXG4gICAgICAgICAgdmVyaWZpZWRWc3NQcm9vZjogdHJ1ZSxcbiAgICAgICAgICBpc0JpdEdvOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB2YWxpZGF0aW5nIGEgd2VsbCBmb3JtYXR0ZWQgYWRkcmVzcyBwcmVmaXhlZCB3aXRoIDB4JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9ICcweGY5NDFhZTNjYmU1NjQ1ZGNjYzE1ZGE4MzQ2YjUzM2Y3ZjkxZjIwMjA4OWE1NTIxNjUzYzA2MmIyZmYxMGIzMDQnO1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB2YWxpZGF0aW5nIGFuIG9sZCBhZGRyZXNzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9ICcweDI5NTliZmMzZmRiN2RjMjNmZWQ4ZGViYTJmYWZiNzBmM2U2MDZhNTknO1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdmFsaWRhdGluZyBhbiBpbmNvcnJlY3RseSBmb3JtYXR0ZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhZGRyZXNzID0gJ3dyb25nYWRkcmVzcyc7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgaXNXYWxsZXRBZGRyZXNzIHdpdGggdmFsaWQgYWRkcmVzcyBmb3IgaW5kZXggNCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG5ld0FkZHJlc3MgPSAnMHg4YjNjNzgwNzczMGQ3NTc5MmRkNmM0OTczMmNmOWYwMTRkNjk4NGE5Yzc3ZDM4NmJkYjEwNzJhOWU1MzdkOGQ4JztcbiAgICAgIGNvbnN0IGluZGV4ID0gNDtcblxuICAgICAgY29uc3QgcGFyYW1zID0geyBjb21tb25LZXljaGFpbiwgYWRkcmVzczogbmV3QWRkcmVzcywgaW5kZXgsIGtleWNoYWlucyB9O1xuICAgICAgKGF3YWl0IGJhc2Vjb2luLmlzV2FsbGV0QWRkcmVzcyhwYXJhbXMpKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGZvciBpc1dhbGxldEFkZHJlc3Mgd2hlbiBrZXljaGFpbnMgaXMgbWlzc2luZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSAnMHgyOTU5YmZjM2ZkYjdkYzIzZmVkOGRlYmEyZmFmYjcwZjNlNjA2YTU5JztcbiAgICAgIGNvbnN0IGluZGV4ID0gMDtcblxuICAgICAgY29uc3QgcGFyYW1zID0geyBjb21tb25LZXljaGFpbiwgYWRkcmVzcywgaW5kZXggfTtcbiAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKGFzeW5jICgpID0+IGJhc2Vjb2luLmlzV2FsbGV0QWRkcmVzcyhwYXJhbXMpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgZm9yIGlzV2FsbGV0QWRkcmVzcyB3aGVuIG5ldyBhZGRyZXNzIGlzIGludmFsaWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB3cm9uZ0FkZHJlc3MgPSAnYmFkQWRkcmVzcyc7XG4gICAgICBjb25zdCBpbmRleCA9IDA7XG5cbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgY29tbW9uS2V5Y2hhaW4sIGFkZHJlc3M6IHdyb25nQWRkcmVzcywgaW5kZXggfTtcbiAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKGFzeW5jICgpID0+IGJhc2Vjb2luLmlzV2FsbGV0QWRkcmVzcyhwYXJhbXMpLCB7XG4gICAgICAgIG1lc3NhZ2U6IGBpbnZhbGlkIGFkZHJlc3M6ICR7d3JvbmdBZGRyZXNzfWAsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0lEIFZhbGlkYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NoZWNrIGlkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgbmV0d29yazogTmV0d29yayA9IE5ldHdvcmsuVEVTVE5FVDtcbiAgICAgIGNvbnN0IGFwdG9zID0gbmV3IEFwdG9zKG5ldyBBcHRvc0NvbmZpZyh7IG5ldHdvcmsgfSkpO1xuICAgICAgY29uc3Qgc2VuZGVyQWRkcmVzcyA9IEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcoXG4gICAgICAgICcweGM4ZjAyZDI1YWE2OThiM2U5ZmJkOGEwOGU4ZGE0YzhlZTI2MTgzMmEyNWE0Y2RlODczMWI1ZWMzNTY1MzdkMDknXG4gICAgICApO1xuICAgICAgY29uc3QgcmVjaXBpZW50QWRkcmVzcyA9IEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcoXG4gICAgICAgICcweGY3NDA1YzI4YTAyY2Y1YmFiNGVhNDQ5ODI0MGJiMzU3OWRiNDU5NTE3OTRlYjFjODQzYmVmMDUzNGMwOTNhZDknXG4gICAgICApO1xuXG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IGFwdG9zLnRyYW5zYWN0aW9uLmJ1aWxkLnNpbXBsZSh7XG4gICAgICAgIHNlbmRlcjogc2VuZGVyQWRkcmVzcyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZ1bmN0aW9uOiAnMHgxOjpjb2luOjp0cmFuc2ZlcicsXG4gICAgICAgICAgdHlwZUFyZ3VtZW50czogW0FQVE9TX0NPSU5dLFxuICAgICAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiBbcmVjaXBpZW50QWRkcmVzcywgMTAwMF0sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBtYXhHYXNBbW91bnQ6IDIwMDAwMCxcbiAgICAgICAgICBnYXNVbml0UHJpY2U6IDEwMCxcbiAgICAgICAgICBleHBpcmVUaW1lc3RhbXA6IDE3MzI2OTkyMzYsXG4gICAgICAgICAgYWNjb3VudFNlcXVlbmNlTnVtYmVyOiAxNCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBERUZBVUxUX1BVQkxJQ19LRVkgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgY29uc3QgREVGQVVMVF9TSUdOQVRVUkUgPSBCdWZmZXIuYWxsb2MoNjQpO1xuICAgICAgY29uc3QgcHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkodXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyhERUZBVUxUX1BVQkxJQ19LRVkudG9TdHJpbmcoJ2hleCcpKSk7XG4gICAgICBjb25zdCBzaWduYXR1cmUgPSBuZXcgRWQyNTUxOVNpZ25hdHVyZShERUZBVUxUX1NJR05BVFVSRSk7XG4gICAgICBjb25zdCBzZW5kZXJBdXRoZW50aWNhdG9yID0gbmV3IEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOShwdWJsaWNLZXksIHNpZ25hdHVyZSk7XG4gICAgICBjb25zdCBpZCA9IGdlbmVyYXRlVXNlclRyYW5zYWN0aW9uSGFzaCh7IHRyYW5zYWN0aW9uLCBzZW5kZXJBdXRoZW50aWNhdG9yIH0pO1xuXG4gICAgICBpZC5zaG91bGQuZXF1YWwoJzB4OTIzZDFjZmVkM2FmYWMyNDA0ODQ1MTE2MDMzN2RiNzViYTI4MjkxMjE1N2VlNDM0MDdiNTcyOTIzODAxZDViYScpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
375
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2FwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtCQUFnQjtBQUNoQiw4Q0FBMEQ7QUFDMUQsNENBQTBDO0FBQzFDLG1DQUFxRTtBQUNyRSwyREFBNkM7QUFDN0Msb0RBQXVCO0FBQ3ZCLGtEQUEwQjtBQUMxQixvREFBNEI7QUFDNUIsK0NBVTRCO0FBQzVCLGdFQUF3QztBQUN4Qyw0Q0FBb0U7QUFDcEUsbUhBQWdIO0FBRWhILFFBQVEsQ0FBQyxNQUFNLEVBQUU7SUFDZixJQUFJLEtBQW1CLENBQUM7SUFDeEIsSUFBSSxRQUFRLENBQUM7SUFDYixJQUFJLGFBQWEsQ0FBQztJQUNsQixJQUFJLFdBQVcsQ0FBQztJQUVoQixNQUFNLFVBQVUsR0FBRztRQUNqQixLQUFLLEVBQUUsUUFBUSxDQUFDLGdDQUFnQztRQUNoRCxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRztRQUNmLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtLQUNoQyxDQUFDO0lBRUYsTUFBTSx1QkFBdUIsR0FBRztRQUM5QixLQUFLLEVBQUUsUUFBUSxDQUFDLHlCQUF5QjtRQUN6QyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUM7SUFFRixNQUFNLHFCQUFxQixHQUFHO1FBQzVCLFVBQVUsRUFBRSxRQUFRLENBQUMsdUJBQXVCO1FBQzVDLElBQUksRUFBRSxVQUFVO0tBQ2pCLENBQUM7SUFFRixNQUFNLENBQUM7UUFDTCxLQUFLLEdBQUcsb0JBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsY0FBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzNCLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLGFBQWEsR0FBRyxHQUFHLEVBQUU7WUFDbkIsT0FBTyxnQkFBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFDRixXQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLE9BQU8sZ0JBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUU7UUFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsTUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQXVCLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQXVCLENBQUM7UUFFNUQsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsV0FBVyxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUQsVUFBVSxDQUFDLHFDQUFxQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkUsV0FBVyxDQUFDLHFDQUFxQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEUsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBYSxDQUFDO1FBQ3RELGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRCxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztRQUMxRyxjQUFjLENBQUMsYUFB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dEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay1hcGknO1xuaW1wb3J0IHsgQXB0LCBBcHRUb2tlbiwgVGFwdCwgVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3NyYyc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi9yZXNvdXJjZXMvYXB0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHtcbiAgQWNjb3VudEFkZHJlc3MsXG4gIEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOSxcbiAgQXB0b3MsXG4gIEFQVE9TX0NPSU4sXG4gIEFwdG9zQ29uZmlnLFxuICBFZDI1NTE5UHVibGljS2V5LFxuICBFZDI1NTE5U2lnbmF0dXJlLFxuICBnZW5lcmF0ZVVzZXJUcmFuc2FjdGlvbkhhc2gsXG4gIE5ldHdvcmssXG59IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vLi4vc3JjL2xpYi91dGlscyc7XG5pbXBvcnQgeyBBcHRDb2luLCBjb2lucywgR2FzVGFua0FjY291bnRDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlVHJhbnNhY3Rpb24nO1xuXG5kZXNjcmliZSgnQVBUOicsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJpdGdvOiBUZXN0Qml0R29BUEk7XG4gIGxldCBiYXNlY29pbjtcbiAgbGV0IG5ld1R4UHJlYnVpbGQ7XG4gIGxldCBuZXdUeFBhcmFtcztcblxuICBjb25zdCB0eFByZUJ1aWxkID0ge1xuICAgIHR4SGV4OiB0ZXN0RGF0YS5UUkFOU0FDVElPTl9VU0lOR19UUkFOU0ZFUl9DT0lOUyxcbiAgICB0eEluZm86IHt9LFxuICB9O1xuXG4gIGNvbnN0IHR4UGFyYW1zID0ge1xuICAgIHJlY2lwaWVudHM6IHRlc3REYXRhLnJlY2lwaWVudHMsXG4gIH07XG5cbiAgY29uc3QgYmF0Y2hGdW5naWJsZVR4UHJlYnVpbGQgPSB7XG4gICAgdHhIZXg6IHRlc3REYXRhLkZVTkdJQkxFX0JBVENIX1JBV19UWF9IRVgsXG4gICAgdHhJbmZvOiB7fSxcbiAgfTtcblxuICBjb25zdCBiYXRjaEZ1bmdpYmxlVHhQYXJhbXMgPSB7XG4gICAgcmVjaXBpZW50czogdGVzdERhdGEuYmF0Y2hGdW5naWJsZVJlY2lwaWVudHMsXG4gICAgdHlwZTogJ3RyYW5zZmVyJyxcbiAgfTtcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ21vY2snIH0pO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcignYXB0JywgQXB0LmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3RhcHQnLCBUYXB0LmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ2FwdDp1c2R0JywgQXB0VG9rZW4uY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICAgIGJhc2Vjb2luID0gYml0Z28uY29pbigndGFwdCcpO1xuICAgIG5ld1R4UHJlYnVpbGQgPSAoKSA9PiB7XG4gICAgICByZXR1cm4gXy5jbG9uZURlZXAodHhQcmVCdWlsZCk7XG4gICAgfTtcbiAgICBuZXdUeFBhcmFtcyA9ICgpID0+IHtcbiAgICAgIHJldHVybiBfLmNsb25lRGVlcCh0eFBhcmFtcyk7XG4gICAgfTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHJpZ2h0IGluZm8nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgYXB0ID0gYml0Z28uY29pbignYXB0Jyk7XG4gICAgY29uc3QgdGFwdCA9IGJpdGdvLmNvaW4oJ3RhcHQnKTtcbiAgICBjb25zdCBhcHRVc2R0ID0gYml0Z28uY29pbignYXB0OnVzZHQnKTtcbiAgICBjb25zdCBhcHRTdGF0aWNzID0gY29pbnMuZ2V0KCdhcHQnKSBhcyBHYXNUYW5rQWNjb3VudENvaW47XG4gICAgY29uc3QgdGFwdFN0YXRpY3MgPSBjb2lucy5nZXQoJ3RhcHQnKSBhcyBHYXNUYW5rQWNjb3VudENvaW47XG5cbiAgICBhcHQuZ2V0Q2hhaW4oKS5zaG91bGQuZXF1YWwoJ2FwdCcpO1xuICAgIGFwdC5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ2FwdCcpO1xuICAgIGFwdC5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbCgnQXB0b3MnKTtcbiAgICBhcHQuZ2V0QmFzZUZhY3RvcigpLnNob3VsZC5lcXVhbCgxZTgpO1xuXG4gICAgdGFwdC5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgndGFwdCcpO1xuICAgIHRhcHQuZ2V0RmFtaWx5KCkuc2hvdWxkLmVxdWFsKCdhcHQnKTtcbiAgICB0YXB0LmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdUZXN0bmV0IEFwdG9zJyk7XG4gICAgdGFwdC5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlOCk7XG5cbiAgICBhcHRTdGF0aWNzLmdhc1RhbmtMb3dCYWxhbmNlQWxlcnRGYWN0b3Iuc2hvdWxkLmVxdWFsKDgwKTtcbiAgICB0YXB0U3RhdGljcy5nYXNUYW5rTG93QmFsYW5jZUFsZXJ0RmFjdG9yLnNob3VsZC5lcXVhbCg4MCk7XG4gICAgYXB0U3RhdGljcy5nYXNUYW5rTWluQmFsYW5jZVJlY29tbWVuZGF0aW9uRmFjdG9yLnNob3VsZC5lcXVhbCgyMDApO1xuICAgIHRhcHRTdGF0aWNzLmdhc1RhbmtNaW5CYWxhbmNlUmVjb21tZW5kYXRpb25GYWN0b3Iuc2hvdWxkLmVxdWFsKDIwMCk7XG5cbiAgICBhcHRVc2R0LmdldEZhbWlseSgpLnNob3VsZC5lcXVhbCgnYXB0Jyk7XG4gICAgYXB0VXNkdC5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgnYXB0Jyk7XG4gICAgY29uc3QgYXB0VXNkdFN0YXRpY3MgPSBhcHRVc2R0LmdldENvbmZpZygpIGFzIEFwdENvaW47XG4gICAgYXB0VXNkdFN0YXRpY3MuZnVsbE5hbWUuc2hvdWxkLmVxdWFsKCdVU0QgVGV0aGVyJyk7XG4gICAgYXB0VXNkdFN0YXRpY3MuYXNzZXRJZC5zaG91bGQuZXF1YWwoJzB4MzU3YjBiNzRiYzgzM2U5NWExMTVhZDIyNjA0ODU0ZDZiMGZjYTE1MWNlY2Q5NDExMTc3MGU1ZDZmZmM5ZGMyYicpO1xuICAgIGFwdFVzZHRTdGF0aWNzLmRlY2ltYWxQbGFjZXMuc2hvdWxkLmVxdWFsKDYpO1xuICB9KTtcblxuICBpdCgnaXMgdmFsaWQgcHViJywgZnVuY3Rpb24gKCkge1xuICAgIC8vIHdpdGggMHggcHJlZml4XG4gICAgYmFzZWNvaW4uaXNWYWxpZFB1YignMHg5YjRlOTYwODZkMTExNTAwMjU5ZjliMzg2ODBiMDUwOWE0MDVjMTkwNGRhMTg5NzY0NTVhMjBjNjkxZDNiYjA3Jykuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICAvLyB3aXRob3V0IDB4IHByZWZpeFxuICAgIGJhc2Vjb2luLmlzVmFsaWRQdWIoJzliNGU5NjA4NmQxMTE1MDAyNTlmOWIzODY4MGIwNTA5YTQwNWMxOTA0ZGExODk3NjQ1NWEyMGM2OTFkM2JiMDcnKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdWZXJpZnkgdHJhbnNhY3Rpb246ICcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHN1Y2NlZWQgdG8gdmVyaWZ5IHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhQcmVidWlsZCA9IG5ld1R4UHJlYnVpbGQoKTtcbiAgICAgIGNvbnN0IHR4UGFyYW1zID0gbmV3VHhQYXJhbXMoKTtcbiAgICAgIGNvbnN0IHZlcmlmaWNhdGlvbiA9IHt9O1xuICAgICAgY29uc3QgaXNUcmFuc2FjdGlvblZlcmlmaWVkID0gYXdhaXQgYmFzZWNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oeyB0eFBhcmFtcywgdHhQcmVidWlsZCwgdmVyaWZpY2F0aW9uIH0pO1xuICAgICAgaXNUcmFuc2FjdGlvblZlcmlmaWVkLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc3VjY2VlZCB0byB2ZXJpZnkgZnVuZ2libGUgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB2ZXJpZmljYXRpb24gPSB7fTtcbiAgICAgIGNvbnN0IGlzVHJhbnNhY3Rpb25WZXJpZmllZCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQcmVidWlsZDogYmF0Y2hGdW5naWJsZVR4UHJlYnVpbGQsXG4gICAgICAgIHR4UGFyYW1zOiBiYXRjaEZ1bmdpYmxlVHhQYXJhbXMsXG4gICAgICAgIHZlcmlmaWNhdGlvbixcbiAgICAgIH0pO1xuICAgICAgaXNUcmFuc2FjdGlvblZlcmlmaWVkLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc3VjY2VlZCB0byB2ZXJpZnkgdHJhbnNhY3Rpb24gd2hlbiByZWNpcGllbnRzIGFtb3VudCBhcmUgbnVtYmVycycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4UHJlYnVpbGQgPSBuZXdUeFByZWJ1aWxkKCk7XG4gICAgICBjb25zdCB0eFBhcmFtc1dpdGhOdW1iZXJBbW91bnRzID0gbmV3VHhQYXJhbXMoKTtcbiAgICAgIHR4UGFyYW1zV2l0aE51bWJlckFtb3VudHMucmVjaXBpZW50cyA9IHR4UGFyYW1zV2l0aE51bWJlckFtb3VudHMucmVjaXBpZW50cy5tYXAoKHsgYWRkcmVzcywgYW1vdW50IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHsgYWRkcmVzcywgYW1vdW50OiBOdW1iZXIoYW1vdW50KSB9O1xuICAgICAgfSk7XG4gICAgICBjb25zdCB2ZXJpZmljYXRpb24gPSB7fTtcbiAgICAgIGNvbnN0IGlzVHJhbnNhY3Rpb25WZXJpZmllZCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHR4UGFyYW1zV2l0aE51bWJlckFtb3VudHMsXG4gICAgICAgIHR4UHJlYnVpbGQsXG4gICAgICAgIHZlcmlmaWNhdGlvbixcbiAgICAgIH0pO1xuICAgICAgaXNUcmFuc2FjdGlvblZlcmlmaWVkLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB0byB2ZXJpZnkgdHJhbnNhY3Rpb24gd2l0aCBpbnZhbGlkIHBhcmFtJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhQcmVidWlsZCA9IHt9O1xuICAgICAgY29uc3QgdHhQYXJhbXMgPSBuZXdUeFBhcmFtcygpO1xuICAgICAgdHhQYXJhbXMucmVjaXBpZW50cyA9IHVuZGVmaW5lZDtcbiAgICAgIGF3YWl0IGJhc2Vjb2luXG4gICAgICAgIC52ZXJpZnlUcmFuc2FjdGlvbih7XG4gICAgICAgICAgdHhQYXJhbXMsXG4gICAgICAgICAgdHhQcmVidWlsZCxcbiAgICAgICAgfSlcbiAgICAgICAgLnNob3VsZC5yZWplY3RlZFdpdGgoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1BhcnNlIGFuZCBFeHBsYWluIFRyYW5zYWN0aW9uczogJywgKCkgPT4ge1xuICAgIGNvbnN0IHRyYW5zZmVySW5wdXRzUmVzcG9uc2UgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiB0ZXN0RGF0YS5BTU9VTlQudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHRyYW5zZmVyT3V0cHV0c1Jlc3BvbnNlID0gW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5yZWNpcGllbnRzWzBdLmFkZHJlc3MsXG4gICAgICAgIGFtb3VudDogdGVzdERhdGEucmVjaXBpZW50c1swXS5hbW91bnQsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCB0cmFuc2ZlckZ1bmdpYmxlSW5wdXRSZXNwb25zZSA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGVzdERhdGEuZnVuZ2libGVTZW5kZXIuYWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiB0ZXN0RGF0YS5GVU5HSUJMRV9UT0tFTl9BTU9VTlQudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHRyYW5mZXJGdW5naWJsZU91dHB1dFJlc3BvbnNlID0gW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5mdW5naWJsZVRva2VuUmVjaXBpZW50c1sxXS5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHRlc3REYXRhLmZ1bmdpYmxlVG9rZW5SZWNpcGllbnRzWzFdLmFtb3VudCxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGl0KCdzaG91bGQgcGFyc2UgYSB0cmFuc2ZlciB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHBhcnNlZFRyYW5zYWN0aW9uID0gYXdhaXQgYmFzZWNvaW4ucGFyc2VUcmFuc2FjdGlvbih7XG4gICAgICAgIHR4SGV4OiB0ZXN0RGF0YS5UUkFOU0FDVElPTl9VU0lOR19UUkFOU0ZFUl9DT0lOUyxcbiAgICAgIH0pO1xuXG4gICAgICBwYXJzZWRUcmFuc2FjdGlvbi5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgICAgaW5wdXRzOiB0cmFuc2ZlcklucHV0c1Jlc3BvbnNlLFxuICAgICAgICBvdXRwdXRzOiB0cmFuc2Zlck91dHB1dHNSZXNwb25zZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBzaWduZWQgZnVuZ2libGUgdHJhbnNhY3Rpb24sIG9ubHkgd29yayBpZiBhbW91bnQgcGFyc2luZyBjb3JyZWN0bHkgZG9uZSBmcm9tIHBheWxvYWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBwYXJzZWRUcmFuc2FjdGlvbiA9IGF3YWl0IGJhc2Vjb2luLnBhcnNlVHJhbnNhY3Rpb24oe1xuICAgICAgICB0eEhleDogdGVzdERhdGEuRlVOR0lCTEVfU0VSSUFMSVpFRF9UWF9IRVgsXG4gICAgICB9KTtcblxuICAgICAgcGFyc2VkVHJhbnNhY3Rpb24uc2hvdWxkLmRlZXBFcXVhbCh7XG4gICAgICAgIGlucHV0czogdHJhbnNmZXJGdW5naWJsZUlucHV0UmVzcG9uc2UsXG4gICAgICAgIG91dHB1dHM6IHRyYW5mZXJGdW5naWJsZU91dHB1dFJlc3BvbnNlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4cGxhaW4gYSB0cmFuc2ZlciB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJhd1R4ID0gbmV3VHhQcmVidWlsZCgpLnR4SGV4O1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNmZXJUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RhcHQnKSk7XG4gICAgICB0cmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHgpO1xuICAgICAgY29uc3QgZXhwbGFpbmVkVHggPSB0cmFuc2FjdGlvbi5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgICAgIGNvbnNvbGUubG9nKGV4cGxhaW5lZFR4KTtcbiAgICAgIGV4cGxhaW5lZFR4LnNob3VsZC5kZWVwRXF1YWwoe1xuICAgICAgICBkaXNwbGF5T3JkZXI6IFtcbiAgICAgICAgICAnaWQnLFxuICAgICAgICAgICdvdXRwdXRzJyxcbiAgICAgICAgICAnb3V0cHV0QW1vdW50JyxcbiAgICAgICAgICAnY2hhbmdlT3V0cHV0cycsXG4gICAgICAgICAgJ2NoYW5nZUFtb3VudCcsXG4gICAgICAgICAgJ2ZlZScsXG4gICAgICAgICAgJ3dpdGhkcmF3QW1vdW50JyxcbiAgICAgICAgICAnc2VuZGVyJyxcbiAgICAgICAgICAndHlwZScsXG4gICAgICAgIF0sXG4gICAgICAgIGlkOiAnMHgyNDkyODlhODE3OGU0YjljZGI4OWZhZDZlOGU0MzZjY2M0MzU3NTNlNGVhM2M5ZDUwZTBjOGI1MjU1ODJlOTBkJyxcbiAgICAgICAgb3V0cHV0czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6ICcweGY3NDA1YzI4YTAyY2Y1YmFiNGVhNDQ5ODI0MGJiMzU3OWRiNDU5NTE3OTRlYjFjODQzYmVmMDUzNGMwOTNhZDknLFxuICAgICAgICAgICAgYW1vdW50OiAnMTAwMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgb3V0cHV0QW1vdW50OiAnMTAwMCcsXG4gICAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgICAgZmVlOiB7IGZlZTogJzAnIH0sXG4gICAgICAgIHNlbmRlcjogJzB4MWFlZDgwODkxNmFiOWIxYjMwYjA3YWJiNTM1NjFhZmQ0Njg0NzI4NWNlMjg2NTEyMjFkNDA2MTczYTM3MjQ0OScsXG4gICAgICAgIHR5cGU6IDAsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhwbGFpbiBhIHN0YWtpbmcgZGVsZWdhdGUgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByYXdUeCA9IHRlc3REYXRhLkRFTEVHQVRJT05fUE9PTF9BRERfU1RBS0VfVFhfSEVYO1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgRGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGFwdCcpKTtcbiAgICAgIHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXdUeCk7XG4gICAgICBjb25zdCBleHBsYWluZWRUeCA9IHRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICAgICAgZXhwbGFpbmVkVHguc2hvdWxkLmRlZXBFcXVhbCh7XG4gICAgICAgIGRpc3BsYXlPcmRlcjogW1xuICAgICAgICAgICdpZCcsXG4gICAgICAgICAgJ291dHB1dHMnLFxuICAgICAgICAgICdvdXRwdXRBbW91bnQnLFxuICAgICAgICAgICdjaGFuZ2VPdXRwdXRzJyxcbiAgICAgICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICAgICAnZmVlJyxcbiAgICAgICAgICAnd2l0aGRyYXdBbW91bnQnLFxuICAgICAgICAgICdzZW5kZXInLFxuICAgICAgICAgICd0eXBlJyxcbiAgICAgICAgXSxcbiAgICAgICAgaWQ6ICcweGM1Yjk2MGQxYmVjMTQ5Yzc3ODk2MzQ0Nzc0MzUyYzYxNDQxMzA3YWY1NjRlYWE4Yzg0Zjg1NzIwOGU0MTFiZjMnLFxuICAgICAgICBvdXRwdXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogJzB4Zjc0MDVjMjhhMDJjZjViYWI0ZWE0NDk4MjQwYmIzNTc5ZGI0NTk1MTc5NGViMWM4NDNiZWYwNTM0YzA5M2FkOScsXG4gICAgICAgICAgICBhbW91bnQ6ICcxMDAwJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRBbW91bnQ6ICcxMDAwJyxcbiAgICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgICAgc2VuZGVyOiAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5JyxcbiAgICAgICAgdHlwZTogMzAsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB0byBleHBsYWluIGEgaW52YWxpZCByYXcgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByYXdUeCA9ICdpbnZhbGlkUmF3VHJhbnNhY3Rpb24nO1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNmZXJUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RhcHQnKSk7XG4gICAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhhc3luYyAoKSA9PiB0cmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHgpLCB7XG4gICAgICAgIG1lc3NhZ2U6ICdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB0byBwYXJzZSBhIHRyYW5zZmVyIHRyYW5zYWN0aW9uIHdoZW4gZXhwbGFpblRyYW5zYWN0aW9uIHJlc3BvbnNlIGlzIHVuZGVmaW5lZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHN0dWIgPSBzaW5vbi5zdHViKEFwdC5wcm90b3R5cGUsICdleHBsYWluVHJhbnNhY3Rpb24nKTtcbiAgICAgIHN0dWIucmVzb2x2ZXModW5kZWZpbmVkKTtcbiAgICAgIGF3YWl0IGJhc2Vjb2luLnBhcnNlVHJhbnNhY3Rpb24oeyB0eEhleDogdGVzdERhdGEuVFJBTlNGRVIgfSkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgICAgc3R1Yi5yZXN0b3JlKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdBZGRyZXNzIFZhbGlkYXRpb24nLCAoKSA9PiB7XG4gICAgbGV0IGtleWNoYWlucztcbiAgICBsZXQgY29tbW9uS2V5Y2hhaW47XG5cbiAgICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgICAgY29tbW9uS2V5Y2hhaW4gPVxuICAgICAgICAnMTliZGZlMmE0YjQ5OGEwNTUxMTM4MTIzNWE4ODkyZDU0MjY3ODA3YzRhM2Y2NTRlMzEwYjkzOGI4YjQyNGZmNGFkZWRiZTkyZjRjMTQ2ZGU2NDFjNjc1MDhhOTYxMzI0Yzg1MDRjZGY4ZTBjMGFjYmI2OGQ2MTA0Y2NjY2Q3ODEnO1xuICAgICAga2V5Y2hhaW5zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICc2NDI0YzM1M2VhZjc4ZDAwMDc2NmU5NTk0OTg2ODQ2OCcsXG4gICAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICAgICAgdHlwZTogJ3RzcycsXG4gICAgICAgICAgY29tbW9uS2V5Y2hhaW46XG4gICAgICAgICAgICAnMTliZGZlMmE0YjQ5OGEwNTUxMTM4MTIzNWE4ODkyZDU0MjY3ODA3YzRhM2Y2NTRlMzEwYjkzOGI4YjQyNGZmNGFkZWRiZTkyZjRjMTQ2ZGU2NDFjNjc1MDhhOTYxMzI0Yzg1MDRjZGY4ZTBjMGFjYmI2OGQ2MTA0Y2NjY2Q3ODEnLFxuICAgICAgICAgIGVuY3J5cHRlZFBydjpcbiAgICAgICAgICAgICd7XCJpdlwiOlwiY1pkNWk3TDRSeHR3ckFMVzJySzdVQT09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIjpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIjV6Z29IMUJkM0Z3PVwiLFwiY3RcIjpcIjl2VmxuWEZSdHJNOUZWRW8rZDJjaGJHSGxNOWxGWmVtdWVCdUFzM0JJa1BvMzNGbzdqend3Tksva0lXa0V5ZytObUVCZDVJYXFBUzE1N252dnZ3enpzbU1XbFFkVXo5cWJtWE52M3BnOTg3Y1hGUjA4ZXhTKzR1aHdQMVlOT2pKVFJ2Uk5jTzlacUhiNDZkNGZteUoveUM5L3N1c0NnZTdyL0VzYmFONUMzYWZ2MWR6eWJ1cTkxMkZ3YVFFbFpMWVlwNUJJQ3VkRk9NWjlrMFVETWZLTS9QTURrSDdXZXhvR0hyOUdLcS9iZ0NIMkIzOVRaWnlIS1U2VXk0N2xYZXAyczZoMERyTXdIT3JubWlMM0Raak9qODhZbnZwaGx6eHVvNGVPbEQyVUhpYTIrbnZJYUlTWXMyOVByMERBdlJFdXRjaHZjQnBFeGoxa1dXUHY3aFFZcnY4RjBOQWRhdHNiV2wzdyt4S3lmaU1LbzFVU2xyd3lKdml5cEd0UXRYT0p5dzBYUE4wcnYyK0w1bFc4QmJqcHpIZllZTjEzZkpUZWRsR1RGaGhrelZ0YmJQQUtFMDJreDd6Q0pjallhaWV4ZFNUc3JETFNjWU5UOS9KaGR0MjdLcHNvb2Vod1ZvaExmU0t6NHZiRmZSdTJNUFp3My8rYy9oZmlKTmd0ejZlc1dibnhHcmNFOFUySXdQWUNhSytHaGs0RGNxV05Jbmk1OVJJNUI1a0FzUU9Ub0lJNDBxUE41MTB1VGd4QlNQTzdxN01IZ2t4ZGQ0Q3FCcStvanI5ajBQN29hbzhFNVkrQ0JESnJvakRvQ2gxb0NDRFc5dm8yZFhsVmNEOFNJYnc3VS85QWZ2RWJBNHh5RS81bWQxTTdDSXdMbldzMlludjBZdGFLb3FoZFM5eDZGbUhsTURoTi9ES0hpbnJ3bW93dHJUVDgyZk9rcE81ZzlzYVNtZ1U3UXkzZ0x0OHQrVndkRXllRmVRVUtSU3ljaThxZ3FYUWFaSWc0K2FYZ2FTT25sQ0ZNdG1COGVrWXhFaFRZNXV6UmZyTmdTNHMxUWVxRkJwTnRVRitZZGkyOTdwYlZYbkpvWEFOK1NWV2Q4MEdDeCt5STJkcFZDODlrM3JPV0s5V2V5cWxuenVMSldwMlJJT0I5Y2RXOEdGdi9mTitRQUpwWWVWeE9FNCtuWkRzS25zajhuS2NnOXQ0RGx4MUc2Z0xNMS9WcTlZeE5MYnV6dVJDMGFzVVl2ZE1ub012c3ptcG0rK1R4bmRZaXNnTllzY3BaU296N3d2Y2F6Sk5FUGZoUFZqRWtkNnRVVXVONEdNMzVIMERtS0NVUU5UK2E2QjZobUhsVFp2anhpeUdBZzViWTU5aGRqdkorMjJRZHVhemxFRUM2TEkzSHJBN3VLMFRwcGxXelMxdENJRnZUTVVoajY1REVabU5KMitaWTliUTR2c01mK0RSUjNPT0c0dCtETWxOZmpPZDN6TnYzUW9ZOTVCamZXcHJ5RndQekRxN2JDUDY3SkRzb2o3ajJUWTVGUlNyUmtENzdIMEV3bHV4MmNXZmpSVHdjTUhjZFF4eHVWME9QMGFOakdEanliRk5cIn0nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICc2NDI0YzM1M2VhZjc4ZDAwMDc2NmU5NjEzN2Q0NDA0YicsXG4gICAgICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgICAgICB0eXBlOiAndHNzJyxcbiAgICAgICAgICBjb21tb25LZXljaGFpbjpcbiAgICAgICAgICAgICcxOWJkZmUyYTRiNDk4YTA1NTExMzgxMjM1YTg4OTJkNTQyNjc4MDdjNGEzZjY1NGUzMTBiOTM4YjhiNDI0ZmY0YWRlZGJlOTJmNGMxNDZkZTY0MWM2NzUwOGE5NjEzMjRjODUwNGNkZjhlMGMwYWNiYjY4ZDYxMDRjY2NjZDc4MScsXG4gICAgICAgICAgZW5jcnlwdGVkUHJ2OlxuICAgICAgICAgICAgJ3tcIml2XCI6XCJ2aTBkUGVmL1J4N2tHL3BSeVNRaTZRPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiOWVmaFFzaUV2VnM9XCIsXCJjdFwiOlwiR3c2YXR2ZjZneEt6c2p0bDN4c2VpcE8zckF4cDFtQXo3WXUxaWhGc2k1L2xmMnZNWmVnQXBnWngrcHlJTEZTOUtLTEhiTkYzVTZXZ1NZZHJyMnQ0dnpkTHNYa0gxV0l4ZkhTK2NkMkM1TjU5eUFEWkRuUEpCVDZwdi9JUnZhWWVsUDBDazNuSVlRMmhTTW04b3ArVk9XQy9TekhlaDdzbFlEcXdFSFRHYW4wV2lnZnZrMXlSZDdDQ0pUYUVBb21uYy80ZUZpMk5ZM1gzZ3QvM29weTlJQWdrbm53VUZvaG45NkVXcEVRMEY2cGJ6SC9aOFZGNmdGK0RVY3JyQnlBeEV4VVBuSFFaaUZrM1lIVS92VlY0RnhCVS9tVkFFOHhCc0JuNXVsNWU1U1VNUGZjN1RCdUpXdjRCQnlUTmc5eERTaEYvOTFZeDJuYmZVbTVkOVFtTThscEtnenpRdmNLOFBPQVBrODdnUkN1S25zR2g1dk5TMFVwcGtIYytvY2Z6UlFsR0E2anplN1F5eVFPMHJNajVMeThrV2p3azJ2SVN2S1lIWVMxTlI3VlU1NDlVSVhvN05YamF0dW5LU2MzK0lyZW9SVUhJc2hpYUxnNmhsK3B4Q0N1YzBxUTQzVjBtZElmQ2pUTjhna0dXTE5rOFI3dEFHUHo5anlhcFFQY1BFR0hnRXowQVRJaTZ5TU5XQ3NpYlMyZUxpRTF1VkVKT05vTTRsazZGUGwzUTJDSGJXMk1lRWJxalk4aGJhdzE4bU5iMnhTQkgvRndwaWlhbCtUdmkyaW1xZ25DTzRacE85YmxsS2Z0WlBjUXkwc3ROK2VHQmxiNXVmeWZsS2tEU2lDaEhZcm9HakVwbWlGaWNkZGU0OGNKc3pGNTJ1S05uZjFxNjdmQTkvUzJGQUhRYWIzRVhvanhIMkdiaytra1YyaC9UWUtGRlpTV0Mzdmk0ZThtTyt2ak1VY1IwQWRzZ1BGeUVJejBTQ0d1YmEzQ25UTE5kRXVad3NhdUFlSGt4MnZVVG5SZ0pQVmdOZWV1WG1zVkc3NlN5MmdnSkh1YWxzMEhqOFUyWGRhMHFPMVJ1RmZvQ1dmc3M5d242SEdSd1BQa2hTQi84b05ndUFxbVJWR0trZDhad3QzSXZyVGQ5ZmswL3JGRkRKS0d6N1d5TkhrWWdVbU5pR2NJdEQxMnYwang3Rlo1MkVKemwzQXYxUnlKVVFLMTgrOEVZUGgzU0dpVTlkdDdWWDBhRjB1bzZKb3VLaE9lbGRVdk1QK0F1Z1F6OGZVY2x3VFFzYmJvVmcyN1l4bzBEeUFUVndUaFc1YTU2UjZRZjVaaVFKbHVGdXpzNXk5OHJxMFM1cTA0NmxFNm8zdlZtSnBFZHdqZVNDSm9FVDVDTDRuVGdrWHlXdmhtNGVCOHUvZTY2bDNvMHFiYVN4OHE5WVltVDlFcFJjbDVUUDRUaExCS0VUWWR6VnZnNGV4alFmZWt0TWF0azVFeVVwRUloWlBYaDV2WHBKWmVzZGZPOUxKOHpUYUhCc0JqRFBVN2NkTmdRTWJlYnBhdGFSaThBMGVsMi9JSlhsK0Urb2xnQXo1ekM0aTJPMVE9PVwifScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJzY0MjRjMzUzZWFmNzhkMDAwNzY2ZTk1MTBiMTI1ZmJhJyxcbiAgICAgICAgICBzb3VyY2U6ICdiaXRnbycsXG4gICAgICAgICAgdHlwZTogJ3RzcycsXG4gICAgICAgICAgY29tbW9uS2V5Y2hhaW46XG4gICAgICAgICAgICAnMTliZGZlMmE0YjQ5OGEwNTUxMTM4MTIzNWE4ODkyZDU0MjY3ODA3YzRhM2Y2NTRlMzEwYjkzOGI4YjQyNGZmNGFkZWRiZTkyZjRjMTQ2ZGU2NDFjNjc1MDhhOTYxMzI0Yzg1MDRjZGY4ZTBjMGFjYmI2OGQ2MTA0Y2NjY2Q3ODEnLFxuICAgICAgICAgIHZlcmlmaWVkVnNzUHJvb2Y6IHRydWUsXG4gICAgICAgICAgaXNCaXRHbzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdmFsaWRhdGluZyBhIHdlbGwgZm9ybWF0dGVkIGFkZHJlc3MgcHJlZml4ZWQgd2l0aCAweCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSAnMHhmOTQxYWUzY2JlNTY0NWRjY2MxNWRhODM0NmI1MzNmN2Y5MWYyMDIwODlhNTUyMTY1M2MwNjJiMmZmMTBiMzA0JztcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdmFsaWRhdGluZyBhbiBvbGQgYWRkcmVzcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSAnMHgyOTU5YmZjM2ZkYjdkYzIzZmVkOGRlYmEyZmFmYjcwZjNlNjA2YTU5JztcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHZhbGlkYXRpbmcgYW4gaW5jb3JyZWN0bHkgZm9ybWF0dGVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9ICd3cm9uZ2FkZHJlc3MnO1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGlzV2FsbGV0QWRkcmVzcyB3aXRoIHZhbGlkIGFkZHJlc3MgZm9yIGluZGV4IDQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBuZXdBZGRyZXNzID0gJzB4OGIzYzc4MDc3MzBkNzU3OTJkZDZjNDk3MzJjZjlmMDE0ZDY5ODRhOWM3N2QzODZiZGIxMDcyYTllNTM3ZDhkOCc7XG4gICAgICBjb25zdCBpbmRleCA9IDQ7XG5cbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgY29tbW9uS2V5Y2hhaW4sIGFkZHJlc3M6IG5ld0FkZHJlc3MsIGluZGV4LCBrZXljaGFpbnMgfTtcbiAgICAgIChhd2FpdCBiYXNlY29pbi5pc1dhbGxldEFkZHJlc3MocGFyYW1zKSkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBmb3IgaXNXYWxsZXRBZGRyZXNzIHdoZW4ga2V5Y2hhaW5zIGlzIG1pc3NpbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhZGRyZXNzID0gJzB4Mjk1OWJmYzNmZGI3ZGMyM2ZlZDhkZWJhMmZhZmI3MGYzZTYwNmE1OSc7XG4gICAgICBjb25zdCBpbmRleCA9IDA7XG5cbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgY29tbW9uS2V5Y2hhaW4sIGFkZHJlc3MsIGluZGV4IH07XG4gICAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhhc3luYyAoKSA9PiBiYXNlY29pbi5pc1dhbGxldEFkZHJlc3MocGFyYW1zKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGZvciBpc1dhbGxldEFkZHJlc3Mgd2hlbiBuZXcgYWRkcmVzcyBpcyBpbnZhbGlkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgd3JvbmdBZGRyZXNzID0gJ2JhZEFkZHJlc3MnO1xuICAgICAgY29uc3QgaW5kZXggPSAwO1xuXG4gICAgICBjb25zdCBwYXJhbXMgPSB7IGNvbW1vbktleWNoYWluLCBhZGRyZXNzOiB3cm9uZ0FkZHJlc3MsIGluZGV4IH07XG4gICAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhhc3luYyAoKSA9PiBiYXNlY29pbi5pc1dhbGxldEFkZHJlc3MocGFyYW1zKSwge1xuICAgICAgICBtZXNzYWdlOiBgaW52YWxpZCBhZGRyZXNzOiAke3dyb25nQWRkcmVzc31gLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdJRCBWYWxpZGF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdjaGVjayBpZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG5ldHdvcms6IE5ldHdvcmsgPSBOZXR3b3JrLlRFU1RORVQ7XG4gICAgICBjb25zdCBhcHRvcyA9IG5ldyBBcHRvcyhuZXcgQXB0b3NDb25maWcoeyBuZXR3b3JrIH0pKTtcbiAgICAgIGNvbnN0IHNlbmRlckFkZHJlc3MgPSBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKFxuICAgICAgICAnMHhjOGYwMmQyNWFhNjk4YjNlOWZiZDhhMDhlOGRhNGM4ZWUyNjE4MzJhMjVhNGNkZTg3MzFiNWVjMzU2NTM3ZDA5J1xuICAgICAgKTtcbiAgICAgIGNvbnN0IHJlY2lwaWVudEFkZHJlc3MgPSBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKFxuICAgICAgICAnMHhmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5J1xuICAgICAgKTtcblxuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBhd2FpdCBhcHRvcy50cmFuc2FjdGlvbi5idWlsZC5zaW1wbGUoe1xuICAgICAgICBzZW5kZXI6IHNlbmRlckFkZHJlc3MsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBmdW5jdGlvbjogJzB4MTo6Y29pbjo6dHJhbnNmZXInLFxuICAgICAgICAgIHR5cGVBcmd1bWVudHM6IFtBUFRPU19DT0lOXSxcbiAgICAgICAgICBmdW5jdGlvbkFyZ3VtZW50czogW3JlY2lwaWVudEFkZHJlc3MsIDEwMDBdLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgbWF4R2FzQW1vdW50OiAyMDAwMDAsXG4gICAgICAgICAgZ2FzVW5pdFByaWNlOiAxMDAsXG4gICAgICAgICAgZXhwaXJlVGltZXN0YW1wOiAxNzMyNjk5MjM2LFxuICAgICAgICAgIGFjY291bnRTZXF1ZW5jZU51bWJlcjogMTQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgREVGQVVMVF9QVUJMSUNfS0VZID0gQnVmZmVyLmFsbG9jKDMyKTtcbiAgICAgIGNvbnN0IERFRkFVTFRfU0lHTkFUVVJFID0gQnVmZmVyLmFsbG9jKDY0KTtcbiAgICAgIGNvbnN0IHB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KHV0aWxzLmdldEJ1ZmZlckZyb21IZXhTdHJpbmcoREVGQVVMVF9QVUJMSUNfS0VZLnRvU3RyaW5nKCdoZXgnKSkpO1xuICAgICAgY29uc3Qgc2lnbmF0dXJlID0gbmV3IEVkMjU1MTlTaWduYXR1cmUoREVGQVVMVF9TSUdOQVRVUkUpO1xuICAgICAgY29uc3Qgc2VuZGVyQXV0aGVudGljYXRvciA9IG5ldyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTkocHVibGljS2V5LCBzaWduYXR1cmUpO1xuICAgICAgY29uc3QgaWQgPSBnZW5lcmF0ZVVzZXJUcmFuc2FjdGlvbkhhc2goeyB0cmFuc2FjdGlvbiwgc2VuZGVyQXV0aGVudGljYXRvciB9KTtcblxuICAgICAgaWQuc2hvdWxkLmVxdWFsKCcweDkyM2QxY2ZlZDNhZmFjMjQwNDg0NTExNjAzMzdkYjc1YmEyODI5MTIxNTdlZTQzNDA3YjU3MjkyMzgwMWQ1YmEnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delegationPoolAddStakeTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegationPoolAddStakeTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/delegationPoolAddStakeTransactionBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const getBuilderFactory_1 = require("../getBuilderFactory");
40
+ const statics_1 = require("@bitgo/statics");
41
+ const testData = __importStar(require("../../resources/apt"));
42
+ const sdk_core_1 = require("@bitgo/sdk-core");
43
+ const should_1 = __importDefault(require("should"));
44
+ const delegationPoolAddStakeTransaction_1 = require("../../../src/lib/transaction/delegationPoolAddStakeTransaction");
45
+ describe('Apt Token Transfer Builder', () => {
46
+ const factory = (0, getBuilderFactory_1.getBuilderFactory)('tapt');
47
+ describe('Succeed', () => {
48
+ it('should build a staking delegate transaction', async function () {
49
+ const transaction = new delegationPoolAddStakeTransaction_1.DelegationPoolAddStakeTransaction(statics_1.coins.get('tapt'));
50
+ const txBuilder = factory.getDelegationPoolAddStakeTransactionBuilder(transaction);
51
+ txBuilder.sender(testData.sender.address);
52
+ txBuilder.recipients(testData.delegationPoolAddStakeRecipients);
53
+ txBuilder.gasData({
54
+ maxGasAmount: 200000,
55
+ gasUnitPrice: 100,
56
+ });
57
+ txBuilder.sequenceNumber(14);
58
+ txBuilder.expirationTime(1736246155);
59
+ txBuilder.addFeePayerAddress(testData.feePayer.address);
60
+ const tx = (await txBuilder.build());
61
+ should_1.default.equal(tx.sender, testData.sender.address);
62
+ should_1.default.equal(tx.recipients[0].address, testData.delegationPoolAddStakeRecipients[0].address);
63
+ should_1.default.equal(tx.recipients[0].amount, testData.delegationPoolAddStakeRecipients[0].amount);
64
+ should_1.default.equal(tx.maxGasAmount, 200000);
65
+ should_1.default.equal(tx.gasUnitPrice, 100);
66
+ should_1.default.equal(tx.sequenceNumber, 14);
67
+ should_1.default.equal(tx.expirationTime, 1736246155);
68
+ should_1.default.equal(tx.type, sdk_core_1.TransactionType.StakingDelegate);
69
+ should_1.default.deepEqual(tx.inputs, [
70
+ {
71
+ address: testData.sender.address,
72
+ value: testData.delegationPoolAddStakeRecipients[0].amount,
73
+ coin: 'tapt',
74
+ },
75
+ ]);
76
+ should_1.default.deepEqual(tx.outputs, [
77
+ {
78
+ address: testData.delegationPoolAddStakeRecipients[0].address,
79
+ value: testData.delegationPoolAddStakeRecipients[0].amount,
80
+ coin: 'tapt',
81
+ },
82
+ ]);
83
+ const rawTx = tx.toBroadcastFormat();
84
+ should_1.default.equal(txBuilder.isValidRawTransaction(rawTx), true);
85
+ rawTx.should.equal(testData.DELEGATION_POOL_ADD_STAKE_TX_HEX);
86
+ });
87
+ it('should build and send a signed tx', async function () {
88
+ const txBuilder = factory.from(testData.DELEGATION_POOL_ADD_STAKE_TX_HEX);
89
+ const tx = (await txBuilder.build());
90
+ tx.inputs.should.deepEqual([
91
+ {
92
+ address: testData.sender.address,
93
+ value: testData.delegationPoolAddStakeRecipients[0].amount,
94
+ coin: 'tapt',
95
+ },
96
+ ]);
97
+ tx.outputs.should.deepEqual([
98
+ {
99
+ address: testData.delegationPoolAddStakeRecipients[0].address,
100
+ value: testData.delegationPoolAddStakeRecipients[0].amount,
101
+ coin: 'tapt',
102
+ },
103
+ ]);
104
+ should_1.default.equal(tx.id, '0xc5b960d1bec149c77896344774352c61441307af564eaa8c84f857208e411bf3');
105
+ should_1.default.equal(tx.maxGasAmount, 200000);
106
+ should_1.default.equal(tx.gasUnitPrice, 100);
107
+ should_1.default.equal(tx.sequenceNumber, 14);
108
+ should_1.default.equal(tx.expirationTime, 1736246155);
109
+ should_1.default.equal(tx.type, sdk_core_1.TransactionType.StakingDelegate);
110
+ const rawTx = tx.toBroadcastFormat();
111
+ should_1.default.equal(txBuilder.isValidRawTransaction(rawTx), true);
112
+ should_1.default.equal(rawTx, testData.DELEGATION_POOL_ADD_STAKE_TX_HEX);
113
+ });
114
+ it('should succeed to validate a valid signablePayload', async function () {
115
+ const transaction = new delegationPoolAddStakeTransaction_1.DelegationPoolAddStakeTransaction(statics_1.coins.get('tapt'));
116
+ const txBuilder = factory.getDelegationPoolAddStakeTransactionBuilder(transaction);
117
+ txBuilder.sender(testData.sender.address);
118
+ txBuilder.recipients([testData.delegationPoolAddStakeRecipients[0]]);
119
+ txBuilder.gasData({
120
+ maxGasAmount: 200000,
121
+ gasUnitPrice: 100,
122
+ });
123
+ txBuilder.sequenceNumber(14);
124
+ txBuilder.expirationTime(1736246155);
125
+ txBuilder.addFeePayerAddress(testData.feePayer.address);
126
+ const tx = (await txBuilder.build());
127
+ const signablePayload = tx.signablePayload;
128
+ should_1.default.equal(signablePayload.toString('hex'), testData.DELEGATION_POOL_ADD_STAKE_TX_HEX_SIGNABLE_PAYLOAD);
129
+ });
130
+ it('should build a unsigned tx and validate its toJson', async function () {
131
+ const transaction = new delegationPoolAddStakeTransaction_1.DelegationPoolAddStakeTransaction(statics_1.coins.get('tapt'));
132
+ const txBuilder = factory.getDelegationPoolAddStakeTransactionBuilder(transaction);
133
+ txBuilder.sender(testData.sender.address);
134
+ txBuilder.recipients([testData.delegationPoolAddStakeRecipients[0]]);
135
+ txBuilder.gasData({
136
+ maxGasAmount: 200000,
137
+ gasUnitPrice: 100,
138
+ });
139
+ txBuilder.sequenceNumber(14);
140
+ txBuilder.expirationTime(1736246155);
141
+ txBuilder.assetId(testData.fungibleTokenAddress.usdt);
142
+ txBuilder.addFeePayerAddress(testData.feePayer.address);
143
+ const tx = (await txBuilder.build());
144
+ const toJson = tx.toJson();
145
+ should_1.default.equal(toJson.sender, testData.sender.address);
146
+ should_1.default.deepEqual(toJson.recipients, [
147
+ {
148
+ address: testData.delegationPoolAddStakeRecipients[0].address,
149
+ amount: testData.delegationPoolAddStakeRecipients[0].amount,
150
+ },
151
+ ]);
152
+ should_1.default.deepEqual(toJson.recipient, {
153
+ address: testData.delegationPoolAddStakeRecipients[0].address,
154
+ amount: testData.delegationPoolAddStakeRecipients[0].amount,
155
+ });
156
+ should_1.default.equal(toJson.sequenceNumber, 14);
157
+ should_1.default.equal(toJson.maxGasAmount, 200000);
158
+ should_1.default.equal(toJson.gasUnitPrice, 100);
159
+ should_1.default.equal(toJson.expirationTime, 1736246155);
160
+ should_1.default.equal(toJson.feePayer, testData.feePayer.address);
161
+ });
162
+ it('should build a signed tx and validate its toJson', async function () {
163
+ const txBuilder = factory.from(testData.DELEGATION_POOL_ADD_STAKE_TX_HEX);
164
+ const tx = (await txBuilder.build());
165
+ const toJson = tx.toJson();
166
+ should_1.default.equal(toJson.id, '0xc5b960d1bec149c77896344774352c61441307af564eaa8c84f857208e411bf3');
167
+ should_1.default.equal(toJson.sender, testData.sender.address);
168
+ should_1.default.deepEqual(toJson.recipients, [
169
+ {
170
+ address: testData.delegationPoolAddStakeRecipients[0].address,
171
+ amount: testData.delegationPoolAddStakeRecipients[0].amount.toString(),
172
+ },
173
+ ]);
174
+ should_1.default.deepEqual(toJson.recipient, {
175
+ address: testData.delegationPoolAddStakeRecipients[0].address,
176
+ amount: testData.delegationPoolAddStakeRecipients[0].amount.toString(),
177
+ });
178
+ should_1.default.equal(toJson.maxGasAmount, 200000);
179
+ should_1.default.equal(toJson.gasUnitPrice, 100);
180
+ should_1.default.equal(toJson.sequenceNumber, 14);
181
+ should_1.default.equal(toJson.expirationTime, 1736246155);
182
+ });
183
+ });
184
+ });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvZGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUF5RDtBQUN6RCw0Q0FBdUM7QUFDdkMsOERBQWdEO0FBQ2hELDhDQUFrRDtBQUNsRCxvREFBNEI7QUFDNUIsc0hBQW1IO0FBRW5ILFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUUxQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtRQUN2QixFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSztZQUNyRCxNQUFNLFdBQVcsR0FBRyxJQUFJLHFFQUFpQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM3RSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsMkNBQTJDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbkYsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDaEUsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFDaEIsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLFlBQVksRUFBRSxHQUFHO2FBQ2xCLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0IsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNy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QUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDakMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO2dCQUM3RCxNQUFNLEVBQUUsUUFBUSxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7YUFDdkUsQ0FBQyxDQUFDO1lBQ0gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uL2dldEJ1aWxkZXJGYWN0b3J5JztcbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2FwdCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgRGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlVHJhbnNhY3Rpb24nO1xuXG5kZXNjcmliZSgnQXB0IFRva2VuIFRyYW5zZmVyIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGNvbnN0IGZhY3RvcnkgPSBnZXRCdWlsZGVyRmFjdG9yeSgndGFwdCcpO1xuXG4gIGRlc2NyaWJlKCdTdWNjZWVkJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgYnVpbGQgYSBzdGFraW5nIGRlbGVnYXRlIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgRGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGFwdCcpKTtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0RGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uQnVpbGRlcih0cmFuc2FjdGlvbik7XG4gICAgICB0eEJ1aWxkZXIuc2VuZGVyKHRlc3REYXRhLnNlbmRlci5hZGRyZXNzKTtcbiAgICAgIHR4QnVpbGRlci5yZWNpcGllbnRzKHRlc3REYXRhLmRlbGVnYXRpb25Qb29sQWRkU3Rha2VSZWNpcGllbnRzKTtcbiAgICAgIHR4QnVpbGRlci5nYXNEYXRhKHtcbiAgICAgICAgbWF4R2FzQW1vdW50OiAyMDAwMDAsXG4gICAgICAgIGdhc1VuaXRQcmljZTogMTAwLFxuICAgICAgfSk7XG4gICAgICB0eEJ1aWxkZXIuc2VxdWVuY2VOdW1iZXIoMTQpO1xuICAgICAgdHhCdWlsZGVyLmV4cGlyYXRpb25UaW1lKDE3MzYyNDYxNTUpO1xuICAgICAgdHhCdWlsZGVyLmFkZEZlZVBheWVyQWRkcmVzcyh0ZXN0RGF0YS5mZWVQYXllci5hZGRyZXNzKTtcbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBEZWxlZ2F0aW9uUG9vbEFkZFN0YWtlVHJhbnNhY3Rpb247XG4gICAgICBzaG91bGQuZXF1YWwodHguc2VuZGVyLCB0ZXN0RGF0YS5zZW5kZXIuYWRkcmVzcyk7XG4gICAgICBzaG91bGQuZXF1YWwodHgucmVjaXBpZW50c1swXS5hZGRyZXNzLCB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hZGRyZXNzKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5yZWNpcGllbnRzWzBdLmFtb3VudCwgdGVzdERhdGEuZGVsZWdhdGlvblBvb2xBZGRTdGFrZVJlY2lwaWVudHNbMF0uYW1vdW50KTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5tYXhHYXNBbW91bnQsIDIwMDAwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZ2FzVW5pdFByaWNlLCAxMDApO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnNlcXVlbmNlTnVtYmVyLCAxNCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZXhwaXJhdGlvblRpbWUsIDE3MzYyNDYxNTUpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVsZWdhdGUpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eC5pbnB1dHMsIFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLnNlbmRlci5hZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hbW91bnQsXG4gICAgICAgICAgY29pbjogJ3RhcHQnLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4Lm91dHB1dHMsIFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRlbGVnYXRpb25Qb29sQWRkU3Rha2VSZWNpcGllbnRzWzBdLmFkZHJlc3MsXG4gICAgICAgICAgdmFsdWU6IHRlc3REYXRhLmRlbGVnYXRpb25Qb29sQWRkU3Rha2VSZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgICAgICBjb2luOiAndGFwdCcsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eEJ1aWxkZXIuaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1R4KSwgdHJ1ZSk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwodGVzdERhdGEuREVMRUdBVElPTl9QT09MX0FERF9TVEFLRV9UWF9IRVgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhbmQgc2VuZCBhIHNpZ25lZCB0eCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZnJvbSh0ZXN0RGF0YS5ERUxFR0FUSU9OX1BPT0xfQUREX1NUQUtFX1RYX0hFWCk7XG4gICAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgRGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uO1xuICAgICAgdHguaW5wdXRzLnNob3VsZC5kZWVwRXF1YWwoW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogdGVzdERhdGEuc2VuZGVyLmFkZHJlc3MsXG4gICAgICAgICAgdmFsdWU6IHRlc3REYXRhLmRlbGVnYXRpb25Qb29sQWRkU3Rha2VSZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgICAgICBjb2luOiAndGFwdCcsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICAgIHR4Lm91dHB1dHMuc2hvdWxkLmRlZXBFcXVhbChbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hbW91bnQsXG4gICAgICAgICAgY29pbjogJ3RhcHQnLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgICBzaG91bGQuZXF1YWwodHguaWQsICcweGM1Yjk2MGQxYmVjMTQ5Yzc3ODk2MzQ0Nzc0MzUyYzYxNDQxMzA3YWY1NjRlYWE4Yzg0Zjg1NzIwOGU0MTFiZjMnKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5tYXhHYXNBbW91bnQsIDIwMDAwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZ2FzVW5pdFByaWNlLCAxMDApO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnNlcXVlbmNlTnVtYmVyLCAxNCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZXhwaXJhdGlvblRpbWUsIDE3MzYyNDYxNTUpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVsZWdhdGUpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4QnVpbGRlci5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHgpLCB0cnVlKTtcbiAgICAgIHNob3VsZC5lcXVhbChyYXdUeCwgdGVzdERhdGEuREVMRUdBVElPTl9QT09MX0FERF9TVEFLRV9UWF9IRVgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHRvIHZhbGlkYXRlIGEgdmFsaWQgc2lnbmFibGVQYXlsb2FkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgRGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGFwdCcpKTtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0RGVsZWdhdGlvblBvb2xBZGRTdGFrZVRyYW5zYWN0aW9uQnVpbGRlcih0cmFuc2FjdGlvbik7XG4gICAgICB0eEJ1aWxkZXIuc2VuZGVyKHRlc3REYXRhLnNlbmRlci5hZGRyZXNzKTtcbiAgICAgIHR4QnVpbGRlci5yZWNpcGllbnRzKFt0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXV0pO1xuICAgICAgdHhCdWlsZGVyLmdhc0RhdGEoe1xuICAgICAgICBtYXhHYXNBbW91bnQ6IDIwMDAwMCxcbiAgICAgICAgZ2FzVW5pdFByaWNlOiAxMDAsXG4gICAgICB9KTtcbiAgICAgIHR4QnVpbGRlci5zZXF1ZW5jZU51bWJlcigxNCk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvblRpbWUoMTczNjI0NjE1NSk7XG4gICAgICB0eEJ1aWxkZXIuYWRkRmVlUGF5ZXJBZGRyZXNzKHRlc3REYXRhLmZlZVBheWVyLmFkZHJlc3MpO1xuICAgICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIERlbGVnYXRpb25Qb29sQWRkU3Rha2VUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IHR4LnNpZ25hYmxlUGF5bG9hZDtcbiAgICAgIHNob3VsZC5lcXVhbChzaWduYWJsZVBheWxvYWQudG9TdHJpbmcoJ2hleCcpLCB0ZXN0RGF0YS5ERUxFR0FUSU9OX1BPT0xfQUREX1NUQUtFX1RYX0hFWF9TSUdOQUJMRV9QQVlMT0FEKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYSB1bnNpZ25lZCB0eCBhbmQgdmFsaWRhdGUgaXRzIHRvSnNvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IERlbGVnYXRpb25Qb29sQWRkU3Rha2VUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RhcHQnKSk7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldERlbGVnYXRpb25Qb29sQWRkU3Rha2VUcmFuc2FjdGlvbkJ1aWxkZXIodHJhbnNhY3Rpb24pO1xuICAgICAgdHhCdWlsZGVyLnNlbmRlcih0ZXN0RGF0YS5zZW5kZXIuYWRkcmVzcyk7XG4gICAgICB0eEJ1aWxkZXIucmVjaXBpZW50cyhbdGVzdERhdGEuZGVsZWdhdGlvblBvb2xBZGRTdGFrZVJlY2lwaWVudHNbMF1dKTtcbiAgICAgIHR4QnVpbGRlci5nYXNEYXRhKHtcbiAgICAgICAgbWF4R2FzQW1vdW50OiAyMDAwMDAsXG4gICAgICAgIGdhc1VuaXRQcmljZTogMTAwLFxuICAgICAgfSk7XG4gICAgICB0eEJ1aWxkZXIuc2VxdWVuY2VOdW1iZXIoMTQpO1xuICAgICAgdHhCdWlsZGVyLmV4cGlyYXRpb25UaW1lKDE3MzYyNDYxNTUpO1xuICAgICAgdHhCdWlsZGVyLmFzc2V0SWQodGVzdERhdGEuZnVuZ2libGVUb2tlbkFkZHJlc3MudXNkdCk7XG4gICAgICB0eEJ1aWxkZXIuYWRkRmVlUGF5ZXJBZGRyZXNzKHRlc3REYXRhLmZlZVBheWVyLmFkZHJlc3MpO1xuICAgICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIERlbGVnYXRpb25Qb29sQWRkU3Rha2VUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IHRvSnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5zZW5kZXIsIHRlc3REYXRhLnNlbmRlci5hZGRyZXNzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodG9Kc29uLnJlY2lwaWVudHMsIFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRlbGVnYXRpb25Qb29sQWRkU3Rha2VSZWNpcGllbnRzWzBdLmFkZHJlc3MsXG4gICAgICAgICAgYW1vdW50OiB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hbW91bnQsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodG9Kc29uLnJlY2lwaWVudCwge1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHRlc3REYXRhLmRlbGVnYXRpb25Qb29sQWRkU3Rha2VSZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgIH0pO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5zZXF1ZW5jZU51bWJlciwgMTQpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5tYXhHYXNBbW91bnQsIDIwMDAwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLmdhc1VuaXRQcmljZSwgMTAwKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24uZXhwaXJhdGlvblRpbWUsIDE3MzYyNDYxNTUpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5mZWVQYXllciwgdGVzdERhdGEuZmVlUGF5ZXIuYWRkcmVzcyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIGEgc2lnbmVkIHR4IGFuZCB2YWxpZGF0ZSBpdHMgdG9Kc29uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5mcm9tKHRlc3REYXRhLkRFTEVHQVRJT05fUE9PTF9BRERfU1RBS0VfVFhfSEVYKTtcbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBEZWxlZ2F0aW9uUG9vbEFkZFN0YWtlVHJhbnNhY3Rpb247XG4gICAgICBjb25zdCB0b0pzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24uaWQsICcweGM1Yjk2MGQxYmVjMTQ5Yzc3ODk2MzQ0Nzc0MzUyYzYxNDQxMzA3YWY1NjRlYWE4Yzg0Zjg1NzIwOGU0MTFiZjMnKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24uc2VuZGVyLCB0ZXN0RGF0YS5zZW5kZXIuYWRkcmVzcyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHRvSnNvbi5yZWNpcGllbnRzLCBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogdGVzdERhdGEuZGVsZWdhdGlvblBvb2xBZGRTdGFrZVJlY2lwaWVudHNbMF0uYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodG9Kc29uLnJlY2lwaWVudCwge1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5kZWxlZ2F0aW9uUG9vbEFkZFN0YWtlUmVjaXBpZW50c1swXS5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHRlc3REYXRhLmRlbGVnYXRpb25Qb29sQWRkU3Rha2VSZWNpcGllbnRzWzBdLmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLm1heEdhc0Ftb3VudCwgMjAwMDAwKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24uZ2FzVW5pdFByaWNlLCAxMDApO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5zZXF1ZW5jZU51bWJlciwgMTQpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5leHBpcmF0aW9uVGltZSwgMTczNjI0NjE1NSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=