@bitgo-beta/sdk-coin-trx 1.2.3-alpha.404 → 1.2.3-alpha.406

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 (74) hide show
  1. package/.eslintignore +5 -0
  2. package/.mocharc.yml +8 -0
  3. package/CHANGELOG.md +1088 -0
  4. package/dist/src/lib/utils.d.ts +0 -28
  5. package/dist/src/lib/utils.d.ts.map +1 -1
  6. package/dist/src/lib/utils.js +1 -80
  7. package/dist/src/trx.d.ts +0 -4
  8. package/dist/src/trx.d.ts.map +1 -1
  9. package/dist/src/trx.js +1 -52
  10. package/package.json +7 -10
  11. package/resources/README.md +31 -0
  12. package/resources/protobuf/Contract.proto +288 -0
  13. package/resources/protobuf/Discover.proto +44 -0
  14. package/resources/protobuf/tron.d.ts +12469 -0
  15. package/resources/protobuf/tron.js +37192 -0
  16. package/resources/protobuf/tron.proto +683 -0
  17. package/dist/test/fixtures.d.ts +0 -40
  18. package/dist/test/fixtures.d.ts.map +0 -1
  19. package/dist/test/fixtures.js +0 -46
  20. package/dist/test/resources.d.ts +0 -586
  21. package/dist/test/resources.d.ts.map +0 -1
  22. package/dist/test/resources.js +0 -746
  23. package/dist/test/unit/index.d.ts +0 -2
  24. package/dist/test/unit/index.d.ts.map +0 -1
  25. package/dist/test/unit/index.js +0 -19
  26. package/dist/test/unit/keyPair.d.ts +0 -2
  27. package/dist/test/unit/keyPair.d.ts.map +0 -1
  28. package/dist/test/unit/keyPair.js +0 -163
  29. package/dist/test/unit/transaction.d.ts +0 -2
  30. package/dist/test/unit/transaction.d.ts.map +0 -1
  31. package/dist/test/unit/transaction.js +0 -38
  32. package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts +0 -2
  33. package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts.map +0 -1
  34. package/dist/test/unit/transactionBuilder/contractCallBuilder.js +0 -315
  35. package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts +0 -2
  36. package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts.map +0 -1
  37. package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.js +0 -255
  38. package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts +0 -2
  39. package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts.map +0 -1
  40. package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.js +0 -256
  41. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +0 -2
  42. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +0 -1
  43. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +0 -42
  44. package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts +0 -2
  45. package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts.map +0 -1
  46. package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.js +0 -255
  47. package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts +0 -2
  48. package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts.map +0 -1
  49. package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.js +0 -256
  50. package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts +0 -2
  51. package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts.map +0 -1
  52. package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.js +0 -277
  53. package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts +0 -2
  54. package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts.map +0 -1
  55. package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.js +0 -213
  56. package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts +0 -2
  57. package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts.map +0 -1
  58. package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.js +0 -213
  59. package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts +0 -2
  60. package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts.map +0 -1
  61. package/dist/test/unit/transactionBuilder/wrappedBuilder.js +0 -50
  62. package/dist/test/unit/transactionBuilder.d.ts +0 -2
  63. package/dist/test/unit/transactionBuilder.d.ts.map +0 -1
  64. package/dist/test/unit/transactionBuilder.js +0 -178
  65. package/dist/test/unit/trx.d.ts +0 -2
  66. package/dist/test/unit/trx.d.ts.map +0 -1
  67. package/dist/test/unit/trx.js +0 -532
  68. package/dist/test/unit/util.d.ts +0 -2
  69. package/dist/test/unit/util.d.ts.map +0 -1
  70. package/dist/test/unit/util.js +0 -141
  71. package/dist/test/unit/verifyTransaction.d.ts +0 -2
  72. package/dist/test/unit/verifyTransaction.d.ts.map +0 -1
  73. package/dist/test/unit/verifyTransaction.js +0 -378
  74. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,746 +0,0 @@
