@bitgo-beta/statics 15.1.1-beta.1663 → 15.1.1-beta.1665

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.
@@ -1 +1 @@
1
- {"version":3,"file":"coins.d.ts","sourceRoot":"","sources":["../../src/coins.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,QAAQ,EAAe,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQhC,eAAO,MAAM,KAAK,SAMhB,CAAC;AA2BH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAqRjF;AAiCD,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAElH;AAED,wBAAgB,gCAAgC,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,GAAG,OAAO,CAkD1G;AAED,wBAAgB,uCAAuC,CACrD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,GAC7D,OAAO,CA2BT;AAED,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,qBAAqB,GACjC,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAsBhC"}
1
+ {"version":3,"file":"coins.d.ts","sourceRoot":"","sources":["../../src/coins.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,QAAQ,EAA4B,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQhC,eAAO,MAAM,KAAK,SAMhB,CAAC;AA2BH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CA6RjF;AA6DD,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAElH;AAED,wBAAgB,gCAAgC,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,GAAG,OAAO,CA8C1G;AAED,wBAAgB,uCAAuC,CACrD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,GAC7D,OAAO,CA4BT;AAED,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,qBAAqB,GACjC,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAwBhC"}
package/dist/src/coins.js CHANGED
@@ -42,6 +42,15 @@ allCoinsAndTokens_1.allCoinsAndTokens.forEach((coin) => {
42
42
  }
43
43
  });
44
44
  function createToken(token) {
45
+ if (!token.isToken) {
46
+ try {
47
+ return buildDynamicCoin(token);
48
+ }
49
+ catch (error) {
50
+ console.warn(`Failed to build dynamic coin for ${token.name} (${token.id}):`, error);
51
+ return undefined;
52
+ }
53
+ }
45
54
  const initializerMap = {
46
55
  algo: account_1.algoToken,
47
56
  apt: account_1.aptToken,
@@ -261,6 +270,30 @@ function createToken(token) {
261
270
  return undefined;
262
271
  }
263
272
  }
273
+ /**
274
+ * Build a real DynamicCoin + DynamicNetwork instance for AMS-discovered base chains
275
+ * whose family is not yet registered in the SDK's initializerMap.
276
+ * Called from createToken() as a fallback when no initializer exists and isToken is false.
277
+ */
278
+ function buildDynamicCoin(token) {
279
+ const network = token.network instanceof networks_1.BaseNetwork ? token.network : (0, networks_1.getNetwork)(token.network);
280
+ return Object.freeze(new base_1.DynamicCoin({
281
+ id: token.id,
282
+ name: token.name,
283
+ fullName: token.fullName,
284
+ decimalPlaces: token.decimalPlaces,
285
+ asset: token.asset,
286
+ isToken: token.isToken,
287
+ features: (token.features ?? []),
288
+ network,
289
+ primaryKeyCurve: token.primaryKeyCurve ?? 'secp256k1',
290
+ prefix: token.prefix ?? '',
291
+ suffix: token.suffix ?? token.name.toUpperCase(),
292
+ baseUnit: token.baseUnit ?? '',
293
+ kind: token.kind ?? 'crypto',
294
+ alias: token.alias,
295
+ }));
296
+ }
264
297
  function getAptTokenInitializer(token) {
265
298
  if (token.assetId) {
266
299
  // used for fungible-assets / legacy coins etc.
@@ -325,9 +358,7 @@ function createTokenMapUsingConfigDetails(tokenConfigMap) {
325
358
  // add the tokens not present in the static coin map
326
359
  for (const tokenConfigs of Object.values(tokenConfigMap)) {
327
360
  const tokenConfig = tokenConfigs[0];
328
- if (!isCoinPresentInCoinMap({ ...tokenConfig }) &&
329
- tokenConfig.isToken &&
330
- !nftAndOtherTokens.has(tokenConfig.name)) {
361
+ if (!isCoinPresentInCoinMap({ ...tokenConfig }) && !nftAndOtherTokens.has(tokenConfig.name)) {
331
362
  const token = createToken(tokenConfig);
332
363
  if (token) {
333
364
  BaseCoins.set(token.name, token);
@@ -338,14 +369,21 @@ function createTokenMapUsingConfigDetails(tokenConfigMap) {
338
369
  }
339
370
  function createTokenMapUsingTrimmedConfigDetails(reducedTokenConfigMap) {
340
371
  const amsTokenConfigMap = {};
341
- const networkNameMap = new Map(Object.values(networks_1.Networks).flatMap((networkType) => Object.values(networkType).map((network) => [network.name, network])));
372
+ const networkNameMap = (0, networks_1.getNetworksMap)();
342
373
  for (const tokenConfigs of Object.values(reducedTokenConfigMap)) {
343
374
  const tokenConfig = tokenConfigs[0];
344
375
  const network = networkNameMap.get(tokenConfig.network.name);
345
- if (!isCoinPresentInCoinMap({ ...tokenConfig }) &&
346
- network &&
347
- tokenConfig.isToken &&
348
- networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family]) {
376
+ if (isCoinPresentInCoinMap({ ...tokenConfig }))
377
+ continue;
378
+ if (!tokenConfig.isToken) {
379
+ // Dynamic base chain — network must be pre-registered in networkByName map before calling this function.
380
+ if (network) {
381
+ amsTokenConfigMap[tokenConfig.name] = [
382
+ { ...tokenConfig, features: tokenConfig.additionalFeatures ?? [], network },
383
+ ];
384
+ }
385
+ }
386
+ else if (network && networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family]) {
349
387
  const features = new Set([
350
388
  ...(networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family] || []),
351
389
  ...(tokenConfig.additionalFeatures || []),
@@ -358,12 +396,18 @@ function createTokenMapUsingTrimmedConfigDetails(reducedTokenConfigMap) {
358
396
  }
359
397
  function createTokenUsingTrimmedConfigDetails(tokenConfig) {
360
398
  let fullTokenConfig;
361
- const networkNameMap = new Map(Object.values(networks_1.Networks).flatMap((networkType) => Object.values(networkType).map((network) => [network.name, network])));
399
+ const networkNameMap = (0, networks_1.getNetworksMap)();
362
400
  const network = networkNameMap.get(tokenConfig.network.name);
363
- if (!isCoinPresentInCoinMap({ ...tokenConfig }) &&
364
- network &&
365
- tokenConfig.isToken &&
366
- networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family]) {
401
+ if (isCoinPresentInCoinMap({ ...tokenConfig }))
402
+ return undefined;
403
+ if (!tokenConfig.isToken) {
404
+ // Dynamic base chain — network must be pre-registered in networkByName map before calling this function.
405
+ if (network) {
406
+ return createToken({ ...tokenConfig, features: tokenConfig.additionalFeatures ?? [], network });
407
+ }
408
+ return undefined;
409
+ }
410
+ if (network && networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family]) {
367
411
  const features = new Set([
368
412
  ...(networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family] || []),
369
413
  ...(tokenConfig.additionalFeatures || []),
@@ -373,4 +417,4 @@ function createTokenUsingTrimmedConfigDetails(tokenConfig) {
373
417
  return createToken(fullTokenConfig);
374
418
  }
375
419
  }
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMkVBLGtDQXFSQztBQWlDRCx3REFFQztBQUVELDRFQWtEQztBQUVELDBGQTZCQztBQUVELG9GQXdCQztBQWhmRCx1Q0E4Qm1CO0FBQ25CLCtCQUFpQztBQUNqQyxpQ0FBK0M7QUFFL0MsK0JBQWdDO0FBQ2hDLHlDQUFtRDtBQUNuRCw2RUFBMEU7QUFDMUUseURBQXNFO0FBQ3RFLCtDQUE0QztBQUM1QywyREFBd0Q7QUFDeEQsdURBQW9EO0FBRXZDLFFBQUEsS0FBSyxHQUFHLGFBQU8sQ0FBQyxTQUFTLENBQUM7SUFDckMsR0FBRyxxQ0FBaUI7SUFDcEIsR0FBRyw2QkFBYTtJQUNoQixHQUFHLDhCQUFjO0lBQ2pCLEdBQUcsbUJBQVE7SUFDWCxHQUFHLDJCQUFZO0NBQ2hCLENBQUMsQ0FBQztBQUVILGlGQUFpRjtBQUNqRixnREFBZ0Q7QUFDaEQsTUFBTSxtQkFBbUIsR0FBMkIsRUFBRSxDQUFDO0FBRXZELHFDQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2pDLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQVcsQ0FBQyxjQUFjLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQVcsQ0FBQyxPQUFPO1FBQ3pDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDYixDQUFDO1FBQ0QsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxvQkFBb0IsR0FBMkIsRUFBRSxDQUFDO0FBQ3hELHFDQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2pDLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FB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QUFJLENBQUMsQ0FBQztJQUM3RCxJQUNFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzNDLE9BQU87UUFDUCxXQUFXLENBQUMsT0FBTztRQUNuQix1REFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQzFDLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUN2QixHQUFHLENBQUMsdURBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxHQUFHLENBQUMsV0FBVyxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztTQUMxQyxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDN0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFvQixDQUFDO1FBQ2hHLE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWxnb1Rva2VuLFxuICBhcHRORlRDb2xsZWN0aW9uLFxuICBhcHRUb2tlbixcbiAgYXJiZXRoRXJjMjAsXG4gIGF2YXhFcmMyMCxcbiAgYmVyYUVyYzIwLFxuICBic2NUb2tlbixcbiAgY2Vsb1Rva2VuLFxuICBjb3Ntb3NUb2tlbixcbiAgZW9zVG9rZW4sXG4gIGVyYzIwLFxuICBoZWRlcmFUb2tlbixcbiAgamV0dG9uVG9rZW4sXG4gIG5lcDE0MVRva2VuLFxuICBvcGV0aEVyYzIwLFxuICBwb2x5Z29uRXJjMjAsXG4gIHBvbHl4VG9rZW4sXG4gIHNpcDEwVG9rZW4sXG4gIHNvbFRva2VuLFxuICBzdGVsbGFyVG9rZW4sXG4gIHN1aVRva2VuLFxuICB0YW9Ub2tlbixcbiAgdHJvblRva2VuLFxuICB2ZXRORlRDb2xsZWN0aW9uLFxuICB2ZXRUb2tlbixcbiAgeHJwVG9rZW4sXG4gIGFkYVRva2VuLFxuICBlcmMyMFRva2VuLFxuICBlcmM3MjFUb2tlbixcbn0gZnJvbSAnLi9hY2NvdW50JztcbmltcG9ydCB7IG9mY1Rva2VuIH0gZnJvbSAnLi9vZmMnO1xuaW1wb3J0IHsgQmFzZUNvaW4sIENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEFtc1Rva2VuQ29uZmlnLCBUcmltbWVkQW1zVG9rZW5Db25maWcgfSBmcm9tICcuL3Rva2VuQ29uZmlnJztcbmltcG9ydCB7IENvaW5NYXAgfSBmcm9tICcuL21hcCc7XG5pbXBvcnQgeyBOZXR3b3JrcywgTmV0d29ya1R5cGUgfSBmcm9tICcuL25ldHdvcmtzJztcbmltcG9ydCB7IG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zIH0gZnJvbSAnLi9uZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vucyc7XG5pbXBvcnQgeyBvZmNFcmMyMENvaW5zLCB0T2ZjRXJjMjBDb2lucyB9IGZyb20gJy4vY29pbnMvb2ZjRXJjMjBDb2lucyc7XG5pbXBvcnQgeyBvZmNDb2lucyB9IGZyb20gJy4vY29pbnMvb2ZjQ29pbnMnO1xuaW1wb3J0IHsgYWxsQ29pbnNBbmRUb2tlbnMgfSBmcm9tICcuL2FsbENvaW5zQW5kVG9rZW5zJztcbmltcG9ydCB7IGJvdE9mY1Rva2VucyB9IGZyb20gJy4vY29pbnMvYm90T2ZjVG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IGNvaW5zID0gQ29pbk1hcC5mcm9tQ29pbnMoW1xuICAuLi5hbGxDb2luc0FuZFRva2VucyxcbiAgLi4ub2ZjRXJjMjBDb2lucyxcbiAgLi4udE9mY0VyYzIwQ29pbnMsXG4gIC4uLm9mY0NvaW5zLFxuICAuLi5ib3RPZmNUb2tlbnMsXG5dKTtcblxuLy8gQnVpbGQgYSBtYXAgb2YgRVJDMjAtc3VwcG9ydGluZyBjaGFpbiBmYW1pbHkgbmFtZXMgdG8gdGhlaXIgbWFpbm5ldCBjb2luIG5hbWVzXG4vLyBNYXBzIGZhbWlseSAtPiBjb2luIG5hbWUgKGUuZy4sICdpcCcgLT4gJ2lwJylcbmNvbnN0IGVyYzIwQ2hhaW5Ub05hbWVNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuYWxsQ29pbnNBbmRUb2tlbnMuZm9yRWFjaCgoY29pbikgPT4ge1xuICBpZiAoXG4gICAgY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkMyMCkgJiZcbiAgICBjb2luLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVCAmJlxuICAgICFjb2luLmlzVG9rZW5cbiAgKSB7XG4gICAgZXJjMjBDaGFpblRvTmFtZU1hcFtjb2luLmZhbWlseV0gPSBjb2luLm5hbWU7XG4gIH1cbn0pO1xuXG5jb25zdCBlcmM3MjFDaGFpblRvTmFtZU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuYWxsQ29pbnNBbmRUb2tlbnMuZm9yRWFjaCgoY29pbikgPT4ge1xuICBpZiAoXG4gICAgY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkM3MjEpICYmXG4gICAgY29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVQgJiZcbiAgICAhY29pbi5pc1Rva2VuXG4gICkge1xuICAgIGVyYzcyMUNoYWluVG9OYW1lTWFwW2NvaW4uZmFtaWx5XSA9IGNvaW4ubmFtZTtcbiAgfVxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlbih0b2tlbjogQW1zVG9rZW5Db25maWcpOiBSZWFkb25seTxCYXNlQ29pbj4gfCB1bmRlZmluZWQge1xuICBjb25zdCBpbml0aWFsaXplck1hcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgYWxnbzogYWxnb1Rva2VuLFxuICAgIGFwdDogYXB0VG9rZW4sXG4gICAgYXJiZXRoOiBhcmJldGhFcmMyMCxcbiAgICBhdmF4YzogYXZheEVyYzIwLFxuICAgIGJhc2VldGg6IGVyYzIwVG9rZW4sXG4gICAgYmVyYTogYmVyYUVyYzIwLFxuICAgIGZsb3c6IGVyYzIwVG9rZW4sXG4gICAgbGluZWFldGg6IGVyYzIwVG9rZW4sXG4gICAgc2VpZXZtOiBlcmMyMFRva2VuLFxuICAgIG1vbjogZXJjMjBUb2tlbixcbiAgICB4ZGM6IGVyYzIwVG9rZW4sXG4gICAgYnNjOiBic2NUb2tlbixcbiAgICBjZWxvOiBjZWxvVG9rZW4sXG4gICAgY29zbW9zOiBjb3Ntb3NUb2tlbixcbiAgICBldGg6IGVyYzIwLFxuICAgIGVvczogZW9zVG9rZW4sXG4gICAgaGJhcjogaGVkZXJhVG9rZW4sXG4gICAgbmVhcjogbmVwMTQxVG9rZW4sXG4gICAgb3BldGg6IG9wZXRoRXJjMjAsXG4gICAgcG9seWdvbjogcG9seWdvbkVyYzIwLFxuICAgIHNvbDogc29sVG9rZW4sXG4gICAgc3R4OiBzaXAxMFRva2VuLFxuICAgIHN1aTogc3VpVG9rZW4sXG4gICAgdGFvOiB0YW9Ub2tlbixcbiAgICBwb2x5eDogcG9seXhUb2tlbixcbiAgICB0cng6IHRyb25Ub2tlbixcbiAgICB2ZXQ6IHZldFRva2VuLFxuICAgIHhsbTogc3RlbGxhclRva2VuLFxuICAgIHhycDogeHJwVG9rZW4sXG4gICAgb2ZjOiBvZmNUb2tlbixcbiAgICBhZGE6IGFkYVRva2VuLFxuICAgIHRvbjogamV0dG9uVG9rZW4sXG4gIH07XG5cbiAgLy8gZHluYW1pY2FsbHkgYWRkIGVyYzIwIHRva2VuIGluaXRpYWxpemVycyBmb3IgZXRoIGxpa2UgY2hhaW5zIHRvIHRoZSBpbml0aWFsaXplciBtYXBcbiAgT2JqZWN0LmtleXMoZXJjMjBDaGFpblRvTmFtZU1hcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaW5pdGlhbGl6ZXJNYXBba2V5XSA9IGVyYzIwVG9rZW47XG4gIH0pO1xuXG4gIE9iamVjdC5rZXlzKGVyYzcyMUNoYWluVG9OYW1lTWFwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpbml0aWFsaXplck1hcFtrZXldID0gZXJjNzIxVG9rZW47XG4gIH0pO1xuXG4gIC8vcmV0dXJuIHRoZSBCYXNlQ29pbiBmcm9tIGRlZmF1bHQgY29pbiBtYXAgaWYgcHJlc2VudFxuICBpZiAoaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuIH0pKSB7XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5uYW1lKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5uYW1lKTtcbiAgICB9XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5pZCkpIHtcbiAgICAgIHJldHVybiBjb2lucy5nZXQodG9rZW4uaWQpO1xuICAgIH1cbiAgICBpZiAodG9rZW4uYWxpYXMgJiYgY29pbnMuaGFzKHRva2VuLmFsaWFzKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5hbGlhcyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGZhbWlseSA9IHRva2VuLmZhbWlseTtcbiAgY29uc3QgaW5pdGlhbGl6ZXIgPSBpbml0aWFsaXplck1hcFtmYW1pbHldIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPjtcbiAgaWYgKCFpbml0aWFsaXplcikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjb21tb25BcmdzID0gW1xuICAgIHRva2VuLmlkLFxuICAgIHRva2VuLm5hbWUsXG4gICAgdG9rZW4uZnVsbE5hbWUsXG4gICAgdG9rZW4uZGVjaW1hbFBsYWNlcyxcbiAgICB0b2tlbi5hc3NldCxcbiAgICB0b2tlbi5mZWF0dXJlcyxcbiAgICB0b2tlbi5wcmVmaXgsXG4gICAgdG9rZW4uc3VmZml4LFxuICAgIHRva2VuLm5ldHdvcmssXG4gICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlLFxuICBdO1xuXG4gIHN3aXRjaCAoZmFtaWx5KSB7XG4gICAgY2FzZSBlcmMyMENoYWluVG9OYW1lTWFwW2ZhbWlseV06XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MgfHwgdG9rZW4udG9rZW5BZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4uYXNzZXQsXG4gICAgICAgIHRva2VuLm5ldHdvcmssXG4gICAgICAgIHRva2VuLmZlYXR1cmVzLFxuICAgICAgICB0b2tlbi5wcmVmaXgsXG4gICAgICAgIHRva2VuLnN1ZmZpeCxcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgZXJjNzIxQ2hhaW5Ub05hbWVNYXBbZmFtaWx5XTpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIHRva2VuLm5ldHdvcmssXG4gICAgICAgIHRva2VuLmZlYXR1cmVzLFxuICAgICAgICB0b2tlbi5wcmVmaXgsXG4gICAgICAgIHRva2VuLnN1ZmZpeCxcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgJ2FyYmV0aCc6XG4gICAgY2FzZSAnYXZheGMnOlxuICAgIGNhc2UgJ2Jhc2VldGgnOlxuICAgIGNhc2UgJ2JlcmEnOlxuICAgIGNhc2UgJ2JzYyc6XG4gICAgY2FzZSAnZmxvdyc6XG4gICAgY2FzZSAnbGluZWFldGgnOlxuICAgIGNhc2UgJ3NlaWV2bSc6XG4gICAgY2FzZSAnbW9uJzpcbiAgICBjYXNlICd4ZGMnOlxuICAgIGNhc2UgJ2NlbG8nOlxuICAgIGNhc2UgJ2V0aCc6XG4gICAgY2FzZSAnb3BldGgnOlxuICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgIGNhc2UgJ3RyeCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MgfHwgdG9rZW4udG9rZW5BZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdhcHQnOlxuICAgICAgY29uc3QgeyBpbml0RnVuYywgb2JqZWN0SWQgfSA9IGdldEFwdFRva2VuSW5pdGlhbGl6ZXIodG9rZW4pO1xuICAgICAgcmV0dXJuIGluaXRGdW5jKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgb2JqZWN0SWQsXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAndmV0JzpcbiAgICAgIGNvbnN0IHsgdmV0SW5pdEZ1bmMsIHZldE9iamVjdElkLCBpc05GVCB9ID0gZ2V0VmV0VG9rZW5Jbml0aWFsaXplcih0b2tlbik7XG4gICAgICBpZiAoaXNORlQpIHtcbiAgICAgICAgcmV0dXJuIHZldEluaXRGdW5jKFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMyksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZVxuICAgICAgICAgIHZldE9iamVjdElkLFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmV0SW5pdEZ1bmMoXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgICAgdmV0T2JqZWN0SWQsXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3N0eCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5hc3NldElkLCAvLyBhc3NldElkXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnYWxnbyc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMiksIC8vIGlkLCBuYW1lXG4gICAgICAgIHRva2VuLmFsaWFzLCAvLyBhbGlhc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDIpIC8vIGZ1bGxOYW1lLCBkZWNpbWFsLCBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdlb3MnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uY29udHJhY3ROYW1lLCAvLyBjb250cmFjdE5hbWVcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0LCA4KSwgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeFxuICAgICAgICB0b2tlbi5zeW1ib2wsIC8vIHN5bWJvbFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDgpIC8vIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ2hiYXInOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDMpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWVcbiAgICAgICAgdG9rZW4ubmV0d29yaywgLy8gbmV0d29ya1xuICAgICAgICB0b2tlbi5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB0b2tlbi5hc3NldCxcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg1LCA4KSwgLy8gZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4XG4gICAgICAgIHRva2VuLnByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3NvbCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi50b2tlbkFkZHJlc3MsIC8vIHRva2VuQWRkcmVzc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICB0b2tlbi5hc3NldCxcbiAgICAgICAgdG9rZW4uZmVhdHVyZXMsXG4gICAgICAgIHRva2VuLnByb2dyYW1JZCxcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg2KSAvLyBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnc3VpJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnBhY2thZ2VJZCwgLy8gcGFja2FnZUlkXG4gICAgICAgIHRva2VuLm1vZHVsZSwgLy8gbW9kdWxlXG4gICAgICAgIHRva2VuLnN5bWJvbCwgLy8gc3ltYm9sXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAndGFvJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnN1Ym5ldElkLCAvLyBzdWJuZXRJZFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICdwb2x5eCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi50aWNrZXIsIC8vIHRpY2tlclxuICAgICAgICB0b2tlbi5hc3NldElkLCAvLyBhc3NldElkXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAneGxtJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA1KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzLCBhc3NldFxuICAgICAgICB0b2tlbi5kb21haW4sIC8vIGRvbWFpblxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDUpIC8vIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAneHJwJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmlzc3VlckFkZHJlc3MsIC8vIGlzc3VlckFkZHJlc3NcbiAgICAgICAgdG9rZW4uY3VycmVjbnljb2RlLCAvLyBjdXJyZW5jeUNvZGVcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4uZG9tYWluLCAvLyBkb21haW5cbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSAnb2ZjJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncywgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzLCBhc3NldCwgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgICB0b2tlbi5iYXNlVW5pdCwgLy8gYmFzZVVuaXRcbiAgICAgICAgdG9rZW4uaXNUb2tlbiwgLy8gaXNUb2tlblxuICAgICAgICB0b2tlbi5raW5kLCAvLyBraW5kXG4gICAgICAgIHRva2VuLmFkZHJlc3NDb2luIC8vIGFkZHJlc3NDb2luXG4gICAgICApO1xuICAgIGNhc2UgJ2FzaSc6XG4gICAgY2FzZSAnYXRvbSc6XG4gICAgY2FzZSAnYmFieSc6XG4gICAgY2FzZSAnYmxkJzpcbiAgICBjYXNlICdjb3JldW0nOlxuICAgIGNhc2UgJ2Nyb25vcyc6XG4gICAgY2FzZSAnaGFzaCc6XG4gICAgY2FzZSAnaW5qZWN0aXZlJzpcbiAgICBjYXNlICdpbml0aWEnOlxuICAgIGNhc2UgJ29zbW8nOlxuICAgIGNhc2UgJ3Rob3InOlxuICAgIGNhc2UgJ3NlaSc6XG4gICAgY2FzZSAndGlhJzpcbiAgICBjYXNlICd6ZXRhJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgIHRva2VuLmRlbm9tLCAvLyBkZW5vbVxuICAgICAgICB0b2tlbi5kZWNpbWFsUGxhY2VzLCAvLyBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLm5ldHdvcmssIC8vIG5ldHdvcmtcbiAgICAgICAgdG9rZW4uYmFzZVVuaXQsIC8vIGJhc2VVbml0XG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCwgOCksIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXhcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlIC8vIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICdhZGEnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uYXNzZXROYW1lLFxuICAgICAgICB0b2tlbi5wb2xpY3lJZCxcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICd0b24nOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QXB0VG9rZW5Jbml0aWFsaXplcih0b2tlbjogQW1zVG9rZW5Db25maWcpIHtcbiAgaWYgKHRva2VuLmFzc2V0SWQpIHtcbiAgICAvLyB1c2VkIGZvciBmdW5naWJsZS1hc3NldHMgLyBsZWdhY3kgY29pbnMgZXRjLlxuICAgIHJldHVybiB7XG4gICAgICBpbml0RnVuYzogYXB0VG9rZW4gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+LFxuICAgICAgb2JqZWN0SWQ6IHRva2VuLmFzc2V0SWQsXG4gICAgfTtcbiAgfVxuICAvLyB1c2VkIGZvciBub24tZnVuZ2libGUgdG9rZW4gKE5GVCkgY29sbGVjdGlvbnNcbiAgcmV0dXJuIHtcbiAgICBpbml0RnVuYzogYXB0TkZUQ29sbGVjdGlvbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgb2JqZWN0SWQ6IHRva2VuLm5mdENvbGxlY3Rpb25JZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0VmV0VG9rZW5Jbml0aWFsaXplcih0b2tlbjogQW1zVG9rZW5Db25maWcpIHtcbiAgaWYgKHRva2VuLm5mdENvbGxlY3Rpb25JZCkge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXRJbml0RnVuYzogdmV0TkZUQ29sbGVjdGlvbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgICB2ZXRPYmplY3RJZDogdG9rZW4ubmZ0Q29sbGVjdGlvbklkLFxuICAgICAgaXNORlQ6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdmV0SW5pdEZ1bmM6IHZldFRva2VuIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPixcbiAgICB2ZXRPYmplY3RJZDogdG9rZW4uY29udHJhY3RBZGRyZXNzLFxuICAgIGlzTkZUOiBmYWxzZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyBuYW1lLCBpZCwgYWxpYXMgfTogeyBuYW1lOiBzdHJpbmc7IGlkPzogc3RyaW5nOyBhbGlhcz86IHN0cmluZyB9KTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGNvaW5zLmhhcyhuYW1lKSB8fCAoaWQgJiYgY29pbnMuaGFzKGlkKSkgfHwgKGFsaWFzICYmIGNvaW5zLmhhcyhhbGlhcykpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuTWFwVXNpbmdDb25maWdEZXRhaWxzKHRva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBBbXNUb2tlbkNvbmZpZ1tdPik6IENvaW5NYXAge1xuICBjb25zdCBCYXNlQ29pbnM6IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3QgbmZ0QW5kT3RoZXJUb2tlbnMgPSBuZXcgU2V0KFtcbiAgICAnZXJjNzIxOmJzY3Rva2VuJyxcbiAgICAndGVyYzcyMTpic2N0b2tlbicsXG4gICAgJ2VyYzExNTU6YnNjdG9rZW4nLFxuICAgICd0ZXJjMTE1NTpic2N0b2tlbicsXG4gICAgJ2VyYzcyMTp3aXRjaCcsXG4gICAgJ2VyYzcyMTp0b2tlbicsXG4gICAgJ2VyYzExNTU6dG9rZW4nLFxuICAgICdub25zdGFuZGFyZDp0b2tlbicsXG4gICAgJ3RlcmM3MjE6dG9rZW4nLFxuICAgICd0ZXJjMTE1NTp0b2tlbicsXG4gICAgJ3Rub25zdGFuZGFyZDp0b2tlbicsXG4gICAgJ3RlcmM3MjE6Yml0Z29lcmM3MjEnLFxuICAgICd0ZXJjMTE1NTpiaXRnb2VyYzExNTUnLFxuICAgICd0ZXJjNzIxOmhvb2RpZGonLFxuICAgICdlcmM3MjE6cG9seWdvbnRva2VuJyxcbiAgICAnZXJjMTE1NTpwb2x5Z29udG9rZW4nLFxuICAgICd0ZXJjNzIxOnBvbHlnb250b2tlbicsXG4gICAgJ3RlcmMxMTU1OnBvbHlnb250b2tlbicsXG4gICAgJ2VyYzcyMTpzb25laXVtdG9rZW4nLFxuICAgICdlcmMxMTU1OnNvbmVpdW10b2tlbicsXG4gICAgJ3RlcmM3MjE6c29uZWl1bXRva2VuJyxcbiAgICAndGVyYzExNTU6c29uZWl1bXRva2VuJyxcbiAgXSk7XG5cbiAgLy8gQWRkIGFsbCB0aGUgY29pbnMgZnJvbSBzdGF0aWNzIGNvaW4gbWFwIGZpcnN0XG4gIGNvaW5zLmZvckVhY2goKGNvaW4sIGNvaW5OYW1lKSA9PiB7XG4gICAgQmFzZUNvaW5zLnNldChjb2luTmFtZSwgY29pbik7XG4gIH0pO1xuXG4gIC8vIGFkZCB0aGUgdG9rZW5zIG5vdCBwcmVzZW50IGluIHRoZSBzdGF0aWMgY29pbiBtYXBcbiAgZm9yIChjb25zdCB0b2tlbkNvbmZpZ3Mgb2YgT2JqZWN0LnZhbHVlcyh0b2tlbkNvbmZpZ01hcCkpIHtcbiAgICBjb25zdCB0b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnc1swXTtcblxuICAgIGlmIChcbiAgICAgICFpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgLi4udG9rZW5Db25maWcgfSkgJiZcbiAgICAgIHRva2VuQ29uZmlnLmlzVG9rZW4gJiZcbiAgICAgICFuZnRBbmRPdGhlclRva2Vucy5oYXModG9rZW5Db25maWcubmFtZSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHRva2VuID0gY3JlYXRlVG9rZW4odG9rZW5Db25maWcpO1xuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIEJhc2VDb2lucy5zZXQodG9rZW4ubmFtZSwgdG9rZW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBDb2luTWFwLmZyb21Db2lucyhBcnJheS5mcm9tKEJhc2VDb2lucy52YWx1ZXMoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG9rZW5NYXBVc2luZ1RyaW1tZWRDb25maWdEZXRhaWxzKFxuICByZWR1Y2VkVG9rZW5Db25maWdNYXA6IFJlY29yZDxzdHJpbmcsIFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1tdPlxuKTogQ29pbk1hcCB7XG4gIGNvbnN0IGFtc1Rva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBBbXNUb2tlbkNvbmZpZ1tdPiA9IHt9O1xuICBjb25zdCBuZXR3b3JrTmFtZU1hcCA9IG5ldyBNYXAoXG4gICAgT2JqZWN0LnZhbHVlcyhOZXR3b3JrcykuZmxhdE1hcCgobmV0d29ya1R5cGUpID0+XG4gICAgICBPYmplY3QudmFsdWVzKG5ldHdvcmtUeXBlKS5tYXAoKG5ldHdvcmspID0+IFtuZXR3b3JrLm5hbWUsIG5ldHdvcmtdKVxuICAgIClcbiAgKTtcblxuICBmb3IgKGNvbnN0IHRva2VuQ29uZmlncyBvZiBPYmplY3QudmFsdWVzKHJlZHVjZWRUb2tlbkNvbmZpZ01hcCkpIHtcbiAgICBjb25zdCB0b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnc1swXTtcbiAgICBjb25zdCBuZXR3b3JrID0gbmV0d29ya05hbWVNYXAuZ2V0KHRva2VuQ29uZmlnLm5ldHdvcmsubmFtZSk7XG4gICAgaWYgKFxuICAgICAgIWlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyAuLi50b2tlbkNvbmZpZyB9KSAmJlxuICAgICAgbmV0d29yayAmJlxuICAgICAgdG9rZW5Db25maWcuaXNUb2tlbiAmJlxuICAgICAgbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldXG4gICAgKSB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IG5ldyBTZXQoW1xuICAgICAgICAuLi4obmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldIHx8IFtdKSxcbiAgICAgICAgLi4uKHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyB8fCBbXSksXG4gICAgICBdKTtcbiAgICAgIHRva2VuQ29uZmlnLmV4Y2x1ZGVkRmVhdHVyZXM/LmZvckVhY2goKGZlYXR1cmUpID0+IGZlYXR1cmVzLmRlbGV0ZShmZWF0dXJlKSk7XG4gICAgICBhbXNUb2tlbkNvbmZpZ01hcFt0b2tlbkNvbmZpZy5uYW1lXSA9IFt7IC4uLnRva2VuQ29uZmlnLCBmZWF0dXJlczogQXJyYXkuZnJvbShmZWF0dXJlcyksIG5ldHdvcmsgfV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVRva2VuTWFwVXNpbmdDb25maWdEZXRhaWxzKGFtc1Rva2VuQ29uZmlnTWFwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyhcbiAgdG9rZW5Db25maWc6IFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1xuKTogUmVhZG9ubHk8QmFzZUNvaW4+IHwgdW5kZWZpbmVkIHtcbiAgbGV0IGZ1bGxUb2tlbkNvbmZpZzogQW1zVG9rZW5Db25maWcgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IG5ldHdvcmtOYW1lTWFwID0gbmV3IE1hcChcbiAgICBPYmplY3QudmFsdWVzKE5ldHdvcmtzKS5mbGF0TWFwKChuZXR3b3JrVHlwZSkgPT5cbiAgICAgIE9iamVjdC52YWx1ZXMobmV0d29ya1R5cGUpLm1hcCgobmV0d29yaykgPT4gW25ldHdvcmsubmFtZSwgbmV0d29ya10pXG4gICAgKVxuICApO1xuICBjb25zdCBuZXR3b3JrID0gbmV0d29ya05hbWVNYXAuZ2V0KHRva2VuQ29uZmlnLm5ldHdvcmsubmFtZSk7XG4gIGlmIChcbiAgICAhaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuQ29uZmlnIH0pICYmXG4gICAgbmV0d29yayAmJlxuICAgIHRva2VuQ29uZmlnLmlzVG9rZW4gJiZcbiAgICBuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV1cbiAgKSB7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBuZXcgU2V0KFtcbiAgICAgIC4uLihuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV0gfHwgW10pLFxuICAgICAgLi4uKHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyB8fCBbXSksXG4gICAgXSk7XG4gICAgdG9rZW5Db25maWcuZXhjbHVkZWRGZWF0dXJlcz8uZm9yRWFjaCgoZmVhdHVyZSkgPT4gZmVhdHVyZXMuZGVsZXRlKGZlYXR1cmUpKTtcbiAgICBmdWxsVG9rZW5Db25maWcgPSB7IC4uLnRva2VuQ29uZmlnLCBmZWF0dXJlczogQXJyYXkuZnJvbShmZWF0dXJlcyksIG5ldHdvcmsgfSBhcyBBbXNUb2tlbkNvbmZpZztcbiAgICByZXR1cm4gY3JlYXRlVG9rZW4oZnVsbFRva2VuQ29uZmlnKTtcbiAgfVxufVxuIl19
420
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMkVBLGtDQTZSQztBQTZERCx3REFFQztBQUVELDRFQThDQztBQUVELDBGQThCQztBQUVELG9GQTBCQztBQW5oQkQsdUNBOEJtQjtBQUNuQiwrQkFBaUM7QUFDakMsaUNBQTREO0FBRTVELCtCQUFnQztBQUNoQyx5Q0FBa0Y7QUFDbEYsNkVBQTBFO0FBQzFFLHlEQUFzRTtBQUN0RSwrQ0FBNEM7QUFDNUMsMkRBQXdEO0FBQ3hELHVEQUFvRDtBQUV2QyxRQUFBLEtBQUssR0FBRyxhQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3JDLEdBQUcscUNBQWlCO0lBQ3BCLEdBQUcsNkJBQWE7SUFDaEIsR0FBRyw4QkFBYztJQUNqQixHQUFHLG1CQUFRO0lBQ1gsR0FBRywyQkFBWTtDQUNoQixDQUFDLENBQUM7QUFFSCxpRkFBaUY7QUFDakYsZ0RBQWdEO0FBQ2hELE1BQU0sbUJBQW1CLEdBQTJCLEVBQUUsQ0FBQztBQUV2RCxxQ0FBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUNqQyxJQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGtCQUFXLENBQUMsY0FBYyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHNCQUFXLENBQUMsT0FBTztRQUN6QyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQ2IsQ0FBQztRQUNELG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sb0JBQW9CLEdBQTJCLEVBQUUsQ0FBQztBQUN4RCxxQ0FBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUNqQyxJQUNFLElBQUksQ0FBQyxRQUFRLENB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QUFDO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFakUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6Qix5R0FBeUc7UUFDekcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sV0FBVyxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFvQixDQUFDLENBQUM7UUFDcEgsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLE9BQU8sSUFBSSx1REFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUN2QixHQUFHLENBQUMsdURBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxHQUFHLENBQUMsV0FBVyxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztTQUMxQyxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDN0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFvQixDQUFDO1FBQ2hHLE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWxnb1Rva2VuLFxuICBhcHRORlRDb2xsZWN0aW9uLFxuICBhcHRUb2tlbixcbiAgYXJiZXRoRXJjMjAsXG4gIGF2YXhFcmMyMCxcbiAgYmVyYUVyYzIwLFxuICBic2NUb2tlbixcbiAgY2Vsb1Rva2VuLFxuICBjb3Ntb3NUb2tlbixcbiAgZW9zVG9rZW4sXG4gIGVyYzIwLFxuICBoZWRlcmFUb2tlbixcbiAgamV0dG9uVG9rZW4sXG4gIG5lcDE0MVRva2VuLFxuICBvcGV0aEVyYzIwLFxuICBwb2x5Z29uRXJjMjAsXG4gIHBvbHl4VG9rZW4sXG4gIHNpcDEwVG9rZW4sXG4gIHNvbFRva2VuLFxuICBzdGVsbGFyVG9rZW4sXG4gIHN1aVRva2VuLFxuICB0YW9Ub2tlbixcbiAgdHJvblRva2VuLFxuICB2ZXRORlRDb2xsZWN0aW9uLFxuICB2ZXRUb2tlbixcbiAgeHJwVG9rZW4sXG4gIGFkYVRva2VuLFxuICBlcmMyMFRva2VuLFxuICBlcmM3MjFUb2tlbixcbn0gZnJvbSAnLi9hY2NvdW50JztcbmltcG9ydCB7IG9mY1Rva2VuIH0gZnJvbSAnLi9vZmMnO1xuaW1wb3J0IHsgQmFzZUNvaW4sIENvaW5GZWF0dXJlLCBEeW5hbWljQ29pbiB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBBbXNUb2tlbkNvbmZpZywgVHJpbW1lZEFtc1Rva2VuQ29uZmlnIH0gZnJvbSAnLi90b2tlbkNvbmZpZyc7XG5pbXBvcnQgeyBDb2luTWFwIH0gZnJvbSAnLi9tYXAnO1xuaW1wb3J0IHsgQmFzZU5ldHdvcmssIGdldE5ldHdvcmssIGdldE5ldHdvcmtzTWFwLCBOZXR3b3JrVHlwZSB9IGZyb20gJy4vbmV0d29ya3MnO1xuaW1wb3J0IHsgbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnMgfSBmcm9tICcuL25ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zJztcbmltcG9ydCB7IG9mY0VyYzIwQ29pbnMsIHRPZmNFcmMyMENvaW5zIH0gZnJvbSAnLi9jb2lucy9vZmNFcmMyMENvaW5zJztcbmltcG9ydCB7IG9mY0NvaW5zIH0gZnJvbSAnLi9jb2lucy9vZmNDb2lucyc7XG5pbXBvcnQgeyBhbGxDb2luc0FuZFRva2VucyB9IGZyb20gJy4vYWxsQ29pbnNBbmRUb2tlbnMnO1xuaW1wb3J0IHsgYm90T2ZjVG9rZW5zIH0gZnJvbSAnLi9jb2lucy9ib3RPZmNUb2tlbnMnO1xuXG5leHBvcnQgY29uc3QgY29pbnMgPSBDb2luTWFwLmZyb21Db2lucyhbXG4gIC4uLmFsbENvaW5zQW5kVG9rZW5zLFxuICAuLi5vZmNFcmMyMENvaW5zLFxuICAuLi50T2ZjRXJjMjBDb2lucyxcbiAgLi4ub2ZjQ29pbnMsXG4gIC4uLmJvdE9mY1Rva2Vucyxcbl0pO1xuXG4vLyBCdWlsZCBhIG1hcCBvZiBFUkMyMC1zdXBwb3J0aW5nIGNoYWluIGZhbWlseSBuYW1lcyB0byB0aGVpciBtYWlubmV0IGNvaW4gbmFtZXNcbi8vIE1hcHMgZmFtaWx5IC0+IGNvaW4gbmFtZSAoZS5nLiwgJ2lwJyAtPiAnaXAnKVxuY29uc3QgZXJjMjBDaGFpblRvTmFtZU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG5hbGxDb2luc0FuZFRva2Vucy5mb3JFYWNoKChjb2luKSA9PiB7XG4gIGlmIChcbiAgICBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzIwKSAmJlxuICAgIGNvaW4ubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUICYmXG4gICAgIWNvaW4uaXNUb2tlblxuICApIHtcbiAgICBlcmMyMENoYWluVG9OYW1lTWFwW2NvaW4uZmFtaWx5XSA9IGNvaW4ubmFtZTtcbiAgfVxufSk7XG5cbmNvbnN0IGVyYzcyMUNoYWluVG9OYW1lTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5hbGxDb2luc0FuZFRva2Vucy5mb3JFYWNoKChjb2luKSA9PiB7XG4gIGlmIChcbiAgICBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzcyMSkgJiZcbiAgICBjb2luLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVCAmJlxuICAgICFjb2luLmlzVG9rZW5cbiAgKSB7XG4gICAgZXJjNzIxQ2hhaW5Ub05hbWVNYXBbY29pbi5mYW1pbHldID0gY29pbi5uYW1lO1xuICB9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuKHRva2VuOiBBbXNUb2tlbkNvbmZpZyk6IFJlYWRvbmx5PEJhc2VDb2luPiB8IHVuZGVmaW5lZCB7XG4gIGlmICghdG9rZW4uaXNUb2tlbikge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYnVpbGREeW5hbWljQ29pbih0b2tlbik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIGJ1aWxkIGR5bmFtaWMgY29pbiBmb3IgJHt0b2tlbi5uYW1lfSAoJHt0b2tlbi5pZH0pOmAsIGVycm9yKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIGNvbnN0IGluaXRpYWxpemVyTWFwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICBhbGdvOiBhbGdvVG9rZW4sXG4gICAgYXB0OiBhcHRUb2tlbixcbiAgICBhcmJldGg6IGFyYmV0aEVyYzIwLFxuICAgIGF2YXhjOiBhdmF4RXJjMjAsXG4gICAgYmFzZWV0aDogZXJjMjBUb2tlbixcbiAgICBiZXJhOiBiZXJhRXJjMjAsXG4gICAgZmxvdzogZXJjMjBUb2tlbixcbiAgICBsaW5lYWV0aDogZXJjMjBUb2tlbixcbiAgICBzZWlldm06IGVyYzIwVG9rZW4sXG4gICAgbW9uOiBlcmMyMFRva2VuLFxuICAgIHhkYzogZXJjMjBUb2tlbixcbiAgICBic2M6IGJzY1Rva2VuLFxuICAgIGNlbG86IGNlbG9Ub2tlbixcbiAgICBjb3Ntb3M6IGNvc21vc1Rva2VuLFxuICAgIGV0aDogZXJjMjAsXG4gICAgZW9zOiBlb3NUb2tlbixcbiAgICBoYmFyOiBoZWRlcmFUb2tlbixcbiAgICBuZWFyOiBuZXAxNDFUb2tlbixcbiAgICBvcGV0aDogb3BldGhFcmMyMCxcbiAgICBwb2x5Z29uOiBwb2x5Z29uRXJjMjAsXG4gICAgc29sOiBzb2xUb2tlbixcbiAgICBzdHg6IHNpcDEwVG9rZW4sXG4gICAgc3VpOiBzdWlUb2tlbixcbiAgICB0YW86IHRhb1Rva2VuLFxuICAgIHBvbHl4OiBwb2x5eFRva2VuLFxuICAgIHRyeDogdHJvblRva2VuLFxuICAgIHZldDogdmV0VG9rZW4sXG4gICAgeGxtOiBzdGVsbGFyVG9rZW4sXG4gICAgeHJwOiB4cnBUb2tlbixcbiAgICBvZmM6IG9mY1Rva2VuLFxuICAgIGFkYTogYWRhVG9rZW4sXG4gICAgdG9uOiBqZXR0b25Ub2tlbixcbiAgfTtcblxuICAvLyBkeW5hbWljYWxseSBhZGQgZXJjMjAgdG9rZW4gaW5pdGlhbGl6ZXJzIGZvciBldGggbGlrZSBjaGFpbnMgdG8gdGhlIGluaXRpYWxpemVyIG1hcFxuICBPYmplY3Qua2V5cyhlcmMyMENoYWluVG9OYW1lTWFwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpbml0aWFsaXplck1hcFtrZXldID0gZXJjMjBUb2tlbjtcbiAgfSk7XG5cbiAgT2JqZWN0LmtleXMoZXJjNzIxQ2hhaW5Ub05hbWVNYXApLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGluaXRpYWxpemVyTWFwW2tleV0gPSBlcmM3MjFUb2tlbjtcbiAgfSk7XG5cbiAgLy9yZXR1cm4gdGhlIEJhc2VDb2luIGZyb20gZGVmYXVsdCBjb2luIG1hcCBpZiBwcmVzZW50XG4gIGlmIChpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgLi4udG9rZW4gfSkpIHtcbiAgICBpZiAoY29pbnMuaGFzKHRva2VuLm5hbWUpKSB7XG4gICAgICByZXR1cm4gY29pbnMuZ2V0KHRva2VuLm5hbWUpO1xuICAgIH1cbiAgICBpZiAoY29pbnMuaGFzKHRva2VuLmlkKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5pZCk7XG4gICAgfVxuICAgIGlmICh0b2tlbi5hbGlhcyAmJiBjb2lucy5oYXModG9rZW4uYWxpYXMpKSB7XG4gICAgICByZXR1cm4gY29pbnMuZ2V0KHRva2VuLmFsaWFzKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgZmFtaWx5ID0gdG9rZW4uZmFtaWx5O1xuICBjb25zdCBpbml0aWFsaXplciA9IGluaXRpYWxpemVyTWFwW2ZhbWlseV0gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+O1xuICBpZiAoIWluaXRpYWxpemVyKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGNvbW1vbkFyZ3MgPSBbXG4gICAgdG9rZW4uaWQsXG4gICAgdG9rZW4ubmFtZSxcbiAgICB0b2tlbi5mdWxsTmFtZSxcbiAgICB0b2tlbi5kZWNpbWFsUGxhY2VzLFxuICAgIHRva2VuLmFzc2V0LFxuICAgIHRva2VuLmZlYXR1cmVzLFxuICAgIHRva2VuLnByZWZpeCxcbiAgICB0b2tlbi5zdWZmaXgsXG4gICAgdG9rZW4ubmV0d29yayxcbiAgICB0b2tlbi5wcmltYXJ5S2V5Q3VydmUsXG4gIF07XG5cbiAgc3dpdGNoIChmYW1pbHkpIHtcbiAgICBjYXNlIGVyYzIwQ2hhaW5Ub05hbWVNYXBbZmFtaWx5XTpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcyB8fCB0b2tlbi50b2tlbkFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICB0b2tlbi5hc3NldCxcbiAgICAgICAgdG9rZW4ubmV0d29yayxcbiAgICAgICAgdG9rZW4uZmVhdHVyZXMsXG4gICAgICAgIHRva2VuLnByZWZpeCxcbiAgICAgICAgdG9rZW4uc3VmZml4LFxuICAgICAgICB0b2tlbi5wcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSBlcmM3MjFDaGFpblRvTmFtZU1hcFtmYW1pbHldOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDMpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWVcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4ubmV0d29yayxcbiAgICAgICAgdG9rZW4uZmVhdHVyZXMsXG4gICAgICAgIHRva2VuLnByZWZpeCxcbiAgICAgICAgdG9rZW4uc3VmZml4LFxuICAgICAgICB0b2tlbi5wcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSAnYXJiZXRoJzpcbiAgICBjYXNlICdhdmF4Yyc6XG4gICAgY2FzZSAnYmFzZWV0aCc6XG4gICAgY2FzZSAnYmVyYSc6XG4gICAgY2FzZSAnYnNjJzpcbiAgICBjYXNlICdmbG93JzpcbiAgICBjYXNlICdsaW5lYWV0aCc6XG4gICAgY2FzZSAnc2VpZXZtJzpcbiAgICBjYXNlICdtb24nOlxuICAgIGNhc2UgJ3hkYyc6XG4gICAgY2FzZSAnY2Vsbyc6XG4gICAgY2FzZSAnZXRoJzpcbiAgICBjYXNlICdvcGV0aCc6XG4gICAgY2FzZSAncG9seWdvbic6XG4gICAgY2FzZSAndHJ4JzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcyB8fCB0b2tlbi50b2tlbkFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ2FwdCc6XG4gICAgICBjb25zdCB7IGluaXRGdW5jLCBvYmplY3RJZCB9ID0gZ2V0QXB0VG9rZW5Jbml0aWFsaXplcih0b2tlbik7XG4gICAgICByZXR1cm4gaW5pdEZ1bmMoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICBvYmplY3RJZCxcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICd2ZXQnOlxuICAgICAgY29uc3QgeyB2ZXRJbml0RnVuYywgdmV0T2JqZWN0SWQsIGlzTkZUIH0gPSBnZXRWZXRUb2tlbkluaXRpYWxpemVyKHRva2VuKTtcbiAgICAgIGlmIChpc05GVCkge1xuICAgICAgICByZXR1cm4gdmV0SW5pdEZ1bmMoXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgICAgdmV0T2JqZWN0SWQsXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2ZXRJbml0RnVuYyhcbiAgICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgICB2ZXRPYmplY3RJZCxcbiAgICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgY2FzZSAnc3R4JzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmFzc2V0SWQsIC8vIGFzc2V0SWRcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdhbGdvJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAyKSwgLy8gaWQsIG5hbWVcbiAgICAgICAgdG9rZW4uYWxpYXMsIC8vIGFsaWFzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMikgLy8gZnVsbE5hbWUsIGRlY2ltYWwsIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ2Vvcyc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdE5hbWUsIC8vIGNvbnRyYWN0TmFtZVxuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQsIDgpLCAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4XG4gICAgICAgIHRva2VuLnN5bWJvbCwgLy8gc3ltYm9sXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoOCkgLy8gbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnaGJhcic6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMyksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZVxuICAgICAgICB0b2tlbi5uZXR3b3JrLCAvLyBuZXR3b3JrXG4gICAgICAgIHRva2VuLmRlY2ltYWxQbGFjZXMsXG4gICAgICAgIHRva2VuLmFzc2V0LFxuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDUsIDgpLCAvLyBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXhcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnc29sJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnRva2VuQWRkcmVzcywgLy8gdG9rZW5BZGRyZXNzXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIHRva2VuLmFzc2V0LFxuICAgICAgICB0b2tlbi5mZWF0dXJlcyxcbiAgICAgICAgdG9rZW4ucHJvZ3JhbUlkLFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDYpIC8vIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdzdWknOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4ucGFja2FnZUlkLCAvLyBwYWNrYWdlSWRcbiAgICAgICAgdG9rZW4ubW9kdWxlLCAvLyBtb2R1bGVcbiAgICAgICAgdG9rZW4uc3ltYm9sLCAvLyBzeW1ib2xcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICd0YW8nOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uc3VibmV0SWQsIC8vIHN1Ym5ldElkXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgJ3BvbHl4JzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnRpY2tlciwgLy8gdGlja2VyXG4gICAgICAgIHRva2VuLmFzc2V0SWQsIC8vIGFzc2V0SWRcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICd4bG0nOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDUpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXMsIGFzc2V0XG4gICAgICAgIHRva2VuLmRvbWFpbiwgLy8gZG9tYWluXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNSkgLy8gZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICd4cnAnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uaXNzdWVyQWRkcmVzcywgLy8gaXNzdWVyQWRkcmVzc1xuICAgICAgICB0b2tlbi5jdXJyZWNueWNvZGUsIC8vIGN1cnJlbmN5Q29kZVxuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICB0b2tlbi5kb21haW4sIC8vIGRvbWFpblxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICdvZmMnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXMsIGFzc2V0LCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICAgIHRva2VuLmJhc2VVbml0LCAvLyBiYXNlVW5pdFxuICAgICAgICB0b2tlbi5pc1Rva2VuLCAvLyBpc1Rva2VuXG4gICAgICAgIHRva2VuLmtpbmQsIC8vIGtpbmRcbiAgICAgICAgdG9rZW4uYWRkcmVzc0NvaW4gLy8gYWRkcmVzc0NvaW5cbiAgICAgICk7XG4gICAgY2FzZSAnYXNpJzpcbiAgICBjYXNlICdhdG9tJzpcbiAgICBjYXNlICdiYWJ5JzpcbiAgICBjYXNlICdibGQnOlxuICAgIGNhc2UgJ2NvcmV1bSc6XG4gICAgY2FzZSAnY3Jvbm9zJzpcbiAgICBjYXNlICdoYXNoJzpcbiAgICBjYXNlICdpbmplY3RpdmUnOlxuICAgIGNhc2UgJ2luaXRpYSc6XG4gICAgY2FzZSAnb3Ntbyc6XG4gICAgY2FzZSAndGhvcic6XG4gICAgY2FzZSAnc2VpJzpcbiAgICBjYXNlICd0aWEnOlxuICAgIGNhc2UgJ3pldGEnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDMpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWVcbiAgICAgICAgdG9rZW4uZGVub20sIC8vIGRlbm9tXG4gICAgICAgIHRva2VuLmRlY2ltYWxQbGFjZXMsIC8vIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4ubmV0d29yaywgLy8gbmV0d29ya1xuICAgICAgICB0b2tlbi5iYXNlVW5pdCwgLy8gYmFzZVVuaXRcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0LCA4KSwgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeFxuICAgICAgICB0b2tlbi5wcmltYXJ5S2V5Q3VydmUgLy8gcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgJ2FkYSc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5hc3NldE5hbWUsXG4gICAgICAgIHRva2VuLnBvbGljeUlkLFxuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgJ3Rvbic6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIGEgcmVhbCBEeW5hbWljQ29pbiArIER5bmFtaWNOZXR3b3JrIGluc3RhbmNlIGZvciBBTVMtZGlzY292ZXJlZCBiYXNlIGNoYWluc1xuICogd2hvc2UgZmFtaWx5IGlzIG5vdCB5ZXQgcmVnaXN0ZXJlZCBpbiB0aGUgU0RLJ3MgaW5pdGlhbGl6ZXJNYXAuXG4gKiBDYWxsZWQgZnJvbSBjcmVhdGVUb2tlbigpIGFzIGEgZmFsbGJhY2sgd2hlbiBubyBpbml0aWFsaXplciBleGlzdHMgYW5kIGlzVG9rZW4gaXMgZmFsc2UuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkRHluYW1pY0NvaW4odG9rZW46IEFtc1Rva2VuQ29uZmlnKTogUmVhZG9ubHk8QmFzZUNvaW4+IHtcbiAgY29uc3QgbmV0d29yayA9IHRva2VuLm5ldHdvcmsgaW5zdGFuY2VvZiBCYXNlTmV0d29yayA/IHRva2VuLm5ldHdvcmsgOiBnZXROZXR3b3JrKHRva2VuLm5ldHdvcmsgYXMgc3RyaW5nKTtcblxuICByZXR1cm4gT2JqZWN0LmZyZWV6ZShcbiAgICBuZXcgRHluYW1pY0NvaW4oe1xuICAgICAgaWQ6IHRva2VuLmlkLFxuICAgICAgbmFtZTogdG9rZW4ubmFtZSxcbiAgICAgIGZ1bGxOYW1lOiB0b2tlbi5mdWxsTmFtZSxcbiAgICAgIGRlY2ltYWxQbGFjZXM6IHRva2VuLmRlY2ltYWxQbGFjZXMsXG4gICAgICBhc3NldDogdG9rZW4uYXNzZXQgYXMgc3RyaW5nLFxuICAgICAgaXNUb2tlbjogdG9rZW4uaXNUb2tlbixcbiAgICAgIGZlYXR1cmVzOiAodG9rZW4uZmVhdHVyZXMgPz8gW10pIGFzIHN0cmluZ1tdLFxuICAgICAgbmV0d29yayxcbiAgICAgIHByaW1hcnlLZXlDdXJ2ZTogKHRva2VuLnByaW1hcnlLZXlDdXJ2ZSBhcyBzdHJpbmcpID8/ICdzZWNwMjU2azEnLFxuICAgICAgcHJlZml4OiB0b2tlbi5wcmVmaXggPz8gJycsXG4gICAgICBzdWZmaXg6IHRva2VuLnN1ZmZpeCA/PyB0b2tlbi5uYW1lLnRvVXBwZXJDYXNlKCksXG4gICAgICBiYXNlVW5pdDogKHRva2VuLmJhc2VVbml0IGFzIHN0cmluZykgPz8gJycsXG4gICAgICBraW5kOiAodG9rZW4ua2luZCBhcyBzdHJpbmcpID8/ICdjcnlwdG8nLFxuICAgICAgYWxpYXM6IHRva2VuLmFsaWFzLFxuICAgIH0pXG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldEFwdFRva2VuSW5pdGlhbGl6ZXIodG9rZW46IEFtc1Rva2VuQ29uZmlnKSB7XG4gIGlmICh0b2tlbi5hc3NldElkKSB7XG4gICAgLy8gdXNlZCBmb3IgZnVuZ2libGUtYXNzZXRzIC8gbGVnYWN5IGNvaW5zIGV0Yy5cbiAgICByZXR1cm4ge1xuICAgICAgaW5pdEZ1bmM6IGFwdFRva2VuIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPixcbiAgICAgIG9iamVjdElkOiB0b2tlbi5hc3NldElkLFxuICAgIH07XG4gIH1cbiAgLy8gdXNlZCBmb3Igbm9uLWZ1bmdpYmxlIHRva2VuIChORlQpIGNvbGxlY3Rpb25zXG4gIHJldHVybiB7XG4gICAgaW5pdEZ1bmM6IGFwdE5GVENvbGxlY3Rpb24gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+LFxuICAgIG9iamVjdElkOiB0b2tlbi5uZnRDb2xsZWN0aW9uSWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFZldFRva2VuSW5pdGlhbGl6ZXIodG9rZW46IEFtc1Rva2VuQ29uZmlnKSB7XG4gIGlmICh0b2tlbi5uZnRDb2xsZWN0aW9uSWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmV0SW5pdEZ1bmM6IHZldE5GVENvbGxlY3Rpb24gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+LFxuICAgICAgdmV0T2JqZWN0SWQ6IHRva2VuLm5mdENvbGxlY3Rpb25JZCxcbiAgICAgIGlzTkZUOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHZldEluaXRGdW5jOiB2ZXRUb2tlbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgdmV0T2JqZWN0SWQ6IHRva2VuLmNvbnRyYWN0QWRkcmVzcyxcbiAgICBpc05GVDogZmFsc2UsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgbmFtZSwgaWQsIGFsaWFzIH06IHsgbmFtZTogc3RyaW5nOyBpZD86IHN0cmluZzsgYWxpYXM/OiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihjb2lucy5oYXMobmFtZSkgfHwgKGlkICYmIGNvaW5zLmhhcyhpZCkpIHx8IChhbGlhcyAmJiBjb2lucy5oYXMoYWxpYXMpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlbk1hcFVzaW5nQ29uZmlnRGV0YWlscyh0b2tlbkNvbmZpZ01hcDogUmVjb3JkPHN0cmluZywgQW1zVG9rZW5Db25maWdbXT4pOiBDb2luTWFwIHtcbiAgY29uc3QgQmFzZUNvaW5zOiBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0IG5mdEFuZE90aGVyVG9rZW5zID0gbmV3IFNldChbXG4gICAgJ2VyYzcyMTpic2N0b2tlbicsXG4gICAgJ3RlcmM3MjE6YnNjdG9rZW4nLFxuICAgICdlcmMxMTU1OmJzY3Rva2VuJyxcbiAgICAndGVyYzExNTU6YnNjdG9rZW4nLFxuICAgICdlcmM3MjE6d2l0Y2gnLFxuICAgICdlcmM3MjE6dG9rZW4nLFxuICAgICdlcmMxMTU1OnRva2VuJyxcbiAgICAnbm9uc3RhbmRhcmQ6dG9rZW4nLFxuICAgICd0ZXJjNzIxOnRva2VuJyxcbiAgICAndGVyYzExNTU6dG9rZW4nLFxuICAgICd0bm9uc3RhbmRhcmQ6dG9rZW4nLFxuICAgICd0ZXJjNzIxOmJpdGdvZXJjNzIxJyxcbiAgICAndGVyYzExNTU6Yml0Z29lcmMxMTU1JyxcbiAgICAndGVyYzcyMTpob29kaWRqJyxcbiAgICAnZXJjNzIxOnBvbHlnb250b2tlbicsXG4gICAgJ2VyYzExNTU6cG9seWdvbnRva2VuJyxcbiAgICAndGVyYzcyMTpwb2x5Z29udG9rZW4nLFxuICAgICd0ZXJjMTE1NTpwb2x5Z29udG9rZW4nLFxuICAgICdlcmM3MjE6c29uZWl1bXRva2VuJyxcbiAgICAnZXJjMTE1NTpzb25laXVtdG9rZW4nLFxuICAgICd0ZXJjNzIxOnNvbmVpdW10b2tlbicsXG4gICAgJ3RlcmMxMTU1OnNvbmVpdW10b2tlbicsXG4gIF0pO1xuXG4gIC8vIEFkZCBhbGwgdGhlIGNvaW5zIGZyb20gc3RhdGljcyBjb2luIG1hcCBmaXJzdFxuICBjb2lucy5mb3JFYWNoKChjb2luLCBjb2luTmFtZSkgPT4ge1xuICAgIEJhc2VDb2lucy5zZXQoY29pbk5hbWUsIGNvaW4pO1xuICB9KTtcblxuICAvLyBhZGQgdGhlIHRva2VucyBub3QgcHJlc2VudCBpbiB0aGUgc3RhdGljIGNvaW4gbWFwXG4gIGZvciAoY29uc3QgdG9rZW5Db25maWdzIG9mIE9iamVjdC52YWx1ZXModG9rZW5Db25maWdNYXApKSB7XG4gICAgY29uc3QgdG9rZW5Db25maWcgPSB0b2tlbkNvbmZpZ3NbMF07XG5cbiAgICBpZiAoIWlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyAuLi50b2tlbkNvbmZpZyB9KSAmJiAhbmZ0QW5kT3RoZXJUb2tlbnMuaGFzKHRva2VuQ29uZmlnLm5hbWUpKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IGNyZWF0ZVRva2VuKHRva2VuQ29uZmlnKTtcbiAgICAgIGlmICh0b2tlbikge1xuICAgICAgICBCYXNlQ29pbnMuc2V0KHRva2VuLm5hbWUsIHRva2VuKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gQ29pbk1hcC5mcm9tQ29pbnMoQXJyYXkuZnJvbShCYXNlQ29pbnMudmFsdWVzKCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuTWFwVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyhcbiAgcmVkdWNlZFRva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBUcmltbWVkQW1zVG9rZW5Db25maWdbXT5cbik6IENvaW5NYXAge1xuICBjb25zdCBhbXNUb2tlbkNvbmZpZ01hcDogUmVjb3JkPHN0cmluZywgQW1zVG9rZW5Db25maWdbXT4gPSB7fTtcbiAgY29uc3QgbmV0d29ya05hbWVNYXAgPSBnZXROZXR3b3Jrc01hcCgpO1xuXG4gIGZvciAoY29uc3QgdG9rZW5Db25maWdzIG9mIE9iamVjdC52YWx1ZXMocmVkdWNlZFRva2VuQ29uZmlnTWFwKSkge1xuICAgIGNvbnN0IHRva2VuQ29uZmlnID0gdG9rZW5Db25maWdzWzBdO1xuICAgIGNvbnN0IG5ldHdvcmsgPSBuZXR3b3JrTmFtZU1hcC5nZXQodG9rZW5Db25maWcubmV0d29yay5uYW1lKTtcblxuICAgIGlmIChpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgLi4udG9rZW5Db25maWcgfSkpIGNvbnRpbnVlO1xuXG4gICAgaWYgKCF0b2tlbkNvbmZpZy5pc1Rva2VuKSB7XG4gICAgICAvLyBEeW5hbWljIGJhc2UgY2hhaW4g4oCUIG5ldHdvcmsgbXVzdCBiZSBwcmUtcmVnaXN0ZXJlZCBpbiBuZXR3b3JrQnlOYW1lIG1hcCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAgaWYgKG5ldHdvcmspIHtcbiAgICAgICAgYW1zVG9rZW5Db25maWdNYXBbdG9rZW5Db25maWcubmFtZV0gPSBbXG4gICAgICAgICAgeyAuLi50b2tlbkNvbmZpZywgZmVhdHVyZXM6IHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyA/PyBbXSwgbmV0d29yayB9LFxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmV0d29yayAmJiBuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV0pIHtcbiAgICAgIGNvbnN0IGZlYXR1cmVzID0gbmV3IFNldChbXG4gICAgICAgIC4uLihuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV0gfHwgW10pLFxuICAgICAgICAuLi4odG9rZW5Db25maWcuYWRkaXRpb25hbEZlYXR1cmVzIHx8IFtdKSxcbiAgICAgIF0pO1xuICAgICAgdG9rZW5Db25maWcuZXhjbHVkZWRGZWF0dXJlcz8uZm9yRWFjaCgoZmVhdHVyZSkgPT4gZmVhdHVyZXMuZGVsZXRlKGZlYXR1cmUpKTtcbiAgICAgIGFtc1Rva2VuQ29uZmlnTWFwW3Rva2VuQ29uZmlnLm5hbWVdID0gW3sgLi4udG9rZW5Db25maWcsIGZlYXR1cmVzOiBBcnJheS5mcm9tKGZlYXR1cmVzKSwgbmV0d29yayB9XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY3JlYXRlVG9rZW5NYXBVc2luZ0NvbmZpZ0RldGFpbHMoYW1zVG9rZW5Db25maWdNYXApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG9rZW5Vc2luZ1RyaW1tZWRDb25maWdEZXRhaWxzKFxuICB0b2tlbkNvbmZpZzogVHJpbW1lZEFtc1Rva2VuQ29uZmlnXG4pOiBSZWFkb25seTxCYXNlQ29pbj4gfCB1bmRlZmluZWQge1xuICBsZXQgZnVsbFRva2VuQ29uZmlnOiBBbXNUb2tlbkNvbmZpZyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgbmV0d29ya05hbWVNYXAgPSBnZXROZXR3b3Jrc01hcCgpO1xuICBjb25zdCBuZXR3b3JrID0gbmV0d29ya05hbWVNYXAuZ2V0KHRva2VuQ29uZmlnLm5ldHdvcmsubmFtZSk7XG5cbiAgaWYgKGlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyAuLi50b2tlbkNvbmZpZyB9KSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICBpZiAoIXRva2VuQ29uZmlnLmlzVG9rZW4pIHtcbiAgICAvLyBEeW5hbWljIGJhc2UgY2hhaW4g4oCUIG5ldHdvcmsgbXVzdCBiZSBwcmUtcmVnaXN0ZXJlZCBpbiBuZXR3b3JrQnlOYW1lIG1hcCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxuICAgIGlmIChuZXR3b3JrKSB7XG4gICAgICByZXR1cm4gY3JlYXRlVG9rZW4oeyAuLi50b2tlbkNvbmZpZywgZmVhdHVyZXM6IHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyA/PyBbXSwgbmV0d29yayB9IGFzIEFtc1Rva2VuQ29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChuZXR3b3JrICYmIG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zW25ldHdvcmsuZmFtaWx5XSkge1xuICAgIGNvbnN0IGZlYXR1cmVzID0gbmV3IFNldChbXG4gICAgICAuLi4obmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldIHx8IFtdKSxcbiAgICAgIC4uLih0b2tlbkNvbmZpZy5hZGRpdGlvbmFsRmVhdHVyZXMgfHwgW10pLFxuICAgIF0pO1xuICAgIHRva2VuQ29uZmlnLmV4Y2x1ZGVkRmVhdHVyZXM/LmZvckVhY2goKGZlYXR1cmUpID0+IGZlYXR1cmVzLmRlbGV0ZShmZWF0dXJlKSk7XG4gICAgZnVsbFRva2VuQ29uZmlnID0geyAuLi50b2tlbkNvbmZpZywgZmVhdHVyZXM6IEFycmF5LmZyb20oZmVhdHVyZXMpLCBuZXR3b3JrIH0gYXMgQW1zVG9rZW5Db25maWc7XG4gICAgcmV0dXJuIGNyZWF0ZVRva2VuKGZ1bGxUb2tlbkNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
@@ -2255,6 +2255,65 @@ declare class TempoTestnet extends Testnet implements EthereumNetwork {
2255
2255
  nativeCoinOperationHashPrefix: string;
2256
2256
  tokenOperationHashPrefix: string;
2257
2257
  }
2258
+ /**
2259
+ * Constructor options for {@link DynamicNetwork}.
2260
+ * Accepts string-typed `type` and `family` so AMS JSON can be passed directly.
2261
+ * Fields mirror BaseNetwork + AccountNetwork + EthereumNetwork.
2262
+ */
2263
+ export interface DynamicNetworkOptions {
2264
+ name: string;
2265
+ type: string;
2266
+ family: string;
2267
+ explorerUrl?: string;
2268
+ accountExplorerUrl?: string;
2269
+ blockExplorerUrl?: string;
2270
+ chainId?: number;
2271
+ batcherContractAddress?: string;
2272
+ forwarderFactoryAddress?: string;
2273
+ forwarderImplementationAddress?: string;
2274
+ walletFactoryAddress?: string;
2275
+ walletImplementationAddress?: string;
2276
+ walletV2FactoryAddress?: string;
2277
+ walletV2ImplementationAddress?: string;
2278
+ walletV4FactoryAddress?: string;
2279
+ walletV4ImplementationAddress?: string;
2280
+ walletV2ForwarderFactoryAddress?: string;
2281
+ walletV2ForwarderImplementationAddress?: string;
2282
+ walletV4ForwarderFactoryAddress?: string;
2283
+ walletV4ForwarderImplementationAddress?: string;
2284
+ nativeCoinOperationHashPrefix?: string;
2285
+ tokenOperationHashPrefix?: string;
2286
+ }
2287
+ /**
2288
+ * Concrete network class for AMS-discovered chains not yet registered in local statics.
2289
+ * Accepts string-typed type/family and casts to enums internally (safe since both are string enums).
2290
+ * Currently covers BaseNetwork + AccountNetwork + EthereumNetwork fields.
2291
+ */
2292
+ export declare class DynamicNetwork extends BaseNetwork {
2293
+ readonly name: string;
2294
+ readonly type: NetworkType;
2295
+ readonly family: CoinFamily;
2296
+ readonly explorerUrl: string | undefined;
2297
+ readonly accountExplorerUrl?: string;
2298
+ readonly blockExplorerUrl?: string;
2299
+ readonly chainId?: number;
2300
+ readonly batcherContractAddress?: string;
2301
+ readonly forwarderFactoryAddress?: string;
2302
+ readonly forwarderImplementationAddress?: string;
2303
+ readonly walletFactoryAddress?: string;
2304
+ readonly walletImplementationAddress?: string;
2305
+ readonly walletV2FactoryAddress?: string;
2306
+ readonly walletV2ImplementationAddress?: string;
2307
+ readonly walletV4FactoryAddress?: string;
2308
+ readonly walletV4ImplementationAddress?: string;
2309
+ readonly walletV2ForwarderFactoryAddress?: string;
2310
+ readonly walletV2ForwarderImplementationAddress?: string;
2311
+ readonly walletV4ForwarderFactoryAddress?: string;
2312
+ readonly walletV4ForwarderImplementationAddress?: string;
2313
+ readonly nativeCoinOperationHashPrefix?: string;
2314
+ readonly tokenOperationHashPrefix?: string;
2315
+ constructor(options: DynamicNetworkOptions);
2316
+ }
2258
2317
  export declare const Networks: {
2259
2318
  main: {
2260
2319
  ada: Readonly<Ada>;
@@ -2507,5 +2566,27 @@ export declare const Networks: {
2507
2566
  * Returns undefined for names not registered in local statics.
2508
2567
  */
2509
2568
  export declare function getNetworkByName(name: string): BaseNetwork | undefined;
2569
+ export declare function getNetworksMap(): Map<string, BaseNetwork>;
2570
+ /**
2571
+ * Dynamically register a new network in the lookup map.
2572
+ * Throws if a network with the same name is already registered.
2573
+ */
2574
+ export declare function registerNetwork(network: BaseNetwork): void;
2575
+ /**
2576
+ * Look up a network by its display name or JSON representation.
2577
+ *
2578
+ * Resolution order:
2579
+ * 1. If `network` is a JSON string representing a DynamicNetworkOptions object
2580
+ * (must have `name`, `type`, and `family` fields), construct and
2581
+ * return a new DynamicNetwork instance.
2582
+ * 2. Local statics cache via getNetworkByName().
2583
+ *
2584
+ * @param network - A network display name (e.g. "bitcoin") or a JSON-encoded
2585
+ * DynamicNetworkOptions object.
2586
+ * @returns The matching BaseNetwork (or DynamicNetwork) instance.
2587
+ * @throws {Error} If the network is not found in local statics and the input
2588
+ * is not a valid DynamicNetworkOptions JSON string.
2589
+ */
2590
+ export declare function getNetwork(network: string): BaseNetwork;
2510
2591
  export {};
2511
2592
  //# sourceMappingURL=networks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/networks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/networks.ts"],"names":[],"mappings":"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"}