@bitgo-beta/statics 15.1.1-beta.156 → 15.1.1-beta.1561
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/account.d.ts +1010 -75
- package/dist/src/account.d.ts.map +1 -1
- package/dist/src/account.js +1608 -177
- package/dist/src/ada.d.ts.map +1 -1
- package/dist/src/ada.js +7 -3
- package/dist/src/allCoinsAndTokens.d.ts +2 -0
- package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
- package/dist/src/allCoinsAndTokens.js +1159 -0
- package/dist/src/avaxp.d.ts.map +1 -1
- package/dist/src/avaxp.js +8 -3
- package/dist/src/base.d.ts +2048 -49
- package/dist/src/base.d.ts.map +1 -1
- package/dist/src/base.js +2143 -59
- package/dist/src/canton.d.ts +34 -0
- package/dist/src/canton.d.ts.map +1 -0
- package/dist/src/canton.js +51 -0
- package/dist/src/coinFeatures.d.ts +113 -0
- package/dist/src/coinFeatures.d.ts.map +1 -0
- package/dist/src/coinFeatures.js +722 -0
- package/dist/src/coins/adaTokens.d.ts +2 -0
- package/dist/src/coins/adaTokens.d.ts.map +1 -0
- package/dist/src/coins/adaTokens.js +18 -0
- package/dist/src/coins/avaxTokens.d.ts +2 -0
- package/dist/src/coins/avaxTokens.d.ts.map +1 -0
- package/dist/src/coins/avaxTokens.js +126 -0
- package/dist/src/coins/botOfcTokens.d.ts +2 -0
- package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
- package/dist/src/coins/botOfcTokens.js +5 -0
- package/dist/src/coins/botTokens.d.ts +3 -0
- package/dist/src/coins/botTokens.d.ts.map +1 -0
- package/dist/src/coins/botTokens.js +43 -0
- package/dist/src/coins/bscTokens.d.ts +2 -0
- package/dist/src/coins/bscTokens.d.ts.map +1 -0
- package/dist/src/coins/bscTokens.js +193 -0
- package/dist/src/coins/cantonTokens.d.ts +2 -0
- package/dist/src/coins/cantonTokens.d.ts.map +1 -0
- package/dist/src/coins/cantonTokens.js +12 -0
- package/dist/src/coins/cosmosTokens.d.ts +2 -0
- package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
- package/dist/src/coins/cosmosTokens.js +14 -0
- 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 +1963 -0
- package/dist/src/coins/jettonTokens.d.ts +2 -0
- package/dist/src/coins/jettonTokens.d.ts.map +1 -0
- package/dist/src/coins/jettonTokens.js +18 -0
- package/dist/src/coins/nep141Tokens.d.ts +2 -0
- package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
- package/dist/src/coins/nep141Tokens.js +16 -0
- package/dist/src/coins/ofcCoins.d.ts +2 -0
- package/dist/src/coins/ofcCoins.d.ts.map +1 -0
- package/dist/src/coins/ofcCoins.js +858 -0
- package/dist/src/coins/ofcErc20Coins.d.ts +4 -0
- package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
- package/dist/src/coins/ofcErc20Coins.js +1678 -0
- package/dist/src/coins/polygonTokens.d.ts +2 -0
- package/dist/src/coins/polygonTokens.d.ts.map +1 -0
- package/dist/src/coins/polygonTokens.js +163 -0
- package/dist/src/coins/polyxTokens.d.ts +2 -0
- package/dist/src/coins/polyxTokens.d.ts.map +1 -0
- package/dist/src/coins/polyxTokens.js +22 -0
- package/dist/src/coins/sip10Tokens.d.ts +2 -0
- package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
- package/dist/src/coins/sip10Tokens.js +25 -0
- package/dist/src/coins/solTokens.d.ts +3 -0
- package/dist/src/coins/solTokens.d.ts.map +1 -0
- package/dist/src/coins/solTokens.js +436 -0
- package/dist/src/coins/vetTokens.d.ts +2 -0
- package/dist/src/coins/vetTokens.d.ts.map +1 -0
- package/dist/src/coins/vetTokens.js +11 -0
- package/dist/src/coins.d.ts +11 -1
- package/dist/src/coins.d.ts.map +1 -1
- package/dist/src/coins.js +366 -1687
- package/dist/src/constants.d.ts +1 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +3 -2
- package/dist/src/errors.d.ts +3 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +9 -2
- package/dist/src/flrp.d.ts +40 -0
- package/dist/src/flrp.d.ts.map +1 -0
- package/dist/src/flrp.js +65 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +27 -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 +16 -0
- package/dist/src/map.d.ts.map +1 -1
- package/dist/src/map.js +188 -17
- package/dist/src/networkFeatureMapForTokens.d.ts +3 -0
- package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
- package/dist/src/networkFeatureMapForTokens.js +31 -0
- package/dist/src/networks.d.ts +1439 -17
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +1791 -100
- package/dist/src/ofc.d.ts +597 -3
- package/dist/src/ofc.d.ts.map +1 -1
- package/dist/src/ofc.js +1419 -28
- package/dist/src/tokenConfig.d.ts +605 -108
- package/dist/src/tokenConfig.d.ts.map +1 -1
- package/dist/src/tokenConfig.js +994 -220
- package/dist/src/utxo.d.ts +3 -1
- package/dist/src/utxo.d.ts.map +1 -1
- package/dist/src/utxo.js +84 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/.mocharc.js +0 -10
- package/.prettierignore +0 -2
- package/CHANGELOG.md +0 -913
package/dist/src/map.js
CHANGED
|
@@ -2,33 +2,104 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoinMap = void 0;
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
|
+
const account_1 = require("./account");
|
|
5
6
|
class CoinMap {
|
|
6
7
|
constructor() {
|
|
7
8
|
this._map = new Map();
|
|
8
9
|
this._coinByIds = new Map();
|
|
9
10
|
// Holds key equivalences used during an asset name migration
|
|
10
11
|
this._coinByAliases = new Map();
|
|
12
|
+
// map of coin by address -> the key is the family:contractAddress
|
|
13
|
+
// the family is the where the coin is e.g l1 chains like eth, bsc etc. or l2 like arbeth, celo etc.
|
|
14
|
+
this._coinByContractAddress = new Map();
|
|
15
|
+
// map of coin by NFT collection ID -> the key is the (t)family:nftCollectionID
|
|
16
|
+
this._coinByNftCollectionID = new Map();
|
|
17
|
+
// Lazily initialized cache for chainId to coin name mapping (derived from network definitions)
|
|
18
|
+
this._coinByChainId = null;
|
|
11
19
|
// Do not instantiate
|
|
12
20
|
}
|
|
13
21
|
static fromCoins(coins) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
const coinMap = new CoinMap();
|
|
23
|
+
coins.forEach((coin) => {
|
|
24
|
+
coinMap.addCoin(coin);
|
|
25
|
+
});
|
|
26
|
+
return coinMap;
|
|
27
|
+
}
|
|
28
|
+
addCoin(coin) {
|
|
29
|
+
if (this._map.has(coin.name)) {
|
|
30
|
+
throw new errors_1.DuplicateCoinDefinitionError(coin.name);
|
|
31
|
+
}
|
|
32
|
+
if (this._coinByIds.has(coin.id)) {
|
|
33
|
+
throw new errors_1.DuplicateCoinIdDefinitionError(coin.id);
|
|
34
|
+
}
|
|
35
|
+
const alias = coin.alias;
|
|
36
|
+
if (alias && this._coinByAliases.has(alias)) {
|
|
37
|
+
throw new errors_1.DuplicateCoinDefinitionError(alias);
|
|
38
|
+
}
|
|
39
|
+
this._map.set(coin.name, coin);
|
|
40
|
+
this._coinByIds.set(coin.id, coin);
|
|
41
|
+
if (alias) {
|
|
42
|
+
this._coinByAliases.set(coin.alias, coin);
|
|
43
|
+
}
|
|
44
|
+
if (coin.isToken) {
|
|
45
|
+
if (coin instanceof account_1.ContractAddressDefinedToken) {
|
|
46
|
+
this._coinByContractAddress.set(`${coin.family}:${coin.contractAddress}`, coin);
|
|
17
47
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
48
|
+
else if (coin instanceof account_1.NFTCollectionIdDefinedToken) {
|
|
49
|
+
this._coinByNftCollectionID.set(`${coin.prefix}${coin.family}:${coin.nftCollectionId}`, coin);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Replace a Base coin object completely from the CoinMap using its ID.
|
|
55
|
+
* @param {string} key key to search the old coin object
|
|
56
|
+
* @param {Readonly<BaseCoin>} coin new coin object
|
|
57
|
+
*/
|
|
58
|
+
replace(coin) {
|
|
59
|
+
if (this.has(coin.id)) {
|
|
60
|
+
const oldCoin = this.get(coin.id);
|
|
61
|
+
this._map.delete(oldCoin.name);
|
|
62
|
+
this._coinByIds.delete(oldCoin.id);
|
|
63
|
+
if (oldCoin.alias) {
|
|
64
|
+
this._coinByAliases.delete(oldCoin.alias);
|
|
21
65
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
66
|
+
if (oldCoin.isToken) {
|
|
67
|
+
if (oldCoin instanceof account_1.ContractAddressDefinedToken) {
|
|
68
|
+
this._coinByContractAddress.delete(`${oldCoin.family}:${oldCoin.contractAddress}`);
|
|
69
|
+
}
|
|
70
|
+
else if (oldCoin instanceof account_1.NFTCollectionIdDefinedToken) {
|
|
71
|
+
this._coinByNftCollectionID.delete(`${oldCoin.prefix}${oldCoin.family}:${oldCoin.nftCollectionId}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
this.addCoin(coin);
|
|
76
|
+
}
|
|
77
|
+
buildChainIdMap() {
|
|
78
|
+
const chainIdMap = new Map();
|
|
79
|
+
this._map.forEach((coin, coinName) => {
|
|
80
|
+
// Skip tokens - they share the same chainId as their parent chain
|
|
81
|
+
if (coin.isToken) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const network = coin.network;
|
|
85
|
+
if ('chainId' in network && typeof network.chainId === 'number') {
|
|
86
|
+
const chainId = network.chainId;
|
|
87
|
+
if (!chainIdMap.has(chainId)) {
|
|
88
|
+
chainIdMap.set(chainId, coinName);
|
|
27
89
|
}
|
|
28
|
-
coinMap._coinByAliases.set(alias, coin);
|
|
29
90
|
}
|
|
30
|
-
|
|
31
|
-
|
|
91
|
+
});
|
|
92
|
+
return chainIdMap;
|
|
93
|
+
}
|
|
94
|
+
coinNameFromChainId(chainId) {
|
|
95
|
+
const coinName = CoinMap.LEGACY_CHAIN_ID_MAP[chainId];
|
|
96
|
+
if (coinName) {
|
|
97
|
+
return coinName;
|
|
98
|
+
}
|
|
99
|
+
if (this._coinByChainId === null) {
|
|
100
|
+
this._coinByChainId = this.buildChainIdMap();
|
|
101
|
+
}
|
|
102
|
+
return this._coinByChainId.get(chainId);
|
|
32
103
|
}
|
|
33
104
|
/**
|
|
34
105
|
* Override `get` to throw if a coin is missing, instead of returning undefined.
|
|
@@ -37,14 +108,22 @@ class CoinMap {
|
|
|
37
108
|
* @return {BaseCoin}
|
|
38
109
|
*/
|
|
39
110
|
get(key) {
|
|
40
|
-
const coin = this._map.get(key) ||
|
|
111
|
+
const coin = this._map.get(key) ||
|
|
112
|
+
this._coinByIds.get(key) ||
|
|
113
|
+
this._coinByAliases.get(key) ||
|
|
114
|
+
this._coinByContractAddress.get(key) ||
|
|
115
|
+
this._coinByNftCollectionID.get(key);
|
|
41
116
|
if (coin) {
|
|
42
117
|
return coin;
|
|
43
118
|
}
|
|
44
119
|
throw new errors_1.CoinNotDefinedError(key);
|
|
45
120
|
}
|
|
46
121
|
has(key) {
|
|
47
|
-
return this._map.has(key) ||
|
|
122
|
+
return (this._map.has(key) ||
|
|
123
|
+
this._coinByIds.has(key) ||
|
|
124
|
+
this._coinByAliases.has(key) ||
|
|
125
|
+
this._coinByContractAddress.has(key) ||
|
|
126
|
+
this._coinByNftCollectionID.has(key));
|
|
48
127
|
}
|
|
49
128
|
map(mapper) {
|
|
50
129
|
const mapResult = [];
|
|
@@ -77,4 +156,96 @@ class CoinMap {
|
|
|
77
156
|
}
|
|
78
157
|
}
|
|
79
158
|
exports.CoinMap = CoinMap;
|
|
80
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Hardcoded mapping for backward compatibility.
|
|
161
|
+
*/
|
|
162
|
+
CoinMap.LEGACY_CHAIN_ID_MAP = {
|
|
163
|
+
1: 'eth',
|
|
164
|
+
42: 'teth',
|
|
165
|
+
5: 'gteth',
|
|
166
|
+
560048: 'hteth',
|
|
167
|
+
10001: 'ethw',
|
|
168
|
+
80002: 'tpolygon',
|
|
169
|
+
137: 'polygon',
|
|
170
|
+
56: 'bsc',
|
|
171
|
+
97: 'tbsc',
|
|
172
|
+
42161: 'arbeth',
|
|
173
|
+
421614: 'tarbeth',
|
|
174
|
+
10: 'opeth',
|
|
175
|
+
11155420: 'topeth',
|
|
176
|
+
1116: 'coredao',
|
|
177
|
+
1114: 'tcoredao',
|
|
178
|
+
248: 'oas',
|
|
179
|
+
9372: 'toas',
|
|
180
|
+
14: 'flr',
|
|
181
|
+
114: 'tflr',
|
|
182
|
+
19: 'sgb',
|
|
183
|
+
16: 'tsgb',
|
|
184
|
+
1111: 'wemix',
|
|
185
|
+
1112: 'twemix',
|
|
186
|
+
50: 'xdc',
|
|
187
|
+
51: 'txdc',
|
|
188
|
+
80094: 'bera',
|
|
189
|
+
80069: 'tbera',
|
|
190
|
+
42220: 'celo',
|
|
191
|
+
11142220: 'tcelo',
|
|
192
|
+
2222: 'kava',
|
|
193
|
+
2221: 'tkava',
|
|
194
|
+
43114: 'avax',
|
|
195
|
+
43113: 'tavax',
|
|
196
|
+
100: 'gno',
|
|
197
|
+
130: 'uni',
|
|
198
|
+
324: 'zketh',
|
|
199
|
+
8453: 'baseeth',
|
|
200
|
+
84532: 'tbaseeth',
|
|
201
|
+
30143: 'mon',
|
|
202
|
+
10143: 'tmon',
|
|
203
|
+
480: 'world',
|
|
204
|
+
4801: 'tworld',
|
|
205
|
+
5031: 'somi',
|
|
206
|
+
50312: 'tstt',
|
|
207
|
+
1868: 'soneium',
|
|
208
|
+
1946: 'tsoneium',
|
|
209
|
+
33111: 'tapechain',
|
|
210
|
+
33139: 'apechain',
|
|
211
|
+
688688: 'tphrs',
|
|
212
|
+
102030: 'ctc',
|
|
213
|
+
102031: 'tctc',
|
|
214
|
+
998: 'thypeevm',
|
|
215
|
+
999: 'hypeevm',
|
|
216
|
+
16602: 'tog',
|
|
217
|
+
16661: 'og',
|
|
218
|
+
9746: 'txpl',
|
|
219
|
+
9745: 'xpl',
|
|
220
|
+
14601: 'tsonic',
|
|
221
|
+
146: 'sonic',
|
|
222
|
+
1328: 'tseievm',
|
|
223
|
+
1329: 'seievm',
|
|
224
|
+
1001: 'tkaia',
|
|
225
|
+
8217: 'kaia',
|
|
226
|
+
1270: 'tirys',
|
|
227
|
+
59141: 'tlineaeth',
|
|
228
|
+
59144: 'lineaeth',
|
|
229
|
+
1315: 'tip',
|
|
230
|
+
1514: 'ip',
|
|
231
|
+
545: 'tflow',
|
|
232
|
+
747: 'flow',
|
|
233
|
+
98867: 'tplume',
|
|
234
|
+
98866: 'plume',
|
|
235
|
+
6343: 'tmegaeth',
|
|
236
|
+
4326: 'megaeth',
|
|
237
|
+
295: 'hbarevm',
|
|
238
|
+
296: 'thbarevm',
|
|
239
|
+
196: 'okb',
|
|
240
|
+
1952: 'tokb',
|
|
241
|
+
5734951: 'jovayeth',
|
|
242
|
+
2019775: 'tjovayeth',
|
|
243
|
+
5042002: 'tarcusdc',
|
|
244
|
+
42428: 'tempo',
|
|
245
|
+
42429: 'ttempo',
|
|
246
|
+
5000: 'mantle',
|
|
247
|
+
5003: 'tmantle',
|
|
248
|
+
20993: 'fluenteth',
|
|
249
|
+
20994: 'tfluenteth',
|
|
250
|
+
};
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBNkc7QUFDN0csdUNBQXFGO0FBR3JGLE1BQWEsT0FBTztJQWFsQjtRQVppQixTQUFJLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDN0MsZUFBVSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3BFLDZEQUE2RDtRQUM1QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3hFLGtFQUFrRTtRQUNsRSxvR0FBb0c7UUFDbkYsMkJBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDaEYsK0VBQStFO1FBQzlELDJCQUFzQixHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ2hGLCtGQUErRjtRQUN2RixtQkFBYyxHQUErQixJQUFJLENBQUM7UUFHeEQscUJBQXFCO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQTJCO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQXdCO1FBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLHFDQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksdUNBQThCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLHFDQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxZQUFZLHFDQUEyQixFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNsRixDQUFDO2lCQUFNLElBQUksSUFBSSxZQUFZLHFDQUEyQixFQUFFLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hHLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxPQUFPLENBQUMsSUFBd0I7UUFDckMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksT0FBTyxZQUFZLHFDQUEyQixFQUFFLENBQUM7b0JBQ25ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixDQUFDO3FCQUFNLElBQUksT0FBTyxZQUFZLHFDQUEyQixFQUFFLENBQUM7b0JBQzFELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RHLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQStGTyxlQUFlO1FBQ3JCLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ25DLGtFQUFrRTtZQUNsRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzdCLElBQUksU0FBUyxJQUFJLE9BQU8sSUFBSSxPQUFRLE9BQTJCLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyRixNQUFNLE9BQU8sR0FBSSxPQUEyQixDQUFDLE9BQU8sQ0FBQztnQkFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU0sbUJBQW1CLENBQUMsT0FBZTtRQUN4QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksR0FBRyxDQUFDLEdBQVc7UUFDcEIsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDcEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxJQUFJLDRCQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVztRQUNwQixPQUFPLENBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDcEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FDckMsQ0FBQztJQUNKLENBQUM7SUFFTSxHQUFHLENBQUksTUFBeUQ7UUFDckUsTUFBTSxTQUFTLEdBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQy9CLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBSSxPQUFrRSxFQUFFLFlBQWU7UUFDbEcsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQy9CLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFrRTtRQUM5RSxNQUFNLFlBQVksR0FBeUIsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQy9CLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMxQixZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQThEO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7O0FBclFILDBCQXNRQztBQTNMQzs7R0FFRztBQUNxQiwyQkFBbUIsR0FBMkI7SUFDcEUsQ0FBQyxFQUFFLEtBQUs7SUFDUixFQUFFLEVBQUUsTUFBTTtJQUNWLENBQUMsRUFBRSxPQUFPO0lBQ1YsTUFBTSxFQUFFLE9BQU87SUFDZixLQUFLLEVBQUUsTUFBTTtJQUNiLEtBQUssRUFBRSxVQUFVO0lBQ2pCLEdBQUcsRUFBRSxTQUFTO0lBQ2QsRUFBRSxFQUFFLEtBQUs7SUFDVCxFQUFFLEVBQUUsTUFBTTtJQUNWLEtBQUssRUFBRSxRQUFRO0lBQ2YsTUFBTSxFQUFFLFNBQVM7SUFDakIsRUFBRSxFQUFFLE9BQU87SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxVQUFVO0lBQ2hCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixFQUFFLEVBQUUsS0FBSztJQUNULEdBQUcsRUFBRSxNQUFNO0lBQ1gsRUFBRSxFQUFFLEtBQUs7SUFDVCxFQUFFLEVBQUUsTUFBTTtJQUNWLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLFFBQVE7SUFDZCxFQUFFLEVBQUUsS0FBSztJQUNULEVBQUUsRUFBRSxNQUFNO0lBQ1YsS0FBSyxFQUFFLE1BQU07SUFDYixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxNQUFNO0lBQ2IsUUFBUSxFQUFFLE9BQU87SUFDakIsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxNQUFNO0lBQ2IsS0FBSyxFQUFFLE9BQU87SUFDZCxHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLE9BQU87SUFDWixJQUFJLEVBQUUsU0FBUztJQUNmLEtBQUssRUFBRSxVQUFVO0lBQ2pCLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFQUFFLE1BQU07SUFDYixHQUFHLEVBQUUsT0FBTztJQUNaLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsTUFBTTtJQUNiLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFVBQVU7SUFDaEIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsS0FBSyxFQUFFLFVBQVU7SUFDakIsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxNQUFNO0lBQ2QsR0FBRyxFQUFFLFVBQVU7SUFDZixHQUFHLEVBQUUsU0FBUztJQUNkLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxLQUFLO0lBQ1gsS0FBSyxFQUFFLFFBQVE7SUFDZixHQUFHLEVBQUUsT0FBTztJQUNaLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixLQUFLLEVBQUUsV0FBVztJQUNsQixLQUFLLEVBQUUsVUFBVTtJQUNqQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsTUFBTTtJQUNYLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsVUFBVTtJQUNoQixJQUFJLEVBQUUsU0FBUztJQUNmLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLFVBQVU7SUFDZixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFVBQVU7SUFDbkIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsUUFBUTtJQUNmLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVBQUUsV0FBVztJQUNsQixLQUFLLEVBQUUsWUFBWTtDQUNwQixBQXhGMEMsQ0F3RnpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgRHVwbGljYXRlQ29pbkRlZmluaXRpb25FcnJvciwgQ29pbk5vdERlZmluZWRFcnJvciwgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgQ29udHJhY3RBZGRyZXNzRGVmaW5lZFRva2VuLCBORlRDb2xsZWN0aW9uSWREZWZpbmVkVG9rZW4gfSBmcm9tICcuL2FjY291bnQnO1xuaW1wb3J0IHsgRXRoZXJldW1OZXR3b3JrIH0gZnJvbSAnLi9uZXR3b3Jrcyc7XG5cbmV4cG9ydCBjbGFzcyBDb2luTWFwIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWFwID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5SWRzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gSG9sZHMga2V5IGVxdWl2YWxlbmNlcyB1c2VkIGR1cmluZyBhbiBhc3NldCBuYW1lIG1pZ3JhdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlBbGlhc2VzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gbWFwIG9mIGNvaW4gYnkgYWRkcmVzcyAtPiB0aGUga2V5IGlzIHRoZSBmYW1pbHk6Y29udHJhY3RBZGRyZXNzXG4gIC8vIHRoZSBmYW1pbHkgaXMgdGhlIHdoZXJlIHRoZSBjb2luIGlzIGUuZyBsMSBjaGFpbnMgbGlrZSBldGgsIGJzYyBldGMuIG9yIGwyIGxpa2UgYXJiZXRoLCBjZWxvIGV0Yy5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5Q29udHJhY3RBZGRyZXNzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gbWFwIG9mIGNvaW4gYnkgTkZUIGNvbGxlY3Rpb24gSUQgLT4gdGhlIGtleSBpcyB0aGUgKHQpZmFtaWx5Om5mdENvbGxlY3Rpb25JRFxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlOZnRDb2xsZWN0aW9uSUQgPSBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+PigpO1xuICAvLyBMYXppbHkgaW5pdGlhbGl6ZWQgY2FjaGUgZm9yIGNoYWluSWQgdG8gY29pbiBuYW1lIG1hcHBpbmcgKGRlcml2ZWQgZnJvbSBuZXR3b3JrIGRlZmluaXRpb25zKVxuICBwcml2YXRlIF9jb2luQnlDaGFpbklkOiBNYXA8bnVtYmVyLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBEbyBub3QgaW5zdGFudGlhdGVcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29pbnMoY29pbnM6IFJlYWRvbmx5PEJhc2VDb2luPltdKTogQ29pbk1hcCB7XG4gICAgY29uc3QgY29pbk1hcCA9IG5ldyBDb2luTWFwKCk7XG4gICAgY29pbnMuZm9yRWFjaCgoY29pbikgPT4ge1xuICAgICAgY29pbk1hcC5hZGRDb2luKGNvaW4pO1xuICAgIH0pO1xuICAgIHJldHVybiBjb2luTWFwO1xuICB9XG5cbiAgcHVibGljIGFkZENvaW4oY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hcC5oYXMoY29pbi5uYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IoY29pbi5uYW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2NvaW5CeUlkcy5oYXMoY29pbi5pZCkpIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVDb2luSWREZWZpbml0aW9uRXJyb3IoY29pbi5pZCk7XG4gICAgfVxuICAgIGNvbnN0IGFsaWFzID0gY29pbi5hbGlhcztcbiAgICBpZiAoYWxpYXMgJiYgdGhpcy5fY29pbkJ5QWxpYXNlcy5oYXMoYWxpYXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlQ29pbkRlZmluaXRpb25FcnJvcihhbGlhcyk7XG4gICAgfVxuICAgIHRoaXMuX21hcC5zZXQoY29pbi5uYW1lLCBjb2luKTtcbiAgICB0aGlzLl9jb2luQnlJZHMuc2V0KGNvaW4uaWQsIGNvaW4pO1xuICAgIGlmIChhbGlhcykge1xuICAgICAgdGhpcy5fY29pbkJ5QWxpYXNlcy5zZXQoY29pbi5hbGlhcywgY29pbik7XG4gICAgfVxuXG4gICAgaWYgKGNvaW4uaXNUb2tlbikge1xuICAgICAgaWYgKGNvaW4gaW5zdGFuY2VvZiBDb250cmFjdEFkZHJlc3NEZWZpbmVkVG9rZW4pIHtcbiAgICAgICAgdGhpcy5fY29pbkJ5Q29udHJhY3RBZGRyZXNzLnNldChgJHtjb2luLmZhbWlseX06JHtjb2luLmNvbnRyYWN0QWRkcmVzc31gLCBjb2luKTtcbiAgICAgIH0gZWxzZSBpZiAoY29pbiBpbnN0YW5jZW9mIE5GVENvbGxlY3Rpb25JZERlZmluZWRUb2tlbikge1xuICAgICAgICB0aGlzLl9jb2luQnlOZnRDb2xsZWN0aW9uSUQuc2V0KGAke2NvaW4ucHJlZml4fSR7Y29pbi5mYW1pbHl9OiR7Y29pbi5uZnRDb2xsZWN0aW9uSWR9YCwgY29pbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgYSBCYXNlIGNvaW4gb2JqZWN0IGNvbXBsZXRlbHkgZnJvbSB0aGUgQ29pbk1hcCB1c2luZyBpdHMgSUQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkga2V5IHRvIHNlYXJjaCB0aGUgb2xkIGNvaW4gb2JqZWN0XG4gICAqIEBwYXJhbSB7UmVhZG9ubHk8QmFzZUNvaW4+fSBjb2luIG5ldyBjb2luIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHJlcGxhY2UoY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzKGNvaW4uaWQpKSB7XG4gICAgICBjb25zdCBvbGRDb2luID0gdGhpcy5nZXQoY29pbi5pZCk7XG4gICAgICB0aGlzLl9tYXAuZGVsZXRlKG9sZENvaW4ubmFtZSk7XG4gICAgICB0aGlzLl9jb2luQnlJZHMuZGVsZXRlKG9sZENvaW4uaWQpO1xuICAgICAgaWYgKG9sZENvaW4uYWxpYXMpIHtcbiAgICAgICAgdGhpcy5fY29pbkJ5QWxpYXNlcy5kZWxldGUob2xkQ29pbi5hbGlhcyk7XG4gICAgICB9XG4gICAgICBpZiAob2xkQ29pbi5pc1Rva2VuKSB7XG4gICAgICAgIGlmIChvbGRDb2luIGluc3RhbmNlb2YgQ29udHJhY3RBZGRyZXNzRGVmaW5lZFRva2VuKSB7XG4gICAgICAgICAgdGhpcy5fY29pbkJ5Q29udHJhY3RBZGRyZXNzLmRlbGV0ZShgJHtvbGRDb2luLmZhbWlseX06JHtvbGRDb2luLmNvbnRyYWN0QWRkcmVzc31gKTtcbiAgICAgICAgfSBlbHNlIGlmIChvbGRDb2luIGluc3RhbmNlb2YgTkZUQ29sbGVjdGlvbklkRGVmaW5lZFRva2VuKSB7XG4gICAgICAgICAgdGhpcy5fY29pbkJ5TmZ0Q29sbGVjdGlvbklELmRlbGV0ZShgJHtvbGRDb2luLnByZWZpeH0ke29sZENvaW4uZmFtaWx5fToke29sZENvaW4ubmZ0Q29sbGVjdGlvbklkfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuYWRkQ29pbihjb2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYXJkY29kZWQgbWFwcGluZyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IExFR0FDWV9DSEFJTl9JRF9NQVA6IFJlY29yZDxudW1iZXIsIHN0cmluZz4gPSB7XG4gICAgMTogJ2V0aCcsXG4gICAgNDI6ICd0ZXRoJyxcbiAgICA1OiAnZ3RldGgnLFxuICAgIDU2MDA0ODogJ2h0ZXRoJyxcbiAgICAxMDAwMTogJ2V0aHcnLFxuICAgIDgwMDAyOiAndHBvbHlnb24nLFxuICAgIDEzNzogJ3BvbHlnb24nLFxuICAgIDU2OiAnYnNjJyxcbiAgICA5NzogJ3Ric2MnLFxuICAgIDQyMTYxOiAnYXJiZXRoJyxcbiAgICA0MjE2MTQ6ICd0YXJiZXRoJyxcbiAgICAxMDogJ29wZXRoJyxcbiAgICAxMTE1NTQyMDogJ3RvcGV0aCcsXG4gICAgMTExNjogJ2NvcmVkYW8nLFxuICAgIDExMTQ6ICd0Y29yZWRhbycsXG4gICAgMjQ4OiAnb2FzJyxcbiAgICA5MzcyOiAndG9hcycsXG4gICAgMTQ6ICdmbHInLFxuICAgIDExNDogJ3RmbHInLFxuICAgIDE5OiAnc2diJyxcbiAgICAxNjogJ3RzZ2InLFxuICAgIDExMTE6ICd3ZW1peCcsXG4gICAgMTExMjogJ3R3ZW1peCcsXG4gICAgNTA6ICd4ZGMnLFxuICAgIDUxOiAndHhkYycsXG4gICAgODAwOTQ6ICdiZXJhJyxcbiAgICA4MDA2OTogJ3RiZXJhJyxcbiAgICA0MjIyMDogJ2NlbG8nLFxuICAgIDExMTQyMjIwOiAndGNlbG8nLFxuICAgIDIyMjI6ICdrYXZhJyxcbiAgICAyMjIxOiAndGthdmEnLFxuICAgIDQzMTE0OiAnYXZheCcsXG4gICAgNDMxMTM6ICd0YXZheCcsXG4gICAgMTAwOiAnZ25vJyxcbiAgICAxMzA6ICd1bmknLFxuICAgIDMyNDogJ3prZXRoJyxcbiAgICA4NDUzOiAnYmFzZWV0aCcsXG4gICAgODQ1MzI6ICd0YmFzZWV0aCcsXG4gICAgMzAxNDM6ICdtb24nLFxuICAgIDEwMTQzOiAndG1vbicsXG4gICAgNDgwOiAnd29ybGQnLFxuICAgIDQ4MDE6ICd0d29ybGQnLFxuICAgIDUwMzE6ICdzb21pJyxcbiAgICA1MDMxMjogJ3RzdHQnLFxuICAgIDE4Njg6ICdzb25laXVtJyxcbiAgICAxOTQ2OiAndHNvbmVpdW0nLFxuICAgIDMzMTExOiAndGFwZWNoYWluJyxcbiAgICAzMzEzOTogJ2FwZWNoYWluJyxcbiAgICA2ODg2ODg6ICd0cGhycycsXG4gICAgMTAyMDMwOiAnY3RjJyxcbiAgICAxMDIwMzE6ICd0Y3RjJyxcbiAgICA5OTg6ICd0aHlwZWV2bScsXG4gICAgOTk5OiAnaHlwZWV2bScsXG4gICAgMTY2MDI6ICd0b2cnLFxuICAgIDE2NjYxOiAnb2cnLFxuICAgIDk3NDY6ICd0eHBsJyxcbiAgICA5NzQ1OiAneHBsJyxcbiAgICAxNDYwMTogJ3Rzb25pYycsXG4gICAgMTQ2OiAnc29uaWMnLFxuICAgIDEzMjg6ICd0c2VpZXZtJyxcbiAgICAxMzI5OiAnc2VpZXZtJyxcbiAgICAxMDAxOiAndGthaWEnLFxuICAgIDgyMTc6ICdrYWlhJyxcbiAgICAxMjcwOiAndGlyeXMnLFxuICAgIDU5MTQxOiAndGxpbmVhZXRoJyxcbiAgICA1OTE0NDogJ2xpbmVhZXRoJyxcbiAgICAxMzE1OiAndGlwJyxcbiAgICAxNTE0OiAnaXAnLFxuICAgIDU0NTogJ3RmbG93JyxcbiAgICA3NDc6ICdmbG93JyxcbiAgICA5ODg2NzogJ3RwbHVtZScsXG4gICAgOTg4NjY6ICdwbHVtZScsXG4gICAgNjM0MzogJ3RtZWdhZXRoJyxcbiAgICA0MzI2OiAnbWVnYWV0aCcsXG4gICAgMjk1OiAnaGJhcmV2bScsXG4gICAgMjk2OiAndGhiYXJldm0nLFxuICAgIDE5NjogJ29rYicsXG4gICAgMTk1MjogJ3Rva2InLFxuICAgIDU3MzQ5NTE6ICdqb3ZheWV0aCcsXG4gICAgMjAxOTc3NTogJ3Rqb3ZheWV0aCcsXG4gICAgNTA0MjAwMjogJ3RhcmN1c2RjJyxcbiAgICA0MjQyODogJ3RlbXBvJyxcbiAgICA0MjQyOTogJ3R0ZW1wbycsXG4gICAgNTAwMDogJ21hbnRsZScsXG4gICAgNTAwMzogJ3RtYW50bGUnLFxuICAgIDIwOTkzOiAnZmx1ZW50ZXRoJyxcbiAgICAyMDk5NDogJ3RmbHVlbnRldGgnLFxuICB9O1xuXG4gIHByaXZhdGUgYnVpbGRDaGFpbklkTWFwKCk6IE1hcDxudW1iZXIsIHN0cmluZz4ge1xuICAgIGNvbnN0IGNoYWluSWRNYXAgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuICAgIHRoaXMuX21hcC5mb3JFYWNoKChjb2luLCBjb2luTmFtZSkgPT4ge1xuICAgICAgLy8gU2tpcCB0b2tlbnMgLSB0aGV5IHNoYXJlIHRoZSBzYW1lIGNoYWluSWQgYXMgdGhlaXIgcGFyZW50IGNoYWluXG4gICAgICBpZiAoY29pbi5pc1Rva2VuKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ldHdvcmsgPSBjb2luLm5ldHdvcms7XG4gICAgICBpZiAoJ2NoYWluSWQnIGluIG5ldHdvcmsgJiYgdHlwZW9mIChuZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgY2hhaW5JZCA9IChuZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZDtcbiAgICAgICAgaWYgKCFjaGFpbklkTWFwLmhhcyhjaGFpbklkKSkge1xuICAgICAgICAgIGNoYWluSWRNYXAuc2V0KGNoYWluSWQsIGNvaW5OYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjaGFpbklkTWFwO1xuICB9XG5cbiAgcHVibGljIGNvaW5OYW1lRnJvbUNoYWluSWQoY2hhaW5JZDogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb2luTmFtZSA9IENvaW5NYXAuTEVHQUNZX0NIQUlOX0lEX01BUFtjaGFpbklkXTtcbiAgICBpZiAoY29pbk5hbWUpIHtcbiAgICAgIHJldHVybiBjb2luTmFtZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29pbkJ5Q2hhaW5JZCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fY29pbkJ5Q2hhaW5JZCA9IHRoaXMuYnVpbGRDaGFpbklkTWFwKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jb2luQnlDaGFpbklkLmdldChjaGFpbklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSBgZ2V0YCB0byB0aHJvdyBpZiBhIGNvaW4gaXMgbWlzc2luZywgaW5zdGVhZCBvZiByZXR1cm5pbmcgdW5kZWZpbmVkLlxuICAgKiBJdCB3aWxsIGhvbm9yIGtleSBlcXVpdmFsZW5jZXMgaW4gY2FzZSBnaXZlbiBrZXkgaXMgbWlzc2luZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcmV0dXJuIHtCYXNlQ29pbn1cbiAgICovXG4gIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBSZWFkb25seTxCYXNlQ29pbj4ge1xuICAgIGNvbnN0IGNvaW4gPVxuICAgICAgdGhpcy5fbWFwLmdldChrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlJZHMuZ2V0KGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeUFsaWFzZXMuZ2V0KGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeUNvbnRyYWN0QWRkcmVzcy5nZXQoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5TmZ0Q29sbGVjdGlvbklELmdldChrZXkpO1xuXG4gICAgaWYgKGNvaW4pIHtcbiAgICAgIHJldHVybiBjb2luO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDb2luTm90RGVmaW5lZEVycm9yKGtleSk7XG4gIH1cblxuICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX21hcC5oYXMoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5SWRzLmhhcyhrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlBbGlhc2VzLmhhcyhrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlDb250cmFjdEFkZHJlc3MuaGFzKGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeU5mdENvbGxlY3Rpb25JRC5oYXMoa2V5KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbWFwPFQ+KG1hcHBlcjogKGNvaW46IFJlYWRvbmx5PEJhc2VDb2luPiwgY29pbk5hbWU6IHN0cmluZykgPT4gVCk6IFRbXSB7XG4gICAgY29uc3QgbWFwUmVzdWx0OiBUW10gPSBbXTtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgbWFwUmVzdWx0LnB1c2gobWFwcGVyKHZhbHVlLCBrZXkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbWFwUmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHJlZHVjZTxUPihyZWR1Y2VyOiAoYWNjOiBULCBjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IFQsIGluaXRpYWxWYWx1ZTogVCk6IFQge1xuICAgIGxldCBhY2MgPSBpbml0aWFsVmFsdWU7XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGFjYyA9IHJlZHVjZXIoYWNjLCB2YWx1ZSwga2V5KTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihwcmVkaWNhdGU6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4pOiBDb2luTWFwIHtcbiAgICBjb25zdCBmaWx0ZXJSZXN1bHQ6IFJlYWRvbmx5PEJhc2VDb2luPltdID0gW107XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGtleSkpIHtcbiAgICAgICAgZmlsdGVyUmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBDb2luTWFwLmZyb21Db2lucyhmaWx0ZXJSZXN1bHQpO1xuICB9XG5cbiAgcHVibGljIGZvckVhY2goY2FsbGJhY2s6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBwdWJsaWMgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmFibGVJdGVyYXRvcjxbc3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj5dPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hcFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkFeatureMapForTokens.d.ts","sourceRoot":"","sources":["../../src/networkFeatureMapForTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAajD,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,CAuBjF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.networkFeatureMapForTokens = void 0;
|
|
4
|
+
const account_1 = require("./account");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const coinFeatures_1 = require("./coinFeatures");
|
|
7
|
+
exports.networkFeatureMapForTokens = {
|
|
8
|
+
algo: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
9
|
+
apt: coinFeatures_1.APT_FEATURES,
|
|
10
|
+
arbeth: [...account_1.AccountCoin.DEFAULT_FEATURES, base_1.CoinFeature.EIP1559],
|
|
11
|
+
avaxc: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
12
|
+
bera: [...account_1.AccountCoin.DEFAULT_FEATURES, base_1.CoinFeature.EIP1559],
|
|
13
|
+
bsc: coinFeatures_1.BSC_TOKEN_FEATURES,
|
|
14
|
+
celo: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
15
|
+
eth: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
16
|
+
eos: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
17
|
+
hbar: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
18
|
+
opeth: [...account_1.AccountCoin.DEFAULT_FEATURES, base_1.CoinFeature.EIP1559],
|
|
19
|
+
polygon: coinFeatures_1.POLYGON_TOKEN_FEATURES,
|
|
20
|
+
sol: coinFeatures_1.SOL_TOKEN_FEATURES,
|
|
21
|
+
stx: coinFeatures_1.STX_TOKEN_FEATURES,
|
|
22
|
+
sui: coinFeatures_1.SUI_TOKEN_FEATURES,
|
|
23
|
+
tao: coinFeatures_1.TAO_TOKEN_FEATURES,
|
|
24
|
+
polyx: coinFeatures_1.POLYX_TOKEN_FEATURES,
|
|
25
|
+
trx: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
26
|
+
xlm: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
27
|
+
xrp: account_1.AccountCoin.DEFAULT_FEATURES,
|
|
28
|
+
ofc: [],
|
|
29
|
+
ada: coinFeatures_1.ADA_TOKEN_FEATURES,
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQXdDO0FBQ3hDLGlDQUFpRDtBQUNqRCxpREFVd0I7QUFFWCxRQUFBLDBCQUEwQixHQUErQztJQUNwRixJQUFJLEVBQUUscUJBQVcsQ0FBQyxnQkFBZ0I7SUFDbEMsR0FBRyxFQUFFLDJCQUFZO0lBQ2pCLE1BQU0sRUFBRSxDQUFDLEdBQUcscUJBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBVyxDQUFDLE9BQU8sQ0FBQztJQUM5RCxLQUFLLEVBQUUscUJBQVcsQ0FBQyxnQkFBZ0I7SUFDbkMsSUFBSSxFQUFFLENBQUMsR0FBRyxxQkFBVyxDQUFDLGdCQUFnQixFQUFFLGtCQUFXLENBQUMsT0FBTyxDQUFDO0lBQzVELEdBQUcsRUFBRSxpQ0FBa0I7SUFDdkIsSUFBSSxFQUFFLHFCQUFXLENBQUMsZ0JBQWdCO0lBQ2xDLEdBQUcsRUFBRSxxQkFBVyxDQUFDLGdCQUFnQjtJQUNqQyxHQUFHLEVBQUUscUJBQVcsQ0FBQyxnQkFBZ0I7SUFDakMsSUFBSSxFQUFFLHFCQUFXLENBQUMsZ0JBQWdCO0lBQ2xDLEtBQUssRUFBRSxDQUFDLEdBQUcscUJBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBVyxDQUFDLE9BQU8sQ0FBQztJQUM3RCxPQUFPLEVBQUUscUNBQXNCO0lBQy9CLEdBQUcsRUFBRSxpQ0FBa0I7SUFDdkIsR0FBRyxFQUFFLGlDQUFrQjtJQUN2QixHQUFHLEVBQUUsaUNBQWtCO0lBQ3ZCLEdBQUcsRUFBRSxpQ0FBa0I7SUFDdkIsS0FBSyxFQUFFLG1DQUFvQjtJQUMzQixHQUFHLEVBQUUscUJBQVcsQ0FBQyxnQkFBZ0I7SUFDakMsR0FBRyxFQUFFLHFCQUFXLENBQUMsZ0JBQWdCO0lBQ2pDLEdBQUcsRUFBRSxxQkFBVyxDQUFDLGdCQUFnQjtJQUNqQyxHQUFHLEVBQUUsRUFBRTtJQUNQLEdBQUcsRUFBRSxpQ0FBa0I7Q0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnRDb2luIH0gZnJvbSAnLi9hY2NvdW50JztcbmltcG9ydCB7IENvaW5GYW1pbHksIENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7XG4gIEFEQV9UT0tFTl9GRUFUVVJFUyxcbiAgQVBUX0ZFQVRVUkVTLFxuICBCU0NfVE9LRU5fRkVBVFVSRVMsXG4gIFBPTFlHT05fVE9LRU5fRkVBVFVSRVMsXG4gIFBPTFlYX1RPS0VOX0ZFQVRVUkVTLFxuICBTT0xfVE9LRU5fRkVBVFVSRVMsXG4gIFNUWF9UT0tFTl9GRUFUVVJFUyxcbiAgU1VJX1RPS0VOX0ZFQVRVUkVTLFxuICBUQU9fVE9LRU5fRkVBVFVSRVMsXG59IGZyb20gJy4vY29pbkZlYXR1cmVzJztcblxuZXhwb3J0IGNvbnN0IG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zOiBQYXJ0aWFsPFJlY29yZDxDb2luRmFtaWx5LCBDb2luRmVhdHVyZVtdPj4gPSB7XG4gIGFsZ286IEFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIGFwdDogQVBUX0ZFQVRVUkVTLFxuICBhcmJldGg6IFsuLi5BY2NvdW50Q29pbi5ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5FSVAxNTU5XSxcbiAgYXZheGM6IEFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIGJlcmE6IFsuLi5BY2NvdW50Q29pbi5ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5FSVAxNTU5XSxcbiAgYnNjOiBCU0NfVE9LRU5fRkVBVFVSRVMsXG4gIGNlbG86IEFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIGV0aDogQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgZW9zOiBBY2NvdW50Q29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxuICBoYmFyOiBBY2NvdW50Q29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxuICBvcGV0aDogWy4uLkFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkVJUDE1NTldLFxuICBwb2x5Z29uOiBQT0xZR09OX1RPS0VOX0ZFQVRVUkVTLFxuICBzb2w6IFNPTF9UT0tFTl9GRUFUVVJFUyxcbiAgc3R4OiBTVFhfVE9LRU5fRkVBVFVSRVMsXG4gIHN1aTogU1VJX1RPS0VOX0ZFQVRVUkVTLFxuICB0YW86IFRBT19UT0tFTl9GRUFUVVJFUyxcbiAgcG9seXg6IFBPTFlYX1RPS0VOX0ZFQVRVUkVTLFxuICB0cng6IEFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIHhsbTogQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgeHJwOiBBY2NvdW50Q29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxuICBvZmM6IFtdLFxuICBhZGE6IEFEQV9UT0tFTl9GRUFUVVJFUyxcbn07XG4iXX0=
|