1
- "use strict";
2
- // There is a file called "trx" in resources directory but it should be
3
- // removed in the future and add that data to this file.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.mockTokenTx = exports.UnsignedInvalidContractBuildTransaction = exports.UnsignedInvalidTimeStampBuildTransaction = exports.UnsignedInvalidExpirationBuildTransaction = exports.UnsignedBuildInvalidIDTransaction = exports.UnsignedBuildEmptyIDTransaction = exports.InvalidIDTransaction = exports.SignedAccountPermissionUpdateContractTx = exports.UnsignedAccountPermissionUpdateContractTx = exports.AccountPermissionUpdateContractPriv = exports.UnsignedTransferContractTx = exports.SecondSigOnBuildTransaction = exports.FirstSigOnBuildTransaction = exports.UnsignedBuildTransaction = exports.SampleRawTokenSendTxn = exports.TestRecoverData = exports.SecondExpectedSig = exports.FirstExpectedSig = exports.SecondExpectedKeyAddress = exports.FirstExpectedKeyAddress = exports.SecondPrivateKey = exports.FirstPrivateKey = exports.UNDELEGATE_RESOURCE_CONTRACT = exports.DELEGATE_RESOURCE_CONTRACT = exports.TOKEN_TX_CONTRACT_2 = exports.TOKEN_TX_CONTRACT = exports.VOTE_WITNESS_CONTRACT = exports.WITHDRAW_BALANCE_CONTRACT = exports.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT = exports.UNFREEZE_BALANCE_V2_CONTRACT = exports.FREEZE_BALANCE_V2_CONTRACT = exports.TX_CONTRACT = exports.CONTRACTS = exports.PARTICIPANTS = exports.TOKEN_TXID = exports.TOKEN_TRANSFER_DATA_2 = exports.TOKEN_TRANSFER_RECIPIENT = exports.USDT_CONTRACT_ADDRESS = exports.UNFROZEN_BALANCE = exports.UNDELEGATION_BALANCE = exports.DELEGATION_BALANCE = exports.FROZEN_BALANCE = exports.RESOURCE_BANDWIDTH = exports.RESOURCE_ENERGY = exports.TOKEN_TRANSFER_DATA = exports.EXPIRATION = exports.MINT_CONFIRM_DATA = exports.BLOCK_HASH = exports.BLOCK_NUMBER = exports.FEE_LIMIT = void 0;
6
- exports.validWithdrawUnsignedTx = exports.validUnfreezeUnsignedTx = void 0;
7
- exports.baseAddressBalance = baseAddressBalance;
8
- exports.receiveAddressBalance = receiveAddressBalance;
9
- exports.creationTransaction = creationTransaction;
10
- // # Contract call data fields
11
- exports.FEE_LIMIT = '10000';
12
- exports.BLOCK_NUMBER = 51407;
13
- exports.BLOCK_HASH = '0000000000badb0d89177fd84c5d9196021cc1085b9e689b3e9a6195cac8bcae';
14
- exports.MINT_CONFIRM_DATA = '2bf90baa1273140c3e1b5756b242cc88cd7c4dd8a61bf85cb5c1dd5f50ba61e066b53a15';
15
- exports.EXPIRATION = 60000;
16
- exports.TOKEN_TRANSFER_DATA = 'a9059cbb0000000000000000000000004887974f42a789ef6d4dfc7ba28b1583219434b3000000000000000000000000000000000000000000000000000000003b9aca00';
17
- exports.RESOURCE_ENERGY = 'ENERGY';
18
- exports.RESOURCE_BANDWIDTH = 'BANDWIDTH';
19
- exports.FROZEN_BALANCE = '1000000';
20
- exports.DELEGATION_BALANCE = '1000000';
21
- exports.UNDELEGATION_BALANCE = '1000000';
22
- exports.UNFROZEN_BALANCE = '1000000';
23
- exports.USDT_CONTRACT_ADDRESS = 'TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs';
24
- exports.TOKEN_TRANSFER_RECIPIENT = 'TGai5uHgBcoLERrzDXMepqZB8Et7D8nV8K';
25
- exports.TOKEN_TRANSFER_DATA_2 = 'a9059cbb0000000000000000000000008483618ca85c35a9b923d98bebca718f5a1db2790000000000000000000000000000000000000000000000000000000005f5e100';
26
- exports.TOKEN_TXID = 'fe21c49f4febd9089125e3a006943c145721d8fcb7ab84136f8c6663ff92f8ed';
27
- exports.PARTICIPANTS = {
28
- from: {
29
- address: 'TVYygaQGXRKvc4GBeDXBWh4FRDVSdTeCua',
30
- pk: 'e71c05b814f44ac519b4b9029227fccc1d9bf3e1456f4840a2c9aa87d7f6dd3b',
31
- },
32
- custodian: {
33
- address: 'TLWh67P93KgtnZNCtGnEHM1H33Nhq2uvvN',
34
- pk: 'c4b3a04836efc2ee2917235f55ccfb2dcf6b8341e5ea0405da5ba10cd526dfed',
35
- bitcoinAddress: '2MytEhVhDLyEzmfeSA7yJ46yf5GhuKZ6gce',
36
- },
37
- merchant: {
38
- address: 'TBmTq8r22tfd4csEyxEcaKiKRVdkha5Xr2',
39
- pk: 'bbf446b0d3c07a6e19675af24242f9718a734fd4d080e8a62b1f6d6a337bc18f',
40
- bitcoinAddress: '2NDjgTKnakBynrwSoyFpSinMsx9PPfubd2e',
41
- },
42
- multisig: {
43
- address: 'TFfsxb2oxGwswbmaNwVzFU8v8zecyGqfyj',
44
- pk: '477a9a5491a3bac32ec5f431ebab90143dbc251bbbb016a625e8c096fd6365d4',
45
- },
46
- to: {
47
- address: 'TLBPLGBuYhQmdzQAEQvBhw7LKzcw1TSSG9',
48
- },
49
- };
50
- exports.CONTRACTS = {
51
- token: 'TUARZw4YBWF1BECZE7v36QZRQy9MFjvjH5',
52
- controller: 'TXjhEMM1oHfSdPaXQSZ2V4CmC76v8EL8xo',
53
- members: 'TSDWGQigVD8awFNetpfpJLVnkCGByDgdDt',
54
- factory: 'TRHsfoMda4ADiSUPnJ9XL3PhyNw6X14UMi',
55
- };
56
- exports.TX_CONTRACT = [
57
- {
58
- parameter: {
59
- value: {
60
- data: exports.MINT_CONFIRM_DATA,
61
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
62
- contract_address: '41a811a706c9d6e5062835063c08165ea7990927c2',
63
- },
64
- type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
65
- },
66
- type: 'TriggerSmartContract',
67
- },
68
- ];
69
- exports.FREEZE_BALANCE_V2_CONTRACT = [
70
- {
71
- parameter: {
72
- value: {
73
- resource: 'ENERGY',
74
- frozen_balance: 1000000,
75
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
76
- },
77
- type_url: 'type.googleapis.com/protocol.FreezeBalanceV2Contract',
78
- },
79
- type: 'FreezeBalanceV2Contract',
80
- },
81
- ];
82
- exports.UNFREEZE_BALANCE_V2_CONTRACT = [
83
- {
84
- parameter: {
85
- value: {
86
- resource: 'ENERGY',
87
- unfreeze_balance: 1000000,
88
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
89
- },
90
- type_url: 'type.googleapis.com/protocol.UnfreezeBalanceV2Contract',
91
- },
92
- type: 'UnfreezeBalanceV2Contract',
93
- },
94
- ];
95
- exports.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT = [
96
- {
97
- parameter: {
98
- value: {
99
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
100
- },
101
- type_url: 'type.googleapis.com/protocol.WithdrawExpireUnfreezeContract',
102
- },
103
- type: 'WithdrawExpireUnfreezeContract',
104
- },
105
- ];
106
- exports.WITHDRAW_BALANCE_CONTRACT = [
107
- {
108
- parameter: {
109
- value: {
110
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
111
- },
112
- type_url: 'type.googleapis.com/protocol.WithdrawBalanceContract',
113
- },
114
- type: 'WithdrawBalanceContract',
115
- },
116
- ];
117
- exports.VOTE_WITNESS_CONTRACT = [
118
- {
119
- parameter: {
120
- value: {
121
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
122
- votes: [
123
- {
124
- vote_address: '41F16412B9A17EE9408646E2A21E16478F72ED1E95',
125
- vote_count: 1000,
126
- },
127
- {
128
- vote_address: '41CF9E12E0F48573C84BC88D8FF7C50567485AAA24',
129
- vote_count: 2000,
130
- },
131
- ],
132
- },
133
- type_url: 'type.googleapis.com/protocol.VoteWitnessContract',
134
- },
135
- type: 'VoteWitnessContract',
136
- },
137
- ];
138
- exports.TOKEN_TX_CONTRACT = [
139
- {
140
- parameter: {
141
- value: {
142
- data: exports.TOKEN_TRANSFER_DATA,
143
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
144
- contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
145
- },
146
- type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
147
- },
148
- type: 'TriggerSmartContract',
149
- },
150
- ];
151
- exports.TOKEN_TX_CONTRACT_2 = [
152
- {
153
- parameter: {
154
- value: {
155
- data: exports.TOKEN_TRANSFER_DATA_2,
156
- owner_address: '41c51fbeea78910b15b1d3e8a9b62914ca94d1a4ac',
157
- contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
158
- },
159
- type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
160
- },
161
- type: 'TriggerSmartContract',
162
- },
163
- ];
164
- exports.DELEGATE_RESOURCE_CONTRACT = [
165
- {
166
- parameter: {
167
- value: {
168
- resource: 'ENERGY',
169
- balance: 1000000,
170
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
171
- receiver_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
172
- },
173
- type_url: 'type.googleapis.com/protocol.DelegateResourceContract',
174
- },
175
- type: 'DelegateResourceContract',
176
- },
177
- ];
178
- exports.UNDELEGATE_RESOURCE_CONTRACT = [
179
- {
180
- parameter: {
181
- value: {
182
- resource: 'ENERGY',
183
- balance: 1000000,
184
- owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
185
- receiver_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
186
- },
187
- type_url: 'type.googleapis.com/protocol.UnDelegateResourceContract',
188
- },
189
- type: 'UnDelegateResourceContract',
190
- },
191
- ];
192
- // DO NOT RE-USE THIS PRV FOR REAL MONEY
193
- exports.FirstPrivateKey = '2DBEAC1C22849F47514445A56AEF2EF164528A502DE4BD289E23EA1E2D4C4B06';
194
- exports.SecondPrivateKey = 'FB3AA887E0BE3FAC9D75E661DAFF4A7FE0E91AAB13DA9775CD8586D7CB9B7640';
195
- exports.FirstExpectedKeyAddress = 'TTsGwnTLQ4eryFJpDvJSfuGQxPXRCjXvZz';
196
- exports.SecondExpectedKeyAddress = 'TDzm1tCXM2YS1PDa3GoXSvxdy4AgwVbBPE';
197
- exports.FirstExpectedSig = 'bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401';
198
- exports.SecondExpectedSig = 'f3cabe2f4aed13e2342c78c7bf4626ea36cd6509a44418c24866814d3426703686be9ef21bd993324c520565beee820201f2a50a9ac971732410d3eb69cdb2a600';
199
- exports.TestRecoverData = {
200
- userKey: 'xpub6BvMpt8ke8tCycBBw6uDob6PyNBkHbTyEztaRuwdMZhpiFk1mXpS7P7iv4c4w7XWFFRySMokUuFUqqgpZxK5wLxm6pgjpkNFhKsMaXTJoUN',
201
- backupKey: 'xpub687kC8LeSJwj1gYQr4Js2BHbLK1nFeLvMzsDmH2LKMNrqAHNfeCw1sp61cbf2WxeY1QssaUBh9EFJbJ9LBuPivv7XDsFPVaFYj19ueCNczT',
202
- bitgoKey: 'xpub661MyMwAqRbcFHCRyasU67NCA7V7goqUFPXvzsEiJd4SchCKyPtigHALvve5wtBdyHMZCWqpGzEsrQtfz6mE9m5QXWDantgbkmu56xvLwe3',
203
- baseAddress: 'TTgisRP7EJWMgpLXvbNHoHh5UotkjkBPoo',
204
- firstReceiveAddress: 'TXD3WiQZGCKTbYjNyxpzyaT8TtNkeTq12V',
205
- secondReceiveAddress: 'TCeoT36uUTtzatTnPh77veqTy4utYujXW6',
206
- recoveryDestination: 'TWkzN4WjxkyoRTmFHaMQ9po77uEerngjyQ',
207
- };
208
- function baseAddressBalance(trxBalance, trc20Balances = []) {
209
- return {
210
- data: [
211
- {
212
- owner_permission: {
213
- keys: [
214
- {
215
- address: 'TTgisRP7EJWMgpLXvbNHoHh5UotkjkBPoo',
216
- weight: 1,
217
- },
218
- {
219
- address: 'TBDy8HAy8vvhoqKc5V1hHQatfjZHM1MhPb',
220
- weight: 1,
221
- },
222
- {
223
- address: 'TPHPDfQ8Vs3Yp5UKDLHr5MjoVUrr5Y69m9',
224
- weight: 1,
225
- },
226
- ],
227
- threshold: 2,
228
- permission_name: 'owner',
229
- },
230
- balance: trxBalance,
231
- trc20: trc20Balances,
232
- active_permission: [
233
- {
234
- operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000',
235
- keys: [
236
- {
237
- address: 'TTgisRP7EJWMgpLXvbNHoHh5UotkjkBPoo',
238
- weight: 1,
239
- },
240
- {
241
- address: 'TBDy8HAy8vvhoqKc5V1hHQatfjZHM1MhPb',
242
- weight: 1,
243
- },
244
- {
245
- address: 'TPHPDfQ8Vs3Yp5UKDLHr5MjoVUrr5Y69m9',
246
- weight: 1,
247
- },
248
- ],
249
- threshold: 2,
250
- id: 2,
251
- type: 'Active',
252
- permission_name: 'active0',
253
- },
254
- ],
255
- },
256
- ],
257
- };
258
- }
259
- function receiveAddressBalance(balance, address, trc20Balances = []) {
260
- return {
261
- data: [
262
- {
263
- owner_permission: {
264
- keys: [
265
- {
266
- address: address,
267
- weight: 1,
268
- },
269
- ],
270
- threshold: 1,
271
- permission_name: 'owner',
272
- },
273
- active_permission: [
274
- {
275
- operations: '7fff1fc0033ec30f000000000000000000000000000000000000000000000000',
276
- keys: [
277
- {
278
- address: address,
279
- weight: 1,
280
- },
281
- ],
282
- threshold: 1,
283
- id: 2,
284
- type: 'Active',
285
- permission_name: 'active',
286
- },
287
- ],
288
- balance: balance,
289
- trc20: trc20Balances,
290
- },
291
- ],
292
- };
293
- }
294
- function creationTransaction(fromAddress, toAddress, amount) {
295
- return {
296
- visible: false,
297
- txID: 'cc675f47b56f84c011ee87c7c0dde5a5fd662b48139805aaf3c488409e3aaf3b',
298
- raw_data: {
299
- contract: [
300
- {
301
- parameter: {
302
- value: {
303
- amount: amount,
304
- owner_address: fromAddress,
305
- to_address: toAddress,
306
- },
307
- type_url: 'type.googleapis.com/protocol.TransferContract',
308
- },
309
- type: 'TransferContract',
310
- },
311
- ],
312
- ref_block_bytes: '37d3',
313
- ref_block_hash: 'a47d2ac2189487b9',
314
- expiration: 1693441548000,
315
- timestamp: 1693441489854,
316
- },
317
- raw_data_hex: '0a0237d32208a47d2ac2189487b940e0bdedc7a4315a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a1541e8f88b4e239e85c92255b043450a34b65a329a54121541c25420255c2c5a2dd54ef69f92ef261e6bd4216a1880c2d72f70bef7e9c7a431',
318
- };
319
- }
320
- exports.SampleRawTokenSendTxn = {
321
- result: {
322
- result: true,
323
- },
324
- transaction: {
325
- visible: false,
326
- txID: 'f8179caab4c781676cb33940948533e209dc7fe2135bbd6e00f60597862b86be',
327
- raw_data: {
328
- contract: [
329
- {
330
- parameter: {
331
- value: {
332
- data: 'a9059cbb000000000000000000000000e40b19afca3dde4ce8fcbc57ab41f8c326ab0cf2000000000000000000000000000000000000000000000000000000004190ab00',
333
- owner_address: '41c25420255c2c5a2dd54ef69f92ef261e6bd4216a',
334
- contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
335
- },
336
- type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
337
- },
338
- type: 'TriggerSmartContract',
339
- },
340
- ],
341
- ref_block_bytes: 'cba3',
342
- ref_block_hash: 'e14cc425da3cfd94',
343
- expiration: 1693357620000,
344
- fee_limit: 100000000,
345
- timestamp: 1693357561339,
346
- },
347
- raw_data_hex: '0a02cba32208e14cc425da3cfd9440a0f6ea9fa4315aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541c25420255c2c5a2dd54ef69f92ef261e6bd4216a12154142a1e39aefa49290f2b3f9ed688d7cecf86cd6e02244a9059cbb000000000000000000000000e40b19afca3dde4ce8fcbc57ab41f8c326ab0cf2000000000000000000000000000000000000000000000000000000004190ab0070fbabe79fa431900180c2d72f',
348
- },
349
- };
350
- exports.UnsignedBuildTransaction = {
351
- visible: false,
352
- txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
353
- raw_data: {
354
- contract: [
355
- {
356
- parameter: {
357
- value: {
358
- amount: 1718,
359
- owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
360
- to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
361
- },
362
- type_url: 'type.googleapis.com/protocol.TransferContract',
363
- },
364
- type: 'TransferContract',
365
- },
366
- ],
367
- ref_block_bytes: '90e4',
368
- ref_block_hash: 'a018bf9892ddb138',
369
- expiration: 1571811468000,
370
- timestamp: 1571811410819,
371
- },
372
- raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
373
- };
374
- exports.FirstSigOnBuildTransaction = (() => {
375
- const modifiedBuild = JSON.parse(JSON.stringify(exports.UnsignedBuildTransaction));
376
- modifiedBuild['signature'] = [];
377
- modifiedBuild['signature'].push('bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401');
378
- return modifiedBuild;
379
- })();
380
- exports.SecondSigOnBuildTransaction = (() => {
381
- const modifiedBuild = JSON.parse(JSON.stringify(exports.UnsignedBuildTransaction));
382
- modifiedBuild['signature'] = [];
383
- modifiedBuild['signature'].push('f3cabe2f4aed13e2342c78c7bf4626ea36cd6509a44418c24866814d3426703686be9ef21bd993324c520565beee820201f2a50a9ac971732410d3eb69cdb2a600');
384
- modifiedBuild['signature'].push('bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401');
385
- return modifiedBuild;
386
- })();
387
- exports.UnsignedTransferContractTx = {
388
- tx: {
389
- visible: false,
390
- txID: 'ee0bbf72b238361577a9dc41d79f7a74f6ba9efe472c21bfd3e7dc850c9e9020',
391
- raw_data: {
392
- contract: [
393
- {
394
- parameter: {
395
- value: {
396
- amount: 10,
397
- owner_address: '41e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd',
398
- to_address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
399
- },
400
- type_url: 'type.googleapis.com/protocol.TransferContract',
401
- },
402
- type: 'TransferContract',
403
- },
404
- ],
405
- ref_block_bytes: '5123',
406
- ref_block_hash: '52a26dea963a47bc',
407
- expiration: 1569463320000,
408
- timestamp: 1569463261623,
409
- },
410
- raw_data_hex: '0a025123220852a26dea963a47bc40c0fbb6dad62d5a65080112610a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412300a1541e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd1215412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577180a70b7b3b3dad62d',
411
- signature: [],
412
- },
413
- sig: '0a9944316924ec7fba4895f1ea1e7cc95f9e2b828ae268a48a8dbeddef40c6f5e127170a95aed9f3f5425b13058d0cb6ef1f5c2213190e482e87043691f22e6800',
414
- };
415
- exports.AccountPermissionUpdateContractPriv = '88413601C267316040413C68AAB35651F8C7AB05EC8FFEF42D42DDA16AA3732C';
416
- exports.UnsignedAccountPermissionUpdateContractTx = {
417
- visible: false,
418
- txID: '7d5407d81d4e95f4c3c28f8849947b91fbfa9c5b102bfd5b48fe77e63c68107d',
419
- raw_data: {
420
- contract: [
421
- {
422
- parameter: {
423
- value: {
424
- owner: {
425
- keys: [
426
- {
427
- address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
428
- weight: 1,
429
- },
430
- {
431
- address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
432
- weight: 1,
433
- },
434
- {
435
- address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
436
- weight: 1,
437
- },
438
- ],
439
- threshold: 2,
440
- permission_name: 'owner',
441
- },
442
- owner_address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
443
- actives: [
444
- {
445
- operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000',
446
- keys: [
447
- {
448
- address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
449
- weight: 1,
450
- },
451
- {
452
- address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
453
- weight: 1,
454
- },
455
- {
456
- address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
457
- weight: 1,
458
- },
459
- ],
460
- threshold: 2,
461
- type: 'Active',
462
- permission_name: 'active0',
463
- },
464
- ],
465
- },
466
- type_url: 'type.googleapis.com/protocol.AccountPermissionUpdateContract',
467
- },
468
- type: 'AccountPermissionUpdateContract',
469
- },
470
- ],
471
- ref_block_bytes: 'eeb2',
472
- ref_block_hash: '97904e2922d6b5e8',
473
- expiration: 1572473529000,
474
- timestamp: 1572473469065,
475
- },
476
- raw_data_hex: '0a02eeb2220897904e2922d6b5e840a8c5e7f5e12d5abc02082e12b7020a3c747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e745065726d697373696f6e557064617465436f6e747261637412f6010a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c125a1a056f776e657220023a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d0100122800108021a0761637469766530200232207fff1fc0037e00000000000000000000000000000000000000000000000000003a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d010017089f1e3f5e12d',
477
- };
478
- exports.SignedAccountPermissionUpdateContractTx = {
479
- visible: false,
480
- txID: '7d5407d81d4e95f4c3c28f8849947b91fbfa9c5b102bfd5b48fe77e63c68107d',
481
- raw_data: {
482
- contract: [
483
- {
484
- parameter: {
485
- value: {
486
- owner: {
487
- keys: [
488
- {
489
- address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
490
- weight: 1,
491
- },
492
- {
493
- address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
494
- weight: 1,
495
- },
496
- {
497
- address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
498
- weight: 1,
499
- },
500
- ],
501
- threshold: 2,
502
- permission_name: 'owner',
503
- },
504
- owner_address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
505
- actives: [
506
- {
507
- operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000',
508
- keys: [
509
- {
510
- address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
511
- weight: 1,
512
- },
513
- {
514
- address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
515
- weight: 1,
516
- },
517
- {
518
- address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
519
- weight: 1,
520
- },
521
- ],
522
- threshold: 2,
523
- type: 'Active',
524
- permission_name: 'active0',
525
- },
526
- ],
527
- },
528
- type_url: 'type.googleapis.com/protocol.AccountPermissionUpdateContract',
529
- },
530
- type: 'AccountPermissionUpdateContract',
531
- },
532
- ],
533
- ref_block_bytes: 'eeb2',
534
- ref_block_hash: '97904e2922d6b5e8',
535
- expiration: 1572473529000,
536
- timestamp: 1572473469065,
537
- },
538
- raw_data_hex: '0a02eeb2220897904e2922d6b5e840a8c5e7f5e12d5abc02082e12b7020a3c747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e745065726d697373696f6e557064617465436f6e747261637412f6010a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c125a1a056f776e657220023a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d0100122800108021a0761637469766530200232207fff1fc0037e00000000000000000000000000000000000000000000000000003a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d010017089f1e3f5e12d',
539
- signature: [
540
- '2bc5030727d42ed642c2806a3c1a5a0393408b159541f2163df4ba692c5c1240e2dde5a2aae4ecad465414e60b5aeca8522d0a2b6606f88a326658809161334f00',
541
- ],
542
- };
543
- exports.InvalidIDTransaction = {
544
- visible: false,
545
- txID: '90b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
546
- raw_data: {
547
- contract: [
548
- {
549
- parameter: {
550
- value: {
551
- amount: 1718,
552
- owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
553
- to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
554
- },
555
- type_url: 'type.googleapis.com/protocol.TransferContract',
556
- },
557
- type: 'TransferContract',
558
- },
559
- ],
560
- ref_block_bytes: '90e4',
561
- ref_block_hash: 'a018bf9892ddb138',
562
- expiration: 1571811468000,
563
- timestamp: 1571811410819,
564
- },
565
- raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
566
- };
567
- exports.UnsignedBuildEmptyIDTransaction = {
568
- visible: false,
569
- txID: '',
570
- raw_data: {
571
- contract: [
572
- {
573
- parameter: {
574
- value: {
575
- amount: 1718,
576
- owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
577
- to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
578
- },
579
- type_url: 'type.googleapis.com/protocol.TransferContract',
580
- },
581
- type: 'TransferContract',
582
- },
583
- ],
584
- ref_block_bytes: '90e4',
585
- ref_block_hash: 'a018bf9892ddb138',
586
- expiration: 1571811468000,
587
- timestamp: 1571811410819,
588
- },
589
- raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
590
- };
591
- exports.UnsignedBuildInvalidIDTransaction = {
592
- visible: false,
593
- txID: '80b8b9ebfd51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
594
- raw_data: {
595
- contract: [
596
- {
597
- parameter: {
598
- value: {
599
- amount: 1718,
600
- owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
601
- to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
602
- },
603
- type_url: 'type.googleapis.com/protocol.TransferContract',
604
- },
605
- type: 'TransferContract',
606
- },
607
- ],
608
- ref_block_bytes: '90e4',
609
- ref_block_hash: 'a018bf9892ddb138',
610
- expiration: 1571811468000,
611
- timestamp: 1571811410819,
612
- },
613
- raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
614
- };
615
- exports.UnsignedInvalidExpirationBuildTransaction = {
616
- visible: false,
617
- txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
618
- raw_data: {
619
- contract: [
620
- {
621
- parameter: {
622
- value: {
623
- amount: 1718,
624
- owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
625
- to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
626
- },
627
- type_url: 'type.googleapis.com/protocol.TransferContract',
628
- },
629
- type: 'TransferContract',
630
- },
631
- ],
632
- ref_block_bytes: '90e4',
633
- ref_block_hash: 'a018bf9892ddb138',
634
- expiration: 1571811468900,
635
- timestamp: 1571811410819,
636
- },
637
- raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
638
- };
639
- exports.UnsignedInvalidTimeStampBuildTransaction = {
640
- visible: false,
641
- txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
642
- raw_data: {
643
- contract: [
644
- {
645
- parameter: {
646
- value: {
647
- amount: 1718,
648
- owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
649
- to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
650
- },
651
- type_url: 'type.googleapis.com/protocol.TransferContract',
652
- },
653
- type: 'TransferContract',
654
- },
655
- ],
656
- ref_block_bytes: '90e4',
657
- ref_block_hash: 'a018bf9892ddb138',
658
- expiration: 1571811468000,
659
- timestamp: 1581811410819,
660
- },
661
- raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
662
- };
663
- exports.UnsignedInvalidContractBuildTransaction = {
664
- visible: false,
665
- txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
666
- raw_data: {
667
- ref_block_bytes: '90e4',
668
- ref_block_hash: 'a018bf9892ddb138',
669
- expiration: 1571811468000,
670
- timestamp: 1571811410819,
671
- },
672
- raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
673
- };
674
- exports.mockTokenTx = {
675
- signature: [],
676
- txID: '636a94d8662c51cbc7e1bdccc6ccc0d531827582bb7d73f8bbc0eea7f86df590',
677
- raw_data: {
678
- contractType: 2,
679
- contract: [
680
- {
681
- parameter: {
682
- value: {
683
- data: 'a9059cbb0000000000000000000000004887974f42a789ef6d4dfc7ba28b1583219434b3000000000000000000000000000000000000000000000000000000003b9aca00',
684
- owner_address: '414887974f42a789ef6d4dfc7ba28b1583219434b3',
685
- contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
686
- },
687
- type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
688
- },
689
- type: 'TriggerSmartContract',
690
- },
691
- ],
692
- ref_block_bytes: 'c8cf',
693
- ref_block_hash: '89177fd84c5d9196',
694
- expiration: 1670543993164,
695
- timestamp: 1670540393164,
696
- fee_limit: 150000000,
697
- },
698
- raw_data_hex: '0a02c8cf220889177fd84c5d919640ccd2b9a1cf305aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a15414887974f42a789ef6d4dfc7ba28b1583219434b312154142a1e39aefa49290f2b3f9ed688d7cecf86cd6e02244a9059cbb0000000000000000000000004887974f42a789ef6d4dfc7ba28b1583219434b3000000000000000000000000000000000000000000000000000000003b9aca0070ccf5dd9fcf30900180a3c347',
699
- };
700
- exports.validUnfreezeUnsignedTx = {
701
- visible: false,
702
- txID: '227b7c700ea3bf507a7d8b3627b6e9db1d7e6116681f2e125c16fc40e6a19235',
703
- raw_data: {
704
- contract: [
705
- {
706
- parameter: {
707
- value: {
708
- resource: 'ENERGY',
709
- owner_address: '41e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd',
710
- unfreeze_balance: 1000000,
711
- },
712
- type_url: 'type.googleapis.com/protocol.UnfreezeBalanceV2Contract',
713
- },
714
- type: 'UnfreezeBalanceV2Contract',
715
- },
716
- ],
717
- ref_block_bytes: '67b9',
718
- ref_block_hash: '3aef8803c1aceb03',
719
- expiration: 1745312676000,
720
- timestamp: 1745312617917,
721
- },
722
- raw_data_hex: '0a0267b922083aef8803c1aceb0340a0f1f7e5e5325a5b083712570a36747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e556e667265657a6542616c616e63655632436f6e7472616374121d0a1541e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd10c0843d180170bdabf4e5e532',
723
- };
724
- exports.validWithdrawUnsignedTx = {
725
- visible: false,
726
- txID: '7a9d37540e56f3f61ed0f97cd8a5213652c90c4b75dad876da9c35291d231367',
727
- raw_data: {
728
- contract: [
729
- {
730
- parameter: {
731
- value: {
732
- owner_address: '41E5E00FC1CDB3921B8340C20B2B65B543C84AA1DD',
733
- },
734
- type_url: 'type.googleapis.com/protocol.WithdrawExpireUnfreezeContract',
735
- },
736
- type: 'WithdrawExpireUnfreezeContract',
737
- },
738
- ],
739
- ref_block_bytes: '5b4c',
740
- ref_block_hash: 'c989a213a861c2a1',
741
- expiration: 1714088400000,
742
- timestamp: 1714031128253,
743
- },
744
- raw_data_hex: '0a025b4c2208c989a213a861c2a140c0c1dee8f30d5a66080112620a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5769746864726177457870697265556e667265657a65436f6e747261637412280a1541e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd70fde8f3e8f30d',
745
- };
746
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVFQUF1RTtBQUN2RSx3REFBd0Q7Ozs7QUFpT3hELGdEQWtEQztBQUVELHNEQWtDQztBQUVELGtEQTBCQztBQWpWRCw4QkFBOEI7QUFFakIsUUFBQSxTQUFTLEdBQUcsT0FBTyxDQUFDO0FBQ3BCLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQztBQUNyQixRQUFBLFVBQVUsR0FBRyxrRUFBa0UsQ0FBQztBQUNoRixRQUFBLGlCQUFpQixHQUFHLDBFQUEwRSxDQUFDO0FBQy9GLFFBQUEsVUFBVSxHQUFHLEtBQUssQ0FBQztBQUNuQixRQUFBLG1CQUFtQixHQUM5QiwwSUFBMEksQ0FBQztBQUNoSSxRQUFBLGVBQWUsR0FBRyxRQUFRLENBQUM7QUFDM0IsUUFBQSxrQkFBa0IsR0FBRyxXQUFXLENBQUM7QUFDakMsUUFBQSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0FBQy9CLFFBQUEsb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0FBQ2pDLFFBQUEsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBQzdCLFFBQUEscUJBQXFCLEdBQUcsb0NBQW9DLENBQUM7QUFDN0QsUUFBQSx3QkFBd0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUNoRSxRQUFBLHFCQUFxQixHQUNoQywwSUFBMEksQ0FBQztBQUNoSSxRQUFBLFVBQVUsR0FBRyxrRUFBa0UsQ0FBQztBQUVoRixRQUFBLFlBQVksR0FBRztJQUMxQixJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUUsb0NBQW9DO1FBQzdDLEVBQUUsRUFBRSxrRUFBa0U7S0FDdkU7SUFDRCxTQUFTLEVBQUU7UUFDVCxPQUFPLEVBQUUsb0NBQW9DO1FBQzdDLEVBQUUsRUFBRSxrRUFBa0U7UUFDdEUsY0FBYyxFQUFFLHFDQUFxQztLQUN0RDtJ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YUFBYTtLQUN6QjtJQUNELFlBQVksRUFDVixrUEFBa1A7Q0FDclAsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZXJlIGlzIGEgZmlsZSBjYWxsZWQgXCJ0cnhcIiBpbiByZXNvdXJjZXMgZGlyZWN0b3J5IGJ1dCBpdCBzaG91bGQgYmVcbi8vIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZSBhbmQgYWRkIHRoYXQgZGF0YSB0byB0aGlzIGZpbGUuXG5cbi8vICMgQ29udHJhY3QgY2FsbCBkYXRhIGZpZWxkc1xuXG5leHBvcnQgY29uc3QgRkVFX0xJTUlUID0gJzEwMDAwJztcbmV4cG9ydCBjb25zdCBCTE9DS19OVU1CRVIgPSA1MTQwNztcbmV4cG9ydCBjb25zdCBCTE9DS19IQVNIID0gJzAwMDAwMDAwMDBiYWRiMGQ4OTE3N2ZkODRjNWQ5MTk2MDIxY2MxMDg1YjllNjg5YjNlOWE2MTk1Y2FjOGJjYWUnO1xuZXhwb3J0IGNvbnN0IE1JTlRfQ09ORklSTV9EQVRBID0gJzJiZjkwYmFhMTI3MzE0MGMzZTFiNTc1NmIyNDJjYzg4Y2Q3YzRkZDhhNjFiZjg1Y2I1YzFkZDVmNTBiYTYxZTA2NmI1M2ExNSc7XG5leHBvcnQgY29uc3QgRVhQSVJBVElPTiA9IDYwMDAwO1xuZXhwb3J0IGNvbnN0IFRPS0VOX1RSQU5TRkVSX0RBVEEgPVxuICAnYTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0ODg3OTc0ZjQyYTc4OWVmNmQ0ZGZjN2JhMjhiMTU4MzIxOTQzNGIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzYjlhY2EwMCc7XG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfRU5FUkdZID0gJ0VORVJHWSc7XG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfQkFORFdJRFRIID0gJ0JBTkRXSURUSCc7XG5leHBvcnQgY29uc3QgRlJPWkVOX0JBTEFOQ0UgPSAnMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgREVMRUdBVElPTl9CQUxBTkNFID0gJzEwMDAwMDAnO1xuZXhwb3J0IGNvbnN0IFVOREVMRUdBVElPTl9CQUxBTkNFID0gJzEwMDAwMDAnO1xuZXhwb3J0IGNvbnN0IFVORlJPWkVOX0JBTEFOQ0UgPSAnMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgVVNEVF9DT05UUkFDVF9BRERSRVNTID0gJ1RHM1hYeUV4QmtQcDluemRhakRac296RXU0QmthU0pvenMnO1xuZXhwb3J0IGNvbnN0IFRPS0VOX1RSQU5TRkVSX1JFQ0lQSUVOVCA9ICdUR2FpNXVIZ0Jjb0xFUnJ6RFhNZXBxWkI4RXQ3RDhuVjhLJztcbmV4cG9ydCBjb25zdCBUT0tFTl9UUkFOU0ZFUl9EQVRBXzIgPVxuICAnYTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDgzNjE4Y2E4NWMzNWE5YjkyM2Q5OGJlYmNhNzE4ZjVhMWRiMjc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNWY1ZTEwMCc7XG5leHBvcnQgY29uc3QgVE9LRU5fVFhJRCA9ICdmZTIxYzQ5ZjRmZWJkOTA4OTEyNWUzYTAwNjk0M2MxNDU3MjFkOGZjYjdhYjg0MTM2ZjhjNjY2M2ZmOTJmOGVkJztcblxuZXhwb3J0IGNvbnN0IFBBUlRJQ0lQQU5UUyA9IHtcbiAgZnJvbToge1xuICAgIGFkZHJlc3M6ICdUVll5Z2FRR1hSS3ZjNEdCZURYQldoNEZSRFZTZFRlQ3VhJyxcbiAgICBwazogJ2U3MWMwNWI4MTRmNDRhYzUxOWI0YjkwMjkyMjdmY2NjMWQ5YmYzZTE0NTZmNDg0MGEyYzlhYTg3ZDdmNmRkM2InLFxuICB9LFxuICBjdXN0b2RpYW46IHtcbiAgICBhZGRyZXNzOiAnVExXaDY3UDkzS2d0blpOQ3RHbkVITTFIMzNOaHEydXZ2TicsXG4gICAgcGs6ICdjNGIzYTA0ODM2ZWZjMmVlMjkxNzIzNWY1NWNjZmIyZGNmNmI4MzQxZTVlYTA0MDVkYTViYTEwY2Q1MjZkZmVkJyxcbiAgICBiaXRjb2luQWRkcmVzczogJzJNeXRFaFZoREx5RXptZmVTQTd5SjQ2eWY1R2h1S1o2Z2NlJyxcbiAgfSxcbiAgbWVyY2hhbnQ6IHtcbiAgICBhZGRyZXNzOiAnVEJtVHE4cjIydGZkNGNzRXl4RWNhS2lLUlZka2hhNVhyMicsXG4gICAgcGs6ICdiYmY0NDZiMGQzYzA3YTZlMTk2NzVhZjI0MjQyZjk3MThhNzM0ZmQ0ZDA4MGU4YTYyYjFmNmQ2YTMzN2JjMThmJyxcbiAgICBiaXRjb2luQWRkcmVzczogJzJORGpnVEtuYWtCeW5yd1NveUZwU2luTXN4OVBQZnViZDJlJyxcbiAgfSxcbiAgbXVsdGlzaWc6IHtcbiAgICBhZGRyZXNzOiAnVEZmc3hiMm94R3dzd2JtYU53VnpGVTh2OHplY3lHcWZ5aicsXG4gICAgcGs6ICc0NzdhOWE1NDkxYTNiYWMzMmVjNWY0MzFlYmFiOTAxNDNkYmMyNTFiYmJiMDE2YTYyNWU4YzA5NmZkNjM2NWQ0JyxcbiAgfSxcbiAgdG86IHtcbiAgICBhZGRyZXNzOiAnVExCUExHQnVZaFFtZHpRQUVRdkJodzdMS3pjdzFUU1NHOScsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgQ09OVFJBQ1RTID0ge1xuICB0b2tlbjogJ1RVQVJadzRZQldGMUJFQ1pFN3YzNlFaUlF5OU1GanZqSDUnLFxuICBjb250cm9sbGVyOiAnVFhqaEVNTTFvSGZTZFBhWFFTWjJWNENtQzc2djhFTDh4bycsXG4gIG1lbWJlcnM6ICdUU0RXR1FpZ1ZEOGF3Rk5ldHBmcEpMVm5rQ0dCeURnZER0JyxcbiAgZmFjdG9yeTogJ1RSSHNmb01kYTRBRGlTVVBuSjlYTDNQaHlOdzZYMTRVTWknLFxufTtcblxuZXhwb3J0IGNvbnN0IFRYX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICBkYXRhOiBNSU5UX0NPTkZJUk1fREFUQSxcbiAgICAgICAgb3duZXJfYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScsXG4gICAgICAgIGNvbnRyYWN0X2FkZHJlc3M6ICc0MWE4MTFhNzA2YzlkNmU1MDYyODM1MDYzYzA4MTY1ZWE3OTkwOTI3YzInLFxuICAgICAgfSxcbiAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmlnZ2VyU21hcnRDb250cmFjdCcsXG4gICAgfSxcbiAgICB0eXBlOiAnVHJpZ2dlclNtYXJ0Q29udHJhY3QnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEZSRUVaRV9CQUxBTkNFX1YyX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICByZXNvdXJjZTogJ0VORVJHWScsXG4gICAgICAgIGZyb3plbl9iYWxhbmNlOiAxMDAwMDAwLFxuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgIH0sXG4gICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuRnJlZXplQmFsYW5jZVYyQ29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ0ZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBVTkZSRUVaRV9CQUxBTkNFX1YyX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICByZXNvdXJjZTogJ0VORVJHWScsXG4gICAgICAgIHVuZnJlZXplX2JhbGFuY2U6IDEwMDAwMDAsXG4gICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnLFxuICAgICAgfSxcbiAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5VbmZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0JyxcbiAgICB9LFxuICAgIHR5cGU6ICdVbmZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBXSVRIRFJBV19FWFBJUkVfVU5GUkVFWkVfQ09OVFJBQ1QgPSBbXG4gIHtcbiAgICBwYXJhbWV0ZXI6IHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnLFxuICAgICAgfSxcbiAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5XaXRoZHJhd0V4cGlyZVVuZnJlZXplQ29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ1dpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgV0lUSERSQVdfQkFMQU5DRV9DT05UUkFDVCA9IFtcbiAge1xuICAgIHBhcmFtZXRlcjoge1xuICAgICAgdmFsdWU6IHtcbiAgICAgICAgb3duZXJfYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLldpdGhkcmF3QmFsYW5jZUNvbnRyYWN0JyxcbiAgICB9LFxuICAgIHR5cGU6ICdXaXRoZHJhd0JhbGFuY2VDb250cmFjdCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgVk9URV9XSVRORVNTX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgICAgdm90ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2b3RlX2FkZHJlc3M6ICc0MUYxNjQxMkI5QTE3RUU5NDA4NjQ2RTJBMjFFMTY0NzhGNzJFRDFFOTUnLFxuICAgICAgICAgICAgdm90ZV9jb3VudDogMTAwMCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZvdGVfYWRkcmVzczogJzQxQ0Y5RTEyRTBGNDg1NzNDODRCQzg4RDhGRjdDNTA1Njc0ODVBQUEyNCcsXG4gICAgICAgICAgICB2b3RlX2NvdW50OiAyMDAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlZvdGVXaXRuZXNzQ29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ1ZvdGVXaXRuZXNzQ29udHJhY3QnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX1RYX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICBkYXRhOiBUT0tFTl9UUkFOU0ZFUl9EQVRBLFxuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgICAgY29udHJhY3RfYWRkcmVzczogJzQxNDJhMWUzOWFlZmE0OTI5MGYyYjNmOWVkNjg4ZDdjZWNmODZjZDZlMCcsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgICB9LFxuICAgIHR5cGU6ICdUcmlnZ2VyU21hcnRDb250cmFjdCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fVFhfQ09OVFJBQ1RfMiA9IFtcbiAge1xuICAgIHBhcmFtZXRlcjoge1xuICAgICAgdmFsdWU6IHtcbiAgICAgICAgZGF0YTogVE9LRU5fVFJBTlNGRVJfREFUQV8yLFxuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFjNTFmYmVlYTc4OTEwYjE1YjFkM2U4YTliNjI5MTRjYTk0ZDFhNGFjJyxcbiAgICAgICAgY29udHJhY3RfYWRkcmVzczogJzQxNDJhMWUzOWFlZmE0OTI5MGYyYjNmOWVkNjg4ZDdjZWNmODZjZDZlMCcsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgICB9LFxuICAgIHR5cGU6ICdUcmlnZ2VyU21hcnRDb250cmFjdCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgREVMRUdBVEVfUkVTT1VSQ0VfQ09OVFJBQ1QgPSBbXG4gIHtcbiAgICBwYXJhbWV0ZXI6IHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHJlc291cmNlOiAnRU5FUkdZJyxcbiAgICAgICAgYmFsYW5jZTogMTAwMDAwMCxcbiAgICAgICAgb3duZXJfYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScsXG4gICAgICAgIHJlY2VpdmVyX2FkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnLFxuICAgICAgfSxcbiAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5EZWxlZ2F0ZVJlc291cmNlQ29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ0RlbGVnYXRlUmVzb3VyY2VDb250cmFjdCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgVU5ERUxFR0FURV9SRVNPVVJDRV9DT05UUkFDVCA9IFtcbiAge1xuICAgIHBhcmFtZXRlcjoge1xuICAgICAgdmFsdWU6IHtcbiAgICAgICAgcmVzb3VyY2U6ICdFTkVSR1knLFxuICAgICAgICBiYWxhbmNlOiAxMDAwMDAwLFxuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgICAgcmVjZWl2ZXJfYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlVuRGVsZWdhdGVSZXNvdXJjZUNvbnRyYWN0JyxcbiAgICB9LFxuICAgIHR5cGU6ICdVbkRlbGVnYXRlUmVzb3VyY2VDb250cmFjdCcsXG4gIH0sXG5dO1xuXG4vLyBETyBOT1QgUkUtVVNFIFRISVMgUFJWIEZPUiBSRUFMIE1PTkVZXG5leHBvcnQgY29uc3QgRmlyc3RQcml2YXRlS2V5ID0gJzJEQkVBQzFDMjI4NDlGNDc1MTQ0NDVBNTZBRUYyRUYxNjQ1MjhBNTAyREU0QkQyODlFMjNFQTFFMkQ0QzRCMDYnO1xuZXhwb3J0IGNvbnN0IFNlY29uZFByaXZhdGVLZXkgPSAnRkIzQUE4ODdFMEJFM0ZBQzlENzVFNjYxREFGRjRBN0ZFMEU5MUFBQjEzREE5Nzc1Q0Q4NTg2RDdDQjlCNzY0MCc7XG5cbmV4cG9ydCBjb25zdCBGaXJzdEV4cGVjdGVkS2V5QWRkcmVzcyA9ICdUVHNHd25UTFE0ZXJ5RkpwRHZKU2Z1R1F4UFhSQ2pYdlp6JztcbmV4cG9ydCBjb25zdCBTZWNvbmRFeHBlY3RlZEtleUFkZHJlc3MgPSAnVER6bTF0Q1hNMllTMVBEYTNHb1hTdnhkeTRBZ3dWYkJQRSc7XG5cbmV4cG9ydCBjb25zdCBGaXJzdEV4cGVjdGVkU2lnID1cbiAgJ2JkMDhlNmNkODc2YmI1NzNkZDAwYTMyODcwYjU4YjcwZWE4Yjc5MDhmNTEzMTY4NjUwMjU4OTk0MWJmYTRmZGRhNzZiOGM4MWJiYmNmYzU0OWJlNmQ0OTg4NjU3Y2VhMTIyZGY3ZGE0NmM3MjA0MWRlZjI2ODNkNmVjYjA0YTc0MDEnO1xuZXhwb3J0IGNvbnN0IFNlY29uZEV4cGVjdGVkU2lnID1cbiAgJ2YzY2FiZTJmNGFlZDEzZTIzNDJjNzhjN2JmNDYyNmVhMzZjZDY1MDlhNDQ0MThjMjQ4NjY4MTRkMzQyNjcwMzY4NmJlOWVmMjFiZDk5MzMyNGM1MjA1NjViZWVlODIwMjAxZjJhNTBhOWFjOTcxNzMyNDEwZDNlYjY5Y2RiMmE2MDAnO1xuXG5leHBvcnQgY29uc3QgVGVzdFJlY292ZXJEYXRhID0ge1xuICB1c2VyS2V5OlxuICAgICd4cHViNkJ2TXB0OGtlOHRDeWNCQnc2dURvYjZQeU5Ca0hiVHlFenRhUnV3ZE1aaHBpRmsxbVhwUzdQN2l2NGM0dzdYV0ZGUnlTTW9rVXVGVXFxZ3BaeEs1d0x4bTZwZ2pwa05GaEtzTWFYVEpvVU4nLFxuICBiYWNrdXBLZXk6XG4gICAgJ3hwdWI2ODdrQzhMZVNKd2oxZ1lRcjRKczJCSGJMSzFuRmVMdk16c0RtSDJMS01OcnFBSE5mZUN3MXNwNjFjYmYyV3hlWTFRc3NhVUJoOUVGSmJKOUxCdVBpdnY3WERzRlBWYUZZajE5dWVDTmN6VCcsXG4gIGJpdGdvS2V5OlxuICAgICd4cHViNjYxTXlNd0FxUmJjRkhDUnlhc1U2N05DQTdWN2dvcVVGUFh2enNFaUpkNFNjaENLeVB0aWdIQUx2dmU1d3RCZHlITVpDV3FwR3pFc3JRdGZ6Nm1FOW01UVhXRGFudGdia211NTZ4dkx3ZTMnLFxuICBiYXNlQWRkcmVzczogJ1RUZ2lzUlA3RUpXTWdwTFh2Yk5Ib0hoNVVvdGtqa0JQb28nLFxuICBmaXJzdFJlY2VpdmVBZGRyZXNzOiAnVFhEM1dpUVpHQ0tUYllqTnl4cHp5YVQ4VHROa2VUcTEyVicsXG4gIHNlY29uZFJlY2VpdmVBZGRyZXNzOiAnVENlb1QzNnVVVHR6YXRUblBoNzd2ZXFUeTR1dFl1alhXNicsXG4gIHJlY292ZXJ5RGVzdGluYXRpb246ICdUV2t6TjRXanhreW9SVG1GSGFNUTlwbzc3dUVlcm5nanlRJyxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBiYXNlQWRkcmVzc0JhbGFuY2UodHJ4QmFsYW5jZTogbnVtYmVyLCB0cmMyMEJhbGFuY2VzOiBhbnlbXSA9IFtdKSB7XG4gIHJldHVybiB7XG4gICAgZGF0YTogW1xuICAgICAge1xuICAgICAgICBvd25lcl9wZXJtaXNzaW9uOiB7XG4gICAgICAgICAga2V5czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBhZGRyZXNzOiAnVFRnaXNSUDdFSldNZ3BMWHZiTkhvSGg1VW90a2prQlBvbycsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGFkZHJlc3M6ICdUQkR5OEhBeTh2dmhvcUtjNVYxaEhRYXRmalpITTFNaFBiJyxcbiAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWRkcmVzczogJ1RQSFBEZlE4VnMzWXA1VUtETEhyNU1qb1ZVcnI1WTY5bTknLFxuICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGhyZXNob2xkOiAyLFxuICAgICAgICAgIHBlcm1pc3Npb25fbmFtZTogJ293bmVyJyxcbiAgICAgICAgfSxcbiAgICAgICAgYmFsYW5jZTogdHJ4QmFsYW5jZSxcbiAgICAgICAgdHJjMjA6IHRyYzIwQmFsYW5jZXMsXG4gICAgICAgIGFjdGl2ZV9wZXJtaXNzaW9uOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3BlcmF0aW9uczogJzdmZmYxZmMwMDM3ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICAgICAgICAga2V5czogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogJ1RUZ2lzUlA3RUpXTWdwTFh2Yk5Ib0hoNVVvdGtqa0JQb28nLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFkZHJlc3M6ICdUQkR5OEhBeTh2dmhvcUtjNVYxaEhRYXRmalpITTFNaFBiJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiAnVFBIUERmUThWczNZcDVVS0RMSHI1TWpvVlVycjVZNjltOScsXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHRocmVzaG9sZDogMixcbiAgICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgICAgdHlwZTogJ0FjdGl2ZScsXG4gICAgICAgICAgICBwZXJtaXNzaW9uX25hbWU6ICdhY3RpdmUwJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjZWl2ZUFkZHJlc3NCYWxhbmNlKGJhbGFuY2U6IG51bWJlciwgYWRkcmVzczogc3RyaW5nLCB0cmMyMEJhbGFuY2VzOiBhbnlbXSA9IFtdKSB7XG4gIHJldHVybiB7XG4gICAgZGF0YTogW1xuICAgICAge1xuICAgICAgICBvd25lcl9wZXJtaXNzaW9uOiB7XG4gICAgICAgICAga2V5czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBhZGRyZXNzOiBhZGRyZXNzLFxuICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICAgIHBlcm1pc3Npb25fbmFtZTogJ293bmVyJyxcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlX3Blcm1pc3Npb246IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcGVyYXRpb25zOiAnN2ZmZjFmYzAwMzNlYzMwZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiBhZGRyZXNzLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICAgICAgICBpZDogMixcbiAgICAgICAgICAgIHR5cGU6ICdBY3RpdmUnLFxuICAgICAgICAgICAgcGVybWlzc2lvbl9uYW1lOiAnYWN0aXZlJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBiYWxhbmNlOiBiYWxhbmNlLFxuICAgICAgICB0cmMyMDogdHJjMjBCYWxhbmNlcyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0aW9uVHJhbnNhY3Rpb24oZnJvbUFkZHJlc3M6IHN0cmluZywgdG9BZGRyZXNzOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyKSB7XG4gIHJldHVybiB7XG4gICAgdmlzaWJsZTogZmFsc2UsXG4gICAgdHhJRDogJ2NjNjc1ZjQ3YjU2Zjg0YzAxMWVlODdjN2MwZGRlNWE1ZmQ2NjJiNDgxMzk4MDVhYWYzYzQ4ODQwOWUzYWFmM2InLFxuICAgIHJhd19kYXRhOiB7XG4gICAgICBjb250cmFjdDogW1xuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICBhbW91bnQ6IGFtb3VudCxcbiAgICAgICAgICAgICAgb3duZXJfYWRkcmVzczogZnJvbUFkZHJlc3MsXG4gICAgICAgICAgICAgIHRvX2FkZHJlc3M6IHRvQWRkcmVzcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlOiAnVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcmVmX2Jsb2NrX2J5dGVzOiAnMzdkMycsXG4gICAgICByZWZfYmxvY2tfaGFzaDogJ2E0N2QyYWMyMTg5NDg3YjknLFxuICAgICAgZXhwaXJhdGlvbjogMTY5MzQ0MTU0ODAwMCxcbiAgICAgIHRpbWVzdGFtcDogMTY5MzQ0MTQ4OTg1NCxcbiAgICB9LFxuICAgIHJhd19kYXRhX2hleDpcbiAgICAgICcwYTAyMzdkMzIyMDhhNDdkMmFjMjE4OTQ4N2I5NDBlMGJkZWRjN2E0MzE1YTY4MDgwMTEyNjQwYTJkNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2MTZlNzM2NjY1NzI0MzZmNmU3NDcyNjE2Mzc0MTIzMzBhMTU0MWU4Zjg4YjRlMjM5ZTg1YzkyMjU1YjA0MzQ1MGEzNGI2NWEzMjlhNTQxMjE1NDFjMjU0MjAyNTVjMmM1YTJkZDU0ZWY2OWY5MmVmMjYxZTZiZDQyMTZhMTg4MGMyZDcyZjcwYmVmN2U5YzdhNDMxJyxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFNhbXBsZVJhd1Rva2VuU2VuZFR4biA9IHtcbiAgcmVzdWx0OiB7XG4gICAgcmVzdWx0OiB0cnVlLFxuICB9LFxuICB0cmFuc2FjdGlvbjoge1xuICAgIHZpc2libGU6IGZhbHNlLFxuICAgIHR4SUQ6ICdmODE3OWNhYWI0Yzc4MTY3NmNiMzM5NDA5NDg1MzNlMjA5ZGM3ZmUyMTM1YmJkNmUwMGY2MDU5Nzg2MmI4NmJlJyxcbiAgICByYXdfZGF0YToge1xuICAgICAgY29udHJhY3Q6IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgZGF0YTogJ2E5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTQwYjE5YWZjYTNkZGU0Y2U4ZmNiYzU3YWI0MWY4YzMyNmFiMGNmMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDE5MGFiMDAnLFxuICAgICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFjMjU0MjAyNTVjMmM1YTJkZDU0ZWY2OWY5MmVmMjYxZTZiZDQyMTZhJyxcbiAgICAgICAgICAgICAgY29udHJhY3RfYWRkcmVzczogJzQxNDJhMWUzOWFlZmE0OTI5MGYyYjNmOWVkNjg4ZDdjZWNmODZjZDZlMCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGU6ICdUcmlnZ2VyU21hcnRDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcmVmX2Jsb2NrX2J5dGVzOiAnY2JhMycsXG4gICAgICByZWZfYmxvY2tfaGFzaDogJ2UxNGNjNDI1ZGEzY2ZkOTQnLFxuICAgICAgZXhwaXJhdGlvbjogMTY5MzM1NzYyMDAwMCxcbiAgICAgIGZlZV9saW1pdDogMTAwMDAwMDAwLFxuICAgICAgdGltZXN0YW1wOiAxNjkzMzU3NTYxMzM5LFxuICAgIH0sXG4gICAgcmF3X2RhdGFfaGV4OlxuICAgICAgJzBhMDJjYmEzMjIwOGUxNGNjNDI1ZGEzY2ZkOTQ0MGEwZjZlYTlmYTQzMTVhYWUwMTA4MWYxMmE5MDEwYTMxNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2OTY3Njc2NTcyNTM2ZDYxNzI3NDQzNmY2ZTc0NzI2MTYzNzQxMjc0MGExNTQxYzI1NDIwMjU1YzJjNWEyZGQ1NGVmNjlmOTJlZjI2MWU2YmQ0MjE2YTEyMTU0MTQyYTFlMzlhZWZhNDkyOTBmMmIzZjllZDY4OGQ3Y2VjZjg2Y2Q2ZTAyMjQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNDBiMTlhZmNhM2RkZTRjZThmY2JjNTdhYjQxZjhjMzI2YWIwY2YyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MTkwYWIwMDcwZmJhYmU3OWZhNDMxOTAwMTgwYzJkNzJmJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBVbnNpZ25lZEJ1aWxkVHJhbnNhY3Rpb24gPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnODBiOGI5ZWFlZDUxYzhiYmEzYjQ5ZjdmMGU3Y2M1ZjIxYWM5OWE2ZjNlMjg5M2M2NjNiNTQ0YmYyYzY5NWIxZCcsXG4gIHJhd19kYXRhOiB7XG4gICAgY29udHJhY3Q6IFtcbiAgICAgIHtcbiAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGFtb3VudDogMTcxOCxcbiAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTInLFxuICAgICAgICAgICAgdG9fYWRkcmVzczogJzQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdUcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICc5MGU0JyxcbiAgICByZWZfYmxvY2tfaGFzaDogJ2EwMThiZjk4OTJkZGIxMzgnLFxuICAgIGV4cGlyYXRpb246IDE1NzE4MTE0NjgwMDAsXG4gICAgdGltZXN0YW1wOiAxNTcxODExNDEwODE5LFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDI5MGU0MjIwOGEwMThiZjk4OTJkZGIxMzg0MGUwYzU4ZWJhZGYyZDVhNjYwODAxMTI2MjBhMmQ3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjYxNmU3MzY2NjU3MjQzNmY2ZTc0NzI2MTYzNzQxMjMxMGExNTQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MjEyMTU0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWExOGI2MGQ3MDgzODc4YmJhZGYyZCcsXG59O1xuXG5leHBvcnQgY29uc3QgRmlyc3RTaWdPbkJ1aWxkVHJhbnNhY3Rpb24gPSAoKCkgPT4ge1xuICBjb25zdCBtb2RpZmllZEJ1aWxkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVbnNpZ25lZEJ1aWxkVHJhbnNhY3Rpb24pKTtcbiAgbW9kaWZpZWRCdWlsZFsnc2lnbmF0dXJlJ10gPSBbXTtcbiAgbW9kaWZpZWRCdWlsZFsnc2lnbmF0dXJlJ10ucHVzaChcbiAgICAnYmQwOGU2Y2Q4NzZiYjU3M2RkMDBhMzI4NzBiNThiNzBlYThiNzkwOGY1MTMxNjg2NTAyNTg5OTQxYmZhNGZkZGE3NmI4YzgxYmJiY2ZjNTQ5YmU2ZDQ5ODg2NTdjZWExMjJkZjdkYTQ2YzcyMDQxZGVmMjY4M2Q2ZWNiMDRhNzQwMSdcbiAgKTtcbiAgcmV0dXJuIG1vZGlmaWVkQnVpbGQ7XG59KSgpO1xuXG5leHBvcnQgY29uc3QgU2Vjb25kU2lnT25CdWlsZFRyYW5zYWN0aW9uID0gKCgpID0+IHtcbiAgY29uc3QgbW9kaWZpZWRCdWlsZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoVW5zaWduZWRCdWlsZFRyYW5zYWN0aW9uKSk7XG4gIG1vZGlmaWVkQnVpbGRbJ3NpZ25hdHVyZSddID0gW107XG4gIG1vZGlmaWVkQnVpbGRbJ3NpZ25hdHVyZSddLnB1c2goXG4gICAgJ2YzY2FiZTJmNGFlZDEzZTIzNDJjNzhjN2JmNDYyNmVhMzZjZDY1MDlhNDQ0MThjMjQ4NjY4MTRkMzQyNjcwMzY4NmJlOWVmMjFiZDk5MzMyNGM1MjA1NjViZWVlODIwMjAxZjJhNTBhOWFjOTcxNzMyNDEwZDNlYjY5Y2RiMmE2MDAnXG4gICk7XG4gIG1vZGlmaWVkQnVpbGRbJ3NpZ25hdHVyZSddLnB1c2goXG4gICAgJ2JkMDhlNmNkODc2YmI1NzNkZDAwYTMyODcwYjU4YjcwZWE4Yjc5MDhmNTEzMTY4NjUwMjU4OTk0MWJmYTRmZGRhNzZiOGM4MWJiYmNmYzU0OWJlNmQ0OTg4NjU3Y2VhMTIyZGY3ZGE0NmM3MjA0MWRlZjI2ODNkNmVjYjA0YTc0MDEnXG4gICk7XG4gIHJldHVybiBtb2RpZmllZEJ1aWxkO1xufSkoKTtcblxuZXhwb3J0IGNvbnN0IFVuc2lnbmVkVHJhbnNmZXJDb250cmFjdFR4ID0ge1xuICB0eDoge1xuICAgIHZpc2libGU6IGZhbHNlLFxuICAgIHR4SUQ6ICdlZTBiYmY3MmIyMzgzNjE1NzdhOWRjNDFkNzlmN2E3NGY2YmE5ZWZlNDcyYzIxYmZkM2U3ZGM4NTBjOWU5MDIwJyxcbiAgICByYXdfZGF0YToge1xuICAgICAgY29udHJhY3Q6IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgYW1vdW50OiAxMCxcbiAgICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxZTVlMDBmYzFjZGIzOTIxYjgzNDBjMjBiMmI2NWI1NDNjODRhYTFkZCcsXG4gICAgICAgICAgICAgIHRvX2FkZHJlc3M6ICc0MTJjMmJhNGE5ZmY2YzUzMjA3ZGM1YjY4NmJmZWNmNzVlYTdiODA1NzcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGU6ICdUcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICByZWZfYmxvY2tfYnl0ZXM6ICc1MTIzJyxcbiAgICAgIHJlZl9ibG9ja19oYXNoOiAnNTJhMjZkZWE5NjNhNDdiYycsXG4gICAgICBleHBpcmF0aW9uOiAxNTY5NDYzMzIwMDAwLFxuICAgICAgdGltZXN0YW1wOiAxNTY5NDYzMjYxNjIzLFxuICAgIH0sXG4gICAgcmF3X2RhdGFfaGV4OlxuICAgICAgJzBhMDI1MTIzMjIwODUyYTI2ZGVhOTYzYTQ3YmM0MGMwZmJiNmRhZDYyZDVhNjUwODAxMTI2MTBhMmQ3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjYxNmU3MzY2NjU3MjQzNmY2ZTc0NzI2MTYzNzQxMjMwMGExNTQxZTVlMDBmYzFjZGIzOTIxYjgzNDBjMjBiMmI2NWI1NDNjODRhYTFkZDEyMTU0MTJjMmJhNGE5ZmY2YzUzMjA3ZGM1YjY4NmJmZWNmNzVlYTdiODA1NzcxODBhNzBiN2IzYjNkYWQ2MmQnLFxuICAgIHNpZ25hdHVyZTogW10sXG4gIH0sXG4gIHNpZzogJzBhOTk0NDMxNjkyNGVjN2ZiYTQ4OTVmMWVhMWU3Y2M5NWY5ZTJiODI4YWUyNjhhNDhhOGRiZWRkZWY0MGM2ZjVlMTI3MTcwYTk1YWVkOWYzZjU0MjViMTMwNThkMGNiNmVmMWY1YzIyMTMxOTBlNDgyZTg3MDQzNjkxZjIyZTY4MDAnLFxufTtcblxuZXhwb3J0IGNvbnN0IEFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3RQcml2ID0gJzg4NDEzNjAxQzI2NzMxNjA0MDQxM0M2OEFBQjM1NjUxRjhDN0FCMDVFQzhGRkVGNDJENDJEREExNkFBMzczMkMnO1xuZXhwb3J0IGNvbnN0IFVuc2lnbmVkQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdFR4ID0ge1xuICB2aXNpYmxlOiBmYWxzZSxcbiAgdHhJRDogJzdkNTQwN2Q4MWQ0ZTk1ZjRjM2MyOGY4ODQ5OTQ3YjkxZmJmYTljNWIxMDJiZmQ1YjQ4ZmU3N2U2M2M2ODEwN2QnLFxuICByYXdfZGF0YToge1xuICAgIGNvbnRyYWN0OiBbXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBvd25lcjoge1xuICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxY2E0MmE0OTlhMmVlZTM5NDMyM2JhYTJjMmY3ZDhhNzY0Y2UwNjg5YycsXG4gICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3JyxcbiAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MWUwYzBmNTgxZDdkMDJkNDA4MjZjMWM2Y2JlZTcxZjYyNWQ2MzQ0ZDAnLFxuICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHRocmVzaG9sZDogMixcbiAgICAgICAgICAgICAgcGVybWlzc2lvbl9uYW1lOiAnb3duZXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMnLFxuICAgICAgICAgICAgYWN0aXZlczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uczogJzdmZmYxZmMwMDM3ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICAgICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxY2E0MmE0OTlhMmVlZTM5NDMyM2JhYTJjMmY3ZDhhNzY0Y2UwNjg5YycsXG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MTJjMmJhNGE5ZmY2YzUzMjA3ZGM1YjY4NmJmZWNmNzVlYTdiODA1NzcnLFxuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDFlMGMwZjU4MWQ3ZDAyZDQwODI2YzFjNmNiZWU3MWY2MjVkNjM0NGQwJyxcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogMixcbiAgICAgICAgICAgICAgICB0eXBlOiAnQWN0aXZlJyxcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uX25hbWU6ICdhY3RpdmUwJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdBY2NvdW50UGVybWlzc2lvblVwZGF0ZUNvbnRyYWN0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICdlZWIyJyxcbiAgICByZWZfYmxvY2tfaGFzaDogJzk3OTA0ZTI5MjJkNmI1ZTgnLFxuICAgIGV4cGlyYXRpb246IDE1NzI0NzM1MjkwMDAsXG4gICAgdGltZXN0YW1wOiAxNTcyNDczNDY5MDY1LFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDJlZWIyMjIwODk3OTA0ZTI5MjJkNmI1ZTg0MGE4YzVlN2Y1ZTEyZDVhYmMwMjA4MmUxMmI3MDIwYTNjNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTQxNjM2MzZmNzU2ZTc0NTA2NTcyNmQ2OTczNzM2OTZmNmU1NTcwNjQ2MTc0NjU0MzZmNmU3NDcyNjE2Mzc0MTJmNjAxMGExNTQxY2E0MmE0OTlhMmVlZTM5NDMyM2JhYTJjMmY3ZDhhNzY0Y2UwNjg5YzEyNWExYTA1NmY3NzZlNjU3MjIwMDIzYTE5MGExNTQxY2E0MmE0OTlhMmVlZTM5NDMyM2JhYTJjMmY3ZDhhNzY0Y2UwNjg5YzEwMDEzYTE5MGExNTQxMmMyYmE0YTlmZjZjNTMyMDdkYzViNjg2YmZlY2Y3NWVhN2I4MDU3NzEwMDEzYTE5MGExNTQxZTBjMGY1ODFkN2QwMmQ0MDgyNmMxYzZjYmVlNzFmNjI1ZDYzNDRkMDEwMDEyMjgwMDEwODAyMWEwNzYxNjM3NDY5NzY2NTMwMjAwMjMyMjA3ZmZmMWZjMDAzN2UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM2ExOTBhMTU0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMxMDAxM2ExOTBhMTU0MTJjMmJhNGE5ZmY2YzUzMjA3ZGM1YjY4NmJmZWNmNzVlYTdiODA1NzcxMDAxM2ExOTBhMTU0MWUwYzBmNTgxZDdkMDJkNDA4MjZjMWM2Y2JlZTcxZjYyNWQ2MzQ0ZDAxMDAxNzA4OWYxZTNmNWUxMmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFNpZ25lZEFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3RUeCA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc3ZDU0MDdkODFkNGU5NWY0YzNjMjhmODg0OTk0N2I5MWZiZmE5YzViMTAyYmZkNWI0OGZlNzdlNjNjNjgxMDdkJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgb3duZXI6IHtcbiAgICAgICAgICAgICAga2V5czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMnLFxuICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxMmMyYmE0YTlmZjZjNTMyMDdkYzViNjg2YmZlY2Y3NWVhN2I4MDU3NycsXG4gICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDFlMGMwZjU4MWQ3ZDAyZDQwODI2YzFjNmNiZWU3MWY2MjVkNjM0NGQwJyxcbiAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDIsXG4gICAgICAgICAgICAgIHBlcm1pc3Npb25fbmFtZTogJ293bmVyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljJyxcbiAgICAgICAgICAgIGFjdGl2ZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbnM6ICc3ZmZmMWZjMDAzN2UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMnLFxuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3JyxcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxZTBjMGY1ODFkN2QwMmQ0MDgyNmMxYzZjYmVlNzFmNjI1ZDYzNDRkMCcsXG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDIsXG4gICAgICAgICAgICAgICAgdHlwZTogJ0FjdGl2ZScsXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbl9uYW1lOiAnYWN0aXZlMCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLkFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnZWViMicsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICc5NzkwNGUyOTIyZDZiNWU4JyxcbiAgICBleHBpcmF0aW9uOiAxNTcyNDczNTI5MDAwLFxuICAgIHRpbWVzdGFtcDogMTU3MjQ3MzQ2OTA2NSxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyZWViMjIyMDg5NzkwNGUyOTIyZDZiNWU4NDBhOGM1ZTdmNWUxMmQ1YWJjMDIwODJlMTJiNzAyMGEzYzc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU0MTYzNjM2Zjc1NmU3NDUwNjU3MjZkNjk3MzczNjk2ZjZlNTU3MDY0NjE3NDY1NDM2ZjZlNzQ3MjYxNjM3NDEyZjYwMTBhMTU0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMxMjVhMWEwNTZmNzc2ZTY1NzIyMDAyM2ExOTBhMTU0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMxMDAxM2ExOTBhMTU0MTJjMmJhNGE5ZmY2YzUzMjA3ZGM1YjY4NmJmZWNmNzVlYTdiODA1NzcxMDAxM2ExOTBhMTU0MWUwYzBmNTgxZDdkMDJkNDA4MjZjMWM2Y2JlZTcxZjYyNWQ2MzQ0ZDAxMDAxMjI4MDAxMDgwMjFhMDc2MTYzNzQ2OTc2NjUzMDIwMDIzMjIwN2ZmZjFmYzAwMzdlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNhMTkwYTE1NDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljMTAwMTNhMTkwYTE1NDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3MTAwMTNhMTkwYTE1NDFlMGMwZjU4MWQ3ZDAyZDQwODI2YzFjNmNiZWU3MWY2MjVkNjM0NGQwMTAwMTcwODlmMWUzZjVlMTJkJyxcbiAgc2lnbmF0dXJlOiBbXG4gICAgJzJiYzUwMzA3MjdkNDJlZDY0MmMyODA2YTNjMWE1YTAzOTM0MDhiMTU5NTQxZjIxNjNkZjRiYTY5MmM1YzEyNDBlMmRkZTVhMmFhZTRlY2FkNDY1NDE0ZTYwYjVhZWNhODUyMmQwYTJiNjYwNmY4OGEzMjY2NTg4MDkxNjEzMzRmMDAnLFxuICBdLFxufTtcbmV4cG9ydCBjb25zdCBJbnZhbGlkSURUcmFuc2FjdGlvbiA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc5MGI4YjllYWVkNTFjOGJiYTNiNDlmN2YwZTdjYzVmMjFhYzk5YTZmM2UyODkzYzY2M2I1NDRiZjJjNjk1YjFkJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgYW1vdW50OiAxNzE4LFxuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MicsXG4gICAgICAgICAgICB0b19hZGRyZXNzOiAnNDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ1RyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJzkwZTQnLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnYTAxOGJmOTg5MmRkYjEzOCcsXG4gICAgZXhwaXJhdGlvbjogMTU3MTgxMTQ2ODAwMCxcbiAgICB0aW1lc3RhbXA6IDE1NzE4MTE0MTA4MTksXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMjkwZTQyMjA4YTAxOGJmOTg5MmRkYjEzODQwZTBjNThlYmFkZjJkNWE2NjA4MDExMjYyMGEyZDc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjE2ZTczNjY2NTcyNDM2ZjZlNzQ3MjYxNjM3NDEyMzEwYTE1NDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyMTIxNTQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYTE4YjYwZDcwODM4NzhiYmFkZjJkJyxcbn07XG5leHBvcnQgY29uc3QgVW5zaWduZWRCdWlsZEVtcHR5SURUcmFuc2FjdGlvbiA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICcnLFxuICByYXdfZGF0YToge1xuICAgIGNvbnRyYWN0OiBbXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBhbW91bnQ6IDE3MTgsXG4gICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyJyxcbiAgICAgICAgICAgIHRvX2FkZHJlc3M6ICc0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWEnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnOTBlNCcsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICdhMDE4YmY5ODkyZGRiMTM4JyxcbiAgICBleHBpcmF0aW9uOiAxNTcxODExNDY4MDAwLFxuICAgIHRpbWVzdGFtcDogMTU3MTgxMTQxMDgxOSxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyOTBlNDIyMDhhMDE4YmY5ODkyZGRiMTM4NDBlMGM1OGViYWRmMmQ1YTY2MDgwMTEyNjIwYTJkNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2MTZlNzM2NjY1NzI0MzZmNmU3NDcyNjE2Mzc0MTIzMTBhMTU0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTIxMjE1NDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhMThiNjBkNzA4Mzg3OGJiYWRmMmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFVuc2lnbmVkQnVpbGRJbnZhbGlkSURUcmFuc2FjdGlvbiA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc4MGI4YjllYmZkNTFjOGJiYTNiNDlmN2YwZTdjYzVmMjFhYzk5YTZmM2UyODkzYzY2M2I1NDRiZjJjNjk1YjFkJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgYW1vdW50OiAxNzE4LFxuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MicsXG4gICAgICAgICAgICB0b19hZGRyZXNzOiAnNDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ1RyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJzkwZTQnLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnYTAxOGJmOTg5MmRkYjEzOCcsXG4gICAgZXhwaXJhdGlvbjogMTU3MTgxMTQ2ODAwMCxcbiAgICB0aW1lc3RhbXA6IDE1NzE4MTE0MTA4MTksXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMjkwZTQyMjA4YTAxOGJmOTg5MmRkYjEzODQwZTBjNThlYmFkZjJkNWE2NjA4MDExMjYyMGEyZDc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjE2ZTczNjY2NTcyNDM2ZjZlNzQ3MjYxNjM3NDEyMzEwYTE1NDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyMTIxNTQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYTE4YjYwZDcwODM4NzhiYmFkZjJkJyxcbn07XG5cbmV4cG9ydCBjb25zdCBVbnNpZ25lZEludmFsaWRFeHBpcmF0aW9uQnVpbGRUcmFuc2FjdGlvbiA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc4MGI4YjllYWVkNTFjOGJiYTNiNDlmN2YwZTdjYzVmMjFhYzk5YTZmM2UyODkzYzY2M2I1NDRiZjJjNjk1YjFkJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgYW1vdW50OiAxNzE4LFxuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MicsXG4gICAgICAgICAgICB0b19hZGRyZXNzOiAnNDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ1RyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJzkwZTQnLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnYTAxOGJmOTg5MmRkYjEzOCcsXG4gICAgZXhwaXJhdGlvbjogMTU3MTgxMTQ2ODkwMCxcbiAgICB0aW1lc3RhbXA6IDE1NzE4MTE0MTA4MTksXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMjkwZTQyMjA4YTAxOGJmOTg5MmRkYjEzODQwZTBjNThlYmFkZjJkNWE2NjA4MDExMjYyMGEyZDc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjE2ZTczNjY2NTcyNDM2ZjZlNzQ3MjYxNjM3NDEyMzEwYTE1NDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyMTIxNTQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYTE4YjYwZDcwODM4NzhiYmFkZjJkJyxcbn07XG5cbmV4cG9ydCBjb25zdCBVbnNpZ25lZEludmFsaWRUaW1lU3RhbXBCdWlsZFRyYW5zYWN0aW9uID0ge1xuICB2aXNpYmxlOiBmYWxzZSxcbiAgdHhJRDogJzgwYjhiOWVhZWQ1MWM4YmJhM2I0OWY3ZjBlN2NjNWYyMWFjOTlhNmYzZTI4OTNjNjYzYjU0NGJmMmM2OTViMWQnLFxuICByYXdfZGF0YToge1xuICAgIGNvbnRyYWN0OiBbXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBhbW91bnQ6IDE3MTgsXG4gICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyJyxcbiAgICAgICAgICAgIHRvX2FkZHJlc3M6ICc0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWEnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnOTBlNCcsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICdhMDE4YmY5ODkyZGRiMTM4JyxcbiAgICBleHBpcmF0aW9uOiAxNTcxODExNDY4MDAwLFxuICAgIHRpbWVzdGFtcDogMTU4MTgxMTQxMDgxOSxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyOTBlNDIyMDhhMDE4YmY5ODkyZGRiMTM4NDBlMGM1OGViYWRmMmQ1YTY2MDgwMTEyNjIwYTJkNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2MTZlNzM2NjY1NzI0MzZmNmU3NDcyNjE2Mzc0MTIzMTBhMTU0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTIxMjE1NDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhMThiNjBkNzA4Mzg3OGJiYWRmMmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFVuc2lnbmVkSW52YWxpZENvbnRyYWN0QnVpbGRUcmFuc2FjdGlvbiA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc4MGI4YjllYWVkNTFjOGJiYTNiNDlmN2YwZTdjYzVmMjFhYzk5YTZmM2UyODkzYzY2M2I1NDRiZjJjNjk1YjFkJyxcbiAgcmF3X2RhdGE6IHtcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICc5MGU0JyxcbiAgICByZWZfYmxvY2tfaGFzaDogJ2EwMThiZjk4OTJkZGIxMzgnLFxuICAgIGV4cGlyYXRpb246IDE1NzE4MTE0NjgwMDAsXG4gICAgdGltZXN0YW1wOiAxNTcxODExNDEwODE5LFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDI5MGU0MjIwOGEwMThiZjk4OTJkZGIxMzg0MGUwYzU4ZWJhZGYyZDVhNjYwODAxMTI2MjBhMmQ3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjYxNmU3MzY2NjU3MjQzNmY2ZTc0NzI2MTYzNzQxMjMxMGExNTQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MjEyMTU0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWExOGI2MGQ3MDgzODc4YmJhZGYyZCcsXG59O1xuXG5leHBvcnQgY29uc3QgbW9ja1Rva2VuVHggPSB7XG4gIHNpZ25hdHVyZTogW10sXG4gIHR4SUQ6ICc2MzZhOTRkODY2MmM1MWNiYzdlMWJkY2NjNmNjYzBkNTMxODI3NTgyYmI3ZDczZjhiYmMwZWVhN2Y4NmRmNTkwJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdFR5cGU6IDIsXG4gICAgY29udHJhY3Q6IFtcbiAgICAgIHtcbiAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGRhdGE6ICdhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4ODc5NzRmNDJhNzg5ZWY2ZDRkZmM3YmEyOGIxNTgzMjE5NDM0YjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNiOWFjYTAwJyxcbiAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MTQ4ODc5NzRmNDJhNzg5ZWY2ZDRkZmM3YmEyOGIxNTgzMjE5NDM0YjMnLFxuICAgICAgICAgICAgY29udHJhY3RfYWRkcmVzczogJzQxNDJhMWUzOWFlZmE0OTI5MGYyYjNmOWVkNjg4ZDdjZWNmODZjZDZlMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJpZ2dlclNtYXJ0Q29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnVHJpZ2dlclNtYXJ0Q29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJ2M4Y2YnLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnODkxNzdmZDg0YzVkOTE5NicsXG4gICAgZXhwaXJhdGlvbjogMTY3MDU0Mzk5MzE2NCxcbiAgICB0aW1lc3RhbXA6IDE2NzA1NDAzOTMxNjQsXG4gICAgZmVlX2xpbWl0OiAxNTAwMDAwMDAsXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMmM4Y2YyMjA4ODkxNzdmZDg0YzVkOTE5NjQwY2NkMmI5YTFjZjMwNWFhZTAxMDgxZjEyYTkwMTBhMzE3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjY5Njc2NzY1NzI1MzZkNjE3Mjc0NDM2ZjZlNzQ3MjYxNjM3NDEyNzQwYTE1NDE0ODg3OTc0ZjQyYTc4OWVmNmQ0ZGZjN2JhMjhiMTU4MzIxOTQzNGIzMTIxNTQxNDJhMWUzOWFlZmE0OTI5MGYyYjNmOWVkNjg4ZDdjZWNmODZjZDZlMDIyNDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4ODc5NzRmNDJhNzg5ZWY2ZDRkZmM3YmEyOGIxNTgzMjE5NDM0YjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNiOWFjYTAwNzBjY2Y1ZGQ5ZmNmMzA5MDAxODBhM2MzNDcnLFxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkVW5mcmVlemVVbnNpZ25lZFR4ID0ge1xuICB2aXNpYmxlOiBmYWxzZSxcbiAgdHhJRDogJzIyN2I3YzcwMGVhM2JmNTA3YTdkOGIzNjI3YjZlOWRiMWQ3ZTYxMTY2ODFmMmUxMjVjMTZmYzQwZTZhMTkyMzUnLFxuICByYXdfZGF0YToge1xuICAgIGNvbnRyYWN0OiBbXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICByZXNvdXJjZTogJ0VORVJHWScsXG4gICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFlNWUwMGZjMWNkYjM5MjFiODM0MGMyMGIyYjY1YjU0M2M4NGFhMWRkJyxcbiAgICAgICAgICAgIHVuZnJlZXplX2JhbGFuY2U6IDEwMDAwMDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVW5mcmVlemVCYWxhbmNlVjJDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdVbmZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICc2N2I5JyxcbiAgICByZWZfYmxvY2tfaGFzaDogJzNhZWY4ODAzYzFhY2ViMDMnLFxuICAgIGV4cGlyYXRpb246IDE3NDUzMTI2NzYwMDAsXG4gICAgdGltZXN0YW1wOiAxNzQ1MzEyNjE3OTE3LFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDI2N2I5MjIwODNhZWY4ODAzYzFhY2ViMDM0MGEwZjFmN2U1ZTUzMjVhNWIwODM3MTI1NzBhMzY3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTU2ZTY2NzI2NTY1N2E2NTQyNjE2YzYxNmU2MzY1NTYzMjQzNmY2ZTc0NzI2MTYzNzQxMjFkMGExNTQxZTVlMDBmYzFjZGIzOTIxYjgzNDBjMjBiMmI2NWI1NDNjODRhYTFkZDEwYzA4NDNkMTgwMTcwYmRhYmY0ZTVlNTMyJyxcbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZFdpdGhkcmF3VW5zaWduZWRUeCA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc3YTlkMzc1NDBlNTZmM2Y2MWVkMGY5N2NkOGE1MjEzNjUyYzkwYzRiNzVkYWQ4NzZkYTljMzUyOTFkMjMxMzY3JyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxRTVFMDBGQzFDREIzOTIxQjgzNDBDMjBCMkI2NUI1NDNDODRBQTFERCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ1dpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnNWI0YycsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICdjOTg5YTIxM2E4NjFjMmExJyxcbiAgICBleHBpcmF0aW9uOiAxNzE0MDg4NDAwMDAwLFxuICAgIHRpbWVzdGFtcDogMTcxNDAzMTEyODI1MyxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyNWI0YzIyMDhjOTg5YTIxM2E4NjFjMmExNDBjMGMxZGVlOGYzMGQ1YTY2MDgwMTEyNjIwYTMyNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU3Njk3NDY4NjQ3MjYxNzc0NTc4NzA2OTcyNjU1NTZlNjY3MjY1NjU3YTY1NDM2ZjZlNzQ3MjYxNjM3NDEyMjgwYTE1NDFlNWUwMGZjMWNkYjM5MjFiODM0MGMyMGIyYjY1YjU0M2M4NGFhMWRkNzBmZGU4ZjNlOGYzMGQnLFxufTtcbiJdfQ==