@bitgo-beta/statics 15.1.1-beta.68 → 15.1.1-beta.681
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mocharc.js +1 -1
- package/CHANGELOG.md +2531 -0
- package/dist/src/account.d.ts +253 -4
- package/dist/src/account.d.ts.map +1 -1
- package/dist/src/account.js +432 -43
- package/dist/src/ada.d.ts.map +1 -1
- package/dist/src/ada.js +6 -3
- package/dist/src/avaxp.d.ts.map +1 -1
- package/dist/src/avaxp.js +5 -3
- package/dist/src/base.d.ts +1194 -35
- package/dist/src/base.d.ts.map +1 -1
- package/dist/src/base.js +1235 -46
- package/dist/src/coins/erc20Coins.d.ts +2 -0
- package/dist/src/coins/erc20Coins.d.ts.map +1 -0
- package/dist/src/coins/erc20Coins.js +15 -0
- package/dist/src/coins.d.ts +0 -1
- package/dist/src/coins.d.ts.map +1 -1
- package/dist/src/coins.js +2966 -1352
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -3
- package/dist/src/lightning.d.ts +43 -0
- package/dist/src/lightning.d.ts.map +1 -0
- package/dist/src/lightning.js +60 -0
- package/dist/src/map.d.ts +2 -0
- package/dist/src/map.d.ts.map +1 -1
- package/dist/src/map.js +38 -3
- package/dist/src/networks.d.ts +476 -1
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +645 -39
- package/dist/src/ofc.d.ts +240 -0
- package/dist/src/ofc.d.ts.map +1 -1
- package/dist/src/ofc.js +507 -14
- package/dist/src/tokenConfig.d.ts +59 -13
- package/dist/src/tokenConfig.d.ts.map +1 -1
- package/dist/src/tokenConfig.js +128 -7
- package/dist/src/utxo.d.ts +3 -1
- package/dist/src/utxo.d.ts.map +1 -1
- package/dist/src/utxo.js +76 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/src/networks.js
CHANGED
|
@@ -6,7 +6,7 @@ var NetworkType;
|
|
|
6
6
|
(function (NetworkType) {
|
|
7
7
|
NetworkType["MAINNET"] = "mainnet";
|
|
8
8
|
NetworkType["TESTNET"] = "testnet";
|
|
9
|
-
})(NetworkType
|
|
9
|
+
})(NetworkType || (exports.NetworkType = NetworkType = {}));
|
|
10
10
|
class BaseNetwork {
|
|
11
11
|
}
|
|
12
12
|
exports.BaseNetwork = BaseNetwork;
|
|
@@ -27,7 +27,7 @@ class Algorand extends Mainnet {
|
|
|
27
27
|
super(...arguments);
|
|
28
28
|
this.name = 'Algorand';
|
|
29
29
|
this.family = base_1.CoinFamily.ALGO;
|
|
30
|
-
this.explorerUrl = 'https://
|
|
30
|
+
this.explorerUrl = 'https://allo.info/tx/';
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
class AlgorandTestnet extends Testnet {
|
|
@@ -35,7 +35,7 @@ class AlgorandTestnet extends Testnet {
|
|
|
35
35
|
super(...arguments);
|
|
36
36
|
this.name = 'AlgorandTestnet';
|
|
37
37
|
this.family = base_1.CoinFamily.ALGO;
|
|
38
|
-
this.explorerUrl = 'https://
|
|
38
|
+
this.explorerUrl = 'https://explorer.bitquery.io/algorand_testnet/tx/';
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
class Ada extends Mainnet {
|
|
@@ -46,7 +46,7 @@ class Ada extends Mainnet {
|
|
|
46
46
|
this.utxolibName = 'cardano';
|
|
47
47
|
this.poolDeposit = 500000000;
|
|
48
48
|
this.stakeKeyDeposit = 2000000;
|
|
49
|
-
this.explorerUrl = 'https://explorer.cardano.org/en/transaction
|
|
49
|
+
this.explorerUrl = 'https://beta.explorer.cardano.org/en/transaction/';
|
|
50
50
|
this.coinsPerUtxoWord = 34482;
|
|
51
51
|
this.maxTransactionSize = 8000;
|
|
52
52
|
this.maxValueSize = 4000;
|
|
@@ -66,14 +66,78 @@ class AdaTestnet extends Testnet {
|
|
|
66
66
|
this.stakeKeyDeposit = 2000000;
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
+
class Apt extends Mainnet {
|
|
70
|
+
constructor() {
|
|
71
|
+
super(...arguments);
|
|
72
|
+
this.name = 'Apt';
|
|
73
|
+
this.family = base_1.CoinFamily.APT;
|
|
74
|
+
this.explorerUrl = 'https://explorer.aptoslabs.com/?network=mainnet';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
class AptTestnet extends Testnet {
|
|
78
|
+
constructor() {
|
|
79
|
+
super(...arguments);
|
|
80
|
+
this.name = 'Testnet Apt';
|
|
81
|
+
this.family = base_1.CoinFamily.APT;
|
|
82
|
+
this.explorerUrl = 'https://explorer.aptoslabs.com/?network=testnet';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
class Icp extends Mainnet {
|
|
86
|
+
constructor() {
|
|
87
|
+
super(...arguments);
|
|
88
|
+
this.name = 'Internet Computer';
|
|
89
|
+
this.family = base_1.CoinFamily.ICP;
|
|
90
|
+
this.explorerUrl = 'https://www.icpexplorer.org'; //TODO(WIN-4242): update to the prod rosetta explorer url
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
class IcpTestnet extends Testnet {
|
|
94
|
+
constructor() {
|
|
95
|
+
super(...arguments);
|
|
96
|
+
this.name = 'Testnet Internet Computer';
|
|
97
|
+
this.family = base_1.CoinFamily.ICP;
|
|
98
|
+
this.explorerUrl = 'https://www.icpexplorer.org'; //TODO(WIN-4242): update to the test rosetta explorer url
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
class Arbitrum extends Mainnet {
|
|
102
|
+
constructor() {
|
|
103
|
+
super(...arguments);
|
|
104
|
+
this.name = 'Arbitrum';
|
|
105
|
+
this.family = base_1.CoinFamily.ARBETH;
|
|
106
|
+
this.explorerUrl = 'https://arbiscan.io/tx/';
|
|
107
|
+
this.accountExplorerUrl = 'https://arbiscan.io/address/';
|
|
108
|
+
this.chainId = 42161;
|
|
109
|
+
this.nativeCoinOperationHashPrefix = '42161';
|
|
110
|
+
this.tokenOperationHashPrefix = '42161-ERC20';
|
|
111
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
112
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
113
|
+
this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
|
|
114
|
+
this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
class ArbitrumTestnet extends Testnet {
|
|
118
|
+
constructor() {
|
|
119
|
+
super(...arguments);
|
|
120
|
+
this.name = 'ArbitrumTestnet';
|
|
121
|
+
this.family = base_1.CoinFamily.ARBETH;
|
|
122
|
+
this.explorerUrl = 'https://sepolia.arbiscan.io/tx/';
|
|
123
|
+
this.accountExplorerUrl = 'https://sepolia.arbiscan.io/address/';
|
|
124
|
+
this.chainId = 421614;
|
|
125
|
+
this.nativeCoinOperationHashPrefix = '421614';
|
|
126
|
+
this.tokenOperationHashPrefix = '421614-ERC20';
|
|
127
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
128
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
129
|
+
this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
|
|
130
|
+
this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
|
|
131
|
+
}
|
|
132
|
+
}
|
|
69
133
|
class AvalancheC extends Mainnet {
|
|
70
134
|
constructor() {
|
|
71
135
|
super(...arguments);
|
|
72
136
|
// https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
|
|
73
137
|
this.name = 'AvalancheC';
|
|
74
138
|
this.family = base_1.CoinFamily.AVAXC;
|
|
75
|
-
this.explorerUrl = 'https://
|
|
76
|
-
this.accountExplorerUrl = 'https://
|
|
139
|
+
this.explorerUrl = 'https://subnets.avax.network/c-chain/tx/';
|
|
140
|
+
this.accountExplorerUrl = 'https://subnets.avax.network/c-chain/address/';
|
|
77
141
|
this.chainId = 43114;
|
|
78
142
|
}
|
|
79
143
|
}
|
|
@@ -83,8 +147,8 @@ class AvalancheCTestnet extends Testnet {
|
|
|
83
147
|
// https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
|
|
84
148
|
this.name = 'AvalancheCTestnet';
|
|
85
149
|
this.family = base_1.CoinFamily.AVAXC;
|
|
86
|
-
this.explorerUrl = 'https://
|
|
87
|
-
this.accountExplorerUrl = 'https://
|
|
150
|
+
this.explorerUrl = 'https://subnets-test.avax.network/c-chain/tx/';
|
|
151
|
+
this.accountExplorerUrl = 'https://subnets-test.avax.network/c-chain/address/';
|
|
88
152
|
this.chainId = 43113;
|
|
89
153
|
}
|
|
90
154
|
}
|
|
@@ -103,6 +167,7 @@ class AvalancheP extends Mainnet {
|
|
|
103
167
|
this.alias = 'P';
|
|
104
168
|
this.vm = 'platformvm';
|
|
105
169
|
this.txFee = '1000000'; // 1 MILLIAVAX
|
|
170
|
+
this.maxImportFee = '10000000'; // 0.01 AVAX
|
|
106
171
|
this.createSubnetTx = '1000000000'; // 1 AVAX
|
|
107
172
|
this.createChainTx = '1000000000'; // 1 AVAX
|
|
108
173
|
this.creationTxFee = '10000000'; // 1 CENTIAVAX
|
|
@@ -131,6 +196,7 @@ class AvalanchePTestnet extends Testnet {
|
|
|
131
196
|
this.hrp = 'fuji';
|
|
132
197
|
this.vm = 'platformvm';
|
|
133
198
|
this.txFee = '1000000'; // 1 MILLIAVAX
|
|
199
|
+
this.maxImportFee = '10000000'; // 0.01 AVAX
|
|
134
200
|
this.createSubnetTx = '1000000000'; // 1 AVAX
|
|
135
201
|
this.createChainTx = '1000000000'; // 1 AVAX
|
|
136
202
|
this.creationTxFee = '10000000'; // 1 CENTIAVAX
|
|
@@ -152,6 +218,9 @@ class BinanceSmartChain extends Mainnet {
|
|
|
152
218
|
this.explorerUrl = 'https://www.bscscan.com/tx/';
|
|
153
219
|
this.accountExplorerUrl = 'https://www.bscscan.com/address/';
|
|
154
220
|
this.chainId = 56;
|
|
221
|
+
this.nativeCoinOperationHashPrefix = '56';
|
|
222
|
+
this.tokenOperationHashPrefix = '56-ERC20';
|
|
223
|
+
this.batcherContractAddress = '0xb1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d';
|
|
155
224
|
}
|
|
156
225
|
}
|
|
157
226
|
class BinanceSmartChainTestnet extends Testnet {
|
|
@@ -162,6 +231,29 @@ class BinanceSmartChainTestnet extends Testnet {
|
|
|
162
231
|
this.explorerUrl = 'https://testnet.bscscan.com/tx/';
|
|
163
232
|
this.accountExplorerUrl = 'https://testnet.bscscan.com/address/';
|
|
164
233
|
this.chainId = 97;
|
|
234
|
+
this.nativeCoinOperationHashPrefix = '97';
|
|
235
|
+
this.tokenOperationHashPrefix = '97-ERC20';
|
|
236
|
+
this.batcherContractAddress = '0x6faf4b6bae3d4bf20c5d866c938f51992c63e825';
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
class LightningBitcoin extends Mainnet {
|
|
240
|
+
constructor() {
|
|
241
|
+
super(...arguments);
|
|
242
|
+
this.name = 'LightningBitcoin';
|
|
243
|
+
this.family = base_1.CoinFamily.LNBTC;
|
|
244
|
+
this.utxolibName = 'bitcoin';
|
|
245
|
+
this.explorerUrl = 'https://mempool.space/lightning';
|
|
246
|
+
this.lightningServicePubKey = '0338508686f978ceffd7ce05404041b1a5b4f75a39bc92a6d355240ccc081f763e';
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
class LightningBitcoinTestnet extends Testnet {
|
|
250
|
+
constructor() {
|
|
251
|
+
super(...arguments);
|
|
252
|
+
this.name = 'LightningBitcoinTestnet';
|
|
253
|
+
this.family = base_1.CoinFamily.LNBTC;
|
|
254
|
+
this.utxolibName = 'testnet';
|
|
255
|
+
this.explorerUrl = 'https://mempool.space/testnet/lightning';
|
|
256
|
+
this.lightningServicePubKey = '024055021db1e7f019ebb783ab0b0810c21a819207d4cb1ec4a6e2150ac07f1482';
|
|
165
257
|
}
|
|
166
258
|
}
|
|
167
259
|
class Bitcoin extends Mainnet {
|
|
@@ -182,6 +274,33 @@ class BitcoinTestnet extends Testnet {
|
|
|
182
274
|
this.explorerUrl = 'https://mempool.space/testnet/tx/';
|
|
183
275
|
}
|
|
184
276
|
}
|
|
277
|
+
class BitcoinPublicSignet extends Testnet {
|
|
278
|
+
constructor() {
|
|
279
|
+
super(...arguments);
|
|
280
|
+
this.name = 'BitcoinPublicSignet';
|
|
281
|
+
this.family = base_1.CoinFamily.BTC;
|
|
282
|
+
this.utxolibName = 'bitcoinPublicSignet';
|
|
283
|
+
this.explorerUrl = 'https://mempool.space/signet/tx/';
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
class BitcoinTestnet4 extends Testnet {
|
|
287
|
+
constructor() {
|
|
288
|
+
super(...arguments);
|
|
289
|
+
this.name = 'BitcoinTestnet4';
|
|
290
|
+
this.family = base_1.CoinFamily.BTC;
|
|
291
|
+
this.utxolibName = 'bitcoinTestnet4';
|
|
292
|
+
this.explorerUrl = 'https://mempool.space/testnet4/tx/';
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
class BitcoinBitGoSignet extends Testnet {
|
|
296
|
+
constructor() {
|
|
297
|
+
super(...arguments);
|
|
298
|
+
this.name = 'BitcoinBitGoSignet';
|
|
299
|
+
this.family = base_1.CoinFamily.BTC;
|
|
300
|
+
this.utxolibName = 'bitcoinBitGoSignet';
|
|
301
|
+
this.explorerUrl = 'https://mempool.space/notanetwork/tx/';
|
|
302
|
+
}
|
|
303
|
+
}
|
|
185
304
|
class BitcoinCash extends Mainnet {
|
|
186
305
|
constructor() {
|
|
187
306
|
super(...arguments);
|
|
@@ -197,7 +316,7 @@ class BitcoinCashTestnet extends Testnet {
|
|
|
197
316
|
this.name = 'BitcoinCashTestnet';
|
|
198
317
|
this.family = base_1.CoinFamily.BCH;
|
|
199
318
|
this.utxolibName = 'bitcoincashTestnet';
|
|
200
|
-
this.explorerUrl = 'https://
|
|
319
|
+
this.explorerUrl = 'https://tbch.loping.net/tx/';
|
|
201
320
|
}
|
|
202
321
|
}
|
|
203
322
|
class BitcoinSV extends Mainnet {
|
|
@@ -311,9 +430,9 @@ class PolkadotTestnet extends Testnet {
|
|
|
311
430
|
this.explorerUrl = 'https://westend.subscan.io/extrinsic/';
|
|
312
431
|
this.specName = 'westend';
|
|
313
432
|
this.genesisHash = '0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e';
|
|
314
|
-
this.specVersion =
|
|
433
|
+
this.specVersion = 9430;
|
|
315
434
|
this.chainName = 'Westend';
|
|
316
|
-
this.txVersion =
|
|
435
|
+
this.txVersion = 22;
|
|
317
436
|
}
|
|
318
437
|
}
|
|
319
438
|
class Celo extends Mainnet {
|
|
@@ -324,6 +443,8 @@ class Celo extends Mainnet {
|
|
|
324
443
|
this.explorerUrl = 'https://explorer.celo.org/tx/';
|
|
325
444
|
this.accountExplorerUrl = 'https://explorer.celo.org/address/';
|
|
326
445
|
this.chainId = 42220;
|
|
446
|
+
this.nativeCoinOperationHashPrefix = 'CELO';
|
|
447
|
+
this.tokenOperationHashPrefix = 'CELO-ERC20';
|
|
327
448
|
}
|
|
328
449
|
}
|
|
329
450
|
class CeloTestnet extends Testnet {
|
|
@@ -334,6 +455,8 @@ class CeloTestnet extends Testnet {
|
|
|
334
455
|
this.explorerUrl = 'https://alfajores-blockscout.celo-testnet.org/tx/';
|
|
335
456
|
this.accountExplorerUrl = 'https://alfajores-blockscout.celo-testnet.org/address/';
|
|
336
457
|
this.chainId = 44787;
|
|
458
|
+
this.nativeCoinOperationHashPrefix = 'CELO';
|
|
459
|
+
this.tokenOperationHashPrefix = 'CELO-ERC20';
|
|
337
460
|
}
|
|
338
461
|
}
|
|
339
462
|
// TODO update explorerUrl STLX-1657
|
|
@@ -362,11 +485,14 @@ class Ethereum extends Mainnet {
|
|
|
362
485
|
this.family = base_1.CoinFamily.ETH;
|
|
363
486
|
this.explorerUrl = 'https://etherscan.io/tx/';
|
|
364
487
|
this.accountExplorerUrl = 'https://etherscan.io/address/';
|
|
488
|
+
this.blockExplorerUrl = 'https://etherscan.io/block/';
|
|
365
489
|
// from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
|
|
366
490
|
this.chainId = 1;
|
|
367
|
-
this.batcherContractAddress = '
|
|
491
|
+
this.batcherContractAddress = '0xb1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d';
|
|
368
492
|
this.forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
|
|
369
493
|
this.forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
|
|
494
|
+
this.nativeCoinOperationHashPrefix = 'ETHER';
|
|
495
|
+
this.tokenOperationHashPrefix = 'ERC20';
|
|
370
496
|
}
|
|
371
497
|
}
|
|
372
498
|
class Ethereum2 extends Mainnet {
|
|
@@ -389,6 +515,8 @@ class EthereumW extends Mainnet {
|
|
|
389
515
|
this.batcherContractAddress = '';
|
|
390
516
|
this.forwarderFactoryAddress = '';
|
|
391
517
|
this.forwarderImplementationAddress = '';
|
|
518
|
+
this.nativeCoinOperationHashPrefix = 'ETHER';
|
|
519
|
+
this.tokenOperationHashPrefix = 'ERC20';
|
|
392
520
|
}
|
|
393
521
|
}
|
|
394
522
|
class Pyrmont extends Testnet {
|
|
@@ -412,6 +540,8 @@ class Kovan extends Testnet {
|
|
|
412
540
|
this.batcherContractAddress = '0xc0aaf2649e7b0f3950164681eca2b1a8f654a478';
|
|
413
541
|
this.forwarderFactoryAddress = '0xa79a485294d226075ee65410bc94ea454f3e409d';
|
|
414
542
|
this.forwarderImplementationAddress = '0xa946e748f25a5ec6878eb1a9f2e902028174c0b3';
|
|
543
|
+
this.nativeCoinOperationHashPrefix = 'ETHER';
|
|
544
|
+
this.tokenOperationHashPrefix = 'ERC20';
|
|
415
545
|
}
|
|
416
546
|
}
|
|
417
547
|
class Goerli extends Testnet {
|
|
@@ -421,11 +551,31 @@ class Goerli extends Testnet {
|
|
|
421
551
|
this.family = base_1.CoinFamily.ETH;
|
|
422
552
|
this.explorerUrl = 'https://goerli.etherscan.io/tx/';
|
|
423
553
|
this.accountExplorerUrl = 'https://goerli.etherscan.io/address/';
|
|
554
|
+
this.blockExplorerUrl = 'https://goerli.etherscan.io/block/';
|
|
424
555
|
// from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
|
|
425
556
|
this.chainId = 5;
|
|
426
557
|
this.batcherContractAddress = '0xe8e847cf573fc8ed75621660a36affd18c543d7e';
|
|
427
558
|
this.forwarderFactoryAddress = '0xf5caa5e3e93afbc21bd19ef4f2691a37121f7917';
|
|
428
559
|
this.forwarderImplementationAddress = '0x80d5c91e8cc21df69fc4d64f21dc2d83121c3999';
|
|
560
|
+
this.nativeCoinOperationHashPrefix = 'ETHER';
|
|
561
|
+
this.tokenOperationHashPrefix = 'ERC20';
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
class Holesky extends Testnet {
|
|
565
|
+
constructor() {
|
|
566
|
+
super(...arguments);
|
|
567
|
+
this.name = 'Holesky';
|
|
568
|
+
this.family = base_1.CoinFamily.ETH;
|
|
569
|
+
this.explorerUrl = 'https://holesky.etherscan.io/tx/';
|
|
570
|
+
this.accountExplorerUrl = 'https://holesky.etherscan.io/address/';
|
|
571
|
+
this.blockExplorerUrl = 'https://holesky.etherscan.io/block/';
|
|
572
|
+
// https://chainlist.org/chain/17000
|
|
573
|
+
this.chainId = 17000;
|
|
574
|
+
this.batcherContractAddress = '0xb1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d';
|
|
575
|
+
this.forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
|
|
576
|
+
this.forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
|
|
577
|
+
this.nativeCoinOperationHashPrefix = 'ETHER';
|
|
578
|
+
this.tokenOperationHashPrefix = 'ERC20';
|
|
429
579
|
}
|
|
430
580
|
}
|
|
431
581
|
class EthereumClassic extends Mainnet {
|
|
@@ -437,6 +587,8 @@ class EthereumClassic extends Mainnet {
|
|
|
437
587
|
this.accountExplorerUrl = 'https://blockscout.com/etc/mainnet/address/';
|
|
438
588
|
// from https://chainid.network/chains/
|
|
439
589
|
this.chainId = 61;
|
|
590
|
+
this.nativeCoinOperationHashPrefix = 'ETC';
|
|
591
|
+
this.tokenOperationHashPrefix = 'ETC-ERC20';
|
|
440
592
|
}
|
|
441
593
|
}
|
|
442
594
|
class EthereumClassicTestnet extends Testnet {
|
|
@@ -448,6 +600,8 @@ class EthereumClassicTestnet extends Testnet {
|
|
|
448
600
|
this.accountExplorerUrl = 'https://blockscout.com/etc/mordor/address/';
|
|
449
601
|
// from https://chainid.network/chains/
|
|
450
602
|
this.chainId = 63;
|
|
603
|
+
this.nativeCoinOperationHashPrefix = 'ETC';
|
|
604
|
+
this.tokenOperationHashPrefix = 'ETC-ERC20';
|
|
451
605
|
}
|
|
452
606
|
}
|
|
453
607
|
class Eos extends Mainnet {
|
|
@@ -471,7 +625,7 @@ class Hedera extends Mainnet {
|
|
|
471
625
|
super(...arguments);
|
|
472
626
|
this.name = 'Hedera';
|
|
473
627
|
this.family = base_1.CoinFamily.HBAR;
|
|
474
|
-
this.explorerUrl = 'https://
|
|
628
|
+
this.explorerUrl = 'https://hashscan.io/mainnet/transaction/';
|
|
475
629
|
}
|
|
476
630
|
}
|
|
477
631
|
class HederaTestnet extends Testnet {
|
|
@@ -479,7 +633,7 @@ class HederaTestnet extends Testnet {
|
|
|
479
633
|
super(...arguments);
|
|
480
634
|
this.name = 'HederaTestnet';
|
|
481
635
|
this.family = base_1.CoinFamily.HBAR;
|
|
482
|
-
this.explorerUrl = 'https://
|
|
636
|
+
this.explorerUrl = 'https://testnet.dragonglass.me/hedera/search?q=';
|
|
483
637
|
}
|
|
484
638
|
}
|
|
485
639
|
class Litecoin extends Mainnet {
|
|
@@ -524,6 +678,8 @@ class Rbtc extends Mainnet {
|
|
|
524
678
|
this.explorerUrl = 'https://explorer.rsk.co/tx/';
|
|
525
679
|
this.accountExplorerUrl = 'https://explorer.rsk.co/address/';
|
|
526
680
|
this.chainId = 30;
|
|
681
|
+
this.nativeCoinOperationHashPrefix = 'RSK';
|
|
682
|
+
this.tokenOperationHashPrefix = 'RSK-ERC20';
|
|
527
683
|
}
|
|
528
684
|
}
|
|
529
685
|
class RbtcTestnet extends Testnet {
|
|
@@ -534,6 +690,8 @@ class RbtcTestnet extends Testnet {
|
|
|
534
690
|
this.explorerUrl = 'https://explorer.testnet.rsk.co/tx/';
|
|
535
691
|
this.accountExplorerUrl = 'https://explorer.testnet.rsk.co/address/';
|
|
536
692
|
this.chainId = 31;
|
|
693
|
+
this.nativeCoinOperationHashPrefix = 'RSK';
|
|
694
|
+
this.tokenOperationHashPrefix = 'RSK-ERC20';
|
|
537
695
|
}
|
|
538
696
|
}
|
|
539
697
|
class Stellar extends Mainnet {
|
|
@@ -589,7 +747,7 @@ class Atom extends Mainnet {
|
|
|
589
747
|
super(...arguments);
|
|
590
748
|
this.name = 'Cosmos Hub ATOM';
|
|
591
749
|
this.family = base_1.CoinFamily.ATOM;
|
|
592
|
-
this.explorerUrl = 'https://
|
|
750
|
+
this.explorerUrl = 'https://www.mintscan.io/cosmos/tx/';
|
|
593
751
|
}
|
|
594
752
|
}
|
|
595
753
|
class AtomTestnet extends Testnet {
|
|
@@ -597,7 +755,7 @@ class AtomTestnet extends Testnet {
|
|
|
597
755
|
super(...arguments);
|
|
598
756
|
this.name = 'Testnet Cosmos Hub ATOM';
|
|
599
757
|
this.family = base_1.CoinFamily.ATOM;
|
|
600
|
-
this.explorerUrl = 'https://explorer.
|
|
758
|
+
this.explorerUrl = 'https://explorer.polypore.xyz/provider/tx/';
|
|
601
759
|
}
|
|
602
760
|
}
|
|
603
761
|
class Osmo extends Mainnet {
|
|
@@ -621,8 +779,7 @@ class Tia extends Mainnet {
|
|
|
621
779
|
super(...arguments);
|
|
622
780
|
this.name = 'Celestia';
|
|
623
781
|
this.family = base_1.CoinFamily.TIA;
|
|
624
|
-
|
|
625
|
-
this.explorerUrl = 'https://testnet.mintscan.io/celestia-testnet/txs/';
|
|
782
|
+
this.explorerUrl = 'https://www.mintscan.io/celestia/tx/';
|
|
626
783
|
}
|
|
627
784
|
}
|
|
628
785
|
class TiaTestnet extends Testnet {
|
|
@@ -630,7 +787,7 @@ class TiaTestnet extends Testnet {
|
|
|
630
787
|
super(...arguments);
|
|
631
788
|
this.name = 'Testnet Celestia';
|
|
632
789
|
this.family = base_1.CoinFamily.TIA;
|
|
633
|
-
this.explorerUrl = 'https://testnet.
|
|
790
|
+
this.explorerUrl = 'https://testnet.celestia.explorers.guru/transaction/';
|
|
634
791
|
}
|
|
635
792
|
}
|
|
636
793
|
class Hash extends Mainnet {
|
|
@@ -638,7 +795,7 @@ class Hash extends Mainnet {
|
|
|
638
795
|
super(...arguments);
|
|
639
796
|
this.name = 'Provenance';
|
|
640
797
|
this.family = base_1.CoinFamily.HASH;
|
|
641
|
-
this.explorerUrl = 'https://
|
|
798
|
+
this.explorerUrl = 'https://www.mintscan.io/provenance/tx/';
|
|
642
799
|
}
|
|
643
800
|
}
|
|
644
801
|
class HashTestnet extends Testnet {
|
|
@@ -662,7 +819,7 @@ class BldTestnet extends Testnet {
|
|
|
662
819
|
super(...arguments);
|
|
663
820
|
this.name = 'Testnet Agoric';
|
|
664
821
|
this.family = base_1.CoinFamily.BLD;
|
|
665
|
-
this.explorerUrl = 'https://
|
|
822
|
+
this.explorerUrl = 'https://emerynet.explorer.agoric.net/agoric/tx/';
|
|
666
823
|
}
|
|
667
824
|
}
|
|
668
825
|
class Sei extends Mainnet {
|
|
@@ -670,8 +827,7 @@ class Sei extends Mainnet {
|
|
|
670
827
|
super(...arguments);
|
|
671
828
|
this.name = 'Sei';
|
|
672
829
|
this.family = base_1.CoinFamily.SEI;
|
|
673
|
-
|
|
674
|
-
this.explorerUrl = 'https://sei.explorers.guru/transaction/';
|
|
830
|
+
this.explorerUrl = 'https://seistream.app/transactions/';
|
|
675
831
|
}
|
|
676
832
|
}
|
|
677
833
|
class SeiTestnet extends Testnet {
|
|
@@ -679,7 +835,23 @@ class SeiTestnet extends Testnet {
|
|
|
679
835
|
super(...arguments);
|
|
680
836
|
this.name = 'Testnet Sei';
|
|
681
837
|
this.family = base_1.CoinFamily.SEI;
|
|
682
|
-
this.explorerUrl = 'https://
|
|
838
|
+
this.explorerUrl = 'https://www.mintscan.io/sei/tx/';
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
class Zeta extends Mainnet {
|
|
842
|
+
constructor() {
|
|
843
|
+
super(...arguments);
|
|
844
|
+
this.name = 'Zeta';
|
|
845
|
+
this.family = base_1.CoinFamily.ZETA;
|
|
846
|
+
this.explorerUrl = 'https://explorer.zetachain.com/cosmos/tx/';
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
class ZetaTestnet extends Testnet {
|
|
850
|
+
constructor() {
|
|
851
|
+
super(...arguments);
|
|
852
|
+
this.name = 'Testnet Zeta';
|
|
853
|
+
this.family = base_1.CoinFamily.ZETA;
|
|
854
|
+
this.explorerUrl = 'https://athens.explorer.zetachain.com/cosmos/tx/';
|
|
683
855
|
}
|
|
684
856
|
}
|
|
685
857
|
class Injective extends Mainnet {
|
|
@@ -687,7 +859,7 @@ class Injective extends Mainnet {
|
|
|
687
859
|
super(...arguments);
|
|
688
860
|
this.name = 'Injective';
|
|
689
861
|
this.family = base_1.CoinFamily.INJECTIVE;
|
|
690
|
-
this.explorerUrl = 'https://
|
|
862
|
+
this.explorerUrl = 'https://www.mintscan.io/injective/tx/';
|
|
691
863
|
}
|
|
692
864
|
}
|
|
693
865
|
class InjectiveTestnet extends Testnet {
|
|
@@ -698,6 +870,102 @@ class InjectiveTestnet extends Testnet {
|
|
|
698
870
|
this.explorerUrl = 'https://testnet.explorer.injective.network/transaction/';
|
|
699
871
|
}
|
|
700
872
|
}
|
|
873
|
+
class Kava extends Mainnet {
|
|
874
|
+
constructor() {
|
|
875
|
+
super(...arguments);
|
|
876
|
+
this.name = 'Kava';
|
|
877
|
+
this.family = base_1.CoinFamily.KAVA;
|
|
878
|
+
this.explorerUrl = 'https://www.mintscan.io/kava/transactions/';
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
class KavaTestnet extends Testnet {
|
|
882
|
+
constructor() {
|
|
883
|
+
super(...arguments);
|
|
884
|
+
this.name = 'KavaTestnet';
|
|
885
|
+
this.family = base_1.CoinFamily.KAVA;
|
|
886
|
+
this.explorerUrl = 'https://testnet.mintscan.io/kava-testnet/txs/';
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
class Ton extends Mainnet {
|
|
890
|
+
constructor() {
|
|
891
|
+
super(...arguments);
|
|
892
|
+
this.name = 'Ton';
|
|
893
|
+
this.family = base_1.CoinFamily.TON;
|
|
894
|
+
this.explorerUrl = 'https://tonscan.org/tx/';
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
class TonTestnet extends Testnet {
|
|
898
|
+
constructor() {
|
|
899
|
+
super(...arguments);
|
|
900
|
+
this.name = 'Testnet Ton';
|
|
901
|
+
this.family = base_1.CoinFamily.TON;
|
|
902
|
+
this.explorerUrl = 'https://testnet.tonscan.org/tx/';
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
class Coreum extends Mainnet {
|
|
906
|
+
constructor() {
|
|
907
|
+
super(...arguments);
|
|
908
|
+
this.name = 'Coreum';
|
|
909
|
+
this.family = base_1.CoinFamily.COREUM;
|
|
910
|
+
this.explorerUrl = 'https://www.mintscan.io/coreum/tx/';
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
class CoreumTestnet extends Testnet {
|
|
914
|
+
constructor() {
|
|
915
|
+
super(...arguments);
|
|
916
|
+
this.name = 'CoreumTestnet';
|
|
917
|
+
this.family = base_1.CoinFamily.COREUM;
|
|
918
|
+
this.explorerUrl = 'https://explorer.testnet-1.coreum.dev/coreum/transactions/';
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
class Rune extends Mainnet {
|
|
922
|
+
constructor() {
|
|
923
|
+
super(...arguments);
|
|
924
|
+
this.name = 'Rune';
|
|
925
|
+
this.family = base_1.CoinFamily.THOR;
|
|
926
|
+
this.explorerUrl = 'https://runescan.io/tx/';
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
class RuneTestNet extends Testnet {
|
|
930
|
+
constructor() {
|
|
931
|
+
super(...arguments);
|
|
932
|
+
this.name = 'RuneTestNet';
|
|
933
|
+
this.family = base_1.CoinFamily.THOR;
|
|
934
|
+
this.explorerUrl = 'https://runescan.io/tx/?network=stagenet';
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
class Baby extends Mainnet {
|
|
938
|
+
constructor() {
|
|
939
|
+
super(...arguments);
|
|
940
|
+
this.name = 'Babylon';
|
|
941
|
+
this.family = base_1.CoinFamily.BABY;
|
|
942
|
+
this.explorerUrl = 'https://babylon.explorers.guru/transaction/';
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
class BabyTestnet extends Testnet {
|
|
946
|
+
constructor() {
|
|
947
|
+
super(...arguments);
|
|
948
|
+
this.name = 'Testnet Babylon';
|
|
949
|
+
this.family = base_1.CoinFamily.BABY;
|
|
950
|
+
this.explorerUrl = 'https://testnet.babylon.explorers.guru/transaction/';
|
|
951
|
+
}
|
|
952
|
+
}
|
|
953
|
+
class Islm extends Mainnet {
|
|
954
|
+
constructor() {
|
|
955
|
+
super(...arguments);
|
|
956
|
+
this.name = 'Haqq';
|
|
957
|
+
this.family = base_1.CoinFamily.ISLM;
|
|
958
|
+
this.explorerUrl = 'https://ping.pub/haqq/tx/';
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
class IslmTestnet extends Testnet {
|
|
962
|
+
constructor() {
|
|
963
|
+
super(...arguments);
|
|
964
|
+
this.name = 'HaqqTestnet';
|
|
965
|
+
this.family = base_1.CoinFamily.ISLM;
|
|
966
|
+
this.explorerUrl = 'https://testnet.ping.pub/haqq/tx/';
|
|
967
|
+
}
|
|
968
|
+
}
|
|
701
969
|
class Stx extends Mainnet {
|
|
702
970
|
constructor() {
|
|
703
971
|
super(...arguments);
|
|
@@ -750,11 +1018,28 @@ class Fiat extends Mainnet {
|
|
|
750
1018
|
this.explorerUrl = undefined;
|
|
751
1019
|
}
|
|
752
1020
|
}
|
|
1021
|
+
class Bittensor extends Mainnet {
|
|
1022
|
+
constructor() {
|
|
1023
|
+
super(...arguments);
|
|
1024
|
+
this.name = 'Tao';
|
|
1025
|
+
this.family = base_1.CoinFamily.TAO;
|
|
1026
|
+
this.explorerUrl = 'https://taostats.io/evm/tx/';
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
class BittensorTestnet extends Testnet {
|
|
1030
|
+
constructor() {
|
|
1031
|
+
super(...arguments);
|
|
1032
|
+
this.name = 'Testnet Tao';
|
|
1033
|
+
this.family = base_1.CoinFamily.TAO;
|
|
1034
|
+
this.explorerUrl = 'https://explorer.finney.opentensor.ai/#/';
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
753
1037
|
class Trx extends Mainnet {
|
|
754
1038
|
constructor() {
|
|
755
1039
|
super(...arguments);
|
|
756
1040
|
this.name = 'Trx';
|
|
757
1041
|
this.family = base_1.CoinFamily.TRX;
|
|
1042
|
+
this.accountExplorerUrl = 'https://tronscan.org/#/address/';
|
|
758
1043
|
this.explorerUrl = 'https://tronscan.org/#/transaction/';
|
|
759
1044
|
this.maxFeeLimit = '5000000000';
|
|
760
1045
|
this.contractCallFeeLimit = '100000000';
|
|
@@ -765,6 +1050,7 @@ class TrxTestnet extends Testnet {
|
|
|
765
1050
|
super(...arguments);
|
|
766
1051
|
this.name = 'TrxTestnet';
|
|
767
1052
|
this.family = base_1.CoinFamily.TRX;
|
|
1053
|
+
this.accountExplorerUrl = 'https://shasta.tronscan.org/#/address/';
|
|
768
1054
|
this.explorerUrl = 'https://shasta.tronscan.org/#/transaction/';
|
|
769
1055
|
this.maxFeeLimit = '5000000000';
|
|
770
1056
|
this.contractCallFeeLimit = '100000000';
|
|
@@ -783,7 +1069,7 @@ class XrpTestnet extends Testnet {
|
|
|
783
1069
|
super(...arguments);
|
|
784
1070
|
this.name = 'XrpTestnet';
|
|
785
1071
|
this.family = base_1.CoinFamily.XRP;
|
|
786
|
-
this.explorerUrl = 'https://test.
|
|
1072
|
+
this.explorerUrl = 'https://test.xrplexplorer.com/explorer/';
|
|
787
1073
|
}
|
|
788
1074
|
}
|
|
789
1075
|
class Xtz extends Mainnet {
|
|
@@ -792,6 +1078,7 @@ class Xtz extends Mainnet {
|
|
|
792
1078
|
this.name = 'Xtz';
|
|
793
1079
|
this.family = base_1.CoinFamily.XTZ;
|
|
794
1080
|
this.explorerUrl = 'https://tzstats.com/';
|
|
1081
|
+
this.accountExplorerUrl = 'https://tzstats.com/';
|
|
795
1082
|
}
|
|
796
1083
|
}
|
|
797
1084
|
class XtzTestnet extends Testnet {
|
|
@@ -799,7 +1086,8 @@ class XtzTestnet extends Testnet {
|
|
|
799
1086
|
super(...arguments);
|
|
800
1087
|
this.name = 'XtzTestnet';
|
|
801
1088
|
this.family = base_1.CoinFamily.XTZ;
|
|
802
|
-
this.explorerUrl = 'https://
|
|
1089
|
+
this.explorerUrl = 'https://ghostnet.tzkt.io/';
|
|
1090
|
+
this.accountExplorerUrl = 'https://ghostnet.tzkt.io/';
|
|
803
1091
|
}
|
|
804
1092
|
}
|
|
805
1093
|
class ZCash extends Mainnet {
|
|
@@ -825,7 +1113,7 @@ class Near extends Mainnet {
|
|
|
825
1113
|
super(...arguments);
|
|
826
1114
|
this.name = 'Near';
|
|
827
1115
|
this.family = base_1.CoinFamily.NEAR;
|
|
828
|
-
this.explorerUrl = 'https://
|
|
1116
|
+
this.explorerUrl = 'https://nearblocks.io/txns/';
|
|
829
1117
|
this.feeReserve = '50000000000000000000000';
|
|
830
1118
|
this.storageReserve = '2000000000000000000000'; // feeReserve + storageReserve is minimum account balance for a NEAR wallet https://docs.near.org/integrator/faq#is-there-a-minimum-account-balance
|
|
831
1119
|
}
|
|
@@ -835,7 +1123,7 @@ class NearTestnet extends Testnet {
|
|
|
835
1123
|
super(...arguments);
|
|
836
1124
|
this.name = 'NearTestnet';
|
|
837
1125
|
this.family = base_1.CoinFamily.NEAR;
|
|
838
|
-
this.explorerUrl = 'https://
|
|
1126
|
+
this.explorerUrl = 'https://testnet.nearblocks.io/txns/';
|
|
839
1127
|
this.feeReserve = '50000000000000000000000';
|
|
840
1128
|
this.storageReserve = '2000000000000000000000'; // feeReserve + storageReserve is minimum account balance for a NEAR wallet https://docs.near.org/integrator/faq#is-there-a-minimum-account-balance
|
|
841
1129
|
}
|
|
@@ -852,7 +1140,9 @@ class Polygon extends Mainnet {
|
|
|
852
1140
|
this.forwarderImplementationAddress = '0x5397d0869aba0d55e96d5716d383f6e1d8695ed7';
|
|
853
1141
|
this.walletFactoryAddress = '0xa7198f48c58e91f01317e70cd24c5cce475c1555';
|
|
854
1142
|
this.walletImplementationAddress = '0xe5dcdc13b628c2df813db1080367e929c1507ca0';
|
|
855
|
-
this.batcherContractAddress = '
|
|
1143
|
+
this.batcherContractAddress = '0xb1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d';
|
|
1144
|
+
this.nativeCoinOperationHashPrefix = 'POLYGON';
|
|
1145
|
+
this.tokenOperationHashPrefix = 'POLYGON-ERC20';
|
|
856
1146
|
}
|
|
857
1147
|
}
|
|
858
1148
|
class PolygonTestnet extends Testnet {
|
|
@@ -860,31 +1150,306 @@ class PolygonTestnet extends Testnet {
|
|
|
860
1150
|
super(...arguments);
|
|
861
1151
|
this.name = 'PolygonTestnet';
|
|
862
1152
|
this.family = base_1.CoinFamily.POLYGON;
|
|
863
|
-
this.explorerUrl = 'https://
|
|
864
|
-
this.accountExplorerUrl = 'https://
|
|
865
|
-
this.chainId =
|
|
866
|
-
this.forwarderFactoryAddress = '
|
|
867
|
-
this.forwarderImplementationAddress = '
|
|
868
|
-
this.walletFactoryAddress = '
|
|
869
|
-
this.walletImplementationAddress = '
|
|
870
|
-
this.batcherContractAddress = '
|
|
1153
|
+
this.explorerUrl = 'https://amoy.polygonscan.com/tx/';
|
|
1154
|
+
this.accountExplorerUrl = 'https://amoy.polygonscan.com/address/';
|
|
1155
|
+
this.chainId = 80002;
|
|
1156
|
+
this.forwarderFactoryAddress = '0x23223fd7cfc5f34b20f38ebb9a489e1ff3c084d1';
|
|
1157
|
+
this.forwarderImplementationAddress = '0xd4c24325b5ef514fbb1ecc76a9bb4dcb57a8341e';
|
|
1158
|
+
this.walletFactoryAddress = '0xe9c16033e01bf9f94bf9f99fc0fefcfb8b124992';
|
|
1159
|
+
this.walletImplementationAddress = '0xf8360c213e4f44cce03e48cb9281254de2a7a566';
|
|
1160
|
+
this.batcherContractAddress = '0xb1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d';
|
|
1161
|
+
this.nativeCoinOperationHashPrefix = 'POLYGON';
|
|
1162
|
+
this.tokenOperationHashPrefix = 'POLYGON-ERC20';
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
class Optimism extends Mainnet {
|
|
1166
|
+
constructor() {
|
|
1167
|
+
super(...arguments);
|
|
1168
|
+
this.name = 'Optimism';
|
|
1169
|
+
this.family = base_1.CoinFamily.OPETH;
|
|
1170
|
+
this.explorerUrl = 'https://optimistic.etherscan.io/tx/';
|
|
1171
|
+
this.accountExplorerUrl = 'https://optimistic.etherscan.io/address/';
|
|
1172
|
+
this.chainId = 10;
|
|
1173
|
+
this.nativeCoinOperationHashPrefix = '10';
|
|
1174
|
+
this.tokenOperationHashPrefix = '10-ERC20';
|
|
1175
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1176
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1177
|
+
this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
|
|
1178
|
+
this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
class OptimismTestnet extends Testnet {
|
|
1182
|
+
constructor() {
|
|
1183
|
+
super(...arguments);
|
|
1184
|
+
this.name = 'OptimismTestnet';
|
|
1185
|
+
this.family = base_1.CoinFamily.OPETH;
|
|
1186
|
+
this.explorerUrl = 'https://sepolia-optimism.etherscan.io/tx/';
|
|
1187
|
+
this.accountExplorerUrl = 'https://sepolia-optimism.etherscan.io/address/';
|
|
1188
|
+
this.chainId = 11155420;
|
|
1189
|
+
this.nativeCoinOperationHashPrefix = '11155420';
|
|
1190
|
+
this.tokenOperationHashPrefix = '11155420-ERC20';
|
|
1191
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1192
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1193
|
+
this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
|
|
1194
|
+
this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
class ZkSync extends Mainnet {
|
|
1198
|
+
constructor() {
|
|
1199
|
+
super(...arguments);
|
|
1200
|
+
this.name = 'ZkSync';
|
|
1201
|
+
this.family = base_1.CoinFamily.ZKETH;
|
|
1202
|
+
this.explorerUrl = 'https://explorer.zksync.io/tx/';
|
|
1203
|
+
this.accountExplorerUrl = 'https://explorer.zksync.io/address/';
|
|
1204
|
+
this.chainId = 324;
|
|
1205
|
+
this.nativeCoinOperationHashPrefix = '324';
|
|
1206
|
+
this.tokenOperationHashPrefix = '324-ERC20';
|
|
1207
|
+
}
|
|
1208
|
+
}
|
|
1209
|
+
class ZkSyncTestnet extends Testnet {
|
|
1210
|
+
constructor() {
|
|
1211
|
+
super(...arguments);
|
|
1212
|
+
this.name = 'ZkSyncTestnet';
|
|
1213
|
+
this.family = base_1.CoinFamily.ZKETH;
|
|
1214
|
+
this.explorerUrl = 'https://sepolia.explorer.zksync.io/tx/';
|
|
1215
|
+
this.accountExplorerUrl = 'https://sepolia.explorer.zksync.io/address/';
|
|
1216
|
+
this.chainId = 300;
|
|
1217
|
+
this.nativeCoinOperationHashPrefix = '300';
|
|
1218
|
+
this.tokenOperationHashPrefix = '300-ERC20';
|
|
1219
|
+
this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
|
|
1220
|
+
this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
|
|
1221
|
+
this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
|
|
1222
|
+
this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
class Berachain extends Mainnet {
|
|
1226
|
+
constructor() {
|
|
1227
|
+
super(...arguments);
|
|
1228
|
+
this.name = 'Berachain';
|
|
1229
|
+
this.family = base_1.CoinFamily.BERA;
|
|
1230
|
+
this.explorerUrl = 'https://80094.routescan.io/tx/';
|
|
1231
|
+
this.accountExplorerUrl = 'https://80094.routescan.io/address/';
|
|
1232
|
+
this.chainId = 80094;
|
|
1233
|
+
this.nativeCoinOperationHashPrefix = '80094';
|
|
1234
|
+
this.tokenOperationHashPrefix = '80094-ERC20';
|
|
1235
|
+
this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
|
|
1236
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1237
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
class BerachainTestnet extends Testnet {
|
|
1241
|
+
constructor() {
|
|
1242
|
+
super(...arguments);
|
|
1243
|
+
this.name = 'BerachainTestnet';
|
|
1244
|
+
this.family = base_1.CoinFamily.BERA;
|
|
1245
|
+
this.explorerUrl = 'https://80000.testnet.routescan.io/tx/';
|
|
1246
|
+
this.accountExplorerUrl = 'https://80000.testnet.routescan.io/address/';
|
|
1247
|
+
this.chainId = 80000;
|
|
1248
|
+
this.nativeCoinOperationHashPrefix = '80000';
|
|
1249
|
+
this.tokenOperationHashPrefix = '80000-ERC20';
|
|
1250
|
+
this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
|
|
1251
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1252
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
class Oas extends Mainnet {
|
|
1256
|
+
constructor() {
|
|
1257
|
+
super(...arguments);
|
|
1258
|
+
this.name = 'Oaschain';
|
|
1259
|
+
this.family = base_1.CoinFamily.OAS;
|
|
1260
|
+
this.explorerUrl = 'https://explorer.oasys.games/tx/';
|
|
1261
|
+
this.accountExplorerUrl = 'https://explorer.oasys.games/address/';
|
|
1262
|
+
this.chainId = 248;
|
|
1263
|
+
this.nativeCoinOperationHashPrefix = '248';
|
|
1264
|
+
this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
|
|
1265
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1266
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
class OasTestnet extends Testnet {
|
|
1270
|
+
constructor() {
|
|
1271
|
+
super(...arguments);
|
|
1272
|
+
this.name = 'OaschainTestnet';
|
|
1273
|
+
this.family = base_1.CoinFamily.OAS;
|
|
1274
|
+
this.explorerUrl = 'https://explorer.testnet.oasys.games/tx/';
|
|
1275
|
+
this.accountExplorerUrl = 'https://explorer.testnet.oasys.games/address/';
|
|
1276
|
+
this.chainId = 9372;
|
|
1277
|
+
this.nativeCoinOperationHashPrefix = '9372';
|
|
1278
|
+
this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
|
|
1279
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1280
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1283
|
+
class Coredao extends Mainnet {
|
|
1284
|
+
constructor() {
|
|
1285
|
+
super(...arguments);
|
|
1286
|
+
this.name = 'Coredaochain';
|
|
1287
|
+
this.family = base_1.CoinFamily.COREDAO;
|
|
1288
|
+
this.explorerUrl = 'https://scan.coredao.org/tx/';
|
|
1289
|
+
this.accountExplorerUrl = 'https://scan.coredao.org/address/';
|
|
1290
|
+
this.chainId = 1116;
|
|
1291
|
+
this.nativeCoinOperationHashPrefix = '1116';
|
|
1292
|
+
this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
|
|
1293
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1294
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
class CoredaoTestnet extends Testnet {
|
|
1298
|
+
constructor() {
|
|
1299
|
+
super(...arguments);
|
|
1300
|
+
this.name = 'CoredaochainTestnet';
|
|
1301
|
+
this.family = base_1.CoinFamily.COREDAO;
|
|
1302
|
+
this.explorerUrl = 'https://scan.test.btcs.network/tx/';
|
|
1303
|
+
this.accountExplorerUrl = 'https://scan.test.btcs.network/address/';
|
|
1304
|
+
this.chainId = 1115;
|
|
1305
|
+
this.nativeCoinOperationHashPrefix = '1115';
|
|
1306
|
+
this.batcherContractAddress = '0xad7a34aa9c0c7cb2c4d1f07ce8d1d0530b07fe27';
|
|
1307
|
+
this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
|
|
1308
|
+
this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
class Xdc extends Mainnet {
|
|
1312
|
+
constructor() {
|
|
1313
|
+
super(...arguments);
|
|
1314
|
+
this.name = 'XdcChain';
|
|
1315
|
+
this.family = base_1.CoinFamily.XDC;
|
|
1316
|
+
this.explorerUrl = 'https://xdcscan.com/tx';
|
|
1317
|
+
this.accountExplorerUrl = 'https://xdcscan.com/address';
|
|
1318
|
+
this.chainId = 50;
|
|
1319
|
+
this.nativeCoinOperationHashPrefix = '50';
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
class XdcTestnet extends Testnet {
|
|
1323
|
+
constructor() {
|
|
1324
|
+
super(...arguments);
|
|
1325
|
+
this.name = 'XdcChainTestnet';
|
|
1326
|
+
this.family = base_1.CoinFamily.XDC;
|
|
1327
|
+
this.explorerUrl = 'https://testnet.xdcscan.com/tx';
|
|
1328
|
+
this.accountExplorerUrl = 'https://testnet.xdcscan.com/address';
|
|
1329
|
+
this.chainId = 51;
|
|
1330
|
+
this.nativeCoinOperationHashPrefix = '51';
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
class Wemix extends Mainnet {
|
|
1334
|
+
constructor() {
|
|
1335
|
+
super(...arguments);
|
|
1336
|
+
this.name = 'WemixChain';
|
|
1337
|
+
this.family = base_1.CoinFamily.WEMIX;
|
|
1338
|
+
this.explorerUrl = 'https://explorer.wemix.com/tx';
|
|
1339
|
+
this.accountExplorerUrl = 'https://explorer.wemix.com/address';
|
|
1340
|
+
this.chainId = 1111;
|
|
1341
|
+
this.nativeCoinOperationHashPrefix = '1111';
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
class WemixTestnet extends Testnet {
|
|
1345
|
+
constructor() {
|
|
1346
|
+
super(...arguments);
|
|
1347
|
+
this.name = 'WemixChainTestnet';
|
|
1348
|
+
this.family = base_1.CoinFamily.WEMIX;
|
|
1349
|
+
this.explorerUrl = 'https://explorer.test.wemix.com/tx';
|
|
1350
|
+
this.accountExplorerUrl = 'https://explorer.test.wemix.com/address';
|
|
1351
|
+
this.chainId = 1112;
|
|
1352
|
+
this.nativeCoinOperationHashPrefix = '1112';
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
class Flare extends Mainnet {
|
|
1356
|
+
constructor() {
|
|
1357
|
+
super(...arguments);
|
|
1358
|
+
this.name = 'Flarechain';
|
|
1359
|
+
this.family = base_1.CoinFamily.FLR;
|
|
1360
|
+
this.explorerUrl = 'https://flare-explorer.flare.network/tx';
|
|
1361
|
+
this.accountExplorerUrl = 'https://flare-explorer.flare.network/address';
|
|
1362
|
+
this.chainId = 14;
|
|
1363
|
+
this.nativeCoinOperationHashPrefix = '14';
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
class FlareTestnet extends Testnet {
|
|
1367
|
+
constructor() {
|
|
1368
|
+
super(...arguments);
|
|
1369
|
+
this.name = 'FlarechainTestnet';
|
|
1370
|
+
this.family = base_1.CoinFamily.FLR;
|
|
1371
|
+
this.explorerUrl = 'https://coston2-explorer.flare.network/tx';
|
|
1372
|
+
this.accountExplorerUrl = 'https://coston2-explorer.flare.network/address';
|
|
1373
|
+
this.chainId = 114;
|
|
1374
|
+
this.nativeCoinOperationHashPrefix = '114';
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
class Songbird extends Mainnet {
|
|
1378
|
+
constructor() {
|
|
1379
|
+
super(...arguments);
|
|
1380
|
+
this.name = 'Songbirdchain';
|
|
1381
|
+
this.family = base_1.CoinFamily.SGB;
|
|
1382
|
+
this.explorerUrl = 'https://songbird-explorer.flare.network/tx';
|
|
1383
|
+
this.accountExplorerUrl = 'https://songbird-explorer.flare.network/address';
|
|
1384
|
+
this.chainId = 19;
|
|
1385
|
+
this.nativeCoinOperationHashPrefix = '19';
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
class SongbirdTestnet extends Testnet {
|
|
1389
|
+
constructor() {
|
|
1390
|
+
super(...arguments);
|
|
1391
|
+
this.name = 'SongbirdchainTestnet';
|
|
1392
|
+
this.family = base_1.CoinFamily.SGB;
|
|
1393
|
+
this.explorerUrl = 'https://coston-explorer.flare.network/tx';
|
|
1394
|
+
this.accountExplorerUrl = 'https://coston-explorer.flare.network/address';
|
|
1395
|
+
this.chainId = 16;
|
|
1396
|
+
this.nativeCoinOperationHashPrefix = '16';
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
class BaseChainTestnet extends Testnet {
|
|
1400
|
+
constructor() {
|
|
1401
|
+
super(...arguments);
|
|
1402
|
+
this.name = 'BaseChainTestnet';
|
|
1403
|
+
this.family = base_1.CoinFamily.BASEETH;
|
|
1404
|
+
this.explorerUrl = 'https://sepolia.basescan.org/tx/';
|
|
1405
|
+
this.accountExplorerUrl = 'https://sepolia.basescan.org/address/';
|
|
1406
|
+
this.chainId = 84532;
|
|
1407
|
+
this.nativeCoinOperationHashPrefix = '84532';
|
|
1408
|
+
this.tokenOperationHashPrefix = '84532-ERC20';
|
|
1409
|
+
this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
|
|
1410
|
+
this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
|
|
1411
|
+
this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
|
|
1412
|
+
this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
class BaseChain extends Mainnet {
|
|
1416
|
+
constructor() {
|
|
1417
|
+
super(...arguments);
|
|
1418
|
+
this.name = 'BaseChain';
|
|
1419
|
+
this.family = base_1.CoinFamily.BASEETH;
|
|
1420
|
+
this.explorerUrl = 'https://basescan.org/tx/';
|
|
1421
|
+
this.accountExplorerUrl = 'https://basescan.org/address/';
|
|
1422
|
+
this.chainId = 8453;
|
|
1423
|
+
this.nativeCoinOperationHashPrefix = '8453';
|
|
1424
|
+
this.tokenOperationHashPrefix = '8453-ERC20';
|
|
1425
|
+
this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
|
|
1426
|
+
this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
|
|
1427
|
+
this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
|
|
1428
|
+
this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
|
|
871
1429
|
}
|
|
872
1430
|
}
|
|
873
1431
|
exports.Networks = {
|
|
874
1432
|
main: {
|
|
875
1433
|
ada: Object.freeze(new Ada()),
|
|
876
1434
|
algorand: Object.freeze(new Algorand()),
|
|
1435
|
+
apt: Object.freeze(new Apt()),
|
|
1436
|
+
arbitrum: Object.freeze(new Arbitrum()),
|
|
877
1437
|
atom: Object.freeze(new Atom()),
|
|
878
1438
|
avalancheC: Object.freeze(new AvalancheC()),
|
|
879
1439
|
avalancheP: Object.freeze(new AvalancheP()),
|
|
1440
|
+
baby: Object.freeze(new Baby()),
|
|
1441
|
+
basechain: Object.freeze(new BaseChain()),
|
|
880
1442
|
bitcoin: Object.freeze(new Bitcoin()),
|
|
881
1443
|
bitcoinCash: Object.freeze(new BitcoinCash()),
|
|
882
1444
|
bitcoinGold: Object.freeze(new BitcoinGold()),
|
|
883
1445
|
bitcoinSV: Object.freeze(new BitcoinSV()),
|
|
1446
|
+
bera: Object.freeze(new Berachain()),
|
|
884
1447
|
bld: Object.freeze(new Bld()),
|
|
885
1448
|
bsc: Object.freeze(new BinanceSmartChain()),
|
|
886
1449
|
casper: Object.freeze(new Casper()),
|
|
887
1450
|
celo: Object.freeze(new Celo()),
|
|
1451
|
+
coredao: Object.freeze(new Coredao()),
|
|
1452
|
+
coreum: Object.freeze(new Coreum()),
|
|
888
1453
|
dash: Object.freeze(new Dash()),
|
|
889
1454
|
dogecoin: Object.freeze(new Dogecoin()),
|
|
890
1455
|
dot: Object.freeze(new Polkadot()),
|
|
@@ -895,40 +1460,64 @@ exports.Networks = {
|
|
|
895
1460
|
ethereumClassic: Object.freeze(new EthereumClassic()),
|
|
896
1461
|
ethereumW: Object.freeze(new EthereumW()),
|
|
897
1462
|
fiat: Object.freeze(new Fiat()),
|
|
1463
|
+
flr: Object.freeze(new Flare()),
|
|
898
1464
|
hash: Object.freeze(new Hash()),
|
|
899
1465
|
hedera: Object.freeze(new Hedera()),
|
|
1466
|
+
icp: Object.freeze(new Icp()),
|
|
900
1467
|
injective: Object.freeze(new Injective()),
|
|
1468
|
+
islm: Object.freeze(new Islm()),
|
|
1469
|
+
kava: Object.freeze(new Kava()),
|
|
1470
|
+
lnbtc: Object.freeze(new LightningBitcoin()),
|
|
901
1471
|
litecoin: Object.freeze(new Litecoin()),
|
|
902
1472
|
polygon: Object.freeze(new Polygon()),
|
|
1473
|
+
oas: Object.freeze(new Oas()),
|
|
903
1474
|
ofc: Object.freeze(new Ofc()),
|
|
1475
|
+
optimism: Object.freeze(new Optimism()),
|
|
904
1476
|
osmo: Object.freeze(new Osmo()),
|
|
905
1477
|
rbtc: Object.freeze(new Rbtc()),
|
|
1478
|
+
rune: Object.freeze(new Rune()),
|
|
906
1479
|
stellar: Object.freeze(new Stellar()),
|
|
907
1480
|
sei: Object.freeze(new Sei()),
|
|
1481
|
+
sgb: Object.freeze(new Songbird()),
|
|
908
1482
|
sol: Object.freeze(new Sol()),
|
|
909
1483
|
sui: Object.freeze(new Sui()),
|
|
910
1484
|
near: Object.freeze(new Near()),
|
|
911
1485
|
stx: Object.freeze(new Stx()),
|
|
912
1486
|
susd: Object.freeze(new SUSD()),
|
|
1487
|
+
tao: Object.freeze(new Bittensor()),
|
|
913
1488
|
tia: Object.freeze(new Tia()),
|
|
1489
|
+
ton: Object.freeze(new Ton()),
|
|
914
1490
|
trx: Object.freeze(new Trx()),
|
|
1491
|
+
wemix: Object.freeze(new Wemix()),
|
|
1492
|
+
xdc: Object.freeze(new Xdc()),
|
|
915
1493
|
xrp: Object.freeze(new Xrp()),
|
|
916
1494
|
xtz: Object.freeze(new Xtz()),
|
|
917
1495
|
zCash: Object.freeze(new ZCash()),
|
|
1496
|
+
zeta: Object.freeze(new Zeta()),
|
|
1497
|
+
zkSync: Object.freeze(new ZkSync()),
|
|
918
1498
|
},
|
|
919
1499
|
test: {
|
|
920
1500
|
ada: Object.freeze(new AdaTestnet()),
|
|
921
1501
|
algorand: Object.freeze(new AlgorandTestnet()),
|
|
1502
|
+
apt: Object.freeze(new AptTestnet()),
|
|
1503
|
+
arbitrum: Object.freeze(new ArbitrumTestnet()),
|
|
922
1504
|
atom: Object.freeze(new AtomTestnet()),
|
|
923
1505
|
avalancheC: Object.freeze(new AvalancheCTestnet()),
|
|
924
1506
|
avalancheP: Object.freeze(new AvalanchePTestnet()),
|
|
1507
|
+
baby: Object.freeze(new BabyTestnet()),
|
|
1508
|
+
basechain: Object.freeze(new BaseChainTestnet()),
|
|
925
1509
|
bitcoin: Object.freeze(new BitcoinTestnet()),
|
|
1510
|
+
bitcoinPublicSignet: Object.freeze(new BitcoinPublicSignet()),
|
|
1511
|
+
bitcoinTestnet4: Object.freeze(new BitcoinTestnet4()),
|
|
1512
|
+
bitcoinBitGoSignet: Object.freeze(new BitcoinBitGoSignet()),
|
|
926
1513
|
bitcoinCash: Object.freeze(new BitcoinCashTestnet()),
|
|
927
1514
|
bitcoinGold: Object.freeze(new BitcoinGoldTestnet()),
|
|
928
1515
|
bitcoinSV: Object.freeze(new BitcoinSVTestnet()),
|
|
1516
|
+
bera: Object.freeze(new BerachainTestnet()),
|
|
929
1517
|
bld: Object.freeze(new BldTestnet()),
|
|
930
1518
|
bsc: Object.freeze(new BinanceSmartChainTestnet()),
|
|
931
1519
|
casper: Object.freeze(new CasperTestnet()),
|
|
1520
|
+
coredao: Object.freeze(new CoredaoTestnet()),
|
|
932
1521
|
celo: Object.freeze(new CeloTestnet()),
|
|
933
1522
|
dash: Object.freeze(new DashTestnet()),
|
|
934
1523
|
dogecoin: Object.freeze(new DogecoinTestnet()),
|
|
@@ -936,18 +1525,28 @@ exports.Networks = {
|
|
|
936
1525
|
eCash: Object.freeze(new ECashTestnet()),
|
|
937
1526
|
eos: Object.freeze(new EosTestnet()),
|
|
938
1527
|
fiat: Object.freeze(new FiatTestnet()),
|
|
1528
|
+
flr: Object.freeze(new FlareTestnet()),
|
|
939
1529
|
pyrmont: Object.freeze(new Pyrmont()),
|
|
940
1530
|
ethereumClassicTestnet: Object.freeze(new EthereumClassicTestnet()),
|
|
941
1531
|
hash: Object.freeze(new HashTestnet()),
|
|
942
1532
|
hedera: Object.freeze(new HederaTestnet()),
|
|
1533
|
+
icp: Object.freeze(new IcpTestnet()),
|
|
943
1534
|
injective: Object.freeze(new InjectiveTestnet()),
|
|
1535
|
+
islm: Object.freeze(new IslmTestnet()),
|
|
1536
|
+
kava: Object.freeze(new KavaTestnet()),
|
|
944
1537
|
kovan: Object.freeze(new Kovan()),
|
|
945
1538
|
goerli: Object.freeze(new Goerli()),
|
|
1539
|
+
holesky: Object.freeze(new Holesky()),
|
|
1540
|
+
lnbtc: Object.freeze(new LightningBitcoinTestnet()),
|
|
946
1541
|
litecoin: Object.freeze(new LitecoinTestnet()),
|
|
947
1542
|
polygon: Object.freeze(new PolygonTestnet()),
|
|
1543
|
+
oas: Object.freeze(new OasTestnet()),
|
|
948
1544
|
ofc: Object.freeze(new OfcTestnet()),
|
|
1545
|
+
optimism: Object.freeze(new OptimismTestnet()),
|
|
949
1546
|
osmo: Object.freeze(new OsmoTestnet()),
|
|
950
1547
|
rbtc: Object.freeze(new RbtcTestnet()),
|
|
1548
|
+
rune: Object.freeze(new RuneTestNet()),
|
|
1549
|
+
sgb: Object.freeze(new SongbirdTestnet()),
|
|
951
1550
|
stellar: Object.freeze(new StellarTestnet()),
|
|
952
1551
|
sei: Object.freeze(new SeiTestnet()),
|
|
953
1552
|
sol: Object.freeze(new SolTestnet()),
|
|
@@ -955,11 +1554,18 @@ exports.Networks = {
|
|
|
955
1554
|
near: Object.freeze(new NearTestnet()),
|
|
956
1555
|
stx: Object.freeze(new StxTestnet()),
|
|
957
1556
|
susd: Object.freeze(new SUSDTestnet()),
|
|
1557
|
+
coreum: Object.freeze(new CoreumTestnet()),
|
|
1558
|
+
tao: Object.freeze(new BittensorTestnet()),
|
|
958
1559
|
tia: Object.freeze(new TiaTestnet()),
|
|
1560
|
+
ton: Object.freeze(new TonTestnet()),
|
|
959
1561
|
trx: Object.freeze(new TrxTestnet()),
|
|
1562
|
+
wemix: Object.freeze(new WemixTestnet()),
|
|
1563
|
+
xdc: Object.freeze(new XdcTestnet()),
|
|
960
1564
|
xrp: Object.freeze(new XrpTestnet()),
|
|
961
1565
|
xtz: Object.freeze(new XtzTestnet()),
|
|
962
1566
|
zCash: Object.freeze(new ZCashTestnet()),
|
|
1567
|
+
zeta: Object.freeze(new ZetaTestnet()),
|
|
1568
|
+
zkSync: Object.freeze(new ZkSyncTestnet()),
|
|
963
1569
|
},
|
|
964
1570
|
};
|
|
965
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQW9DO0FBRXBDLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFHdEI7QUFFRCxNQUFzQixXQUFXO0NBS2hDO0FBTEQsa0NBS0M7QUFvRkQsTUFBZSxPQUFRLFNBQVEsV0FBVztJQUExQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRCxNQUFlLE9BQVEsU0FBUSxXQUFXO0lBQTFDOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FBQTtBQUVELE1BQU0sUUFBUyxTQUFRLE9BQU87SUFBOUI7O1FBQ0UsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUNsQixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztJQUM5QyxDQUFDO0NBQUE7QUFFRCxNQUFNLGVBQWdCLFNBQVEsT0FBTztJQUFyQzs7UUFDRSxTQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDekIsV0FBTSxHQUFHLGlCQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcscUNBQXFDLENBQUM7SUFDdEQsQ0FBQztDQUFBO0FBRUQsTUFBTSxHQUFJLFNBQVEsT0FBTztJQUF6Qjs7UUFDRSxTQUFJLEdBQUcsWUFBWSxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLEdBQUcsQ0FBQztRQUN4QixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixvQkFBZSxHQUFHLE9BQU8sQ0FBQztRQUMx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LFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7S0FDekM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29pbkZhbWlseSB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBlbnVtIE5ldHdvcmtUeXBlIHtcbiAgTUFJTk5FVCA9ICdtYWlubmV0JyxcbiAgVEVTVE5FVCA9ICd0ZXN0bmV0Jyxcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOZXR3b3JrIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IE5ldHdvcmtUeXBlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmFtaWx5OiBDb2luRmFtaWx5O1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZXhwbG9yZXJVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVdHhvTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gTmV0d29yayBuYW1lIGFzIGRlZmluZWQgaW4gQGJpdGdvLWJldGEvdXR4by1saWIgbmV0d29ya3MudHNcbiAgdXR4b2xpYk5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICAvLyBOZXR3b3JrIG5hbWUgYXMgZGVmaW5lZCBpbiBAYml0Z28tYmV0YS91dHhvLWxpYiBuZXR3b3Jrcy50c1xuICAvLyBtYXliZSBhZGQgbmV0d29yayBpZGVudGlmaWVyIC8gbWFnaWMgbmV0d29yayBudW1iZXJcbiAgdXR4b2xpYk5hbWU6IHN0cmluZztcbiAgcG9vbERlcG9zaXQ6IG51bWJlcjtcbiAgc3Rha2VLZXlEZXBvc2l0OiBudW1iZXI7XG4gIG1heFZhbHVlU2l6ZTogbnVtYmVyO1xuICBtYXhUcmFuc2FjdGlvblNpemU6IG51bWJlcjtcbiAgY29pbnNQZXJVdHhvV29yZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF2YWxhbmNoZU5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHJlYWRvbmx5IGFsaWFzOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJsb2NrY2hhaW5JRDogc3RyaW5nO1xuICByZWFkb25seSBjQ2hhaW5CbG9ja2NoYWluSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbmV0d29ya0lEOiBudW1iZXI7XG4gIHJlYWRvbmx5IGhycDogc3RyaW5nO1xuICByZWFkb25seSB2bTogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGlvblR4RmVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0ZVN1Ym5ldFR4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0ZUNoYWluVHg6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluQ29uc3VtcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4Q29uc3VtcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4U3VwcGx5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pblN0YWtlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pblN0YWtlRHVyYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4U3Rha2VEdXJhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtaW5EZWxlZ2F0aW9uU3Rha2U6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluRGVsZWdhdGlvbkZlZTogc3RyaW5nO1xuICAvLyBjdXJyZW50IHZhbGlkIGFzc2V0IGlkIGlzIEFWQVhcbiAgcmVhZG9ubHkgYXZheEFzc2V0SUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgdHhGZWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gc29tZSBjaGFpbnMgcGF5IGZlZXMgdmlhIGFuIGVudGVycHJpc2UgZ2FzIHRhc2suIFRoZSBhY2NvdW50IGV4cGxvcmVyIHVybFxuICAvLyBpcyBhIHVybCB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIGFjY291bnQgZm9yIHRoZSBnYXMgdGFuayBvbi1jaGFpbi5cbiAgcmVhZG9ubHkgYWNjb3VudEV4cGxvcmVyVXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNwZWNpZmljYXRpb24gbmFtZSB0eXBlIG9mIHRoZSBjaGFpbi4gVXNlZCBpbiBzZXR0aW5nIHVwIHRoZSByZWdpc3RyeVxuICovXG5leHBvcnQgdHlwZSBQb2xrYWRvdFNwZWNOYW1lVHlwZSA9ICdrdXNhbWEnIHwgJ3BvbGthZG90JyB8ICd3ZXN0ZW5kJyB8ICdzdGF0ZW1pbnQnIHwgJ3N0YXRlbWluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG90TmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gc29tZSBjaGFpbnMgcGF5IGZlZXMgdmlhIGFuIGVudGVycHJpc2UgZ2FzIHRhc2suIFRoZSBhY2NvdW50IGV4cGxvcmVyIHVybFxuICAvLyBpcyBhIHVybCB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIGFjY291bnQgZm9yIHRoZSBnYXMgdGFuayBvbi1jaGFpbi5cbiAgcmVhZG9ubHkgc3BlY05hbWU6IFBvbGthZG90U3BlY05hbWVUeXBlO1xuICByZWFkb25seSBnZW5lc2lzSGFzaDogc3RyaW5nO1xuICByZWFkb25seSBzcGVjVmVyc2lvbjogbnVtYmVyO1xuICByZWFkb25seSBjaGFpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHhWZXJzaW9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRoZXJldW1OZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICAvLyB1bmlxdWUgY2hhaW4gaWQgdXNlZCBmb3IgcmVwbGF5LXByb3RlY3RpbmcgdHJhbnNhY3Rpb25zXG4gIHJlYWRvbmx5IGNoYWluSWQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgLy8gZm9yd2FyZGVyIGNvbmZpZ3VyYXRpb24gYWRkcmVzc2VzIHVzZWQgZm9yIGNhbGN1bGF0aW5nIGZvcndhcmRlciB2ZXJzaW9uIDEgYWRkcmVzc2VzXG4gIHJlYWRvbmx5IGZvcndhcmRlckZhY3RvcnlBZGRyZXNzPzogc3RyaW5nO1xuICByZWFkb25seSBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJvbk5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIG1heEZlZUxpbWl0OiBzdHJpbmc7XG4gIGNvbnRyYWN0Q2FsbEZlZUxpbWl0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tzTmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgcmVhZG9ubHkgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWtpbmdDb250cmFjdEFkZHJlc3M6IHN0cmluZztcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgT2ZjTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHt9XG5cbmFic3RyYWN0IGNsYXNzIE1haW5uZXQgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHR5cGUgPSBOZXR3b3JrVHlwZS5NQUlOTkVUO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBUZXN0bmV0IGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICB0eXBlID0gTmV0d29ya1R5cGUuVEVTVE5FVDtcbn1cblxuY2xhc3MgQWxnb3JhbmQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0FsZ29yYW5kJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BTEdPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2FsZ29leHBsb3Jlci5pby90eC8nO1xufVxuXG5jbGFzcyBBbGdvcmFuZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0FsZ29yYW5kVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQUxHTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmFsZ29leHBsb3Jlci5pby90eC8nO1xufVxuXG5jbGFzcyBBZGEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWRhTmV0d29yayB7XG4gIG5hbWUgPSAnQWRhQ2FyZGFubyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQURBO1xuICB1dHhvbGliTmFtZSA9ICdjYXJkYW5vJztcbiAgcG9vbERlcG9zaXQgPSA1MDAwMDAwMDA7XG4gIHN0YWtlS2V5RGVwb3NpdCA9IDIwMDAwMDA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuY2FyZGFuby5vcmcvZW4vdHJhbnNhY3Rpb24/aWQ9JztcbiAgY29pbnNQZXJVdHhvV29yZCA9IDM0NDgyO1xuICBtYXhUcmFuc2FjdGlvblNpemUgPSA4MDAwO1xuICBtYXhWYWx1ZVNpemUgPSA0MDAwO1xufVxuXG5jbGFzcyBBZGFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFkYU5ldHdvcmsge1xuICBuYW1lID0gJ0FkYUNhcmRhbm9UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm9UZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wcmVwcm9kLmNleHBsb3Jlci5pby8nO1xuICBjb2luc1BlclV0eG9Xb3JkID0gMzQ0ODI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZSA9IDgwMDA7XG4gIG1heFZhbHVlU2l6ZSA9IDQwMDA7XG4gIHBvb2xEZXBvc2l0ID0gNTAwMDAwMDAwO1xuICBzdGFrZUtleURlcG9zaXQgPSAyMDAwMDAwO1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gaHR0cHM6Ly9kb2NzLmF2YXgubmV0d29yay9idWlsZC90dXRvcmlhbHMvc21hcnQtY29udHJhY3RzL2RlcGxveS1hLXNtYXJ0LWNvbnRyYWN0LW9uLWF2YWxhbmNoZS11c2luZy1yZW1peC1hbmQtbWV0YW1hc2sjYXZhbGFuY2hlLW1haW5uZXQtc2V0dGluZ3NcbiAgbmFtZSA9ICdBdmFsYW5jaGVDJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zbm93dHJhY2UuaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc25vd3RyYWNlLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTE0O1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQ1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuc25vd3RyYWNlLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuc25vd3RyYWNlLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTEzO1xufVxuXG5jbGFzcyBBdmFsYW5jaGVQIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVAnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMuYXZheC5uZXR3b3JrL3AtY2hhaW4vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvcC1jaGFpbi9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJzJxOWU0cjZNdTNVNjhuVTFmWWpnYlI2SnZ3clJ4MzZDb2hwQVg1VVF4c2U1NXgxUTUnO1xuICBhdmF4QXNzZXRJRCA9ICdGdndFQWhteEtmZWlHOFNuRXZxNDJoYzZ3aFJ5WTNFRllBdmViTXFETkRHQ2d4TjVaJztcbiAgbmV0d29ya0lEID0gMTtcbiAgaHJwID0gJ2F2YXgnO1xuICBhbGlhcyA9ICdQJztcbiAgdm0gPSAncGxhdGZvcm12bSc7XG4gIHR4RmVlID0gJzEwMDAwMDAnOyAvLyAxIE1JTExJQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcyMDAwMDAwMDAwMDAwJzsgLy8gMjAwMCBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnMTIwOTYwMCc7IC8vIDIgd2Vla3NcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnMjUwMDAwMDAwMDAnOyAvLyAyNSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL3AtY2hhaW4vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy10ZXN0LmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAneUg4RDdUaE5Ka3htdGt1djJqZ0JhNFAxUm4zUXByNHBQcjdRWU5mY2RvUzZrNkhXcCc7XG4gIGF2YXhBc3NldElEID0gJ1U4aVJxSm9pSm04eFpIQWFjbXZZeVpWd3FReDZ1RE50UWVQM0NRNmZjZ1FrM0pxbksnO1xuICBuZXR3b3JrSUQgPSA1O1xuICBhbGlhcyA9ICdQJztcbiAgaHJwID0gJ2Z1amknO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIGNyZWF0ZVN1Ym5ldFR4ID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgY3JlYXRlQ2hhaW5UeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0aW9uVHhGZWUgPSAnMTAwMDAwMDAnOyAvLyAxIENFTlRJQVZBWFxuICBtaW5Db25zdW1wdGlvbiA9ICcwLjEnO1xuICBtYXhDb25zdW1wdGlvbiA9ICcwLjEyJztcbiAgbWF4U3VwcGx5ID0gJzcyMDAwMDAwMDAwMDAwMDAwMCc7IC8vIDcyMCBtaWwgdG9rZW5zXG4gIG1pblN0YWtlID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgbWluU3Rha2VEdXJhdGlvbiA9ICc4NjQwMCc7IC8vIDEgZGF5XG4gIG1heFN0YWtlRHVyYXRpb24gPSAnMzE1MzYwMDAnOyAvLyAxIHllYXJcbiAgbWluRGVsZWdhdGlvblN0YWtlID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgbWluRGVsZWdhdGlvbkZlZSA9ICcyJztcbn1cblxuY2xhc3MgQmluYW5jZVNtYXJ0Q2hhaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaW5hbmNlU21hcnRDaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5ic2NzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYnNjc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNTY7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0JpbmFuY2VTbWFydENoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYnNjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5Nztcbn1cblxuY2xhc3MgQml0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICd0ZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgQml0Y29pbkNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYmxvY2tjaGFpbi5jb20vYmNoL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJsb2NrY2hhaW4uY29tL2JjaC10ZXN0bmV0L3R4Lyc7XG59XG5jbGFzcyBCaXRjb2luU1YgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3YnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2JpdGNvaW4tc3YvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgQml0Y29pblNWVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblNWVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3ZUZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luR29sZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYnRnZXhwbG9yZXIuY29tL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CVEc7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5nb2xkVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBEYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0Rhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC1pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRG9nZWNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0RvZ2Vjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZG9nZWNvaW4vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgRG9nZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPR0U7XG4gIHV0eG9saWJOYW1lID0gJ2RvZ2Vjb2luVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tleHBsb3Jlci5vbmUvZG9nZWNvaW4vdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBFQ2FzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2gnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJDSEE7XG4gIHV0eG9saWJOYW1lID0gJ2VjYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9lY2FzaCc7XG59XG5cbmNsYXNzIEVDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaFRlc3QnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUG9sa2Fkb3QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRG90TmV0d29yayB7XG4gIG5hbWUgPSAnUG9sa2Fkb3QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2xrYWRvdC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICdwb2xrYWRvdCcgYXMgUG9sa2Fkb3RTcGVjTmFtZVR5cGU7XG4gIGdlbmVzaXNIYXNoID0gJzB4OTFiMTcxYmIxNThlMmQzODQ4ZmEyM2E5ZjFjMjUxODJmYjhlMjAzMTNiMmMxZWI0OTIxOWRhN2E3MGNlOTBjMyc7XG4gIHNwZWNWZXJzaW9uID0gOTE0MDtcbiAgY2hhaW5OYW1lID0gJ1BvbGthZG90JztcbiAgdHhWZXJzaW9uID0gOTtcbn1cblxuY2xhc3MgUG9sa2Fkb3RUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIERvdE5ldHdvcmsge1xuICBuYW1lID0gJ1dlc3RlbmQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93ZXN0ZW5kLnN1YnNjYW4uaW8vZXh0cmluc2ljLyc7XG4gIHNwZWNOYW1lID0gJ3dlc3RlbmQnIGFzIFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBnZW5lc2lzSGFzaCA9ICcweGUxNDNmMjM4MDNhYzUwZThmNmY4ZTYyNjk1ZDFjZTllNGUxZDY4YWEzNmMxY2QyY2ZkMTUzNDAyMTNmMzQyM2UnO1xuICBzcGVjVmVyc2lvbiA9IDkzMjA7XG4gIGNoYWluTmFtZSA9ICdXZXN0ZW5kJztcbiAgdHhWZXJzaW9uID0gMTQ7XG59XG5cbmNsYXNzIENlbG8gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxvJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DRUxPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmNlbG8ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmNlbG8ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQyMjIwO1xufVxuXG5jbGFzcyBDZWxvVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0NlbG9UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DRUxPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2FsZmFqb3Jlcy1ibG9ja3Njb3V0LmNlbG8tdGVzdG5ldC5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYWxmYWpvcmVzLWJsb2Nrc2NvdXQuY2Vsby10ZXN0bmV0Lm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0NDc4Nztcbn1cblxuLy8gVE9ETyB1cGRhdGUgZXhwbG9yZXJVcmwgU1RMWC0xNjU3XG5jbGFzcyBDYXNwZXIgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Nhc3Blcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1NQUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jc3ByLmxpdmUvZGVwbG95Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2NzcHIubGl2ZS9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIENhc3BlclRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Nhc3BlclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNTUFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW50ZWdyYXRpb24uY3Nwci5saXZlL2RlcGxveS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9pbnRlZ3JhdGlvbi5jc3ByLmxpdmUvYWNjb3VudC8nO1xufVxuXG5jbGFzcyBFdGhlcmV1bSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDE7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgwYzliMjVkZmUwMmIyYzg5Y2NlODZlMWEwYmQ2YzA0YTdhY2EwMWI2JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmZmEzOTcyODVjZTQ2ZmI3OGM1ODhhOWU5OTMyODZhYWM2OGMzN2NkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MDU5ZmZhZmRjNmVmNTk0MjMwZGU0NGY4MjRlMmJkMGE1MWNhNWRlZCc7XG59XG5cbmNsYXNzIEV0aGVyZXVtMiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0yJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEgyO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYWRkcmVzcyc7XG59XG5cbmNsYXNzIEV0aGVyZXVtVyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtIFBvVyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIVztcbiAgZXhwbG9yZXJVcmwgPSAnJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJyc7XG4gIGNoYWluSWQgPSAxMDAwMTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnJztcbn1cblxuY2xhc3MgUHlybW9udCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUHlybW9udCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIMjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9weXJtb250L3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vcHlybW9udC9hZGRyZXNzJztcbn1cblxuY2xhc3MgS292YW4gZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLb3Zhbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2tvdmFuLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rb3Zhbi5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICAvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtY29tbW9uL2Jsb2IvYTk3OGY2MzA4NThmNjg0MzE3NmJiMjBiMjc3NTY5Nzg1OTE0ZTg5OS9zcmMvY2hhaW5zL2luZGV4LnRzXG4gIGNoYWluSWQgPSA0MjtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGMwYWFmMjY0OWU3YjBmMzk1MDE2NDY4MWVjYTJiMWE4ZjY1NGE0NzgnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGE3OWE0ODUyOTRkMjI2MDc1ZWU2NTQxMGJjOTRlYTQ1NGYzZTQwOWQnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhhOTQ2ZTc0OGYyNWE1ZWM2ODc4ZWIxYTlmMmU5MDIwMjgxNzRjMGIzJztcbn1cblxuY2xhc3MgR29lcmxpIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnR29lcmxpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gNTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGU4ZTg0N2NmNTczZmM4ZWQ3NTYyMTY2MGEzNmFmZmQxOGM1NDNkN2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGY1Y2FhNWUzZTkzYWZiYzIxYmQxOWVmNGYyNjkxYTM3MTIxZjc5MTcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg4MGQ1YzkxZThjYzIxZGY2OWZjNGQ2NGYyMWRjMmQ4MzEyMWMzOTk5Jztcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW1DbGFzc2ljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2MTtcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbW9yZG9yL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQuY29tL2V0Yy9tb3Jkb3IvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2Mztcbn1cblxuY2xhc3MgRW9zIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdFb3MnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVPUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5lb3NuZXR3b3JrLmNvbS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBFb3NUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdFb3NUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FT1M7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va3lsaW4uZW9zeC5pby90eC8nO1xufVxuXG5jbGFzcyBIZWRlcmEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0hlZGVyYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEJBUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5rYWJ1dG8uc2gvbWFpbm5ldC90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBIZWRlcmFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIZWRlcmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmthYnV0by5zaC90ZXN0bmV0L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIExpdGVjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTFRDO1xuICB1dHhvbGliTmFtZSA9ICdsaXRlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vbGl0ZWNvaW4vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTGl0ZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkxUQztcbiAgdXR4b2xpYk5hbWUgPSAnbGl0ZWNvaW5UZXN0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2V4cGxvcmVyLm9uZS9saXRlY29pbi90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIE9mYyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBPZmNOZXR3b3JrIHtcbiAgbmFtZSA9ICdPZmMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9GQztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIE9mY1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgT2ZjTmV0d29yayB7XG4gIG5hbWUgPSAnT2ZjVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0ZDO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUmJ0YyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1JidGMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlJCVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucnNrLmNvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnJzay5jby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMDtcbn1cblxuY2xhc3MgUmJ0Y1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdSYnRjVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUkJUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LnJzay5jby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LnJzay5jby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMTtcbn1cblxuY2xhc3MgU3RlbGxhciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3RlbGxhcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWExNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N0ZWxsYXIuZXhwZXJ0L2V4cGxvcmVyL3B1YmxpYy90eC8nO1xufVxuXG5jbGFzcyBTdGVsbGFyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3RlbGxhclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdGVsbGFyLmV4cGVydC9leHBsb3Jlci90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIFNvbCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU29sJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT0w7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc29sYW5hLmNvbS90eC8nO1xufVxuXG5jbGFzcyBTb2xUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTb2xUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT0w7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc29sYW5hLmNvbS90eC8/Y2x1c3Rlcj1kZXZuZXQnO1xufVxuXG5jbGFzcyBTdWkgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1N1aSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN1aS5pby90eGJsb2NrLz9uZXR3b3JrPW1haW5uZXQnO1xufVxuXG5jbGFzcyBTdWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFN1aSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN1aS5pby90eGJsb2NrLz9uZXR3b3JrPXRlc3RuZXQnO1xufVxuXG5jbGFzcyBBdG9tIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDb3Ntb3MgSHViIEFUT00nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFUT007XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYXRvbXNjYW4uY29tL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBBdG9tVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBDb3Ntb3MgSHViIEFUT00nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFUT007XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGhldGEtdGVzdG5ldC5wb2x5cG9yZS54eXovdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIE9zbW8gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ09zbW9zaXMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9TTU87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1pbnRzY2FuLmlvL29zbW9zaXMvdHhzLyc7XG59XG5cbmNsYXNzIE9zbW9UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IE9zbW9zaXMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9TTU87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5vc21vc2lzLmV4cGxvcmVycy5ndXJ1L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIFRpYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ2VsZXN0aWEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRJQTtcbiAgLy8gIFRPRE8oQkctNzg5OTcpOiBDZWxlc3RpYSBpcyBzdGlsbCBvbmx5IGluIHRlc3RuZXQgdXBkYXRlIHRvIG1haW5uZXQgdXJsIHdoZW4gaXQncyBsaXZlXG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5taW50c2Nhbi5pby9jZWxlc3RpYS10ZXN0bmV0L3R4cy8nO1xufVxuXG5jbGFzcyBUaWFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IENlbGVzdGlhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5USUE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5taW50c2Nhbi5pby9jZWxlc3RpYS10ZXN0bmV0L3R4cy8nO1xufVxuXG5jbGFzcyBIYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdQcm92ZW5hbmNlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQVNIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgSGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgUHJvdmVuYW5jZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEFTSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0LnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgQmxkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBZ29yaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iaWdkaXBwZXIubGl2ZS9hZ29yaWMvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIEJsZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQWdvcmljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CTEQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5waW5nLnB1Yi9hZ29yaWMtZGV2bmV0L3R4Lyc7XG59XG5cbmNsYXNzIFNlaSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU2VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TRUk7XG4gIC8vICBUT0RPKEJHLTc4OTk3KTogU2VpIGlzIHN0aWxsIG9ubHkgaW4gdGVzdG5ldCB1cGRhdGUgdG8gbWFpbm5ldCB1cmwgd2hlbiBpdCdzIGxpdmVcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZWkuZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgU2VpVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBTZWknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNFSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZWkuZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgSW5qZWN0aXZlIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdJbmplY3RpdmUnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklOSkVDVElWRTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5pbmplY3RpdmUubmV0d29yay90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBJbmplY3RpdmVUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdJbmplY3RpdmVUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JTkpFQ1RJVkU7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5leHBsb3Jlci5pbmplY3RpdmUubmV0d29yay90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBTdHggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgU3RhY2tzTmV0d29yayB7XG4gIG5hbWUgPSAnU3R4JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVFg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3RhY2tzLmNvL3R4aWQvJztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NQM0ZCUjJBR0s1SDlRQkRIM0VFTjZERjhFSzhKWTdSWDhRSjVTVlRFJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTUDAwMDAwMDAwMDAwMDAwMDAwMDAwMlE2VkY3OCc7XG59XG5cbmNsYXNzIFN0eFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgU3RhY2tzTmV0d29yayB7XG4gIG5hbWUgPSAnU3R4VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN0YWNrcy5jby90eGlkLz9jaGFpbj10ZXN0bmV0JztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NUM0YxWDRRR1YyU004WEQ5Nlg0NU02UlRRWEtBMVBaSlpaQ1FBQjRCJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTVDAwMDAwMDAwMDAwMDAwMDAwMDAwMkFNVzQySCc7XG59XG5cbmNsYXNzIFNVU0QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NVU0QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBTVVNEVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU1VTRFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBCYXNlTmV0d29yayB7XG4gIG5hbWUgPSAnRmlhdFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZJQVQ7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEJhc2VOZXR3b3JrIHtcbiAgbmFtZSA9ICdGaWF0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GSUFUO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgVHJ4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFRyb25OZXR3b3JrIHtcbiAgbmFtZSA9ICdUcngnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRSWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90cm9uc2Nhbi5vcmcvIy90cmFuc2FjdGlvbi8nO1xuICBtYXhGZWVMaW1pdCA9ICc1MDAwMDAwMDAwJztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQgPSAnMTAwMDAwMDAwJztcbn1cblxuY2xhc3MgVHJ4VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBUcm9uTmV0d29yayB7XG4gIG5hbWUgPSAnVHJ4VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVFJYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NoYXN0YS50cm9uc2Nhbi5vcmcvIy90cmFuc2FjdGlvbi8nO1xuICBtYXhGZWVMaW1pdCA9ICc1MDAwMDAwMDAwJztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQgPSAnMTAwMDAwMDAwJztcbn1cblxuY2xhc3MgWHJwIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYcnAnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9saXZlbmV0LnhycGwub3JnL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBYcnBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYcnBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YUlA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdC5iaXRob21wLmNvbS9leHBsb3Jlci8nO1xufVxuXG5jbGFzcyBYdHogZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1h0eic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFRaO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3R6c3RhdHMuY29tLyc7XG59XG5cbmNsYXNzIFh0elRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1h0elRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhUWjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tdW1iYWkudHpzdGF0cy5jb20vJztcbn1cblxuY2xhc3MgWkNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ1pDYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRUM7XG4gIHV0eG9saWJOYW1lID0gJ3pjYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jaGFpbi5zby90eC9aRUMvJztcbn1cblxuY2xhc3MgWkNhc2hUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdaQ2FzaFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpFQztcbiAgdXR4b2xpYk5hbWUgPSAnemNhc2hUZXN0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jaGFpbi5zby90eC9aRUNURVNULyc7XG59XG5cbmNsYXNzIE5lYXIgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ05lYXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk5FQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIubmVhci5vcmcvdHJhbnNhY3Rpb25zLyc7XG4gIGZlZVJlc2VydmUgPSAnNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuICBzdG9yYWdlUmVzZXJ2ZSA9ICcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gZmVlUmVzZXJ2ZSArIHN0b3JhZ2VSZXNlcnZlIGlzIG1pbmltdW0gYWNjb3VudCBiYWxhbmNlIGZvciBhIE5FQVIgd2FsbGV0IGh0dHBzOi8vZG9jcy5uZWFyLm9yZy9pbnRlZ3JhdG9yL2ZhcSNpcy10aGVyZS1hLW1pbmltdW0tYWNjb3VudC1iYWxhbmNlXG59XG5cbmNsYXNzIE5lYXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdOZWFyVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTkVBUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0Lm5lYXIub3JnL3RyYW5zYWN0aW9ucy8nO1xuICBmZWVSZXNlcnZlID0gJzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcbiAgc3RvcmFnZVJlc2VydmUgPSAnMjAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIGZlZVJlc2VydmUgKyBzdG9yYWdlUmVzZXJ2ZSBpcyBtaW5pbXVtIGFjY291bnQgYmFsYW5jZSBmb3IgYSBORUFSIHdhbGxldCBodHRwczovL2RvY3MubmVhci5vcmcvaW50ZWdyYXRvci9mYXEjaXMtdGhlcmUtYS1taW5pbXVtLWFjY291bnQtYmFsYW5jZVxufVxuXG5jbGFzcyBQb2x5Z29uIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUG9seWdvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUE9MWUdPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2x5Z29uc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seWdvbnNjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEzNztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgyOWVmNDYwMzVlOWZhM2Q1NzBjNTk4ZDMyNjY0MjRjYTExNDEzYjBjJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4NTM5N2QwODY5YWJhMGQ1NWU5NmQ1NzE2ZDM4M2Y2ZTFkODY5NWVkNyc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4YTcxOThmNDhjNThlOTFmMDEzMTdlNzBjZDI0YzVjY2U0NzVjMTU1NSc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGU1ZGNkYzEzYjYyOGMyZGY4MTNkYjEwODAzNjdlOTI5YzE1MDdjYTAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4N2FkYzliM2Q3NTIxNzEwMzIxYmVjN2RkNjg5N2QzMzdlNTNjMjQ5Myc7XG59XG5cbmNsYXNzIFBvbHlnb25UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUG9seWdvblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBPTFlHT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbXVtYmFpLnBvbHlnb25zY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tdW1iYWkucG9seWdvbnNjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDgwMDAxO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDdkMTBjZmRjYjc2MzM3NWZiNWYwYTBlOTEwMWY0OTBmMGJmMWI0M2EnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhhYTIyMTZkNzJkN2MxNDlkZmU0YzNkZDIxNTRjZDAwOTk0MjE2NTA2JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHhlMzdjMDdmYWVjODdiZTA3NWNlNDAwMmI1ZmVkYmRlMDBhNGZlOWQ1JztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MTFmOGQ3MGE0ZWU5ZDA5NjJiYjExNjBkNzc2ZDRhOTk2Y2ZkZmY0MCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjZGYwMWEzMWVhMmExZDYyOTUxYWFjM2E1NzQzYzQ0MTZmOWRhM2ZiJztcbn1cblxuZXhwb3J0IGNvbnN0IE5ldHdvcmtzID0ge1xuICBtYWluOiB7XG4gICAgYWRhOiBPYmplY3QuZnJlZXplKG5ldyBBZGEoKSksXG4gICAgYWxnb3JhbmQ6IE9iamVjdC5mcmVlemUobmV3IEFsZ29yYW5kKCkpLFxuICAgIGF0b206IE9iamVjdC5mcmVlemUobmV3IEF0b20oKSksXG4gICAgYXZhbGFuY2hlQzogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlQygpKSxcbiAgICBhdmFsYW5jaGVQOiBPYmplY3QuZnJlZXplKG5ldyBBdmFsYW5jaGVQKCkpLFxuICAgIGJpdGNvaW46IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW4oKSksXG4gICAgYml0Y29pbkNhc2g6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5DYXNoKCkpLFxuICAgIGJpdGNvaW5Hb2xkOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luR29sZCgpKSxcbiAgICBiaXRjb2luU1Y6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5TVigpKSxcbiAgICBibGQ6IE9iamVjdC5mcmVlemUobmV3IEJsZCgpKSxcbiAgICBic2M6IE9iamVjdC5mcmVlemUobmV3IEJpbmFuY2VTbWFydENoYWluKCkpLFxuICAgIGNhc3BlcjogT2JqZWN0LmZyZWV6ZShuZXcgQ2FzcGVyKCkpLFxuICAgIGNlbG86IE9iamVjdC5mcmVlemUobmV3IENlbG8oKSksXG4gICAgZGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgRGFzaCgpKSxcbiAgICBkb2dlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgRG9nZWNvaW4oKSksXG4gICAgZG90OiBPYmplY3QuZnJlZXplKG5ldyBQb2xrYWRvdCgpKSxcbiAgICBlQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgRUNhc2goKSksXG4gICAgZW9zOiBPYmplY3QuZnJlZXplKG5ldyBFb3MoKSksXG4gICAgZXRoZXJldW06IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtKCkpLFxuICAgIGV0aGVyZXVtMjogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW0yKCkpLFxuICAgIGV0aGVyZXVtQ2xhc3NpYzogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW1DbGFzc2ljKCkpLFxuICAgIGV0aGVyZXVtVzogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW1XKCkpLFxuICAgIGZpYXQ6IE9iamVjdC5mcmVlemUobmV3IEZpYXQoKSksXG4gICAgaGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgSGFzaCgpKSxcbiAgICBoZWRlcmE6IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYSgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZSgpKSxcbiAgICBsaXRlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgTGl0ZWNvaW4oKSksXG4gICAgcG9seWdvbjogT2JqZWN0LmZyZWV6ZShuZXcgUG9seWdvbigpKSxcbiAgICBvZmM6IE9iamVjdC5mcmVlemUobmV3IE9mYygpKSxcbiAgICBvc21vOiBPYmplY3QuZnJlZXplKG5ldyBPc21vKCkpLFxuICAgIHJidGM6IE9iamVjdC5mcmVlemUobmV3IFJidGMoKSksXG4gICAgc3RlbGxhcjogT2JqZWN0LmZyZWV6ZShuZXcgU3RlbGxhcigpKSxcbiAgICBzZWk6IE9iamVjdC5mcmVlemUobmV3IFNlaSgpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbCgpKSxcbiAgICBzdWk6IE9iamVjdC5mcmVlemUobmV3IFN1aSgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyKCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4KCkpLFxuICAgIHN1c2Q6IE9iamVjdC5mcmVlemUobmV3IFNVU0QoKSksXG4gICAgdGlhOiBPYmplY3QuZnJlZXplKG5ldyBUaWEoKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcngoKSksXG4gICAgeHJwOiBPYmplY3QuZnJlZXplKG5ldyBYcnAoKSksXG4gICAgeHR6OiBPYmplY3QuZnJlZXplKG5ldyBYdHooKSksXG4gICAgekNhc2g6IE9iamVjdC5mcmVlemUobmV3IFpDYXNoKCkpLFxuICB9LFxuICB0ZXN0OiB7XG4gICAgYWRhOiBPYmplY3QuZnJlZXplKG5ldyBBZGFUZXN0bmV0KCkpLFxuICAgIGFsZ29yYW5kOiBPYmplY3QuZnJlZXplKG5ldyBBbGdvcmFuZFRlc3RuZXQoKSksXG4gICAgYXRvbTogT2JqZWN0LmZyZWV6ZShuZXcgQXRvbVRlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlQzogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlQ1Rlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlUDogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlUFRlc3RuZXQoKSksXG4gICAgYml0Y29pbjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblRlc3RuZXQoKSksXG4gICAgYml0Y29pbkNhc2g6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5DYXNoVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luR29sZDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkdvbGRUZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5TVjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblNWVGVzdG5ldCgpKSxcbiAgICBibGQ6IE9iamVjdC5mcmVlemUobmV3IEJsZFRlc3RuZXQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQoKSksXG4gICAgY2FzcGVyOiBPYmplY3QuZnJlZXplKG5ldyBDYXNwZXJUZXN0bmV0KCkpLFxuICAgIGNlbG86IE9iamVjdC5mcmVlemUobmV3IENlbG9UZXN0bmV0KCkpLFxuICAgIGRhc2g6IE9iamVjdC5mcmVlemUobmV3IERhc2hUZXN0bmV0KCkpLFxuICAgIGRvZ2Vjb2luOiBPYmplY3QuZnJlZXplKG5ldyBEb2dlY29pblRlc3RuZXQoKSksXG4gICAgZG90OiBPYmplY3QuZnJlZXplKG5ldyBQb2xrYWRvdFRlc3RuZXQoKSksXG4gICAgZUNhc2g6IE9iamVjdC5mcmVlemUobmV3IEVDYXNoVGVzdG5ldCgpKSxcbiAgICBlb3M6IE9iamVjdC5mcmVlemUobmV3IEVvc1Rlc3RuZXQoKSksXG4gICAgZmlhdDogT2JqZWN0LmZyZWV6ZShuZXcgRmlhdFRlc3RuZXQoKSksXG4gICAgcHlybW9udDogT2JqZWN0LmZyZWV6ZShuZXcgUHlybW9udCgpKSxcbiAgICBldGhlcmV1bUNsYXNzaWNUZXN0bmV0OiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bUNsYXNzaWNUZXN0bmV0KCkpLFxuICAgIGhhc2g6IE9iamVjdC5mcmVlemUobmV3IEhhc2hUZXN0bmV0KCkpLFxuICAgIGhlZGVyYTogT2JqZWN0LmZyZWV6ZShuZXcgSGVkZXJhVGVzdG5ldCgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZVRlc3RuZXQoKSksXG4gICAga292YW46IE9iamVjdC5mcmVlemUobmV3IEtvdmFuKCkpLFxuICAgIGdvZXJsaTogT2JqZWN0LmZyZWV6ZShuZXcgR29lcmxpKCkpLFxuICAgIGxpdGVjb2luOiBPYmplY3QuZnJlZXplKG5ldyBMaXRlY29pblRlc3RuZXQoKSksXG4gICAgcG9seWdvbjogT2JqZWN0LmZyZWV6ZShuZXcgUG9seWdvblRlc3RuZXQoKSksXG4gICAgb2ZjOiBPYmplY3QuZnJlZXplKG5ldyBPZmNUZXN0bmV0KCkpLFxuICAgIG9zbW86IE9iamVjdC5mcmVlemUobmV3IE9zbW9UZXN0bmV0KCkpLFxuICAgIHJidGM6IE9iamVjdC5mcmVlemUobmV3IFJidGNUZXN0bmV0KCkpLFxuICAgIHN0ZWxsYXI6IE9iamVjdC5mcmVlemUobmV3IFN0ZWxsYXJUZXN0bmV0KCkpLFxuICAgIHNlaTogT2JqZWN0LmZyZWV6ZShuZXcgU2VpVGVzdG5ldCgpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbFRlc3RuZXQoKSksXG4gICAgc3VpOiBPYmplY3QuZnJlZXplKG5ldyBTdWlUZXN0bmV0KCkpLFxuICAgIG5lYXI6IE9iamVjdC5mcmVlemUobmV3IE5lYXJUZXN0bmV0KCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4VGVzdG5ldCgpKSxcbiAgICBzdXNkOiBPYmplY3QuZnJlZXplKG5ldyBTVVNEVGVzdG5ldCgpKSxcbiAgICB0aWE6IE9iamVjdC5mcmVlemUobmV3IFRpYVRlc3RuZXQoKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcnhUZXN0bmV0KCkpLFxuICAgIHhycDogT2JqZWN0LmZyZWV6ZShuZXcgWHJwVGVzdG5ldCgpKSxcbiAgICB4dHo6IE9iamVjdC5mcmVlemUobmV3IFh0elRlc3RuZXQoKSksXG4gICAgekNhc2g6IE9iamVjdC5mcmVlemUobmV3IFpDYXNoVGVzdG5ldCgpKSxcbiAgfSxcbn07XG4iXX0=
|
|
1571
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQW9DO0FBRXBDLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsV0FBVywyQkFBWCxXQUFXLFFBR3RCO0FBRUQsTUFBc0IsV0FBVztDQUtoQztBQUxELGtDQUtDO0FBaUdELE1BQWUsT0FBUSxTQUFRLFdBQVc7SUFBMUM7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztDQUFBO0FBRUQsTUFBZSxPQUFRLFNBQVEsV0FBVztJQUExQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRCxNQUFNLFFBQVMsU0FBUSxPQUFPO0lBQTlCOztRQUNFLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIsV0FBTSxHQUFHLGlCQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsdUJBQXVCLENBQUM7SUFDeEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxlQUFnQixTQUFRLE9BQU87SUFBckM7O1FBQ0UsU0FBSSxHQUFHLGlCQUFpQixDQUFDO1FBQ3pCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLElBQUksQ0FBQztRQUN6QixnQkFBVyxHQUFHLG1EQUFtRCxDQUFDO0lBQ3BFLENBQUM7Q0FBQTtBQUVELE1BQU0sR0FBSSxTQUFRLE9BQU87SUFBekI7O1FBQ0UsU0FBSSxHQUFHLFlBQVksQ0FBQztRQUNwQixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxHQUFHLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFDMUIsZ0JBQVcsR0FB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QyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDbkMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNqQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ2pDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztLQUNwQztJQUNELElBQUksRUFBRTtRQUNKLEdB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RUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQztLQUMzQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2luRmFtaWx5IH0gZnJvbSAnLi9iYXNlJztcblxuZXhwb3J0IGVudW0gTmV0d29ya1R5cGUge1xuICBNQUlOTkVUID0gJ21haW5uZXQnLFxuICBURVNUTkVUID0gJ3Rlc3RuZXQnLFxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU5ldHdvcmsge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdHlwZTogTmV0d29ya1R5cGU7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBmYW1pbHk6IENvaW5GYW1pbHk7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBleHBsb3JlclVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFV0eG9OZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICAvLyBOZXR3b3JrIG5hbWUgYXMgZGVmaW5lZCBpbiBAYml0Z28tYmV0YS91dHhvLWxpYiBuZXR3b3Jrcy50c1xuICB1dHhvbGliTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ05ldHdvcmsgZXh0ZW5kcyBVdHhvTmV0d29yayB7XG4gIC8qKlxuICAgKiBUaGUgcHVibGljIGtleSBvZiB0aGUgTGlnaHRuaW5nIHNlcnZpY2UsIHVzZWQgZm9yIGRlcml2aW5nIHRoZSBzaGFyZWQgRWxsaXB0aWMgQ3VydmUgRGlmZmllLUhlbGxtYW4gKEVDREgpIHNlY3JldFxuICAgKiBiZXR3ZWVuIHRoZSB1c2VyJ3MgZXh0ZW5kZWQgcHJpdmF0ZSBrZXkgYW5kIHRoZSBMaWdodG5pbmcgc2VydmljZS4gVGhpcyBrZXkgZmFjaWxpdGF0ZXMgc2VjdXJlIGNvbW11bmljYXRpb25cbiAgICogYnkgZW5hYmxpbmcgdGhlIGNyZWF0aW9uIG9mIGEgc2hhcmVkIHNlY3JldCBmb3IgZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiBvZiBkYXRhLlxuICAgKi9cbiAgbGlnaHRuaW5nU2VydmljZVB1YktleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYU5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIC8vIE5ldHdvcmsgbmFtZSBhcyBkZWZpbmVkIGluIEBiaXRnby1iZXRhL3V0eG8tbGliIG5ldHdvcmtzLnRzXG4gIC8vIG1heWJlIGFkZCBuZXR3b3JrIGlkZW50aWZpZXIgLyBtYWdpYyBuZXR3b3JrIG51bWJlclxuICB1dHhvbGliTmFtZTogc3RyaW5nO1xuICBwb29sRGVwb3NpdDogbnVtYmVyO1xuICBzdGFrZUtleURlcG9zaXQ6IG51bWJlcjtcbiAgbWF4VmFsdWVTaXplOiBudW1iZXI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZTogbnVtYmVyO1xuICBjb2luc1BlclV0eG9Xb3JkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhbGFuY2hlTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgcmVhZG9ubHkgYWxpYXM6IHN0cmluZztcbiAgcmVhZG9ubHkgYmxvY2tjaGFpbklEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNDaGFpbkJsb2NrY2hhaW5JRDogc3RyaW5nO1xuICByZWFkb25seSBuZXR3b3JrSUQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgaHJwOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZtOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0aW9uVHhGZWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY3JlYXRlU3VibmV0VHg6IHN0cmluZztcbiAgcmVhZG9ubHkgY3JlYXRlQ2hhaW5UeDogc3RyaW5nO1xuICByZWFkb25seSBtaW5Db25zdW1wdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtYXhDb25zdW1wdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtYXhTdXBwbHk6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluU3Rha2U6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluU3Rha2VEdXJhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtYXhTdGFrZUR1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkRlbGVnYXRpb25TdGFrZTogc3RyaW5nO1xuICByZWFkb25seSBtaW5EZWxlZ2F0aW9uRmVlOiBzdHJpbmc7XG4gIC8vIGN1cnJlbnQgdmFsaWQgYXNzZXQgaWQgaXMgQVZBWFxuICByZWFkb25seSBhdmF4QXNzZXRJRDogc3RyaW5nO1xuICByZWFkb25seSB0eEZlZTogc3RyaW5nO1xuICByZWFkb25seSBtYXhJbXBvcnRGZWU6IHN0cmluZzsgLy8gMC4wMSBBVkFYXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjb3VudE5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIC8vIHNvbWUgY2hhaW5zIHBheSBmZWVzIHZpYSBhbiBlbnRlcnByaXNlIGdhcyB0YXNrLiBUaGUgYWNjb3VudCBleHBsb3JlciB1cmxcbiAgLy8gaXMgYSB1cmwgdGhhdCBjYW4gYmUgdXNlZCB0byBsb29rIHVwIHRoZSBhY2NvdW50IGZvciB0aGUgZ2FzIHRhbmsgb24tY2hhaW4uXG4gIHJlYWRvbmx5IGFjY291bnRFeHBsb3JlclVybD86IHN0cmluZztcbiAgcmVhZG9ubHkgYmxvY2tFeHBsb3JlclVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTcGVjaWZpY2F0aW9uIG5hbWUgdHlwZSBvZiB0aGUgY2hhaW4uIFVzZWQgaW4gc2V0dGluZyB1cCB0aGUgcmVnaXN0cnlcbiAqL1xuZXhwb3J0IHR5cGUgUG9sa2Fkb3RTcGVjTmFtZVR5cGUgPSAna3VzYW1hJyB8ICdwb2xrYWRvdCcgfCAnd2VzdGVuZCcgfCAnc3RhdGVtaW50JyB8ICdzdGF0ZW1pbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvdE5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIC8vIHNvbWUgY2hhaW5zIHBheSBmZWVzIHZpYSBhbiBlbnRlcnByaXNlIGdhcyB0YXNrLiBUaGUgYWNjb3VudCBleHBsb3JlciB1cmxcbiAgLy8gaXMgYSB1cmwgdGhhdCBjYW4gYmUgdXNlZCB0byBsb29rIHVwIHRoZSBhY2NvdW50IGZvciB0aGUgZ2FzIHRhbmsgb24tY2hhaW4uXG4gIHJlYWRvbmx5IHNwZWNOYW1lOiBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgcmVhZG9ubHkgZ2VuZXNpc0hhc2g6IHN0cmluZztcbiAgcmVhZG9ubHkgc3BlY1ZlcnNpb246IG51bWJlcjtcbiAgcmVhZG9ubHkgY2hhaW5OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR4VmVyc2lvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0aGVyZXVtTmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gdW5pcXVlIGNoYWluIGlkIHVzZWQgZm9yIHJlcGxheS1wcm90ZWN0aW5nIHRyYW5zYWN0aW9uc1xuICByZWFkb25seSBjaGFpbklkOiBudW1iZXI7XG4gIHJlYWRvbmx5IGJhdGNoZXJDb250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIC8vIGZvcndhcmRlciBjb25maWd1cmF0aW9uIGFkZHJlc3NlcyB1c2VkIGZvciBjYWxjdWxhdGluZyBmb3J3YXJkZXIgdmVyc2lvbiAxIGFkZHJlc3Nlc1xuICByZWFkb25seSBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzPzogc3RyaW5nO1xuICByZWFkb25seSBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeD86IHN0cmluZztcbiAgcmVhZG9ubHkgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyb25OZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICBtYXhGZWVMaW1pdDogc3RyaW5nO1xuICBjb250cmFjdENhbGxGZWVMaW1pdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrc05ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIHJlYWRvbmx5IHNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICByZWFkb25seSBzdGFraW5nQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIE9mY05ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7fVxuXG5hYnN0cmFjdCBjbGFzcyBNYWlubmV0IGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICB0eXBlID0gTmV0d29ya1R5cGUuTUFJTk5FVDtcbn1cblxuYWJzdHJhY3QgY2xhc3MgVGVzdG5ldCBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgdHlwZSA9IE5ldHdvcmtUeXBlLlRFU1RORVQ7XG59XG5cbmNsYXNzIEFsZ29yYW5kIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBbGdvcmFuZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQUxHTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGxvLmluZm8vdHgvJztcbn1cblxuY2xhc3MgQWxnb3JhbmRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBbGdvcmFuZFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFMR087XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuYml0cXVlcnkuaW8vYWxnb3JhbmRfdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBBZGEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWRhTmV0d29yayB7XG4gIG5hbWUgPSAnQWRhQ2FyZGFubyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQURBO1xuICB1dHhvbGliTmFtZSA9ICdjYXJkYW5vJztcbiAgcG9vbERlcG9zaXQgPSA1MDAwMDAwMDA7XG4gIHN0YWtlS2V5RGVwb3NpdCA9IDIwMDAwMDA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmV0YS5leHBsb3Jlci5jYXJkYW5vLm9yZy9lbi90cmFuc2FjdGlvbi8nO1xuICBjb2luc1BlclV0eG9Xb3JkID0gMzQ0ODI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZSA9IDgwMDA7XG4gIG1heFZhbHVlU2l6ZSA9IDQwMDA7XG59XG5cbmNsYXNzIEFkYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWRhTmV0d29yayB7XG4gIG5hbWUgPSAnQWRhQ2FyZGFub1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFEQTtcbiAgdXR4b2xpYk5hbWUgPSAnY2FyZGFub1Rlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3ByZXByb2QuY2V4cGxvcmVyLmlvLyc7XG4gIGNvaW5zUGVyVXR4b1dvcmQgPSAzNDQ4MjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplID0gODAwMDtcbiAgbWF4VmFsdWVTaXplID0gNDAwMDtcbiAgcG9vbERlcG9zaXQgPSA1MDAwMDAwMDA7XG4gIHN0YWtlS2V5RGVwb3NpdCA9IDIwMDAwMDA7XG59XG5cbmNsYXNzIEFwdCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQXB0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUFQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuYXB0b3NsYWJzLmNvbS8/bmV0d29yaz1tYWlubmV0Jztcbn1cblxuY2xhc3MgQXB0VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBBcHQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFQVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5hcHRvc2xhYnMuY29tLz9uZXR3b3JrPXRlc3RuZXQnO1xufVxuXG5jbGFzcyBJY3AgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0ludGVybmV0IENvbXB1dGVyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JQ1A7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmljcGV4cGxvcmVyLm9yZyc7IC8vVE9ETyhXSU4tNDI0Mik6IHVwZGF0ZSB0byB0aGUgcHJvZCByb3NldHRhIGV4cGxvcmVyIHVybFxufVxuXG5jbGFzcyBJY3BUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEludGVybmV0IENvbXB1dGVyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JQ1A7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmljcGV4cGxvcmVyLm9yZyc7IC8vVE9ETyhXSU4tNDI0Mik6IHVwZGF0ZSB0byB0aGUgdGVzdCByb3NldHRhIGV4cGxvcmVyIHVybFxufVxuY2xhc3MgQXJiaXRydW0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdBcmJpdHJ1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVJCRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2FyYmlzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2FyYmlzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQyMTYxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc0MjE2MSc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc0MjE2MS1FUkMyMCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgQXJiaXRydW1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXJiaXRydW1UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUkJFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5hcmJpc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmFyYmlzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQyMTYxNDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDIxNjE0JztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzQyMTYxNC1FUkMyMCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgQXZhbGFuY2hlQyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvYy1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9jLWNoYWluL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTE0O1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQ1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMtdGVzdC5hdmF4Lm5ldHdvcmsvYy1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL2MtY2hhaW4vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDMxMTM7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQXZhbGFuY2hlTmV0d29yayB7XG4gIG5hbWUgPSAnQXZhbGFuY2hlUCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWFA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvcC1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAnMnE5ZTRyNk11M1U2OG5VMWZZamdiUjZKdndyUngzNkNvaHBBWDVVUXhzZTU1eDFRNSc7XG4gIGF2YXhBc3NldElEID0gJ0Z2d0VBaG14S2ZlaUc4U25FdnE0MmhjNndoUnlZM0VGWUF2ZWJNcUROREdDZ3hONVonO1xuICBuZXR3b3JrSUQgPSAxO1xuICBocnAgPSAnYXZheCc7XG4gIGFsaWFzID0gJ1AnO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIG1heEltcG9ydEZlZSA9ICcxMDAwMDAwMCc7IC8vIDAuMDEgQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcyMDAwMDAwMDAwMDAwJzsgLy8gMjAwMCBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnMTIwOTYwMCc7IC8vIDIgd2Vla3NcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnMjUwMDAwMDAwMDAnOyAvLyAyNSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL3AtY2hhaW4vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy10ZXN0LmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAneUg4RDdUaE5Ka3htdGt1djJqZ0JhNFAxUm4zUXByNHBQcjdRWU5mY2RvUzZrNkhXcCc7XG4gIGF2YXhBc3NldElEID0gJ1U4aVJxSm9pSm04eFpIQWFjbXZZeVpWd3FReDZ1RE50UWVQM0NRNmZjZ1FrM0pxbksnO1xuICBuZXR3b3JrSUQgPSA1O1xuICBhbGlhcyA9ICdQJztcbiAgaHJwID0gJ2Z1amknO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIG1heEltcG9ydEZlZSA9ICcxMDAwMDAwMCc7IC8vIDAuMDEgQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnODY0MDAnOyAvLyAxIGRheVxuICBtYXhTdGFrZUR1cmF0aW9uID0gJzMxNTM2MDAwJzsgLy8gMSB5ZWFyXG4gIG1pbkRlbGVnYXRpb25TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYnNjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJzY3NjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU2O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1Nic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1Ni1FUkMyMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhiMWI3ZTdjYzFlY2FmYmZkMDc3MWE1ZWI1NDU0YWI1YjAzNTY5ODBkJztcbn1cblxuY2xhc3MgQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CU0M7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJzY3NjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDk3O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc5Nyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc5Ny1FUkMyMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHg2ZmFmNGI2YmFlM2Q0YmYyMGM1ZDg2NmM5MzhmNTE5OTJjNjNlODI1Jztcbn1cblxuY2xhc3MgTGlnaHRuaW5nQml0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBMaWdodG5pbmdOZXR3b3JrIHtcbiAgbmFtZSA9ICdMaWdodG5pbmdCaXRjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MTkJUQztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS9saWdodG5pbmcnO1xuICBsaWdodG5pbmdTZXJ2aWNlUHViS2V5ID0gJzAzMzg1MDg2ODZmOTc4Y2VmZmQ3Y2UwNTQwNDA0MWIxYTViNGY3NWEzOWJjOTJhNmQzNTUyNDBjY2MwODFmNzYzZSc7XG59XG5cbmNsYXNzIExpZ2h0bmluZ0JpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIExpZ2h0bmluZ05ldHdvcmsge1xuICBuYW1lID0gJ0xpZ2h0bmluZ0JpdGNvaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MTkJUQztcbiAgdXR4b2xpYk5hbWUgPSAndGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90ZXN0bmV0L2xpZ2h0bmluZyc7XG4gIGxpZ2h0bmluZ1NlcnZpY2VQdWJLZXkgPSAnMDI0MDU1MDIxZGIxZTdmMDE5ZWJiNzgzYWIwYjA4MTBjMjFhODE5MjA3ZDRjYjFlYzRhNmUyMTUwYWMwN2YxNDgyJztcbn1cblxuY2xhc3MgQml0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICd0ZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgQml0Y29pblB1YmxpY1NpZ25ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblB1YmxpY1NpZ25ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luUHVibGljU2lnbmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3NpZ25ldC90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luVGVzdG5ldDQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5UZXN0bmV0NCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luVGVzdG5ldDQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21lbXBvb2wuc3BhY2UvdGVzdG5ldDQvdHgvJztcbn1cblxuY2xhc3MgQml0Y29pbkJpdEdvU2lnbmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luQml0R29TaWduZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbkJpdEdvU2lnbmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL25vdGFuZXR3b3JrL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJsb2NrY2hhaW4uY29tL2JjaC90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3RiY2gubG9waW5nLm5ldC90eC8nO1xufVxuY2xhc3MgQml0Y29pblNWIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luU1YnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9iaXRjb2luLXN2L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEJpdGNvaW5TVlRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVlRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2VGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJURztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbmdvbGQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2J0Z2V4cGxvcmVyLmNvbS90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5Hb2xkVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRGFzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRGFzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERhc2hUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaFRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQtaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRE9HRTtcbiAgdXR4b2xpYk5hbWUgPSAnZG9nZWNvaW4nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2RvZ2Vjb2luL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRG9nZWNvaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pblRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrZXhwbG9yZXIub25lL2RvZ2Vjb2luL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgRUNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZWNhc2gnO1xufVxuXG5jbGFzcyBFQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIQTtcbiAgdXR4b2xpYk5hbWUgPSAnZWNhc2hUZXN0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFBvbGthZG90IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIERvdE5ldHdvcmsge1xuICBuYW1lID0gJ1BvbGthZG90JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9sa2Fkb3Quc3Vic2Nhbi5pby9leHRyaW5zaWMvJztcbiAgc3BlY05hbWUgPSAncG9sa2Fkb3QnIGFzIFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBnZW5lc2lzSGFzaCA9ICcweDkxYjE3MWJiMTU4ZTJkMzg0OGZhMjNhOWYxYzI1MTgyZmI4ZTIwMzEzYjJjMWViNDkyMTlkYTdhNzBjZTkwYzMnO1xuICBzcGVjVmVyc2lvbiA9IDkxNDA7XG4gIGNoYWluTmFtZSA9ICdQb2xrYWRvdCc7XG4gIHR4VmVyc2lvbiA9IDk7XG59XG5cbmNsYXNzIFBvbGthZG90VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBEb3ROZXR3b3JrIHtcbiAgbmFtZSA9ICdXZXN0ZW5kJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd2VzdGVuZC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICd3ZXN0ZW5kJyBhcyBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgZ2VuZXNpc0hhc2ggPSAnMHhlMTQzZjIzODAzYWM1MGU4ZjZmOGU2MjY5NWQxY2U5ZTRlMWQ2OGFhMzZjMWNkMmNmZDE1MzQwMjEzZjM0MjNlJztcbiAgc3BlY1ZlcnNpb24gPSA5NDMwO1xuICBjaGFpbk5hbWUgPSAnV2VzdGVuZCc7XG4gIHR4VmVyc2lvbiA9IDIyO1xufVxuXG5jbGFzcyBDZWxvIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ2Vsbyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjIyMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnQ0VMTyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdDRUxPLUVSQzIwJztcbn1cblxuY2xhc3MgQ2Vsb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxvVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGZham9yZXMtYmxvY2tzY291dC5jZWxvLXRlc3RuZXQub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2FsZmFqb3Jlcy1ibG9ja3Njb3V0LmNlbG8tdGVzdG5ldC5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDQ3ODc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0NFTE8nO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnQ0VMTy1FUkMyMCc7XG59XG5cbi8vIFRPRE8gdXBkYXRlIGV4cGxvcmVyVXJsIFNUTFgtMTY1N1xuY2xhc3MgQ2FzcGVyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNTUFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3Nwci5saXZlL2RlcGxveS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jc3ByLmxpdmUvYWNjb3VudC8nO1xufVxuXG5jbGFzcyBDYXNwZXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DU1BSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2ludGVncmF0aW9uLmNzcHIubGl2ZS9kZXBsb3kvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW50ZWdyYXRpb24uY3Nwci5saXZlL2FjY291bnQvJztcbn1cblxuY2xhc3MgRXRoZXJldW0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBibG9ja0V4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL2Jsb2NrLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDE7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhiMWI3ZTdjYzFlY2FmYmZkMDc3MWE1ZWI1NDU0YWI1YjAzNTY5ODBkJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmZmEzOTcyODVjZTQ2ZmI3OGM1ODhhOWU5OTMyODZhYWM2OGMzN2NkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MDU5ZmZhZmRjNmVmNTk0MjMwZGU0NGY4MjRlMmJkMGE1MWNhNWRlZCc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgRXRoZXJldW0yIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bTInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9hZGRyZXNzJztcbn1cblxuY2xhc3MgRXRoZXJldW1XIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0gUG9XJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEhXO1xuICBleHBsb3JlclVybCA9ICcnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnJztcbiAgY2hhaW5JZCA9IDEwMDAxO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcnO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEhFUic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFUkMyMCc7XG59XG5cbmNsYXNzIFB5cm1vbnQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1B5cm1vbnQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vcHlybW9udC90eCc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3B5cm1vbnQvYWRkcmVzcyc7XG59XG5cbmNsYXNzIEtvdmFuIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnS292YW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rb3Zhbi5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va292YW4uZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gNDI7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjMGFhZjI2NDllN2IwZjM5NTAxNjQ2ODFlY2EyYjFhOGY2NTRhNDc4JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhhNzlhNDg1Mjk0ZDIyNjA3NWVlNjU0MTBiYzk0ZWE0NTRmM2U0MDlkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4YTk0NmU3NDhmMjVhNWVjNjg3OGViMWE5ZjJlOTAyMDI4MTc0YzBiMyc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgR29lcmxpIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnR29lcmxpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2dvZXJsaS5ldGhlcnNjYW4uaW8vYmxvY2svJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gNTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGU4ZTg0N2NmNTczZmM4ZWQ3NTYyMTY2MGEzNmFmZmQxOGM1NDNkN2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGY1Y2FhNWUzZTkzYWZiYzIxYmQxOWVmNGYyNjkxYTM3MTIxZjc5MTcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg4MGQ1YzkxZThjYzIxZGY2OWZjNGQ2NGYyMWRjMmQ4MzEyMWMzOTk5JztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRIRVInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVJDMjAnO1xufVxuXG5jbGFzcyBIb2xlc2t5IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnSG9sZXNreSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2hvbGVza3kuZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2hvbGVza3kuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2hvbGVza3kuZXRoZXJzY2FuLmlvL2Jsb2NrLyc7XG4gIC8vIGh0dHBzOi8vY2hhaW5saXN0Lm9yZy9jaGFpbi8xNzAwMFxuICBjaGFpbklkID0gMTcwMDA7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhiMWI3ZTdjYzFlY2FmYmZkMDc3MWE1ZWI1NDU0YWI1YjAzNTY5ODBkJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmZmEzOTcyODVjZTQ2ZmI3OGM1ODhhOWU5OTMyODZhYWM2OGMzN2NkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MDU5ZmZhZmRjNmVmNTk0MjMwZGU0NGY4MjRlMmJkMGE1MWNhNWRlZCc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW1DbGFzc2ljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRDJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUQy1FUkMyMCc7XG59XG5cbmNsYXNzIEV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bUNsYXNzaWNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21vcmRvci90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbW9yZG9yL2FkZHJlc3MvJztcbiAgLy8gZnJvbSAgaHR0cHM6Ly9jaGFpbmlkLm5ldHdvcmsvY2hhaW5zL1xuICBjaGFpbklkID0gNjM7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUQyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEMtRVJDMjAnO1xufVxuXG5jbGFzcyBFb3MgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmVvc25ldHdvcmsuY29tL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEVvc1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvc1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVPUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9reWxpbi5lb3N4LmlvL3R4Lyc7XG59XG5cbmNsYXNzIEhlZGVyYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGVkZXJhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2hhc2hzY2FuLmlvL21haW5uZXQvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgSGVkZXJhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGVkZXJhVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEJBUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmRyYWdvbmdsYXNzLm1lL2hlZGVyYS9zZWFyY2g/cT0nO1xufVxuXG5jbGFzcyBMaXRlY29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnTGl0ZWNvaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkxUQztcbiAgdXR4b2xpYk5hbWUgPSAnbGl0ZWNvaW4nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2xpdGVjb2luL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIExpdGVjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnTGl0ZWNvaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MVEM7XG4gIHV0eG9saWJOYW1lID0gJ2xpdGVjb2luVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tleHBsb3Jlci5vbmUvbGl0ZWNvaW4vdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBPZmMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgT2ZjTmV0d29yayB7XG4gIG5hbWUgPSAnT2ZjJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PRkM7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBPZmNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIE9mY05ldHdvcmsge1xuICBuYW1lID0gJ09mY1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9GQztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFJidGMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdSYnRjJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5SQlRDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnJzay5jby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5yc2suY28vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1JTSyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdSU0stRVJDMjAnO1xufVxuXG5jbGFzcyBSYnRjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1JidGNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5SQlRDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQucnNrLmNvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQucnNrLmNvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdSU0snO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUlNLLUVSQzIwJztcbn1cblxuY2xhc3MgU3RlbGxhciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3RlbGxhcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWExNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N0ZWxsYXIuZXhwZXJ0L2V4cGxvcmVyL3B1YmxpYy90eC8nO1xufVxuXG5jbGFzcyBTdGVsbGFyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3RlbGxhclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdGVsbGFyLmV4cGVydC9leHBsb3Jlci90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIFNvbCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU29sJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT0w7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc29sYW5hLmNvbS90eC8nO1xufVxuXG5jbGFzcyBTb2xUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTb2xUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT0w7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc29sYW5hLmNvbS90eC8/Y2x1c3Rlcj1kZXZuZXQnO1xufVxuXG5jbGFzcyBTdWkgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1N1aSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN1aS5pby90eGJsb2NrLz9uZXR3b3JrPW1haW5uZXQnO1xufVxuXG5jbGFzcyBTdWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFN1aSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN1aS5pby90eGJsb2NrLz9uZXR3b3JrPXRlc3RuZXQnO1xufVxuXG5jbGFzcyBBdG9tIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDb3Ntb3MgSHViIEFUT00nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFUT007XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1pbnRzY2FuLmlvL2Nvc21vcy90eC8nO1xufVxuXG5jbGFzcyBBdG9tVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBDb3Ntb3MgSHViIEFUT00nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFUT007XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucG9seXBvcmUueHl6L3Byb3ZpZGVyL3R4Lyc7XG59XG5cbmNsYXNzIE9zbW8gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ09zbW9zaXMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9TTU87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1pbnRzY2FuLmlvL29zbW9zaXMvdHhzLyc7XG59XG5cbmNsYXNzIE9zbW9UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IE9zbW9zaXMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9TTU87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5vc21vc2lzLmV4cGxvcmVycy5ndXJ1L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIFRpYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ2VsZXN0aWEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRJQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vY2VsZXN0aWEvdHgvJztcbn1cblxuY2xhc3MgVGlhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBDZWxlc3RpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVElBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuY2VsZXN0aWEuZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgSGFzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUHJvdmVuYW5jZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEFTSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vcHJvdmVuYW5jZS90eC8nO1xufVxuXG5jbGFzcyBIYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBQcm92ZW5hbmNlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQVNIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3QucHJvdmVuYW5jZS5pby90eC8nO1xufVxuXG5jbGFzcyBCbGQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Fnb3JpYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkxEO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JpZ2RpcHBlci5saXZlL2Fnb3JpYy90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgQmxkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBBZ29yaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9lbWVyeW5ldC5leHBsb3Jlci5hZ29yaWMubmV0L2Fnb3JpYy90eC8nO1xufVxuXG5jbGFzcyBTZWkgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NlaSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlaXN0cmVhbS5hcHAvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIFNlaVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgU2VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TRUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1pbnRzY2FuLmlvL3NlaS90eC8nO1xufVxuXG5jbGFzcyBaZXRhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdaZXRhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRVRBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnpldGFjaGFpbi5jb20vY29zbW9zL3R4Lyc7XG59XG5cbmNsYXNzIFpldGFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFpldGEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpFVEE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYXRoZW5zLmV4cGxvcmVyLnpldGFjaGFpbi5jb20vY29zbW9zL3R4Lyc7XG59XG5cbmNsYXNzIEluamVjdGl2ZSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW5qZWN0aXZlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JTkpFQ1RJVkU7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1pbnRzY2FuLmlvL2luamVjdGl2ZS90eC8nO1xufVxuXG5jbGFzcyBJbmplY3RpdmVUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdJbmplY3RpdmVUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JTkpFQ1RJVkU7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5leHBsb3Jlci5pbmplY3RpdmUubmV0d29yay90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBLYXZhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdLYXZhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5LQVZBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9rYXZhL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBLYXZhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnS2F2YVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LktBVkE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5taW50c2Nhbi5pby9rYXZhLXRlc3RuZXQvdHhzLyc7XG59XG5cbmNsYXNzIFRvbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVG9uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdG9uc2Nhbi5vcmcvdHgvJztcbn1cblxuY2xhc3MgVG9uVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBUb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnRvbnNjYW4ub3JnL3R4Lyc7XG59XG5cbmNsYXNzIENvcmV1bSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZXVtJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DT1JFVU07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1pbnRzY2FuLmlvL2NvcmV1bS90eC8nO1xufVxuXG5jbGFzcyBDb3JldW1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDb3JldW1UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DT1JFVU07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC0xLmNvcmV1bS5kZXYvY29yZXVtL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBSdW5lIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdSdW5lJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5USE9SO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3J1bmVzY2FuLmlvL3R4Lyc7XG59XG5cbmNsYXNzIFJ1bmVUZXN0TmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdSdW5lVGVzdE5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVEhPUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ydW5lc2Nhbi5pby90eC8/bmV0d29yaz1zdGFnZW5ldCc7XG59XG5cbmNsYXNzIEJhYnkgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0JhYnlsb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJBQlk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmFieWxvbi5leHBsb3JlcnMuZ3VydS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBCYWJ5VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBCYWJ5bG9uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQUJZO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYmFieWxvbi5leHBsb3JlcnMuZ3VydS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBJc2xtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIYXFxJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JU0xNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3BpbmcucHViL2hhcXEvdHgvJztcbn1cblxuY2xhc3MgSXNsbVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0hhcXFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JU0xNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQucGluZy5wdWIvaGFxcS90eC8nO1xufVxuXG5jbGFzcyBTdHggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgU3RhY2tzTmV0d29yayB7XG4gIG5hbWUgPSAnU3R4JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVFg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3RhY2tzLmNvL3R4aWQvJztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NQM0ZCUjJBR0s1SDlRQkRIM0VFTjZERjhFSzhKWTdSWDhRSjVTVlRFJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTUDAwMDAwMDAwMDAwMDAwMDAwMDAwMlE2VkY3OCc7XG59XG5cbmNsYXNzIFN0eFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgU3RhY2tzTmV0d29yayB7XG4gIG5hbWUgPSAnU3R4VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN0YWNrcy5jby90eGlkLz9jaGFpbj10ZXN0bmV0JztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NUM0YxWDRRR1YyU004WEQ5Nlg0NU02UlRRWEtBMVBaSlpaQ1FBQjRCJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTVDAwMDAwMDAwMDAwMDAwMDAwMDAwMkFNVzQySCc7XG59XG5cbmNsYXNzIFNVU0QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NVU0QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBTVVNEVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU1VTRFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBCYXNlTmV0d29yayB7XG4gIG5hbWUgPSAnRmlhdFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZJQVQ7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEJhc2VOZXR3b3JrIHtcbiAgbmFtZSA9ICdGaWF0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GSUFUO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgQml0dGVuc29yIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUYW8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90YW9zdGF0cy5pby9ldm0vdHgvJztcbn1cblxuY2xhc3MgQml0dGVuc29yVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBUYW8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5maW5uZXkub3BlbnRlbnNvci5haS8jLyc7XG59XG5cbmNsYXNzIFRyeCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBUcm9uTmV0d29yayB7XG4gIG5hbWUgPSAnVHJ4JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UUlg7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Ryb25zY2FuLm9yZy8jL2FkZHJlc3MvJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90cm9uc2Nhbi5vcmcvIy90cmFuc2FjdGlvbi8nO1xuICBtYXhGZWVMaW1pdCA9ICc1MDAwMDAwMDAwJztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQgPSAnMTAwMDAwMDAwJztcbn1cblxuY2xhc3MgVHJ4VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBUcm9uTmV0d29yayB7XG4gIG5hbWUgPSAnVHJ4VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVFJYO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zaGFzdGEudHJvbnNjYW4ub3JnLyMvYWRkcmVzcy8nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NoYXN0YS50cm9uc2Nhbi5vcmcvIy90cmFuc2FjdGlvbi8nO1xuICBtYXhGZWVMaW1pdCA9ICc1MDAwMDAwMDAwJztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQgPSAnMTAwMDAwMDAwJztcbn1cblxuY2xhc3MgWHJwIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYcnAnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9saXZlbmV0LnhycGwub3JnL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBYcnBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYcnBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YUlA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdC54cnBsZXhwbG9yZXIuY29tL2V4cGxvcmVyLyc7XG59XG5cbmNsYXNzIFh0eiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWHR6JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YVFo7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdHpzdGF0cy5jb20vJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdHpzdGF0cy5jb20vJztcbn1cblxuY2xhc3MgWHR6VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWHR6VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFRaO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2dob3N0bmV0LnR6a3QuaW8vJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ2hvc3RuZXQudHprdC5pby8nO1xufVxuXG5jbGFzcyBaQ2FzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnWkNhc2gnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpFQztcbiAgdXR4b2xpYk5hbWUgPSAnemNhc2gnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NoYWluLnNvL3R4L1pFQy8nO1xufVxuXG5jbGFzcyBaQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ1pDYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVDO1xuICB1dHhvbGliTmFtZSA9ICd6Y2FzaFRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NoYWluLnNvL3R4L1pFQ1RFU1QvJztcbn1cblxuY2xhc3MgTmVhciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnTmVhcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTkVBUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9uZWFyYmxvY2tzLmlvL3R4bnMvJztcbiAgZmVlUmVzZXJ2ZSA9ICc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHN0b3JhZ2VSZXNlcnZlID0gJzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAnOyAvLyBmZWVSZXNlcnZlICsgc3RvcmFnZVJlc2VydmUgaXMgbWluaW11bSBhY2NvdW50IGJhbGFuY2UgZm9yIGEgTkVBUiB3YWxsZXQgaHR0cHM6Ly9kb2NzLm5lYXIub3JnL2ludGVncmF0b3IvZmFxI2lzLXRoZXJlLWEtbWluaW11bS1hY2NvdW50LWJhbGFuY2Vcbn1cblxuY2xhc3MgTmVhclRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ05lYXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ORUFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQubmVhcmJsb2Nrcy5pby90eG5zLyc7XG4gIGZlZVJlc2VydmUgPSAnNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuICBzdG9yYWdlUmVzZXJ2ZSA9ICcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gZmVlUmVzZXJ2ZSArIHN0b3JhZ2VSZXNlcnZlIGlzIG1pbmltdW0gYWNjb3VudCBiYWxhbmNlIGZvciBhIE5FQVIgd2FsbGV0IGh0dHBzOi8vZG9jcy5uZWFyLm9yZy9pbnRlZ3JhdG9yL2ZhcSNpcy10aGVyZS1hLW1pbmltdW0tYWNjb3VudC1iYWxhbmNlXG59XG5cbmNsYXNzIFBvbHlnb24gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdQb2x5Z29uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QT0xZR09OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3BvbHlnb25zY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2x5Z29uc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTM3O1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDI5ZWY0NjAzNWU5ZmEzZDU3MGM1OThkMzI2NjQyNGNhMTE0MTNiMGMnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg1Mzk3ZDA4NjlhYmEwZDU1ZTk2ZDU3MTZkMzgzZjZlMWQ4Njk1ZWQ3JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHhhNzE5OGY0OGM1OGU5MWYwMTMxN2U3MGNkMjRjNWNjZTQ3NWMxNTU1JztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZTVkY2RjMTNiNjI4YzJkZjgxM2RiMTA4MDM2N2U5MjljMTUwN2NhMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhiMWI3ZTdjYzFlY2FmYmZkMDc3MWE1ZWI1NDU0YWI1YjAzNTY5ODBkJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUE9MWUdPTic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdQT0xZR09OLUVSQzIwJztcbn1cblxuY2xhc3MgUG9seWdvblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdQb2x5Z29uVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUE9MWUdPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbW95LnBvbHlnb25zY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbW95LnBvbHlnb25zY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4MDAwMjtcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgyMzIyM2ZkN2NmYzVmMzRiMjBmMzhlYmI5YTQ4OWUxZmYzYzA4NGQxJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDRjMjQzMjViNWVmNTE0ZmJiMWVjYzc2YTliYjRkY2I1N2E4MzQxZSc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ZTljMTYwMzNlMDFiZjlmOTRiZjlmOTlmYzBmZWZjZmI4YjEyNDk5Mic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGY4MzYwYzIxM2U0ZjQ0Y2NlMDNlNDhjYjkyODEyNTRkZTJhN2E1NjYnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YjFiN2U3Y2MxZWNhZmJmZDA3NzFhNWViNTQ1NGFiNWIwMzU2OTgwZCc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1BPTFlHT04nO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUE9MWUdPTi1FUkMyMCc7XG59XG5cbmNsYXNzIE9wdGltaXNtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnT3B0aW1pc20nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9QRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL29wdGltaXN0aWMuZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL29wdGltaXN0aWMuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMC1FUkMyMCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgT3B0aW1pc21UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnT3B0aW1pc21UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PUEVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLW9wdGltaXNtLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLW9wdGltaXNtLmV0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMTE1NTQyMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNTU0MjAnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNTU0MjAtRVJDMjAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG59XG5cbmNsYXNzIFprU3luYyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1prU3luYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWktFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuemtzeW5jLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnprc3luYy5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMjQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzMyNCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICczMjQtRVJDMjAnO1xufVxuXG5jbGFzcyBaa1N5bmNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnWmtTeW5jVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWktFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5leHBsb3Jlci56a3N5bmMuaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5leHBsb3Jlci56a3N5bmMuaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzAwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICczMDAnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMzAwLUVSQzIwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhkZDQ5ODcwMmY0NGM0ZGEwOGViOWUwOGQzZjAxNWVlZmU1Y2I3MWZjJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4YmU2OWNhZTMxMTE5MWZiNDVlNjQ4ZWQyMDg0N2YwNmZhZDJkYmFiNCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4NDU1MGUxZTc2MTZkMzM2NDg3N2ZjNmM5MzI0OTM4ZGFiNjc4NjIxYSc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDkyZGIyNzU5ZDFkY2ExMjlhMGQ5ZDQ2ODc3ZjM2MWJlODE5MTg0YzQnO1xufVxuXG5jbGFzcyBCZXJhY2hhaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCZXJhY2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJFUkE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vODAwOTQucm91dGVzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovLzgwMDk0LnJvdXRlc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4MDA5NDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODAwOTQnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODAwOTQtRVJDMjAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWRmMWEwMDE2ZDljNDFkMmFkMGMyNzVlMWJhNzA4MzYxYTkwYzBkMSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuXG5jbGFzcyBCZXJhY2hhaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmVyYWNoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkVSQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly84MDAwMC50ZXN0bmV0LnJvdXRlc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly84MDAwMC50ZXN0bmV0LnJvdXRlc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4MDAwMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODAwMDAnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODAwMDAtRVJDMjAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWRmMWEwMDE2ZDljNDFkMmFkMGMyNzVlMWJhNzA4MzYxYTkwYzBkMSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuXG5jbGFzcyBPYXMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdPYXNjaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0FTO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm9hc3lzLmdhbWVzL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm9hc3lzLmdhbWVzL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDI0ODtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMjQ4JztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGVkZjFhMDAxNmQ5YzQxZDJhZDBjMjc1ZTFiYTcwODM2MWE5MGMwZDEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgT2FzVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ09hc2NoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0FTO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQub2FzeXMuZ2FtZXMvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5vYXN5cy5nYW1lcy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5MzcyO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc5MzcyJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGVkZjFhMDAxNmQ5YzQxZDJhZDBjMjc1ZTFiYTcwODM2MWE5MGMwZDEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgQ29yZWRhbyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0NvcmVkYW9jaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRURBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zY2FuLmNvcmVkYW8ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NjYW4uY29yZWRhby5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTExNjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlZGYxYTAwMTZkOWM0MWQyYWQwYzI3NWUxYmE3MDgzNjFhOTBjMGQxJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIENvcmVkYW9UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZWRhb2NoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRURBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zY2FuLnRlc3QuYnRjcy5uZXR3b3JrL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NjYW4udGVzdC5idGNzLm5ldHdvcmsvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTExNTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNSc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhhZDdhMzRhYTljMGM3Y2IyYzRkMWYwN2NlOGQxZDA1MzBiMDdmZTI3JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5jbGFzcyBYZGMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdYZGNDaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWERDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3hkY3NjYW4uY29tL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8veGRjc2Nhbi5jb20vYWRkcmVzcyc7XG4gIGNoYWluSWQgPSA1MDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTAnO1xufVxuY2xhc3MgWGRjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1hkY0NoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWERDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQueGRjc2Nhbi5jb20vdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnhkY3NjYW4uY29tL2FkZHJlc3MnO1xuICBjaGFpbklkID0gNTE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzUxJztcbn1cbmNsYXNzIFdlbWl4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnV2VtaXhDaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuV0VNSVg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIud2VtaXguY29tL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIud2VtaXguY29tL2FkZHJlc3MnO1xuICBjaGFpbklkID0gMTExMTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExMSc7XG59XG5jbGFzcyBXZW1peFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdXZW1peENoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuV0VNSVg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdC53ZW1peC5jb20vdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0LndlbWl4LmNvbS9hZGRyZXNzJztcbiAgY2hhaW5JZCA9IDExMTI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTInO1xufVxuY2xhc3MgRmxhcmUgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdGbGFyZWNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GTFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZmxhcmUtZXhwbG9yZXIuZmxhcmUubmV0d29yay90eCc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2ZsYXJlLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvYWRkcmVzcyc7XG4gIGNoYWluSWQgPSAxNDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTQnO1xufVxuY2xhc3MgRmxhcmVUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRmxhcmVjaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZMUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jb3N0b24yLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jb3N0b24yLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvYWRkcmVzcyc7XG4gIGNoYWluSWQgPSAxMTQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExNCc7XG59XG5jbGFzcyBTb25nYmlyZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NvbmdiaXJkY2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNHQjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25nYmlyZC1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc29uZ2JpcmQtZXhwbG9yZXIuZmxhcmUubmV0d29yay9hZGRyZXNzJztcbiAgY2hhaW5JZCA9IDE5O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxOSc7XG59XG5jbGFzcyBTb25nYmlyZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTb25nYmlyZGNoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0dCO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Nvc3Rvbi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY29zdG9uLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvYWRkcmVzcyc7XG4gIGNoYWluSWQgPSAxNjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTYnO1xufVxuY2xhc3MgQmFzZUNoYWluVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0Jhc2VDaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJBU0VFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5iYXNlc2Nhbi5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5iYXNlc2Nhbi5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gODQ1MzI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzg0NTMyJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzg0NTMyLUVSQzIwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhkZDQ5ODcwMmY0NGM0ZGEwOGViOWUwOGQzZjAxNWVlZmU1Y2I3MWZjJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4YmU2OWNhZTMxMTE5MWZiNDVlNjQ4ZWQyMDg0N2YwNmZhZDJkYmFiNCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4NDU1MGUxZTc2MTZkMzM2NDg3N2ZjNmM5MzI0OTM4ZGFiNjc4NjIxYSc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDkyZGIyNzU5ZDFkY2ExMjlhMGQ5ZDQ2ODc3ZjM2MWJlODE5MTg0YzQnO1xufVxuXG5jbGFzcyBCYXNlQ2hhaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCYXNlQ2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJBU0VFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmFzZXNjYW4ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Jhc2VzY2FuLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4NDUzO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4NDUzJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzg0NTMtRVJDMjAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGRkNDk4NzAyZjQ0YzRkYTA4ZWI5ZTA4ZDNmMDE1ZWVmZTVjYjcxZmMnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhiZTY5Y2FlMzExMTkxZmI0NWU2NDhlZDIwODQ3ZjA2ZmFkMmRiYWI0JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg0NTUwZTFlNzYxNmQzMzY0ODc3ZmM2YzkzMjQ5MzhkYWI2Nzg2MjFhJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTJkYjI3NTlkMWRjYTEyOWEwZDlkNDY4NzdmMzYxYmU4MTkxODRjNCc7XG59XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrcyA9IHtcbiAgbWFpbjoge1xuICAgIGFkYTogT2JqZWN0LmZyZWV6ZShuZXcgQWRhKCkpLFxuICAgIGFsZ29yYW5kOiBPYmplY3QuZnJlZXplKG5ldyBBbGdvcmFuZCgpKSxcbiAgICBhcHQ6IE9iamVjdC5mcmVlemUobmV3IEFwdCgpKSxcbiAgICBhcmJpdHJ1bTogT2JqZWN0LmZyZWV6ZShuZXcgQXJiaXRydW0oKSksXG4gICAgYXRvbTogT2JqZWN0LmZyZWV6ZShuZXcgQXRvbSgpKSxcbiAgICBhdmFsYW5jaGVDOiBPYmplY3QuZnJlZXplKG5ldyBBdmFsYW5jaGVDKCkpLFxuICAgIGF2YWxhbmNoZVA6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZVAoKSksXG4gICAgYmFieTogT2JqZWN0LmZyZWV6ZShuZXcgQmFieSgpKSxcbiAgICBiYXNlY2hhaW46IE9iamVjdC5mcmVlemUobmV3IEJhc2VDaGFpbigpKSxcbiAgICBiaXRjb2luOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luKCkpLFxuICAgIGJpdGNvaW5DYXNoOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luQ2FzaCgpKSxcbiAgICBiaXRjb2luR29sZDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkdvbGQoKSksXG4gICAgYml0Y29pblNWOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luU1YoKSksXG4gICAgYmVyYTogT2JqZWN0LmZyZWV6ZShuZXcgQmVyYWNoYWluKCkpLFxuICAgIGJsZDogT2JqZWN0LmZyZWV6ZShuZXcgQmxkKCkpLFxuICAgIGJzYzogT2JqZWN0LmZyZWV6ZShuZXcgQmluYW5jZVNtYXJ0Q2hhaW4oKSksXG4gICAgY2FzcGVyOiBPYmplY3QuZnJlZXplKG5ldyBDYXNwZXIoKSksXG4gICAgY2VsbzogT2JqZWN0LmZyZWV6ZShuZXcgQ2VsbygpKSxcbiAgICBjb3JlZGFvOiBPYmplY3QuZnJlZXplKG5ldyBDb3JlZGFvKCkpLFxuICAgIGNvcmV1bTogT2JqZWN0LmZyZWV6ZShuZXcgQ29yZXVtKCkpLFxuICAgIGRhc2g6IE9iamVjdC5mcmVlemUobmV3IERhc2goKSksXG4gICAgZG9nZWNvaW46IE9iamVjdC5mcmVlemUobmV3IERvZ2Vjb2luKCkpLFxuICAgIGRvdDogT2JqZWN0LmZyZWV6ZShuZXcgUG9sa2Fkb3QoKSksXG4gICAgZUNhc2g6IE9iamVjdC5mcmVlemUobmV3IEVDYXNoKCkpLFxuICAgIGVvczogT2JqZWN0LmZyZWV6ZShuZXcgRW9zKCkpLFxuICAgIGV0aGVyZXVtOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bSgpKSxcbiAgICBldGhlcmV1bTI6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtMigpKSxcbiAgICBldGhlcmV1bUNsYXNzaWM6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtQ2xhc3NpYygpKSxcbiAgICBldGhlcmV1bVc6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtVygpKSxcbiAgICBmaWF0OiBPYmplY3QuZnJlZXplKG5ldyBGaWF0KCkpLFxuICAgIGZscjogT2JqZWN0LmZyZWV6ZShuZXcgRmxhcmUoKSksXG4gICAgaGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgSGFzaCgpKSxcbiAgICBoZWRlcmE6IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYSgpKSxcbiAgICBpY3A6IE9iamVjdC5mcmVlemUobmV3IEljcCgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZSgpKSxcbiAgICBpc2xtOiBPYmplY3QuZnJlZXplKG5ldyBJc2xtKCkpLFxuICAgIGthdmE6IE9iamVjdC5mcmVlemUobmV3IEthdmEoKSksXG4gICAgbG5idGM6IE9iamVjdC5mcmVlemUobmV3IExpZ2h0bmluZ0JpdGNvaW4oKSksXG4gICAgbGl0ZWNvaW46IE9iamVjdC5mcmVlemUobmV3IExpdGVjb2luKCkpLFxuICAgIHBvbHlnb246IE9iamVjdC5mcmVlemUobmV3IFBvbHlnb24oKSksXG4gICAgb2FzOiBPYmplY3QuZnJlZXplKG5ldyBPYXMoKSksXG4gICAgb2ZjOiBPYmplY3QuZnJlZXplKG5ldyBPZmMoKSksXG4gICAgb3B0aW1pc206IE9iamVjdC5mcmVlemUobmV3IE9wdGltaXNtKCkpLFxuICAgIG9zbW86IE9iamVjdC5mcmVlemUobmV3IE9zbW8oKSksXG4gICAgcmJ0YzogT2JqZWN0LmZyZWV6ZShuZXcgUmJ0YygpKSxcbiAgICBydW5lOiBPYmplY3QuZnJlZXplKG5ldyBSdW5lKCkpLFxuICAgIHN0ZWxsYXI6IE9iamVjdC5mcmVlemUobmV3IFN0ZWxsYXIoKSksXG4gICAgc2VpOiBPYmplY3QuZnJlZXplKG5ldyBTZWkoKSksXG4gICAgc2diOiBPYmplY3QuZnJlZXplKG5ldyBTb25nYmlyZCgpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbCgpKSxcbiAgICBzdWk6IE9iamVjdC5mcmVlemUobmV3IFN1aSgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyKCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4KCkpLFxuICAgIHN1c2Q6IE9iamVjdC5mcmVlemUobmV3IFNVU0QoKSksXG4gICAgdGFvOiBPYmplY3QuZnJlZXplKG5ldyBCaXR0ZW5zb3IoKSksXG4gICAgdGlhOiBPYmplY3QuZnJlZXplKG5ldyBUaWEoKSksXG4gICAgdG9uOiBPYmplY3QuZnJlZXplKG5ldyBUb24oKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcngoKSksXG4gICAgd2VtaXg6IE9iamVjdC5mcmVlemUobmV3IFdlbWl4KCkpLFxuICAgIHhkYzogT2JqZWN0LmZyZWV6ZShuZXcgWGRjKCkpLFxuICAgIHhycDogT2JqZWN0LmZyZWV6ZShuZXcgWHJwKCkpLFxuICAgIHh0ejogT2JqZWN0LmZyZWV6ZShuZXcgWHR6KCkpLFxuICAgIHpDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBaQ2FzaCgpKSxcbiAgICB6ZXRhOiBPYmplY3QuZnJlZXplKG5ldyBaZXRhKCkpLFxuICAgIHprU3luYzogT2JqZWN0LmZyZWV6ZShuZXcgWmtTeW5jKCkpLFxuICB9LFxuICB0ZXN0OiB7XG4gICAgYWRhOiBPYmplY3QuZnJlZXplKG5ldyBBZGFUZXN0bmV0KCkpLFxuICAgIGFsZ29yYW5kOiBPYmplY3QuZnJlZXplKG5ldyBBbGdvcmFuZFRlc3RuZXQoKSksXG4gICAgYXB0OiBPYmplY3QuZnJlZXplKG5ldyBBcHRUZXN0bmV0KCkpLFxuICAgIGFyYml0cnVtOiBPYmplY3QuZnJlZXplKG5ldyBBcmJpdHJ1bVRlc3RuZXQoKSksXG4gICAgYXRvbTogT2JqZWN0LmZyZWV6ZShuZXcgQXRvbVRlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlQzogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlQ1Rlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlUDogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlUFRlc3RuZXQoKSksXG4gICAgYmFieTogT2JqZWN0LmZyZWV6ZShuZXcgQmFieVRlc3RuZXQoKSksXG4gICAgYmFzZWNoYWluOiBPYmplY3QuZnJlZXplKG5ldyBCYXNlQ2hhaW5UZXN0bmV0KCkpLFxuICAgIGJpdGNvaW46IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5UZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5QdWJsaWNTaWduZXQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5QdWJsaWNTaWduZXQoKSksXG4gICAgYml0Y29pblRlc3RuZXQ0OiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luVGVzdG5ldDQoKSksXG4gICAgYml0Y29pbkJpdEdvU2lnbmV0OiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luQml0R29TaWduZXQoKSksXG4gICAgYml0Y29pbkNhc2g6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5DYXNoVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luR29sZDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkdvbGRUZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5TVjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblNWVGVzdG5ldCgpKSxcbiAgICBiZXJhOiBPYmplY3QuZnJlZXplKG5ldyBCZXJhY2hhaW5UZXN0bmV0KCkpLFxuICAgIGJsZDogT2JqZWN0LmZyZWV6ZShuZXcgQmxkVGVzdG5ldCgpKSxcbiAgICBic2M6IE9iamVjdC5mcmVlemUobmV3IEJpbmFuY2VTbWFydENoYWluVGVzdG5ldCgpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlclRlc3RuZXQoKSksXG4gICAgY29yZWRhbzogT2JqZWN0LmZyZWV6ZShuZXcgQ29yZWRhb1Rlc3RuZXQoKSksXG4gICAgY2VsbzogT2JqZWN0LmZyZWV6ZShuZXcgQ2Vsb1Rlc3RuZXQoKSksXG4gICAgZGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgRGFzaFRlc3RuZXQoKSksXG4gICAgZG9nZWNvaW46IE9iamVjdC5mcmVlemUobmV3IERvZ2Vjb2luVGVzdG5ldCgpKSxcbiAgICBkb3Q6IE9iamVjdC5mcmVlemUobmV3IFBvbGthZG90VGVzdG5ldCgpKSxcbiAgICBlQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgRUNhc2hUZXN0bmV0KCkpLFxuICAgIGVvczogT2JqZWN0LmZyZWV6ZShuZXcgRW9zVGVzdG5ldCgpKSxcbiAgICBmaWF0OiBPYmplY3QuZnJlZXplKG5ldyBGaWF0VGVzdG5ldCgpKSxcbiAgICBmbHI6IE9iamVjdC5mcmVlemUobmV3IEZsYXJlVGVzdG5ldCgpKSxcbiAgICBweXJtb250OiBPYmplY3QuZnJlZXplKG5ldyBQeXJtb250KCkpLFxuICAgIGV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQ6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQoKSksXG4gICAgaGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgSGFzaFRlc3RuZXQoKSksXG4gICAgaGVkZXJhOiBPYmplY3QuZnJlZXplKG5ldyBIZWRlcmFUZXN0bmV0KCkpLFxuICAgIGljcDogT2JqZWN0LmZyZWV6ZShuZXcgSWNwVGVzdG5ldCgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZVRlc3RuZXQoKSksXG4gICAgaXNsbTogT2JqZWN0LmZyZWV6ZShuZXcgSXNsbVRlc3RuZXQoKSksXG4gICAga2F2YTogT2JqZWN0LmZyZWV6ZShuZXcgS2F2YVRlc3RuZXQoKSksXG4gICAga292YW46IE9iamVjdC5mcmVlemUobmV3IEtvdmFuKCkpLFxuICAgIGdvZXJsaTogT2JqZWN0LmZyZWV6ZShuZXcgR29lcmxpKCkpLFxuICAgIGhvbGVza3k6IE9iamVjdC5mcmVlemUobmV3IEhvbGVza3koKSksXG4gICAgbG5idGM6IE9iamVjdC5mcmVlemUobmV3IExpZ2h0bmluZ0JpdGNvaW5UZXN0bmV0KCkpLFxuICAgIGxpdGVjb2luOiBPYmplY3QuZnJlZXplKG5ldyBMaXRlY29pblRlc3RuZXQoKSksXG4gICAgcG9seWdvbjogT2JqZWN0LmZyZWV6ZShuZXcgUG9seWdvblRlc3RuZXQoKSksXG4gICAgb2FzOiBPYmplY3QuZnJlZXplKG5ldyBPYXNUZXN0bmV0KCkpLFxuICAgIG9mYzogT2JqZWN0LmZyZWV6ZShuZXcgT2ZjVGVzdG5ldCgpKSxcbiAgICBvcHRpbWlzbTogT2JqZWN0LmZyZWV6ZShuZXcgT3B0aW1pc21UZXN0bmV0KCkpLFxuICAgIG9zbW86IE9iamVjdC5mcmVlemUobmV3IE9zbW9UZXN0bmV0KCkpLFxuICAgIHJidGM6IE9iamVjdC5mcmVlemUobmV3IFJidGNUZXN0bmV0KCkpLFxuICAgIHJ1bmU6IE9iamVjdC5mcmVlemUobmV3IFJ1bmVUZXN0TmV0KCkpLFxuICAgIHNnYjogT2JqZWN0LmZyZWV6ZShuZXcgU29uZ2JpcmRUZXN0bmV0KCkpLFxuICAgIHN0ZWxsYXI6IE9iamVjdC5mcmVlemUobmV3IFN0ZWxsYXJUZXN0bmV0KCkpLFxuICAgIHNlaTogT2JqZWN0LmZyZWV6ZShuZXcgU2VpVGVzdG5ldCgpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbFRlc3RuZXQoKSksXG4gICAgc3VpOiBPYmplY3QuZnJlZXplKG5ldyBTdWlUZXN0bmV0KCkpLFxuICAgIG5lYXI6IE9iamVjdC5mcmVlemUobmV3IE5lYXJUZXN0bmV0KCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4VGVzdG5ldCgpKSxcbiAgICBzdXNkOiBPYmplY3QuZnJlZXplKG5ldyBTVVNEVGVzdG5ldCgpKSxcbiAgICBjb3JldW06IE9iamVjdC5mcmVlemUobmV3IENvcmV1bVRlc3RuZXQoKSksXG4gICAgdGFvOiBPYmplY3QuZnJlZXplKG5ldyBCaXR0ZW5zb3JUZXN0bmV0KCkpLFxuICAgIHRpYTogT2JqZWN0LmZyZWV6ZShuZXcgVGlhVGVzdG5ldCgpKSxcbiAgICB0b246IE9iamVjdC5mcmVlemUobmV3IFRvblRlc3RuZXQoKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcnhUZXN0bmV0KCkpLFxuICAgIHdlbWl4OiBPYmplY3QuZnJlZXplKG5ldyBXZW1peFRlc3RuZXQoKSksXG4gICAgeGRjOiBPYmplY3QuZnJlZXplKG5ldyBYZGNUZXN0bmV0KCkpLFxuICAgIHhycDogT2JqZWN0LmZyZWV6ZShuZXcgWHJwVGVzdG5ldCgpKSxcbiAgICB4dHo6IE9iamVjdC5mcmVlemUobmV3IFh0elRlc3RuZXQoKSksXG4gICAgekNhc2g6IE9iamVjdC5mcmVlemUobmV3IFpDYXNoVGVzdG5ldCgpKSxcbiAgICB6ZXRhOiBPYmplY3QuZnJlZXplKG5ldyBaZXRhVGVzdG5ldCgpKSxcbiAgICB6a1N5bmM6IE9iamVjdC5mcmVlemUobmV3IFprU3luY1Rlc3RuZXQoKSksXG4gIH0sXG59O1xuIl19
|