@bitgo/statics 58.20.0 → 58.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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;AA8BH,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,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"}
package/dist/src/coins.js CHANGED
@@ -26,13 +26,10 @@ exports.coins = map_1.CoinMap.fromCoins([
26
26
  // Build a map of ERC20-supporting chain family names to their mainnet coin names
27
27
  // Maps family -> coin name (e.g., 'ip' -> 'ip')
28
28
  const erc20ChainToNameMap = {};
29
- // TODO: remove ip and hypeeevm coins here and remove other evm coins from switch block, once changes are tested (Ticket: https://bitgoinc.atlassian.net/browse/WIN-7835)
30
- const enabledEvmCoins = ['ip', 'hypeevm', 'plume'];
31
29
  allCoinsAndTokens_1.allCoinsAndTokens.forEach((coin) => {
32
30
  if (coin.features.includes(base_1.CoinFeature.SUPPORTS_ERC20) &&
33
31
  coin.network.type === networks_1.NetworkType.MAINNET &&
34
- !coin.isToken &&
35
- enabledEvmCoins.includes(coin.family)) {
32
+ !coin.isToken) {
36
33
  erc20ChainToNameMap[coin.family] = coin.name;
37
34
  }
38
35
  });
@@ -376,4 +373,4 @@ function createTokenUsingTrimmedConfigDetails(tokenConfig) {
376
373
  return createToken(fullTokenConfig);
377
374
  }
378
375
  }
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBOEVBLGtDQXFSQztBQWlDRCx3REFFQztBQUVELDRFQWtEQztBQUVELDBGQTZCQztBQUVELG9GQXdCQztBQW5mRCx1Q0E4Qm1CO0FBQ25CLCtCQUFpQztBQUNqQyxpQ0FBK0M7QUFFL0MsK0JBQWdDO0FBQ2hDLHlDQUFtRDtBQUNuRCw2RUFBMEU7QUFDMUUseURBQXNFO0FBQ3RFLCtDQUE0QztBQUM1QywyREFBd0Q7QUFDeEQsdURBQW9EO0FBRXZDLFFBQUEsS0FBSyxHQUFHLGFBQU8sQ0FBQyxTQUFTLENBQUM7SUFDckMsR0FBRyxxQ0FBaUI7SUFDcEIsR0FBRyw2QkFBYTtJQUNoQixHQUFHLDhCQUFjO0lBQ2pCLEdBQUcsbUJBQVE7SUFDWCxHQUFHLDJCQUFZO0NBQ2hCLENBQUMsQ0FBQztBQUVILGlGQUFpRjtBQUNqRixnREFBZ0Q7QUFDaEQsTUFBTSxtQkFBbUIsR0FBMkIsRUFBRSxDQUFDO0FBRXZELHlLQUF5SztBQUN6SyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDbkQscUNBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDakMsSUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBVyxDQUFDLGNBQWMsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxzQkFBVyxDQUFDLE9BQU87UUFDekMsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUNiLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNyQyxDQUFDO1FBQ0QsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztBQUNILENBQUMs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QUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ3JFLENBQ0YsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxJQUNFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzNDLE9BQU87UUFDUCxXQUFXLENBQUMsT0FBTztRQUNuQix1REFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQzFDLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUN2QixHQUFHLENBQUMsdURBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxHQUFHLENBQUMsV0FBVyxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztTQUMxQyxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDN0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFvQixDQUFDO1FBQ2hHLE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWxnb1Rva2VuLFxuICBhcHRORlRDb2xsZWN0aW9uLFxuICBhcHRUb2tlbixcbiAgYXJiZXRoRXJjMjAsXG4gIGF2YXhFcmMyMCxcbiAgYmVyYUVyYzIwLFxuICBic2NUb2tlbixcbiAgY2Vsb1Rva2VuLFxuICBjb3Ntb3NUb2tlbixcbiAgZW9zVG9rZW4sXG4gIGVyYzIwLFxuICBoZWRlcmFUb2tlbixcbiAgamV0dG9uVG9rZW4sXG4gIG5lcDE0MVRva2VuLFxuICBvcGV0aEVyYzIwLFxuICBwb2x5Z29uRXJjMjAsXG4gIHBvbHl4VG9rZW4sXG4gIHNpcDEwVG9rZW4sXG4gIHNvbFRva2VuLFxuICBzdGVsbGFyVG9rZW4sXG4gIHN1aVRva2VuLFxuICB0YW9Ub2tlbixcbiAgdHJvblRva2VuLFxuICB2ZXRORlRDb2xsZWN0aW9uLFxuICB2ZXRUb2tlbixcbiAgeHJwVG9rZW4sXG4gIGFkYVRva2VuLFxuICBlcmMyMFRva2VuLFxuICBlcmM3MjFUb2tlbixcbn0gZnJvbSAnLi9hY2NvdW50JztcbmltcG9ydCB7IG9mY1Rva2VuIH0gZnJvbSAnLi9vZmMnO1xuaW1wb3J0IHsgQmFzZUNvaW4sIENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEFtc1Rva2VuQ29uZmlnLCBUcmltbWVkQW1zVG9rZW5Db25maWcgfSBmcm9tICcuL3Rva2VuQ29uZmlnJztcbmltcG9ydCB7IENvaW5NYXAgfSBmcm9tICcuL21hcCc7XG5pbXBvcnQgeyBOZXR3b3JrcywgTmV0d29ya1R5cGUgfSBmcm9tICcuL25ldHdvcmtzJztcbmltcG9ydCB7IG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zIH0gZnJvbSAnLi9uZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vucyc7XG5pbXBvcnQgeyBvZmNFcmMyMENvaW5zLCB0T2ZjRXJjMjBDb2lucyB9IGZyb20gJy4vY29pbnMvb2ZjRXJjMjBDb2lucyc7XG5pbXBvcnQgeyBvZmNDb2lucyB9IGZyb20gJy4vY29pbnMvb2ZjQ29pbnMnO1xuaW1wb3J0IHsgYWxsQ29pbnNBbmRUb2tlbnMgfSBmcm9tICcuL2FsbENvaW5zQW5kVG9rZW5zJztcbmltcG9ydCB7IGJvdE9mY1Rva2VucyB9IGZyb20gJy4vY29pbnMvYm90T2ZjVG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IGNvaW5zID0gQ29pbk1hcC5mcm9tQ29pbnMoW1xuICAuLi5hbGxDb2luc0FuZFRva2VucyxcbiAgLi4ub2ZjRXJjMjBDb2lucyxcbiAgLi4udE9mY0VyYzIwQ29pbnMsXG4gIC4uLm9mY0NvaW5zLFxuICAuLi5ib3RPZmNUb2tlbnMsXG5dKTtcblxuLy8gQnVpbGQgYSBtYXAgb2YgRVJDMjAtc3VwcG9ydGluZyBjaGFpbiBmYW1pbHkgbmFtZXMgdG8gdGhlaXIgbWFpbm5ldCBjb2luIG5hbWVzXG4vLyBNYXBzIGZhbWlseSAtPiBjb2luIG5hbWUgKGUuZy4sICdpcCcgLT4gJ2lwJylcbmNvbnN0IGVyYzIwQ2hhaW5Ub05hbWVNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuLy8gVE9ETzogcmVtb3ZlIGlwIGFuZCBoeXBlZWV2bSBjb2lucyBoZXJlIGFuZCByZW1vdmUgb3RoZXIgZXZtIGNvaW5zIGZyb20gc3dpdGNoIGJsb2NrLCBvbmNlIGNoYW5nZXMgYXJlIHRlc3RlZCAoVGlja2V0OiBodHRwczovL2JpdGdvaW5jLmF0bGFzc2lhbi5uZXQvYnJvd3NlL1dJTi03ODM1KVxuY29uc3QgZW5hYmxlZEV2bUNvaW5zID0gWydpcCcsICdoeXBlZXZtJywgJ3BsdW1lJ107XG5hbGxDb2luc0FuZFRva2Vucy5mb3JFYWNoKChjb2luKSA9PiB7XG4gIGlmIChcbiAgICBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzIwKSAmJlxuICAgIGNvaW4ubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUICYmXG4gICAgIWNvaW4uaXNUb2tlbiAmJlxuICAgIGVuYWJsZWRFdm1Db2lucy5pbmNsdWRlcyhjb2luLmZhbWlseSlcbiAgKSB7XG4gICAgZXJjMjBDaGFpblRvTmFtZU1hcFtjb2luLmZhbWlseV0gPSBjb2luLm5hbWU7XG4gIH1cbn0pO1xuXG5jb25zdCBlcmM3MjFDaGFpblRvTmFtZU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuYWxsQ29pbnNBbmRUb2tlbnMuZm9yRWFjaCgoY29pbikgPT4ge1xuICBpZiAoXG4gICAgY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkM3MjEpICYmXG4gICAgY29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVQgJiZcbiAgICAhY29pbi5pc1Rva2VuXG4gICkge1xuICAgIGVyYzcyMUNoYWluVG9OYW1lTWFwW2NvaW4uZmFtaWx5XSA9IGNvaW4ubmFtZTtcbiAgfVxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlbih0b2tlbjogQW1zVG9rZW5Db25maWcpOiBSZWFkb25seTxCYXNlQ29pbj4gfCB1bmRlZmluZWQge1xuICBjb25zdCBpbml0aWFsaXplck1hcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgYWxnbzogYWxnb1Rva2VuLFxuICAgIGFwdDogYXB0VG9rZW4sXG4gICAgYXJiZXRoOiBhcmJldGhFcmMyMCxcbiAgICBhdmF4YzogYXZheEVyYzIwLFxuICAgIGJhc2VldGg6IGVyYzIwVG9rZW4sXG4gICAgYmVyYTogYmVyYUVyYzIwLFxuICAgIGZsb3c6IGVyYzIwVG9rZW4sXG4gICAgbGluZWFldGg6IGVyYzIwVG9rZW4sXG4gICAgc2VpZXZtOiBlcmMyMFRva2VuLFxuICAgIG1vbjogZXJjMjBUb2tlbixcbiAgICB4ZGM6IGVyYzIwVG9rZW4sXG4gICAgYnNjOiBic2NUb2tlbixcbiAgICBjZWxvOiBjZWxvVG9rZW4sXG4gICAgY29zbW9zOiBjb3Ntb3NUb2tlbixcbiAgICBldGg6IGVyYzIwLFxuICAgIGVvczogZW9zVG9rZW4sXG4gICAgaGJhcjogaGVkZXJhVG9rZW4sXG4gICAgbmVhcjogbmVwMTQxVG9rZW4sXG4gICAgb3BldGg6IG9wZXRoRXJjMjAsXG4gICAgcG9seWdvbjogcG9seWdvbkVyYzIwLFxuICAgIHNvbDogc29sVG9rZW4sXG4gICAgc3R4OiBzaXAxMFRva2VuLFxuICAgIHN1aTogc3VpVG9rZW4sXG4gICAgdGFvOiB0YW9Ub2tlbixcbiAgICBwb2x5eDogcG9seXhUb2tlbixcbiAgICB0cng6IHRyb25Ub2tlbixcbiAgICB2ZXQ6IHZldFRva2VuLFxuICAgIHhsbTogc3RlbGxhclRva2VuLFxuICAgIHhycDogeHJwVG9rZW4sXG4gICAgb2ZjOiBvZmNUb2tlbixcbiAgICBhZGE6IGFkYVRva2VuLFxuICAgIHRvbjogamV0dG9uVG9rZW4sXG4gIH07XG5cbiAgLy8gZHluYW1pY2FsbHkgYWRkIGVyYzIwIHRva2VuIGluaXRpYWxpemVycyBmb3IgZXRoIGxpa2UgY2hhaW5zIHRvIHRoZSBpbml0aWFsaXplciBtYXBcbiAgT2JqZWN0LmtleXMoZXJjMjBDaGFpblRvTmFtZU1hcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaW5pdGlhbGl6ZXJNYXBba2V5XSA9IGVyYzIwVG9rZW47XG4gIH0pO1xuXG4gIE9iamVjdC5rZXlzKGVyYzcyMUNoYWluVG9OYW1lTWFwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpbml0aWFsaXplck1hcFtrZXldID0gZXJjNzIxVG9rZW47XG4gIH0pO1xuXG4gIC8vcmV0dXJuIHRoZSBCYXNlQ29pbiBmcm9tIGRlZmF1bHQgY29pbiBtYXAgaWYgcHJlc2VudFxuICBpZiAoaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuIH0pKSB7XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5uYW1lKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5uYW1lKTtcbiAgICB9XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5pZCkpIHtcbiAgICAgIHJldHVybiBjb2lucy5nZXQodG9rZW4uaWQpO1xuICAgIH1cbiAgICBpZiAodG9rZW4uYWxpYXMgJiYgY29pbnMuaGFzKHRva2VuLmFsaWFzKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5hbGlhcyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGZhbWlseSA9IHRva2VuLmZhbWlseTtcbiAgY29uc3QgaW5pdGlhbGl6ZXIgPSBpbml0aWFsaXplck1hcFtmYW1pbHldIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPjtcbiAgaWYgKCFpbml0aWFsaXplcikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjb21tb25BcmdzID0gW1xuICAgIHRva2VuLmlkLFxuICAgIHRva2VuLm5hbWUsXG4gICAgdG9rZW4uZnVsbE5hbWUsXG4gICAgdG9rZW4uZGVjaW1hbFBsYWNlcyxcbiAgICB0b2tlbi5hc3NldCxcbiAgICB0b2tlbi5mZWF0dXJlcyxcbiAgICB0b2tlbi5wcmVmaXgsXG4gICAgdG9rZW4uc3VmZml4LFxuICAgIHRva2VuLm5ldHdvcmssXG4gICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlLFxuICBdO1xuXG4gIHN3aXRjaCAoZmFtaWx5KSB7XG4gICAgY2FzZSBlcmMyMENoYWluVG9OYW1lTWFwW2ZhbWlseV06XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MgfHwgdG9rZW4udG9rZW5BZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4uYXNzZXQsXG4gICAgICAgIHRva2VuLm5ldHdvcmssXG4gICAgICAgIHRva2VuLmZlYXR1cmVzLFxuICAgICAgICB0b2tlbi5wcmVmaXgsXG4gICAgICAgIHRva2VuLnN1ZmZpeCxcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgZXJjNzIxQ2hhaW5Ub05hbWVNYXBbZmFtaWx5XTpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIHRva2VuLm5ldHdvcmssXG4gICAgICAgIHRva2VuLmZlYXR1cmVzLFxuICAgICAgICB0b2tlbi5wcmVmaXgsXG4gICAgICAgIHRva2VuLnN1ZmZpeCxcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgJ2FyYmV0aCc6XG4gICAgY2FzZSAnYXZheGMnOlxuICAgIGNhc2UgJ2Jhc2VldGgnOlxuICAgIGNhc2UgJ2JlcmEnOlxuICAgIGNhc2UgJ2JzYyc6XG4gICAgY2FzZSAnZmxvdyc6XG4gICAgY2FzZSAnbGluZWFldGgnOlxuICAgIGNhc2UgJ3NlaWV2bSc6XG4gICAgY2FzZSAnbW9uJzpcbiAgICBjYXNlICd4ZGMnOlxuICAgIGNhc2UgJ2NlbG8nOlxuICAgIGNhc2UgJ2V0aCc6XG4gICAgY2FzZSAnb3BldGgnOlxuICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgIGNhc2UgJ3RyeCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MgfHwgdG9rZW4udG9rZW5BZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdhcHQnOlxuICAgICAgY29uc3QgeyBpbml0RnVuYywgb2JqZWN0SWQgfSA9IGdldEFwdFRva2VuSW5pdGlhbGl6ZXIodG9rZW4pO1xuICAgICAgcmV0dXJuIGluaXRGdW5jKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgb2JqZWN0SWQsXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAndmV0JzpcbiAgICAgIGNvbnN0IHsgdmV0SW5pdEZ1bmMsIHZldE9iamVjdElkLCBpc05GVCB9ID0gZ2V0VmV0VG9rZW5Jbml0aWFsaXplcih0b2tlbik7XG4gICAgICBpZiAoaXNORlQpIHtcbiAgICAgICAgcmV0dXJuIHZldEluaXRGdW5jKFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMyksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZVxuICAgICAgICAgIHZldE9iamVjdElkLFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmV0SW5pdEZ1bmMoXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgICAgdmV0T2JqZWN0SWQsXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3N0eCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5hc3NldElkLCAvLyBhc3NldElkXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnYWxnbyc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMiksIC8vIGlkLCBuYW1lXG4gICAgICAgIHRva2VuLmFsaWFzLCAvLyBhbGlhc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDIpIC8vIGZ1bGxOYW1lLCBkZWNpbWFsLCBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdlb3MnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uY29udHJhY3ROYW1lLCAvLyBjb250cmFjdE5hbWVcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0LCA4KSwgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeFxuICAgICAgICB0b2tlbi5zeW1ib2wsIC8vIHN5bWJvbFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDgpIC8vIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ2hiYXInOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDMpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWVcbiAgICAgICAgdG9rZW4ubmV0d29yaywgLy8gbmV0d29ya1xuICAgICAgICB0b2tlbi5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB0b2tlbi5hc3NldCxcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg1LCA4KSwgLy8gZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4XG4gICAgICAgIHRva2VuLnByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3NvbCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi50b2tlbkFkZHJlc3MsIC8vIHRva2VuQWRkcmVzc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICB0b2tlbi5hc3NldCxcbiAgICAgICAgdG9rZW4uZmVhdHVyZXMsXG4gICAgICAgIHRva2VuLnByb2dyYW1JZCxcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg2KSAvLyBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnc3VpJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnBhY2thZ2VJZCwgLy8gcGFja2FnZUlkXG4gICAgICAgIHRva2VuLm1vZHVsZSwgLy8gbW9kdWxlXG4gICAgICAgIHRva2VuLnN5bWJvbCwgLy8gc3ltYm9sXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAndGFvJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnN1Ym5ldElkLCAvLyBzdWJuZXRJZFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICdwb2x5eCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi50aWNrZXIsIC8vIHRpY2tlclxuICAgICAgICB0b2tlbi5hc3NldElkLCAvLyBhc3NldElkXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAneGxtJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA1KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzLCBhc3NldFxuICAgICAgICB0b2tlbi5kb21haW4sIC8vIGRvbWFpblxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDUpIC8vIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAneHJwJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmlzc3VlckFkZHJlc3MsIC8vIGlzc3VlckFkZHJlc3NcbiAgICAgICAgdG9rZW4uY3VycmVjbnljb2RlLCAvLyBjdXJyZW5jeUNvZGVcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4uZG9tYWluLCAvLyBkb21haW5cbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSAnb2ZjJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncywgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzLCBhc3NldCwgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgICB0b2tlbi5iYXNlVW5pdCwgLy8gYmFzZVVuaXRcbiAgICAgICAgdG9rZW4uaXNUb2tlbiwgLy8gaXNUb2tlblxuICAgICAgICB0b2tlbi5raW5kLCAvLyBraW5kXG4gICAgICAgIHRva2VuLmFkZHJlc3NDb2luIC8vIGFkZHJlc3NDb2luXG4gICAgICApO1xuICAgIGNhc2UgJ2FzaSc6XG4gICAgY2FzZSAnYXRvbSc6XG4gICAgY2FzZSAnYmFieSc6XG4gICAgY2FzZSAnYmxkJzpcbiAgICBjYXNlICdjb3JldW0nOlxuICAgIGNhc2UgJ2Nyb25vcyc6XG4gICAgY2FzZSAnaGFzaCc6XG4gICAgY2FzZSAnaW5qZWN0aXZlJzpcbiAgICBjYXNlICdpbml0aWEnOlxuICAgIGNhc2UgJ29zbW8nOlxuICAgIGNhc2UgJ3Rob3InOlxuICAgIGNhc2UgJ3NlaSc6XG4gICAgY2FzZSAndGlhJzpcbiAgICBjYXNlICd6ZXRhJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgIHRva2VuLmRlbm9tLCAvLyBkZW5vbVxuICAgICAgICB0b2tlbi5kZWNpbWFsUGxhY2VzLCAvLyBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLm5ldHdvcmssIC8vIG5ldHdvcmtcbiAgICAgICAgdG9rZW4uYmFzZVVuaXQsIC8vIGJhc2VVbml0XG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCwgOCksIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXhcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlIC8vIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICdhZGEnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uYXNzZXROYW1lLFxuICAgICAgICB0b2tlbi5wb2xpY3lJZCxcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICd0b24nOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QXB0VG9rZW5Jbml0aWFsaXplcih0b2tlbjogQW1zVG9rZW5Db25maWcpIHtcbiAgaWYgKHRva2VuLmFzc2V0SWQpIHtcbiAgICAvLyB1c2VkIGZvciBmdW5naWJsZS1hc3NldHMgLyBsZWdhY3kgY29pbnMgZXRjLlxuICAgIHJldHVybiB7XG4gICAgICBpbml0RnVuYzogYXB0VG9rZW4gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+LFxuICAgICAgb2JqZWN0SWQ6IHRva2VuLmFzc2V0SWQsXG4gICAgfTtcbiAgfVxuICAvLyB1c2VkIGZvciBub24tZnVuZ2libGUgdG9rZW4gKE5GVCkgY29sbGVjdGlvbnNcbiAgcmV0dXJuIHtcbiAgICBpbml0RnVuYzogYXB0TkZUQ29sbGVjdGlvbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgb2JqZWN0SWQ6IHRva2VuLm5mdENvbGxlY3Rpb25JZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0VmV0VG9rZW5Jbml0aWFsaXplcih0b2tlbjogQW1zVG9rZW5Db25maWcpIHtcbiAgaWYgKHRva2VuLm5mdENvbGxlY3Rpb25JZCkge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXRJbml0RnVuYzogdmV0TkZUQ29sbGVjdGlvbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgICB2ZXRPYmplY3RJZDogdG9rZW4ubmZ0Q29sbGVjdGlvbklkLFxuICAgICAgaXNORlQ6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdmV0SW5pdEZ1bmM6IHZldFRva2VuIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPixcbiAgICB2ZXRPYmplY3RJZDogdG9rZW4uY29udHJhY3RBZGRyZXNzLFxuICAgIGlzTkZUOiBmYWxzZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyBuYW1lLCBpZCwgYWxpYXMgfTogeyBuYW1lOiBzdHJpbmc7IGlkPzogc3RyaW5nOyBhbGlhcz86IHN0cmluZyB9KTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGNvaW5zLmhhcyhuYW1lKSB8fCAoaWQgJiYgY29pbnMuaGFzKGlkKSkgfHwgKGFsaWFzICYmIGNvaW5zLmhhcyhhbGlhcykpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuTWFwVXNpbmdDb25maWdEZXRhaWxzKHRva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBBbXNUb2tlbkNvbmZpZ1tdPik6IENvaW5NYXAge1xuICBjb25zdCBCYXNlQ29pbnM6IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3QgbmZ0QW5kT3RoZXJUb2tlbnMgPSBuZXcgU2V0KFtcbiAgICAnZXJjNzIxOmJzY3Rva2VuJyxcbiAgICAndGVyYzcyMTpic2N0b2tlbicsXG4gICAgJ2VyYzExNTU6YnNjdG9rZW4nLFxuICAgICd0ZXJjMTE1NTpic2N0b2tlbicsXG4gICAgJ2VyYzcyMTp3aXRjaCcsXG4gICAgJ2VyYzcyMTp0b2tlbicsXG4gICAgJ2VyYzExNTU6dG9rZW4nLFxuICAgICdub25zdGFuZGFyZDp0b2tlbicsXG4gICAgJ3RlcmM3MjE6dG9rZW4nLFxuICAgICd0ZXJjMTE1NTp0b2tlbicsXG4gICAgJ3Rub25zdGFuZGFyZDp0b2tlbicsXG4gICAgJ3RlcmM3MjE6Yml0Z29lcmM3MjEnLFxuICAgICd0ZXJjMTE1NTpiaXRnb2VyYzExNTUnLFxuICAgICd0ZXJjNzIxOmhvb2RpZGonLFxuICAgICdlcmM3MjE6cG9seWdvbnRva2VuJyxcbiAgICAnZXJjMTE1NTpwb2x5Z29udG9rZW4nLFxuICAgICd0ZXJjNzIxOnBvbHlnb250b2tlbicsXG4gICAgJ3RlcmMxMTU1OnBvbHlnb250b2tlbicsXG4gICAgJ2VyYzcyMTpzb25laXVtdG9rZW4nLFxuICAgICdlcmMxMTU1OnNvbmVpdW10b2tlbicsXG4gICAgJ3RlcmM3MjE6c29uZWl1bXRva2VuJyxcbiAgICAndGVyYzExNTU6c29uZWl1bXRva2VuJyxcbiAgXSk7XG5cbiAgLy8gQWRkIGFsbCB0aGUgY29pbnMgZnJvbSBzdGF0aWNzIGNvaW4gbWFwIGZpcnN0XG4gIGNvaW5zLmZvckVhY2goKGNvaW4sIGNvaW5OYW1lKSA9PiB7XG4gICAgQmFzZUNvaW5zLnNldChjb2luTmFtZSwgY29pbik7XG4gIH0pO1xuXG4gIC8vIGFkZCB0aGUgdG9rZW5zIG5vdCBwcmVzZW50IGluIHRoZSBzdGF0aWMgY29pbiBtYXBcbiAgZm9yIChjb25zdCB0b2tlbkNvbmZpZ3Mgb2YgT2JqZWN0LnZhbHVlcyh0b2tlbkNvbmZpZ01hcCkpIHtcbiAgICBjb25zdCB0b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnc1swXTtcblxuICAgIGlmIChcbiAgICAgICFpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgLi4udG9rZW5Db25maWcgfSkgJiZcbiAgICAgIHRva2VuQ29uZmlnLmlzVG9rZW4gJiZcbiAgICAgICFuZnRBbmRPdGhlclRva2Vucy5oYXModG9rZW5Db25maWcubmFtZSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHRva2VuID0gY3JlYXRlVG9rZW4odG9rZW5Db25maWcpO1xuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIEJhc2VDb2lucy5zZXQodG9rZW4ubmFtZSwgdG9rZW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBDb2luTWFwLmZyb21Db2lucyhBcnJheS5mcm9tKEJhc2VDb2lucy52YWx1ZXMoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG9rZW5NYXBVc2luZ1RyaW1tZWRDb25maWdEZXRhaWxzKFxuICByZWR1Y2VkVG9rZW5Db25maWdNYXA6IFJlY29yZDxzdHJpbmcsIFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1tdPlxuKTogQ29pbk1hcCB7XG4gIGNvbnN0IGFtc1Rva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBBbXNUb2tlbkNvbmZpZ1tdPiA9IHt9O1xuICBjb25zdCBuZXR3b3JrTmFtZU1hcCA9IG5ldyBNYXAoXG4gICAgT2JqZWN0LnZhbHVlcyhOZXR3b3JrcykuZmxhdE1hcCgobmV0d29ya1R5cGUpID0+XG4gICAgICBPYmplY3QudmFsdWVzKG5ldHdvcmtUeXBlKS5tYXAoKG5ldHdvcmspID0+IFtuZXR3b3JrLm5hbWUsIG5ldHdvcmtdKVxuICAgIClcbiAgKTtcblxuICBmb3IgKGNvbnN0IHRva2VuQ29uZmlncyBvZiBPYmplY3QudmFsdWVzKHJlZHVjZWRUb2tlbkNvbmZpZ01hcCkpIHtcbiAgICBjb25zdCB0b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnc1swXTtcbiAgICBjb25zdCBuZXR3b3JrID0gbmV0d29ya05hbWVNYXAuZ2V0KHRva2VuQ29uZmlnLm5ldHdvcmsubmFtZSk7XG4gICAgaWYgKFxuICAgICAgIWlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyAuLi50b2tlbkNvbmZpZyB9KSAmJlxuICAgICAgbmV0d29yayAmJlxuICAgICAgdG9rZW5Db25maWcuaXNUb2tlbiAmJlxuICAgICAgbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldXG4gICAgKSB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IG5ldyBTZXQoW1xuICAgICAgICAuLi4obmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldIHx8IFtdKSxcbiAgICAgICAgLi4uKHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyB8fCBbXSksXG4gICAgICBdKTtcbiAgICAgIHRva2VuQ29uZmlnLmV4Y2x1ZGVkRmVhdHVyZXM/LmZvckVhY2goKGZlYXR1cmUpID0+IGZlYXR1cmVzLmRlbGV0ZShmZWF0dXJlKSk7XG4gICAgICBhbXNUb2tlbkNvbmZpZ01hcFt0b2tlbkNvbmZpZy5uYW1lXSA9IFt7IC4uLnRva2VuQ29uZmlnLCBmZWF0dXJlczogQXJyYXkuZnJvbShmZWF0dXJlcyksIG5ldHdvcmsgfV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVRva2VuTWFwVXNpbmdDb25maWdEZXRhaWxzKGFtc1Rva2VuQ29uZmlnTWFwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyhcbiAgdG9rZW5Db25maWc6IFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1xuKTogUmVhZG9ubHk8QmFzZUNvaW4+IHwgdW5kZWZpbmVkIHtcbiAgbGV0IGZ1bGxUb2tlbkNvbmZpZzogQW1zVG9rZW5Db25maWcgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IG5ldHdvcmtOYW1lTWFwID0gbmV3IE1hcChcbiAgICBPYmplY3QudmFsdWVzKE5ldHdvcmtzKS5mbGF0TWFwKChuZXR3b3JrVHlwZSkgPT5cbiAgICAgIE9iamVjdC52YWx1ZXMobmV0d29ya1R5cGUpLm1hcCgobmV0d29yaykgPT4gW25ldHdvcmsubmFtZSwgbmV0d29ya10pXG4gICAgKVxuICApO1xuICBjb25zdCBuZXR3b3JrID0gbmV0d29ya05hbWVNYXAuZ2V0KHRva2VuQ29uZmlnLm5ldHdvcmsubmFtZSk7XG4gIGlmIChcbiAgICAhaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuQ29uZmlnIH0pICYmXG4gICAgbmV0d29yayAmJlxuICAgIHRva2VuQ29uZmlnLmlzVG9rZW4gJiZcbiAgICBuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV1cbiAgKSB7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBuZXcgU2V0KFtcbiAgICAgIC4uLihuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV0gfHwgW10pLFxuICAgICAgLi4uKHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyB8fCBbXSksXG4gICAgXSk7XG4gICAgdG9rZW5Db25maWcuZXhjbHVkZWRGZWF0dXJlcz8uZm9yRWFjaCgoZmVhdHVyZSkgPT4gZmVhdHVyZXMuZGVsZXRlKGZlYXR1cmUpKTtcbiAgICBmdWxsVG9rZW5Db25maWcgPSB7IC4uLnRva2VuQ29uZmlnLCBmZWF0dXJlczogQXJyYXkuZnJvbShmZWF0dXJlcyksIG5ldHdvcmsgfSBhcyBBbXNUb2tlbkNvbmZpZztcbiAgICByZXR1cm4gY3JlYXRlVG9rZW4oZnVsbFRva2VuQ29uZmlnKTtcbiAgfVxufVxuIl19
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMkVBLGtDQXFSQztBQWlDRCx3REFFQztBQUVELDRFQWtEQztBQUVELDBGQTZCQztBQUVELG9GQXdCQztBQWhmRCx1Q0E4Qm1CO0FBQ25CLCtCQUFpQztBQUNqQyxpQ0FBK0M7QUFFL0MsK0JBQWdDO0FBQ2hDLHlDQUFtRDtBQUNuRCw2RUFBMEU7QUFDMUUseURBQXNFO0FBQ3RFLCtDQUE0QztBQUM1QywyREFBd0Q7QUFDeEQsdURBQW9EO0FBRXZDLFFBQUEsS0FBSyxHQUFHLGFBQU8sQ0FBQyxTQUFTLENBQUM7SUFDckMsR0FBRyxxQ0FBaUI7SUFDcEIsR0FBRyw2QkFBYTtJQUNoQixHQUFHLDhCQUFjO0lBQ2pCLEdBQUcsbUJBQVE7SUFDWCxHQUFHLDJCQUFZO0NBQ2hCLENBQUMsQ0FBQztBQUVILGlGQUFpRjtBQUNqRixnREFBZ0Q7QUFDaEQsTUFBTSxtQkFBbUIsR0FBMkIsRUFBRSxDQUFDO0FBRXZELHFDQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2pDLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQVcsQ0FBQyxjQUFjLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQVcsQ0FBQyxPQUFPO1FBQ3pDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDYixDQUFDO1FBQ0QsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxvQkFBb0IsR0FBMkIsRUFBRSxDQUFDO0FBQ3hELHFDQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2pDLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FB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QUFJLENBQUMsQ0FBQztJQUM3RCxJQUNFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzNDLE9BQU87UUFDUCxXQUFXLENBQUMsT0FBTztRQUNuQix1REFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQzFDLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUN2QixHQUFHLENBQUMsdURBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxHQUFHLENBQUMsV0FBVyxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztTQUMxQyxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDN0UsZUFBZSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFvQixDQUFDO1FBQ2hHLE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWxnb1Rva2VuLFxuICBhcHRORlRDb2xsZWN0aW9uLFxuICBhcHRUb2tlbixcbiAgYXJiZXRoRXJjMjAsXG4gIGF2YXhFcmMyMCxcbiAgYmVyYUVyYzIwLFxuICBic2NUb2tlbixcbiAgY2Vsb1Rva2VuLFxuICBjb3Ntb3NUb2tlbixcbiAgZW9zVG9rZW4sXG4gIGVyYzIwLFxuICBoZWRlcmFUb2tlbixcbiAgamV0dG9uVG9rZW4sXG4gIG5lcDE0MVRva2VuLFxuICBvcGV0aEVyYzIwLFxuICBwb2x5Z29uRXJjMjAsXG4gIHBvbHl4VG9rZW4sXG4gIHNpcDEwVG9rZW4sXG4gIHNvbFRva2VuLFxuICBzdGVsbGFyVG9rZW4sXG4gIHN1aVRva2VuLFxuICB0YW9Ub2tlbixcbiAgdHJvblRva2VuLFxuICB2ZXRORlRDb2xsZWN0aW9uLFxuICB2ZXRUb2tlbixcbiAgeHJwVG9rZW4sXG4gIGFkYVRva2VuLFxuICBlcmMyMFRva2VuLFxuICBlcmM3MjFUb2tlbixcbn0gZnJvbSAnLi9hY2NvdW50JztcbmltcG9ydCB7IG9mY1Rva2VuIH0gZnJvbSAnLi9vZmMnO1xuaW1wb3J0IHsgQmFzZUNvaW4sIENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEFtc1Rva2VuQ29uZmlnLCBUcmltbWVkQW1zVG9rZW5Db25maWcgfSBmcm9tICcuL3Rva2VuQ29uZmlnJztcbmltcG9ydCB7IENvaW5NYXAgfSBmcm9tICcuL21hcCc7XG5pbXBvcnQgeyBOZXR3b3JrcywgTmV0d29ya1R5cGUgfSBmcm9tICcuL25ldHdvcmtzJztcbmltcG9ydCB7IG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zIH0gZnJvbSAnLi9uZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vucyc7XG5pbXBvcnQgeyBvZmNFcmMyMENvaW5zLCB0T2ZjRXJjMjBDb2lucyB9IGZyb20gJy4vY29pbnMvb2ZjRXJjMjBDb2lucyc7XG5pbXBvcnQgeyBvZmNDb2lucyB9IGZyb20gJy4vY29pbnMvb2ZjQ29pbnMnO1xuaW1wb3J0IHsgYWxsQ29pbnNBbmRUb2tlbnMgfSBmcm9tICcuL2FsbENvaW5zQW5kVG9rZW5zJztcbmltcG9ydCB7IGJvdE9mY1Rva2VucyB9IGZyb20gJy4vY29pbnMvYm90T2ZjVG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IGNvaW5zID0gQ29pbk1hcC5mcm9tQ29pbnMoW1xuICAuLi5hbGxDb2luc0FuZFRva2VucyxcbiAgLi4ub2ZjRXJjMjBDb2lucyxcbiAgLi4udE9mY0VyYzIwQ29pbnMsXG4gIC4uLm9mY0NvaW5zLFxuICAuLi5ib3RPZmNUb2tlbnMsXG5dKTtcblxuLy8gQnVpbGQgYSBtYXAgb2YgRVJDMjAtc3VwcG9ydGluZyBjaGFpbiBmYW1pbHkgbmFtZXMgdG8gdGhlaXIgbWFpbm5ldCBjb2luIG5hbWVzXG4vLyBNYXBzIGZhbWlseSAtPiBjb2luIG5hbWUgKGUuZy4sICdpcCcgLT4gJ2lwJylcbmNvbnN0IGVyYzIwQ2hhaW5Ub05hbWVNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuYWxsQ29pbnNBbmRUb2tlbnMuZm9yRWFjaCgoY29pbikgPT4ge1xuICBpZiAoXG4gICAgY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkMyMCkgJiZcbiAgICBjb2luLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVCAmJlxuICAgICFjb2luLmlzVG9rZW5cbiAgKSB7XG4gICAgZXJjMjBDaGFpblRvTmFtZU1hcFtjb2luLmZhbWlseV0gPSBjb2luLm5hbWU7XG4gIH1cbn0pO1xuXG5jb25zdCBlcmM3MjFDaGFpblRvTmFtZU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuYWxsQ29pbnNBbmRUb2tlbnMuZm9yRWFjaCgoY29pbikgPT4ge1xuICBpZiAoXG4gICAgY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkM3MjEpICYmXG4gICAgY29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVQgJiZcbiAgICAhY29pbi5pc1Rva2VuXG4gICkge1xuICAgIGVyYzcyMUNoYWluVG9OYW1lTWFwW2NvaW4uZmFtaWx5XSA9IGNvaW4ubmFtZTtcbiAgfVxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlbih0b2tlbjogQW1zVG9rZW5Db25maWcpOiBSZWFkb25seTxCYXNlQ29pbj4gfCB1bmRlZmluZWQge1xuICBjb25zdCBpbml0aWFsaXplck1hcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgYWxnbzogYWxnb1Rva2VuLFxuICAgIGFwdDogYXB0VG9rZW4sXG4gICAgYXJiZXRoOiBhcmJldGhFcmMyMCxcbiAgICBhdmF4YzogYXZheEVyYzIwLFxuICAgIGJhc2VldGg6IGVyYzIwVG9rZW4sXG4gICAgYmVyYTogYmVyYUVyYzIwLFxuICAgIGZsb3c6IGVyYzIwVG9rZW4sXG4gICAgbGluZWFldGg6IGVyYzIwVG9rZW4sXG4gICAgc2VpZXZtOiBlcmMyMFRva2VuLFxuICAgIG1vbjogZXJjMjBUb2tlbixcbiAgICB4ZGM6IGVyYzIwVG9rZW4sXG4gICAgYnNjOiBic2NUb2tlbixcbiAgICBjZWxvOiBjZWxvVG9rZW4sXG4gICAgY29zbW9zOiBjb3Ntb3NUb2tlbixcbiAgICBldGg6IGVyYzIwLFxuICAgIGVvczogZW9zVG9rZW4sXG4gICAgaGJhcjogaGVkZXJhVG9rZW4sXG4gICAgbmVhcjogbmVwMTQxVG9rZW4sXG4gICAgb3BldGg6IG9wZXRoRXJjMjAsXG4gICAgcG9seWdvbjogcG9seWdvbkVyYzIwLFxuICAgIHNvbDogc29sVG9rZW4sXG4gICAgc3R4OiBzaXAxMFRva2VuLFxuICAgIHN1aTogc3VpVG9rZW4sXG4gICAgdGFvOiB0YW9Ub2tlbixcbiAgICBwb2x5eDogcG9seXhUb2tlbixcbiAgICB0cng6IHRyb25Ub2tlbixcbiAgICB2ZXQ6IHZldFRva2VuLFxuICAgIHhsbTogc3RlbGxhclRva2VuLFxuICAgIHhycDogeHJwVG9rZW4sXG4gICAgb2ZjOiBvZmNUb2tlbixcbiAgICBhZGE6IGFkYVRva2VuLFxuICAgIHRvbjogamV0dG9uVG9rZW4sXG4gIH07XG5cbiAgLy8gZHluYW1pY2FsbHkgYWRkIGVyYzIwIHRva2VuIGluaXRpYWxpemVycyBmb3IgZXRoIGxpa2UgY2hhaW5zIHRvIHRoZSBpbml0aWFsaXplciBtYXBcbiAgT2JqZWN0LmtleXMoZXJjMjBDaGFpblRvTmFtZU1hcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaW5pdGlhbGl6ZXJNYXBba2V5XSA9IGVyYzIwVG9rZW47XG4gIH0pO1xuXG4gIE9iamVjdC5rZXlzKGVyYzcyMUNoYWluVG9OYW1lTWFwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpbml0aWFsaXplck1hcFtrZXldID0gZXJjNzIxVG9rZW47XG4gIH0pO1xuXG4gIC8vcmV0dXJuIHRoZSBCYXNlQ29pbiBmcm9tIGRlZmF1bHQgY29pbiBtYXAgaWYgcHJlc2VudFxuICBpZiAoaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuIH0pKSB7XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5uYW1lKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5uYW1lKTtcbiAgICB9XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5pZCkpIHtcbiAgICAgIHJldHVybiBjb2lucy5nZXQodG9rZW4uaWQpO1xuICAgIH1cbiAgICBpZiAodG9rZW4uYWxpYXMgJiYgY29pbnMuaGFzKHRva2VuLmFsaWFzKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5hbGlhcyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGZhbWlseSA9IHRva2VuLmZhbWlseTtcbiAgY29uc3QgaW5pdGlhbGl6ZXIgPSBpbml0aWFsaXplck1hcFtmYW1pbHldIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPjtcbiAgaWYgKCFpbml0aWFsaXplcikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjb21tb25BcmdzID0gW1xuICAgIHRva2VuLmlkLFxuICAgIHRva2VuLm5hbWUsXG4gICAgdG9rZW4uZnVsbE5hbWUsXG4gICAgdG9rZW4uZGVjaW1hbFBsYWNlcyxcbiAgICB0b2tlbi5hc3NldCxcbiAgICB0b2tlbi5mZWF0dXJlcyxcbiAgICB0b2tlbi5wcmVmaXgsXG4gICAgdG9rZW4uc3VmZml4LFxuICAgIHRva2VuLm5ldHdvcmssXG4gICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlLFxuICBdO1xuXG4gIHN3aXRjaCAoZmFtaWx5KSB7XG4gICAgY2FzZSBlcmMyMENoYWluVG9OYW1lTWFwW2ZhbWlseV06XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MgfHwgdG9rZW4udG9rZW5BZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4uYXNzZXQsXG4gICAgICAgIHRva2VuLm5ldHdvcmssXG4gICAgICAgIHRva2VuLmZlYXR1cmVzLFxuICAgICAgICB0b2tlbi5wcmVmaXgsXG4gICAgICAgIHRva2VuLnN1ZmZpeCxcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgZXJjNzIxQ2hhaW5Ub05hbWVNYXBbZmFtaWx5XTpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIHRva2VuLm5ldHdvcmssXG4gICAgICAgIHRva2VuLmZlYXR1cmVzLFxuICAgICAgICB0b2tlbi5wcmVmaXgsXG4gICAgICAgIHRva2VuLnN1ZmZpeCxcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgJ2FyYmV0aCc6XG4gICAgY2FzZSAnYXZheGMnOlxuICAgIGNhc2UgJ2Jhc2VldGgnOlxuICAgIGNhc2UgJ2JlcmEnOlxuICAgIGNhc2UgJ2JzYyc6XG4gICAgY2FzZSAnZmxvdyc6XG4gICAgY2FzZSAnbGluZWFldGgnOlxuICAgIGNhc2UgJ3NlaWV2bSc6XG4gICAgY2FzZSAnbW9uJzpcbiAgICBjYXNlICd4ZGMnOlxuICAgIGNhc2UgJ2NlbG8nOlxuICAgIGNhc2UgJ2V0aCc6XG4gICAgY2FzZSAnb3BldGgnOlxuICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgIGNhc2UgJ3RyeCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MgfHwgdG9rZW4udG9rZW5BZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdhcHQnOlxuICAgICAgY29uc3QgeyBpbml0RnVuYywgb2JqZWN0SWQgfSA9IGdldEFwdFRva2VuSW5pdGlhbGl6ZXIodG9rZW4pO1xuICAgICAgcmV0dXJuIGluaXRGdW5jKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgb2JqZWN0SWQsXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAndmV0JzpcbiAgICAgIGNvbnN0IHsgdmV0SW5pdEZ1bmMsIHZldE9iamVjdElkLCBpc05GVCB9ID0gZ2V0VmV0VG9rZW5Jbml0aWFsaXplcih0b2tlbik7XG4gICAgICBpZiAoaXNORlQpIHtcbiAgICAgICAgcmV0dXJuIHZldEluaXRGdW5jKFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMyksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZVxuICAgICAgICAgIHZldE9iamVjdElkLFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmV0SW5pdEZ1bmMoXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgICAgdmV0T2JqZWN0SWQsXG4gICAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3N0eCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5hc3NldElkLCAvLyBhc3NldElkXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnYWxnbyc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMiksIC8vIGlkLCBuYW1lXG4gICAgICAgIHRva2VuLmFsaWFzLCAvLyBhbGlhc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDIpIC8vIGZ1bGxOYW1lLCBkZWNpbWFsLCBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdlb3MnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uY29udHJhY3ROYW1lLCAvLyBjb250cmFjdE5hbWVcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0LCA4KSwgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeFxuICAgICAgICB0b2tlbi5zeW1ib2wsIC8vIHN5bWJvbFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDgpIC8vIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ2hiYXInOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDMpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWVcbiAgICAgICAgdG9rZW4ubmV0d29yaywgLy8gbmV0d29ya1xuICAgICAgICB0b2tlbi5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB0b2tlbi5hc3NldCxcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg1LCA4KSwgLy8gZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4XG4gICAgICAgIHRva2VuLnByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3NvbCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi50b2tlbkFkZHJlc3MsIC8vIHRva2VuQWRkcmVzc1xuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICB0b2tlbi5hc3NldCxcbiAgICAgICAgdG9rZW4uZmVhdHVyZXMsXG4gICAgICAgIHRva2VuLnByb2dyYW1JZCxcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg2KSAvLyBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnc3VpJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnBhY2thZ2VJZCwgLy8gcGFja2FnZUlkXG4gICAgICAgIHRva2VuLm1vZHVsZSwgLy8gbW9kdWxlXG4gICAgICAgIHRva2VuLnN5bWJvbCwgLy8gc3ltYm9sXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAndGFvJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLnN1Ym5ldElkLCAvLyBzdWJuZXRJZFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICdwb2x5eCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi50aWNrZXIsIC8vIHRpY2tlclxuICAgICAgICB0b2tlbi5hc3NldElkLCAvLyBhc3NldElkXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAneGxtJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA1KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzLCBhc3NldFxuICAgICAgICB0b2tlbi5kb21haW4sIC8vIGRvbWFpblxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDUpIC8vIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAneHJwJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmlzc3VlckFkZHJlc3MsIC8vIGlzc3VlckFkZHJlc3NcbiAgICAgICAgdG9rZW4uY3VycmVjbnljb2RlLCAvLyBjdXJyZW5jeUNvZGVcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4uZG9tYWluLCAvLyBkb21haW5cbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSAnb2ZjJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncywgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzLCBhc3NldCwgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgICB0b2tlbi5iYXNlVW5pdCwgLy8gYmFzZVVuaXRcbiAgICAgICAgdG9rZW4uaXNUb2tlbiwgLy8gaXNUb2tlblxuICAgICAgICB0b2tlbi5raW5kLCAvLyBraW5kXG4gICAgICAgIHRva2VuLmFkZHJlc3NDb2luIC8vIGFkZHJlc3NDb2luXG4gICAgICApO1xuICAgIGNhc2UgJ2FzaSc6XG4gICAgY2FzZSAnYXRvbSc6XG4gICAgY2FzZSAnYmFieSc6XG4gICAgY2FzZSAnYmxkJzpcbiAgICBjYXNlICdjb3JldW0nOlxuICAgIGNhc2UgJ2Nyb25vcyc6XG4gICAgY2FzZSAnaGFzaCc6XG4gICAgY2FzZSAnaW5qZWN0aXZlJzpcbiAgICBjYXNlICdpbml0aWEnOlxuICAgIGNhc2UgJ29zbW8nOlxuICAgIGNhc2UgJ3Rob3InOlxuICAgIGNhc2UgJ3NlaSc6XG4gICAgY2FzZSAndGlhJzpcbiAgICBjYXNlICd6ZXRhJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgIHRva2VuLmRlbm9tLCAvLyBkZW5vbVxuICAgICAgICB0b2tlbi5kZWNpbWFsUGxhY2VzLCAvLyBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLm5ldHdvcmssIC8vIG5ldHdvcmtcbiAgICAgICAgdG9rZW4uYmFzZVVuaXQsIC8vIGJhc2VVbml0XG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCwgOCksIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXhcbiAgICAgICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlIC8vIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICdhZGEnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uYXNzZXROYW1lLFxuICAgICAgICB0b2tlbi5wb2xpY3lJZCxcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcbiAgICBjYXNlICd0b24nOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QXB0VG9rZW5Jbml0aWFsaXplcih0b2tlbjogQW1zVG9rZW5Db25maWcpIHtcbiAgaWYgKHRva2VuLmFzc2V0SWQpIHtcbiAgICAvLyB1c2VkIGZvciBmdW5naWJsZS1hc3NldHMgLyBsZWdhY3kgY29pbnMgZXRjLlxuICAgIHJldHVybiB7XG4gICAgICBpbml0RnVuYzogYXB0VG9rZW4gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+LFxuICAgICAgb2JqZWN0SWQ6IHRva2VuLmFzc2V0SWQsXG4gICAgfTtcbiAgfVxuICAvLyB1c2VkIGZvciBub24tZnVuZ2libGUgdG9rZW4gKE5GVCkgY29sbGVjdGlvbnNcbiAgcmV0dXJuIHtcbiAgICBpbml0RnVuYzogYXB0TkZUQ29sbGVjdGlvbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgb2JqZWN0SWQ6IHRva2VuLm5mdENvbGxlY3Rpb25JZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0VmV0VG9rZW5Jbml0aWFsaXplcih0b2tlbjogQW1zVG9rZW5Db25maWcpIHtcbiAgaWYgKHRva2VuLm5mdENvbGxlY3Rpb25JZCkge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXRJbml0RnVuYzogdmV0TkZUQ29sbGVjdGlvbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgICB2ZXRPYmplY3RJZDogdG9rZW4ubmZ0Q29sbGVjdGlvbklkLFxuICAgICAgaXNORlQ6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdmV0SW5pdEZ1bmM6IHZldFRva2VuIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPixcbiAgICB2ZXRPYmplY3RJZDogdG9rZW4uY29udHJhY3RBZGRyZXNzLFxuICAgIGlzTkZUOiBmYWxzZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyBuYW1lLCBpZCwgYWxpYXMgfTogeyBuYW1lOiBzdHJpbmc7IGlkPzogc3RyaW5nOyBhbGlhcz86IHN0cmluZyB9KTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGNvaW5zLmhhcyhuYW1lKSB8fCAoaWQgJiYgY29pbnMuaGFzKGlkKSkgfHwgKGFsaWFzICYmIGNvaW5zLmhhcyhhbGlhcykpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuTWFwVXNpbmdDb25maWdEZXRhaWxzKHRva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBBbXNUb2tlbkNvbmZpZ1tdPik6IENvaW5NYXAge1xuICBjb25zdCBCYXNlQ29pbnM6IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3QgbmZ0QW5kT3RoZXJUb2tlbnMgPSBuZXcgU2V0KFtcbiAgICAnZXJjNzIxOmJzY3Rva2VuJyxcbiAgICAndGVyYzcyMTpic2N0b2tlbicsXG4gICAgJ2VyYzExNTU6YnNjdG9rZW4nLFxuICAgICd0ZXJjMTE1NTpic2N0b2tlbicsXG4gICAgJ2VyYzcyMTp3aXRjaCcsXG4gICAgJ2VyYzcyMTp0b2tlbicsXG4gICAgJ2VyYzExNTU6dG9rZW4nLFxuICAgICdub25zdGFuZGFyZDp0b2tlbicsXG4gICAgJ3RlcmM3MjE6dG9rZW4nLFxuICAgICd0ZXJjMTE1NTp0b2tlbicsXG4gICAgJ3Rub25zdGFuZGFyZDp0b2tlbicsXG4gICAgJ3RlcmM3MjE6Yml0Z29lcmM3MjEnLFxuICAgICd0ZXJjMTE1NTpiaXRnb2VyYzExNTUnLFxuICAgICd0ZXJjNzIxOmhvb2RpZGonLFxuICAgICdlcmM3MjE6cG9seWdvbnRva2VuJyxcbiAgICAnZXJjMTE1NTpwb2x5Z29udG9rZW4nLFxuICAgICd0ZXJjNzIxOnBvbHlnb250b2tlbicsXG4gICAgJ3RlcmMxMTU1OnBvbHlnb250b2tlbicsXG4gICAgJ2VyYzcyMTpzb25laXVtdG9rZW4nLFxuICAgICdlcmMxMTU1OnNvbmVpdW10b2tlbicsXG4gICAgJ3RlcmM3MjE6c29uZWl1bXRva2VuJyxcbiAgICAndGVyYzExNTU6c29uZWl1bXRva2VuJyxcbiAgXSk7XG5cbiAgLy8gQWRkIGFsbCB0aGUgY29pbnMgZnJvbSBzdGF0aWNzIGNvaW4gbWFwIGZpcnN0XG4gIGNvaW5zLmZvckVhY2goKGNvaW4sIGNvaW5OYW1lKSA9PiB7XG4gICAgQmFzZUNvaW5zLnNldChjb2luTmFtZSwgY29pbik7XG4gIH0pO1xuXG4gIC8vIGFkZCB0aGUgdG9rZW5zIG5vdCBwcmVzZW50IGluIHRoZSBzdGF0aWMgY29pbiBtYXBcbiAgZm9yIChjb25zdCB0b2tlbkNvbmZpZ3Mgb2YgT2JqZWN0LnZhbHVlcyh0b2tlbkNvbmZpZ01hcCkpIHtcbiAgICBjb25zdCB0b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnc1swXTtcblxuICAgIGlmIChcbiAgICAgICFpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgLi4udG9rZW5Db25maWcgfSkgJiZcbiAgICAgIHRva2VuQ29uZmlnLmlzVG9rZW4gJiZcbiAgICAgICFuZnRBbmRPdGhlclRva2Vucy5oYXModG9rZW5Db25maWcubmFtZSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHRva2VuID0gY3JlYXRlVG9rZW4odG9rZW5Db25maWcpO1xuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIEJhc2VDb2lucy5zZXQodG9rZW4ubmFtZSwgdG9rZW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBDb2luTWFwLmZyb21Db2lucyhBcnJheS5mcm9tKEJhc2VDb2lucy52YWx1ZXMoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG9rZW5NYXBVc2luZ1RyaW1tZWRDb25maWdEZXRhaWxzKFxuICByZWR1Y2VkVG9rZW5Db25maWdNYXA6IFJlY29yZDxzdHJpbmcsIFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1tdPlxuKTogQ29pbk1hcCB7XG4gIGNvbnN0IGFtc1Rva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBBbXNUb2tlbkNvbmZpZ1tdPiA9IHt9O1xuICBjb25zdCBuZXR3b3JrTmFtZU1hcCA9IG5ldyBNYXAoXG4gICAgT2JqZWN0LnZhbHVlcyhOZXR3b3JrcykuZmxhdE1hcCgobmV0d29ya1R5cGUpID0+XG4gICAgICBPYmplY3QudmFsdWVzKG5ldHdvcmtUeXBlKS5tYXAoKG5ldHdvcmspID0+IFtuZXR3b3JrLm5hbWUsIG5ldHdvcmtdKVxuICAgIClcbiAgKTtcblxuICBmb3IgKGNvbnN0IHRva2VuQ29uZmlncyBvZiBPYmplY3QudmFsdWVzKHJlZHVjZWRUb2tlbkNvbmZpZ01hcCkpIHtcbiAgICBjb25zdCB0b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnc1swXTtcbiAgICBjb25zdCBuZXR3b3JrID0gbmV0d29ya05hbWVNYXAuZ2V0KHRva2VuQ29uZmlnLm5ldHdvcmsubmFtZSk7XG4gICAgaWYgKFxuICAgICAgIWlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyAuLi50b2tlbkNvbmZpZyB9KSAmJlxuICAgICAgbmV0d29yayAmJlxuICAgICAgdG9rZW5Db25maWcuaXNUb2tlbiAmJlxuICAgICAgbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldXG4gICAgKSB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IG5ldyBTZXQoW1xuICAgICAgICAuLi4obmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldIHx8IFtdKSxcbiAgICAgICAgLi4uKHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyB8fCBbXSksXG4gICAgICBdKTtcbiAgICAgIHRva2VuQ29uZmlnLmV4Y2x1ZGVkRmVhdHVyZXM/LmZvckVhY2goKGZlYXR1cmUpID0+IGZlYXR1cmVzLmRlbGV0ZShmZWF0dXJlKSk7XG4gICAgICBhbXNUb2tlbkNvbmZpZ01hcFt0b2tlbkNvbmZpZy5uYW1lXSA9IFt7IC4uLnRva2VuQ29uZmlnLCBmZWF0dXJlczogQXJyYXkuZnJvbShmZWF0dXJlcyksIG5ldHdvcmsgfV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVRva2VuTWFwVXNpbmdDb25maWdEZXRhaWxzKGFtc1Rva2VuQ29uZmlnTWFwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyhcbiAgdG9rZW5Db25maWc6IFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1xuKTogUmVhZG9ubHk8QmFzZUNvaW4+IHwgdW5kZWZpbmVkIHtcbiAgbGV0IGZ1bGxUb2tlbkNvbmZpZzogQW1zVG9rZW5Db25maWcgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IG5ldHdvcmtOYW1lTWFwID0gbmV3IE1hcChcbiAgICBPYmplY3QudmFsdWVzKE5ldHdvcmtzKS5mbGF0TWFwKChuZXR3b3JrVHlwZSkgPT5cbiAgICAgIE9iamVjdC52YWx1ZXMobmV0d29ya1R5cGUpLm1hcCgobmV0d29yaykgPT4gW25ldHdvcmsubmFtZSwgbmV0d29ya10pXG4gICAgKVxuICApO1xuICBjb25zdCBuZXR3b3JrID0gbmV0d29ya05hbWVNYXAuZ2V0KHRva2VuQ29uZmlnLm5ldHdvcmsubmFtZSk7XG4gIGlmIChcbiAgICAhaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuQ29uZmlnIH0pICYmXG4gICAgbmV0d29yayAmJlxuICAgIHRva2VuQ29uZmlnLmlzVG9rZW4gJiZcbiAgICBuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV1cbiAgKSB7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBuZXcgU2V0KFtcbiAgICAgIC4uLihuZXR3b3JrRmVhdHVyZU1hcEZvclRva2Vuc1tuZXR3b3JrLmZhbWlseV0gfHwgW10pLFxuICAgICAgLi4uKHRva2VuQ29uZmlnLmFkZGl0aW9uYWxGZWF0dXJlcyB8fCBbXSksXG4gICAgXSk7XG4gICAgdG9rZW5Db25maWcuZXhjbHVkZWRGZWF0dXJlcz8uZm9yRWFjaCgoZmVhdHVyZSkgPT4gZmVhdHVyZXMuZGVsZXRlKGZlYXR1cmUpKTtcbiAgICBmdWxsVG9rZW5Db25maWcgPSB7IC4uLnRva2VuQ29uZmlnLCBmZWF0dXJlczogQXJyYXkuZnJvbShmZWF0dXJlcyksIG5ldHdvcmsgfSBhcyBBbXNUb2tlbkNvbmZpZztcbiAgICByZXR1cm4gY3JlYXRlVG9rZW4oZnVsbFRva2VuQ29uZmlnKTtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAGxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,cAAc,CAAoC;IAE1D,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAQ/C,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0B9C;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAmB9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAmFzC;IAEF,OAAO,CAAC,eAAe;IAkBhB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAY/D;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAepC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAGxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,cAAc,CAAoC;IAE1D,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAQ/C,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0B9C;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAmB9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAwFzC;IAEF,OAAO,CAAC,eAAe;IAkBhB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAY/D;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAepC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
package/dist/src/map.js CHANGED
@@ -233,6 +233,7 @@ CoinMap.LEGACY_CHAIN_ID_MAP = {
233
233
  98867: 'tplume',
234
234
  98866: 'plume',
235
235
  6342: 'tmegaeth',
236
+ 4326: 'megaeth',
236
237
  295: 'hbarevm',
237
238
  296: 'thbarevm',
238
239
  196: 'okb',
@@ -242,5 +243,9 @@ CoinMap.LEGACY_CHAIN_ID_MAP = {
242
243
  5042002: 'tarc',
243
244
  42428: 'tempo',
244
245
  42429: 'ttempo',
246
+ 5000: 'mantle',
247
+ 5003: 'tmantle',
248
+ 20993: 'fluenteth',
249
+ 20994: 'tfluenteth',
245
250
  };
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBNkc7QUFDN0csdUNBQXFGO0FBR3JGLE1BQWEsT0FBTztJQWFsQjtRQVppQixTQUFJLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDN0MsZUFBVSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3BFLDZEQUE2RDtRQUM1QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3hFLGtFQUFrRTtRQUNsRSxvR0FBb0c7UUFDbkYsMkJBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDaEYsK0VBQStFO1FBQzlELDJCQUFzQixHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ2hGLCtGQUErRjtRQUN2RixtQkFBYyxHQUErQixJQUFJLENBQUM7UUFHeEQscUJBQXFCO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQTJCO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQXdCO1FBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLHFDQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxN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SSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixLQUFLLEVBQUUsV0FBVztJQUNsQixLQUFLLEVBQUUsVUFBVTtJQUNqQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsTUFBTTtJQUNYLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsVUFBVTtJQUNoQixHQUFHLEVBQUUsU0FBUztJQUNkLEdBQUcsRUFBRSxVQUFVO0lBQ2YsR0FBRyxFQUFFLEtBQUs7SUFDVixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsUUFBUTtDQUNoQixBQW5GMEMsQ0FtRnpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgRHVwbGljYXRlQ29pbkRlZmluaXRpb25FcnJvciwgQ29pbk5vdERlZmluZWRFcnJvciwgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgQ29udHJhY3RBZGRyZXNzRGVmaW5lZFRva2VuLCBORlRDb2xsZWN0aW9uSWREZWZpbmVkVG9rZW4gfSBmcm9tICcuL2FjY291bnQnO1xuaW1wb3J0IHsgRXRoZXJldW1OZXR3b3JrIH0gZnJvbSAnLi9uZXR3b3Jrcyc7XG5cbmV4cG9ydCBjbGFzcyBDb2luTWFwIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWFwID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5SWRzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gSG9sZHMga2V5IGVxdWl2YWxlbmNlcyB1c2VkIGR1cmluZyBhbiBhc3NldCBuYW1lIG1pZ3JhdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlBbGlhc2VzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gbWFwIG9mIGNvaW4gYnkgYWRkcmVzcyAtPiB0aGUga2V5IGlzIHRoZSBmYW1pbHk6Y29udHJhY3RBZGRyZXNzXG4gIC8vIHRoZSBmYW1pbHkgaXMgdGhlIHdoZXJlIHRoZSBjb2luIGlzIGUuZyBsMSBjaGFpbnMgbGlrZSBldGgsIGJzYyBldGMuIG9yIGwyIGxpa2UgYXJiZXRoLCBjZWxvIGV0Yy5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5Q29udHJhY3RBZGRyZXNzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gbWFwIG9mIGNvaW4gYnkgTkZUIGNvbGxlY3Rpb24gSUQgLT4gdGhlIGtleSBpcyB0aGUgKHQpZmFtaWx5Om5mdENvbGxlY3Rpb25JRFxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlOZnRDb2xsZWN0aW9uSUQgPSBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+PigpO1xuICAvLyBMYXppbHkgaW5pdGlhbGl6ZWQgY2FjaGUgZm9yIGNoYWluSWQgdG8gY29pbiBuYW1lIG1hcHBpbmcgKGRlcml2ZWQgZnJvbSBuZXR3b3JrIGRlZmluaXRpb25zKVxuICBwcml2YXRlIF9jb2luQnlDaGFpbklkOiBNYXA8bnVtYmVyLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBEbyBub3QgaW5zdGFudGlhdGVcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29pbnMoY29pbnM6IFJlYWRvbmx5PEJhc2VDb2luPltdKTogQ29pbk1hcCB7XG4gICAgY29uc3QgY29pbk1hcCA9IG5ldyBDb2luTWFwKCk7XG4gICAgY29pbnMuZm9yRWFjaCgoY29pbikgPT4ge1xuICAgICAgY29pbk1hcC5hZGRDb2luKGNvaW4pO1xuICAgIH0pO1xuICAgIHJldHVybiBjb2luTWFwO1xuICB9XG5cbiAgcHVibGljIGFkZENvaW4oY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hcC5oYXMoY29pbi5uYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IoY29pbi5uYW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2NvaW5CeUlkcy5oYXMoY29pbi5pZCkpIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVDb2luSWREZWZpbml0aW9uRXJyb3IoY29pbi5pZCk7XG4gICAgfVxuICAgIGNvbnN0IGFsaWFzID0gY29pbi5hbGlhcztcbiAgICBpZiAoYWxpYXMgJiYgdGhpcy5fY29pbkJ5QWxpYXNlcy5oYXMoYWxpYXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlQ29pbkRlZmluaXRpb25FcnJvcihhbGlhcyk7XG4gICAgfVxuICAgIHRoaXMuX21hcC5zZXQoY29pbi5uYW1lLCBjb2luKTtcbiAgICB0aGlzLl9jb2luQnlJZHMuc2V0KGNvaW4uaWQsIGNvaW4pO1xuICAgIGlmIChhbGlhcykge1xuICAgICAgdGhpcy5fY29pbkJ5QWxpYXNlcy5zZXQoY29pbi5hbGlhcywgY29pbik7XG4gICAgfVxuXG4gICAgaWYgKGNvaW4uaXNUb2tlbikge1xuICAgICAgaWYgKGNvaW4gaW5zdGFuY2VvZiBDb250cmFjdEFkZHJlc3NEZWZpbmVkVG9rZW4pIHtcbiAgICAgICAgdGhpcy5fY29pbkJ5Q29udHJhY3RBZGRyZXNzLnNldChgJHtjb2luLmZhbWlseX06JHtjb2luLmNvbnRyYWN0QWRkcmVzc31gLCBjb2luKTtcbiAgICAgIH0gZWxzZSBpZiAoY29pbiBpbnN0YW5jZW9mIE5GVENvbGxlY3Rpb25JZERlZmluZWRUb2tlbikge1xuICAgICAgICB0aGlzLl9jb2luQnlOZnRDb2xsZWN0aW9uSUQuc2V0KGAke2NvaW4ucHJlZml4fSR7Y29pbi5mYW1pbHl9OiR7Y29pbi5uZnRDb2xsZWN0aW9uSWR9YCwgY29pbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgYSBCYXNlIGNvaW4gb2JqZWN0IGNvbXBsZXRlbHkgZnJvbSB0aGUgQ29pbk1hcCB1c2luZyBpdHMgSUQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkga2V5IHRvIHNlYXJjaCB0aGUgb2xkIGNvaW4gb2JqZWN0XG4gICAqIEBwYXJhbSB7UmVhZG9ubHk8QmFzZUNvaW4+fSBjb2luIG5ldyBjb2luIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHJlcGxhY2UoY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzKGNvaW4uaWQpKSB7XG4gICAgICBjb25zdCBvbGRDb2luID0gdGhpcy5nZXQoY29pbi5pZCk7XG4gICAgICB0aGlzLl9tYXAuZGVsZXRlKG9sZENvaW4ubmFtZSk7XG4gICAgICB0aGlzLl9jb2luQnlJZHMuZGVsZXRlKG9sZENvaW4uaWQpO1xuICAgICAgaWYgKG9sZENvaW4uYWxpYXMpIHtcbiAgICAgICAgdGhpcy5fY29pbkJ5QWxpYXNlcy5kZWxldGUob2xkQ29pbi5hbGlhcyk7XG4gICAgICB9XG4gICAgICBpZiAob2xkQ29pbi5pc1Rva2VuKSB7XG4gICAgICAgIGlmIChvbGRDb2luIGluc3RhbmNlb2YgQ29udHJhY3RBZGRyZXNzRGVmaW5lZFRva2VuKSB7XG4gICAgICAgICAgdGhpcy5fY29pbkJ5Q29udHJhY3RBZGRyZXNzLmRlbGV0ZShgJHtvbGRDb2luLmZhbWlseX06JHtvbGRDb2luLmNvbnRyYWN0QWRkcmVzc31gKTtcbiAgICAgICAgfSBlbHNlIGlmIChvbGRDb2luIGluc3RhbmNlb2YgTkZUQ29sbGVjdGlvbklkRGVmaW5lZFRva2VuKSB7XG4gICAgICAgICAgdGhpcy5fY29pbkJ5TmZ0Q29sbGVjdGlvbklELmRlbGV0ZShgJHtvbGRDb2luLnByZWZpeH0ke29sZENvaW4uZmFtaWx5fToke29sZENvaW4ubmZ0Q29sbGVjdGlvbklkfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuYWRkQ29pbihjb2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYXJkY29kZWQgbWFwcGluZyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IExFR0FDWV9DSEFJTl9JRF9NQVA6IFJlY29yZDxudW1iZXIsIHN0cmluZz4gPSB7XG4gICAgMTogJ2V0aCcsXG4gICAgNDI6ICd0ZXRoJyxcbiAgICA1OiAnZ3RldGgnLFxuICAgIDU2MDA0ODogJ2h0ZXRoJyxcbiAgICAxMDAwMTogJ2V0aHcnLFxuICAgIDgwMDAyOiAndHBvbHlnb24nLFxuICAgIDEzNzogJ3BvbHlnb24nLFxuICAgIDU2OiAnYnNjJyxcbiAgICA5NzogJ3Ric2MnLFxuICAgIDQyMTYxOiAnYXJiZXRoJyxcbiAgICA0MjE2MTQ6ICd0YXJiZXRoJyxcbiAgICAxMDogJ29wZXRoJyxcbiAgICAxMTE1NTQyMDogJ3RvcGV0aCcsXG4gICAgMTExNjogJ2NvcmVkYW8nLFxuICAgIDExMTQ6ICd0Y29yZWRhbycsXG4gICAgMjQ4OiAnb2FzJyxcbiAgICA5MzcyOiAndG9hcycsXG4gICAgMTQ6ICdmbHInLFxuICAgIDExNDogJ3RmbHInLFxuICAgIDE5OiAnc2diJyxcbiAgICAxNjogJ3RzZ2InLFxuICAgIDExMTE6ICd3ZW1peCcsXG4gICAgMTExMjogJ3R3ZW1peCcsXG4gICAgNTA6ICd4ZGMnLFxuICAgIDUxOiAndHhkYycsXG4gICAgODAwOTQ6ICdiZXJhJyxcbiAgICA4MDA2OTogJ3RiZXJhJyxcbiAgICA0MjIyMDogJ2NlbG8nLFxuICAgIDExMTQyMjIwOiAndGNlbG8nLFxuICAgIDIyMjI6ICdrYXZhJyxcbiAgICAyMjIxOiAndGthdmEnLFxuICAgIDQzMTE0OiAnYXZheCcsXG4gICAgNDMxMTM6ICd0YXZheCcsXG4gICAgMTAwOiAnZ25vJyxcbiAgICAxMzA6ICd1bmknLFxuICAgIDMyNDogJ3prZXRoJyxcbiAgICA4NDUzOiAnYmFzZWV0aCcsXG4gICAgODQ1MzI6ICd0YmFzZWV0aCcsXG4gICAgMzAxNDM6ICdtb24nLFxuICAgIDEwMTQzOiAndG1vbicsXG4gICAgNDgwOiAnd29ybGQnLFxuICAgIDQ4MDE6ICd0d29ybGQnLFxuICAgIDUwMzE6ICdzb21pJyxcbiAgICA1MDMxMjogJ3RzdHQnLFxuICAgIDE4Njg6ICdzb25laXVtJyxcbiAgICAxOTQ2OiAndHNvbmVpdW0nLFxuICAgIDMzMTExOiAndGFwZWNoYWluJyxcbiAgICAzMzEzOTogJ2FwZWNoYWluJyxcbiAgICA2ODg2ODg6ICd0cGhycycsXG4gICAgMTAyMDMwOiAnY3RjJyxcbiAgICAxMDIwMzE6ICd0Y3RjJyxcbiAgICA5OTg6ICd0aHlwZWV2bScsXG4gICAgOTk5OiAnaHlwZWV2bScsXG4gICAgMTY2MDI6ICd0b2cnLFxuICAgIDE2NjYxOiAnb2cnLFxuICAgIDk3NDY6ICd0eHBsJyxcbiAgICA5NzQ1OiAneHBsJyxcbiAgICAxNDYwMTogJ3Rzb25pYycsXG4gICAgMTQ2OiAnc29uaWMnLFxuICAgIDEzMjg6ICd0c2VpZXZtJyxcbiAgICAxMzI5OiAnc2VpZXZtJyxcbiAgICAxMDAxOiAndGthaWEnLFxuICAgIDgyMTc6ICdrYWlhJyxcbiAgICAxMjcwOiAndGlyeXMnLFxuICAgIDU5MTQxOiAndGxpbmVhZXRoJyxcbiAgICA1OTE0NDogJ2xpbmVhZXRoJyxcbiAgICAxMzE1OiAndGlwJyxcbiAgICAxNTE0OiAnaXAnLFxuICAgIDU0NTogJ3RmbG93JyxcbiAgICA3NDc6ICdmbG93JyxcbiAgICA5ODg2NzogJ3RwbHVtZScsXG4gICAgOTg4NjY6ICdwbHVtZScsXG4gICAgNjM0MjogJ3RtZWdhZXRoJyxcbiAgICAyOTU6ICdoYmFyZXZtJyxcbiAgICAyOTY6ICd0aGJhcmV2bScsXG4gICAgMTk2OiAnb2tiJyxcbiAgICAxOTUyOiAndG9rYicsXG4gICAgNTczNDk1MTogJ2pvdmF5ZXRoJyxcbiAgICAyMDE5Nzc1OiAndGpvdmF5ZXRoJyxcbiAgICA1MDQyMDAyOiAndGFyYycsXG4gICAgNDI0Mjg6ICd0ZW1wbycsXG4gICAgNDI0Mjk6ICd0dGVtcG8nLFxuICB9O1xuXG4gIHByaXZhdGUgYnVpbGRDaGFpbklkTWFwKCk6IE1hcDxudW1iZXIsIHN0cmluZz4ge1xuICAgIGNvbnN0IGNoYWluSWRNYXAgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuICAgIHRoaXMuX21hcC5mb3JFYWNoKChjb2luLCBjb2luTmFtZSkgPT4ge1xuICAgICAgLy8gU2tpcCB0b2tlbnMgLSB0aGV5IHNoYXJlIHRoZSBzYW1lIGNoYWluSWQgYXMgdGhlaXIgcGFyZW50IGNoYWluXG4gICAgICBpZiAoY29pbi5pc1Rva2VuKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ldHdvcmsgPSBjb2luLm5ldHdvcms7XG4gICAgICBpZiAoJ2NoYWluSWQnIGluIG5ldHdvcmsgJiYgdHlwZW9mIChuZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgY2hhaW5JZCA9IChuZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZDtcbiAgICAgICAgaWYgKCFjaGFpbklkTWFwLmhhcyhjaGFpbklkKSkge1xuICAgICAgICAgIGNoYWluSWRNYXAuc2V0KGNoYWluSWQsIGNvaW5OYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjaGFpbklkTWFwO1xuICB9XG5cbiAgcHVibGljIGNvaW5OYW1lRnJvbUNoYWluSWQoY2hhaW5JZDogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb2luTmFtZSA9IENvaW5NYXAuTEVHQUNZX0NIQUlOX0lEX01BUFtjaGFpbklkXTtcbiAgICBpZiAoY29pbk5hbWUpIHtcbiAgICAgIHJldHVybiBjb2luTmFtZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29pbkJ5Q2hhaW5JZCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fY29pbkJ5Q2hhaW5JZCA9IHRoaXMuYnVpbGRDaGFpbklkTWFwKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jb2luQnlDaGFpbklkLmdldChjaGFpbklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSBgZ2V0YCB0byB0aHJvdyBpZiBhIGNvaW4gaXMgbWlzc2luZywgaW5zdGVhZCBvZiByZXR1cm5pbmcgdW5kZWZpbmVkLlxuICAgKiBJdCB3aWxsIGhvbm9yIGtleSBlcXVpdmFsZW5jZXMgaW4gY2FzZSBnaXZlbiBrZXkgaXMgbWlzc2luZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcmV0dXJuIHtCYXNlQ29pbn1cbiAgICovXG4gIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBSZWFkb25seTxCYXNlQ29pbj4ge1xuICAgIGNvbnN0IGNvaW4gPVxuICAgICAgdGhpcy5fbWFwLmdldChrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlJZHMuZ2V0KGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeUFsaWFzZXMuZ2V0KGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeUNvbnRyYWN0QWRkcmVzcy5nZXQoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5TmZ0Q29sbGVjdGlvbklELmdldChrZXkpO1xuXG4gICAgaWYgKGNvaW4pIHtcbiAgICAgIHJldHVybiBjb2luO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDb2luTm90RGVmaW5lZEVycm9yKGtleSk7XG4gIH1cblxuICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX21hcC5oYXMoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5SWRzLmhhcyhrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlBbGlhc2VzLmhhcyhrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlDb250cmFjdEFkZHJlc3MuaGFzKGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeU5mdENvbGxlY3Rpb25JRC5oYXMoa2V5KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbWFwPFQ+KG1hcHBlcjogKGNvaW46IFJlYWRvbmx5PEJhc2VDb2luPiwgY29pbk5hbWU6IHN0cmluZykgPT4gVCk6IFRbXSB7XG4gICAgY29uc3QgbWFwUmVzdWx0OiBUW10gPSBbXTtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgbWFwUmVzdWx0LnB1c2gobWFwcGVyKHZhbHVlLCBrZXkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbWFwUmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHJlZHVjZTxUPihyZWR1Y2VyOiAoYWNjOiBULCBjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IFQsIGluaXRpYWxWYWx1ZTogVCk6IFQge1xuICAgIGxldCBhY2MgPSBpbml0aWFsVmFsdWU7XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGFjYyA9IHJlZHVjZXIoYWNjLCB2YWx1ZSwga2V5KTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihwcmVkaWNhdGU6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4pOiBDb2luTWFwIHtcbiAgICBjb25zdCBmaWx0ZXJSZXN1bHQ6IFJlYWRvbmx5PEJhc2VDb2luPltdID0gW107XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGtleSkpIHtcbiAgICAgICAgZmlsdGVyUmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBDb2luTWFwLmZyb21Db2lucyhmaWx0ZXJSZXN1bHQpO1xuICB9XG5cbiAgcHVibGljIGZvckVhY2goY2FsbGJhY2s6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBwdWJsaWMgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmFibGVJdGVyYXRvcjxbc3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj5dPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hcFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIH1cbn1cbiJdfQ==
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBNkc7QUFDN0csdUNBQXFGO0FBR3JGLE1BQWEsT0FBTztJQWFsQjtRQVppQixTQUFJLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDN0MsZUFBVSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3BFLDZEQUE2RDtRQUM1QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3hFLGtFQUFrRTtRQUNsRSxvR0FBb0c7UUFDbkYsMkJBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDaEYsK0VBQStFO1FBQzlELDJCQUFzQixHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ2hGLCtGQUErRjtRQUN2RixtQkFBYyxHQUErQixJQUFJLENBQUM7UUFHeEQscUJBQXFCO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQTJCO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQXdCO1FBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLHFDQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxN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SSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixLQUFLLEVBQUUsV0FBVztJQUNsQixLQUFLLEVBQUUsVUFBVTtJQUNqQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsTUFBTTtJQUNYLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsVUFBVTtJQUNoQixJQUFJLEVBQUUsU0FBUztJQUNmLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLFVBQVU7SUFDZixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFVBQVU7SUFDbkIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsT0FBTyxFQUFFLE1BQU07SUFDZixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxRQUFRO0lBQ2YsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsU0FBUztJQUNmLEtBQUssRUFBRSxXQUFXO0lBQ2xCLEtBQUssRUFBRSxZQUFZO0NBQ3BCLEFBeEYwQyxDQXdGekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBEdXBsaWNhdGVDb2luRGVmaW5pdGlvbkVycm9yLCBDb2luTm90RGVmaW5lZEVycm9yLCBEdXBsaWNhdGVDb2luSWREZWZpbml0aW9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBDb250cmFjdEFkZHJlc3NEZWZpbmVkVG9rZW4sIE5GVENvbGxlY3Rpb25JZERlZmluZWRUb2tlbiB9IGZyb20gJy4vYWNjb3VudCc7XG5pbXBvcnQgeyBFdGhlcmV1bU5ldHdvcmsgfSBmcm9tICcuL25ldHdvcmtzJztcblxuZXhwb3J0IGNsYXNzIENvaW5NYXAge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tYXAgPSBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlJZHMgPSBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+PigpO1xuICAvLyBIb2xkcyBrZXkgZXF1aXZhbGVuY2VzIHVzZWQgZHVyaW5nIGFuIGFzc2V0IG5hbWUgbWlncmF0aW9uXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvaW5CeUFsaWFzZXMgPSBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+PigpO1xuICAvLyBtYXAgb2YgY29pbiBieSBhZGRyZXNzIC0+IHRoZSBrZXkgaXMgdGhlIGZhbWlseTpjb250cmFjdEFkZHJlc3NcbiAgLy8gdGhlIGZhbWlseSBpcyB0aGUgd2hlcmUgdGhlIGNvaW4gaXMgZS5nIGwxIGNoYWlucyBsaWtlIGV0aCwgYnNjIGV0Yy4gb3IgbDIgbGlrZSBhcmJldGgsIGNlbG8gZXRjLlxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlDb250cmFjdEFkZHJlc3MgPSBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+PigpO1xuICAvLyBtYXAgb2YgY29pbiBieSBORlQgY29sbGVjdGlvbiBJRCAtPiB0aGUga2V5IGlzIHRoZSAodClmYW1pbHk6bmZ0Q29sbGVjdGlvbklEXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvaW5CeU5mdENvbGxlY3Rpb25JRCA9IG5ldyBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+KCk7XG4gIC8vIExhemlseSBpbml0aWFsaXplZCBjYWNoZSBmb3IgY2hhaW5JZCB0byBjb2luIG5hbWUgbWFwcGluZyAoZGVyaXZlZCBmcm9tIG5ldHdvcmsgZGVmaW5pdGlvbnMpXG4gIHByaXZhdGUgX2NvaW5CeUNoYWluSWQ6IE1hcDxudW1iZXIsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIERvIG5vdCBpbnN0YW50aWF0ZVxuICB9XG5cbiAgc3RhdGljIGZyb21Db2lucyhjb2luczogUmVhZG9ubHk8QmFzZUNvaW4+W10pOiBDb2luTWFwIHtcbiAgICBjb25zdCBjb2luTWFwID0gbmV3IENvaW5NYXAoKTtcbiAgICBjb2lucy5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgICBjb2luTWFwLmFkZENvaW4oY29pbik7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvaW5NYXA7XG4gIH1cblxuICBwdWJsaWMgYWRkQ29pbihjb2luOiBSZWFkb25seTxCYXNlQ29pbj4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbWFwLmhhcyhjb2luLm5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlQ29pbkRlZmluaXRpb25FcnJvcihjb2luLm5hbWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fY29pbkJ5SWRzLmhhcyhjb2luLmlkKSkge1xuICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5JZERlZmluaXRpb25FcnJvcihjb2luLmlkKTtcbiAgICB9XG4gICAgY29uc3QgYWxpYXMgPSBjb2luLmFsaWFzO1xuICAgIGlmIChhbGlhcyAmJiB0aGlzLl9jb2luQnlBbGlhc2VzLmhhcyhhbGlhcykpIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVDb2luRGVmaW5pdGlvbkVycm9yKGFsaWFzKTtcbiAgICB9XG4gICAgdGhpcy5fbWFwLnNldChjb2luLm5hbWUsIGNvaW4pO1xuICAgIHRoaXMuX2NvaW5CeUlkcy5zZXQoY29pbi5pZCwgY29pbik7XG4gICAgaWYgKGFsaWFzKSB7XG4gICAgICB0aGlzLl9jb2luQnlBbGlhc2VzLnNldChjb2luLmFsaWFzLCBjb2luKTtcbiAgICB9XG5cbiAgICBpZiAoY29pbi5pc1Rva2VuKSB7XG4gICAgICBpZiAoY29pbiBpbnN0YW5jZW9mIENvbnRyYWN0QWRkcmVzc0RlZmluZWRUb2tlbikge1xuICAgICAgICB0aGlzLl9jb2luQnlDb250cmFjdEFkZHJlc3Muc2V0KGAke2NvaW4uZmFtaWx5fToke2NvaW4uY29udHJhY3RBZGRyZXNzfWAsIGNvaW4pO1xuICAgICAgfSBlbHNlIGlmIChjb2luIGluc3RhbmNlb2YgTkZUQ29sbGVjdGlvbklkRGVmaW5lZFRva2VuKSB7XG4gICAgICAgIHRoaXMuX2NvaW5CeU5mdENvbGxlY3Rpb25JRC5zZXQoYCR7Y29pbi5wcmVmaXh9JHtjb2luLmZhbWlseX06JHtjb2luLm5mdENvbGxlY3Rpb25JZH1gLCBjb2luKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZSBhIEJhc2UgY29pbiBvYmplY3QgY29tcGxldGVseSBmcm9tIHRoZSBDb2luTWFwIHVzaW5nIGl0cyBJRC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBrZXkgdG8gc2VhcmNoIHRoZSBvbGQgY29pbiBvYmplY3RcbiAgICogQHBhcmFtIHtSZWFkb25seTxCYXNlQ29pbj59IGNvaW4gbmV3IGNvaW4gb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgcmVwbGFjZShjb2luOiBSZWFkb25seTxCYXNlQ29pbj4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXMoY29pbi5pZCkpIHtcbiAgICAgIGNvbnN0IG9sZENvaW4gPSB0aGlzLmdldChjb2luLmlkKTtcbiAgICAgIHRoaXMuX21hcC5kZWxldGUob2xkQ29pbi5uYW1lKTtcbiAgICAgIHRoaXMuX2NvaW5CeUlkcy5kZWxldGUob2xkQ29pbi5pZCk7XG4gICAgICBpZiAob2xkQ29pbi5hbGlhcykge1xuICAgICAgICB0aGlzLl9jb2luQnlBbGlhc2VzLmRlbGV0ZShvbGRDb2luLmFsaWFzKTtcbiAgICAgIH1cbiAgICAgIGlmIChvbGRDb2luLmlzVG9rZW4pIHtcbiAgICAgICAgaWYgKG9sZENvaW4gaW5zdGFuY2VvZiBDb250cmFjdEFkZHJlc3NEZWZpbmVkVG9rZW4pIHtcbiAgICAgICAgICB0aGlzLl9jb2luQnlDb250cmFjdEFkZHJlc3MuZGVsZXRlKGAke29sZENvaW4uZmFtaWx5fToke29sZENvaW4uY29udHJhY3RBZGRyZXNzfWApO1xuICAgICAgICB9IGVsc2UgaWYgKG9sZENvaW4gaW5zdGFuY2VvZiBORlRDb2xsZWN0aW9uSWREZWZpbmVkVG9rZW4pIHtcbiAgICAgICAgICB0aGlzLl9jb2luQnlOZnRDb2xsZWN0aW9uSUQuZGVsZXRlKGAke29sZENvaW4ucHJlZml4fSR7b2xkQ29pbi5mYW1pbHl9OiR7b2xkQ29pbi5uZnRDb2xsZWN0aW9uSWR9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5hZGRDb2luKGNvaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhcmRjb2RlZCBtYXBwaW5nIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTEVHQUNZX0NIQUlOX0lEX01BUDogUmVjb3JkPG51bWJlciwgc3RyaW5nPiA9IHtcbiAgICAxOiAnZXRoJyxcbiAgICA0MjogJ3RldGgnLFxuICAgIDU6ICdndGV0aCcsXG4gICAgNTYwMDQ4OiAnaHRldGgnLFxuICAgIDEwMDAxOiAnZXRodycsXG4gICAgODAwMDI6ICd0cG9seWdvbicsXG4gICAgMTM3OiAncG9seWdvbicsXG4gICAgNTY6ICdic2MnLFxuICAgIDk3OiAndGJzYycsXG4gICAgNDIxNjE6ICdhcmJldGgnLFxuICAgIDQyMTYxNDogJ3RhcmJldGgnLFxuICAgIDEwOiAnb3BldGgnLFxuICAgIDExMTU1NDIwOiAndG9wZXRoJyxcbiAgICAxMTE2OiAnY29yZWRhbycsXG4gICAgMTExNDogJ3Rjb3JlZGFvJyxcbiAgICAyNDg6ICdvYXMnLFxuICAgIDkzNzI6ICd0b2FzJyxcbiAgICAxNDogJ2ZscicsXG4gICAgMTE0OiAndGZscicsXG4gICAgMTk6ICdzZ2InLFxuICAgIDE2OiAndHNnYicsXG4gICAgMTExMTogJ3dlbWl4JyxcbiAgICAxMTEyOiAndHdlbWl4JyxcbiAgICA1MDogJ3hkYycsXG4gICAgNTE6ICd0eGRjJyxcbiAgICA4MDA5NDogJ2JlcmEnLFxuICAgIDgwMDY5OiAndGJlcmEnLFxuICAgIDQyMjIwOiAnY2VsbycsXG4gICAgMTExNDIyMjA6ICd0Y2VsbycsXG4gICAgMjIyMjogJ2thdmEnLFxuICAgIDIyMjE6ICd0a2F2YScsXG4gICAgNDMxMTQ6ICdhdmF4JyxcbiAgICA0MzExMzogJ3RhdmF4JyxcbiAgICAxMDA6ICdnbm8nLFxuICAgIDEzMDogJ3VuaScsXG4gICAgMzI0OiAnemtldGgnLFxuICAgIDg0NTM6ICdiYXNlZXRoJyxcbiAgICA4NDUzMjogJ3RiYXNlZXRoJyxcbiAgICAzMDE0MzogJ21vbicsXG4gICAgMTAxNDM6ICd0bW9uJyxcbiAgICA0ODA6ICd3b3JsZCcsXG4gICAgNDgwMTogJ3R3b3JsZCcsXG4gICAgNTAzMTogJ3NvbWknLFxuICAgIDUwMzEyOiAndHN0dCcsXG4gICAgMTg2ODogJ3NvbmVpdW0nLFxuICAgIDE5NDY6ICd0c29uZWl1bScsXG4gICAgMzMxMTE6ICd0YXBlY2hhaW4nLFxuICAgIDMzMTM5OiAnYXBlY2hhaW4nLFxuICAgIDY4ODY4ODogJ3RwaHJzJyxcbiAgICAxMDIwMzA6ICdjdGMnLFxuICAgIDEwMjAzMTogJ3RjdGMnLFxuICAgIDk5ODogJ3RoeXBlZXZtJyxcbiAgICA5OTk6ICdoeXBlZXZtJyxcbiAgICAxNjYwMjogJ3RvZycsXG4gICAgMTY2NjE6ICdvZycsXG4gICAgOTc0NjogJ3R4cGwnLFxuICAgIDk3NDU6ICd4cGwnLFxuICAgIDE0NjAxOiAndHNvbmljJyxcbiAgICAxNDY6ICdzb25pYycsXG4gICAgMTMyODogJ3RzZWlldm0nLFxuICAgIDEzMjk6ICdzZWlldm0nLFxuICAgIDEwMDE6ICd0a2FpYScsXG4gICAgODIxNzogJ2thaWEnLFxuICAgIDEyNzA6ICd0aXJ5cycsXG4gICAgNTkxNDE6ICd0bGluZWFldGgnLFxuICAgIDU5MTQ0OiAnbGluZWFldGgnLFxuICAgIDEzMTU6ICd0aXAnLFxuICAgIDE1MTQ6ICdpcCcsXG4gICAgNTQ1OiAndGZsb3cnLFxuICAgIDc0NzogJ2Zsb3cnLFxuICAgIDk4ODY3OiAndHBsdW1lJyxcbiAgICA5ODg2NjogJ3BsdW1lJyxcbiAgICA2MzQyOiAndG1lZ2FldGgnLFxuICAgIDQzMjY6ICdtZWdhZXRoJyxcbiAgICAyOTU6ICdoYmFyZXZtJyxcbiAgICAyOTY6ICd0aGJhcmV2bScsXG4gICAgMTk2OiAnb2tiJyxcbiAgICAxOTUyOiAndG9rYicsXG4gICAgNTczNDk1MTogJ2pvdmF5ZXRoJyxcbiAgICAyMDE5Nzc1OiAndGpvdmF5ZXRoJyxcbiAgICA1MDQyMDAyOiAndGFyYycsXG4gICAgNDI0Mjg6ICd0ZW1wbycsXG4gICAgNDI0Mjk6ICd0dGVtcG8nLFxuICAgIDUwMDA6ICdtYW50bGUnLFxuICAgIDUwMDM6ICd0bWFudGxlJyxcbiAgICAyMDk5MzogJ2ZsdWVudGV0aCcsXG4gICAgMjA5OTQ6ICd0Zmx1ZW50ZXRoJyxcbiAgfTtcblxuICBwcml2YXRlIGJ1aWxkQ2hhaW5JZE1hcCgpOiBNYXA8bnVtYmVyLCBzdHJpbmc+IHtcbiAgICBjb25zdCBjaGFpbklkTWFwID0gbmV3IE1hcDxudW1iZXIsIHN0cmluZz4oKTtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaCgoY29pbiwgY29pbk5hbWUpID0+IHtcbiAgICAgIC8vIFNraXAgdG9rZW5zIC0gdGhleSBzaGFyZSB0aGUgc2FtZSBjaGFpbklkIGFzIHRoZWlyIHBhcmVudCBjaGFpblxuICAgICAgaWYgKGNvaW4uaXNUb2tlbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBuZXR3b3JrID0gY29pbi5uZXR3b3JrO1xuICAgICAgaWYgKCdjaGFpbklkJyBpbiBuZXR3b3JrICYmIHR5cGVvZiAobmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnN0IGNoYWluSWQgPSAobmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQ7XG4gICAgICAgIGlmICghY2hhaW5JZE1hcC5oYXMoY2hhaW5JZCkpIHtcbiAgICAgICAgICBjaGFpbklkTWFwLnNldChjaGFpbklkLCBjb2luTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2hhaW5JZE1hcDtcbiAgfVxuXG4gIHB1YmxpYyBjb2luTmFtZUZyb21DaGFpbklkKGNoYWluSWQ6IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29pbk5hbWUgPSBDb2luTWFwLkxFR0FDWV9DSEFJTl9JRF9NQVBbY2hhaW5JZF07XG4gICAgaWYgKGNvaW5OYW1lKSB7XG4gICAgICByZXR1cm4gY29pbk5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvaW5CeUNoYWluSWQgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2NvaW5CeUNoYWluSWQgPSB0aGlzLmJ1aWxkQ2hhaW5JZE1hcCgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29pbkJ5Q2hhaW5JZC5nZXQoY2hhaW5JZCk7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgYGdldGAgdG8gdGhyb3cgaWYgYSBjb2luIGlzIG1pc3NpbmcsIGluc3RlYWQgb2YgcmV0dXJuaW5nIHVuZGVmaW5lZC5cbiAgICogSXQgd2lsbCBob25vciBrZXkgZXF1aXZhbGVuY2VzIGluIGNhc2UgZ2l2ZW4ga2V5IGlzIG1pc3NpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAgICogQHJldHVybiB7QmFzZUNvaW59XG4gICAqL1xuICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogUmVhZG9ubHk8QmFzZUNvaW4+IHtcbiAgICBjb25zdCBjb2luID1cbiAgICAgIHRoaXMuX21hcC5nZXQoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5SWRzLmdldChrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlBbGlhc2VzLmdldChrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlDb250cmFjdEFkZHJlc3MuZ2V0KGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeU5mdENvbGxlY3Rpb25JRC5nZXQoa2V5KTtcblxuICAgIGlmIChjb2luKSB7XG4gICAgICByZXR1cm4gY29pbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ29pbk5vdERlZmluZWRFcnJvcihrZXkpO1xuICB9XG5cbiAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9tYXAuaGFzKGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeUlkcy5oYXMoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5QWxpYXNlcy5oYXMoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5Q29udHJhY3RBZGRyZXNzLmhhcyhrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlOZnRDb2xsZWN0aW9uSUQuaGFzKGtleSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1hcDxUPihtYXBwZXI6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IFQpOiBUW10ge1xuICAgIGNvbnN0IG1hcFJlc3VsdDogVFtdID0gW107XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIG1hcFJlc3VsdC5wdXNoKG1hcHBlcih2YWx1ZSwga2V5KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG1hcFJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyByZWR1Y2U8VD4ocmVkdWNlcjogKGFjYzogVCwgY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+LCBjb2luTmFtZTogc3RyaW5nKSA9PiBULCBpbml0aWFsVmFsdWU6IFQpOiBUIHtcbiAgICBsZXQgYWNjID0gaW5pdGlhbFZhbHVlO1xuICAgIHRoaXMuX21hcC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBhY2MgPSByZWR1Y2VyKGFjYywgdmFsdWUsIGtleSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIocHJlZGljYXRlOiAoY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+LCBjb2luTmFtZTogc3RyaW5nKSA9PiBib29sZWFuKTogQ29pbk1hcCB7XG4gICAgY29uc3QgZmlsdGVyUmVzdWx0OiBSZWFkb25seTxCYXNlQ29pbj5bXSA9IFtdO1xuICAgIHRoaXMuX21hcC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBrZXkpKSB7XG4gICAgICAgIGZpbHRlclJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQ29pbk1hcC5mcm9tQ29pbnMoZmlsdGVyUmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JFYWNoKGNhbGxiYWNrOiAoY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+LCBjb2luTmFtZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fbWFwLmZvckVhY2goY2FsbGJhY2spO1xuICB9XG5cbiAgcHVibGljIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhYmxlSXRlcmF0b3I8W3N0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+XT4ge1xuICAgIHJldHVybiB0aGlzLl9tYXBbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICB9XG59XG4iXX0=
@@ -28,6 +28,17 @@ export interface FlareNetwork extends BaseNetwork {
28
28
  maxStakeDuration?: string;
29
29
  minDelegationStake?: string;
30
30
  minDelegationFee?: string;
31
+ flarePublicUrl?: string;
32
+ baseTxFee?: string;
33
+ createAssetTxFee?: string;
34
+ createSubnetTxFee?: string;
35
+ transformSubnetTxFee?: string;
36
+ createBlockchainTxFee?: string;
37
+ addPrimaryNetworkValidatorFee?: string;
38
+ addPrimaryNetworkDelegatorFee?: string;
39
+ addSubnetValidatorFee?: string;
40
+ addSubnetDelegatorFee?: string;
41
+ xChainBlockchainID?: string;
31
42
  }
32
43
  import { CoinFamily } from './base';
33
44
  export declare enum NetworkType {
@@ -1707,13 +1718,17 @@ export declare class FlareP extends Mainnet implements FlareNetwork {
1707
1718
  accountExplorerUrl: string;
1708
1719
  blockchainID: string;
1709
1720
  cChainBlockchainID: string;
1721
+ xChainBlockchainID: string;
1710
1722
  networkID: number;
1711
1723
  hrp: string;
1712
1724
  alias: string;
1713
1725
  vm: string;
1714
1726
  txFee: string;
1727
+ baseTxFee: string;
1715
1728
  maxImportFee: string;
1729
+ createAssetTxFee: string;
1716
1730
  createSubnetTx: string;
1731
+ transformSubnetTxFee: string;
1717
1732
  createChainTx: string;
1718
1733
  creationTxFee: string;
1719
1734
  minConsumption: string;
@@ -1724,22 +1739,30 @@ export declare class FlareP extends Mainnet implements FlareNetwork {
1724
1739
  maxStakeDuration: string;
1725
1740
  minDelegationStake: string;
1726
1741
  minDelegationFee: string;
1742
+ addPrimaryNetworkValidatorFee: string;
1743
+ addSubnetValidatorFee: string;
1744
+ addSubnetDelegatorFee: string;
1727
1745
  }
1728
1746
  export declare class FlarePTestnet extends Testnet implements FlareNetwork {
1729
1747
  name: string;
1730
1748
  family: CoinFamily;
1731
1749
  explorerUrl: string;
1732
1750
  accountExplorerUrl: string;
1751
+ flarePublicUrl: string;
1733
1752
  blockchainID: string;
1734
1753
  cChainBlockchainID: string;
1754
+ xChainBlockchainID: string;
1735
1755
  networkID: number;
1736
1756
  hrp: string;
1737
1757
  alias: string;
1738
1758
  assetId: string;
1739
1759
  vm: string;
1740
1760
  txFee: string;
1761
+ baseTxFee: string;
1741
1762
  maxImportFee: string;
1763
+ createAssetTxFee: string;
1742
1764
  createSubnetTx: string;
1765
+ transformSubnetTxFee: string;
1743
1766
  createChainTx: string;
1744
1767
  creationTxFee: string;
1745
1768
  minConsumption: string;
@@ -1750,12 +1773,16 @@ export declare class FlarePTestnet extends Testnet implements FlareNetwork {
1750
1773
  maxStakeDuration: string;
1751
1774
  minDelegationStake: string;
1752
1775
  minDelegationFee: string;
1776
+ addPrimaryNetworkValidatorFee: string;
1777
+ addSubnetValidatorFee: string;
1778
+ addSubnetDelegatorFee: string;
1753
1779
  }
1754
1780
  export declare class Flare extends Mainnet implements EthereumNetwork {
1755
1781
  name: string;
1756
1782
  family: CoinFamily;
1757
1783
  explorerUrl: string;
1758
1784
  accountExplorerUrl: string;
1785
+ flarePublicUrl: string;
1759
1786
  chainId: number;
1760
1787
  nativeCoinOperationHashPrefix: string;
1761
1788
  walletFactoryAddress: string;
@@ -1867,11 +1894,13 @@ declare class Iota extends Mainnet implements AccountNetwork {
1867
1894
  name: string;
1868
1895
  family: CoinFamily;
1869
1896
  explorerUrl: string;
1897
+ accountExplorerUrl: string;
1870
1898
  }
1871
1899
  declare class IotaTestnet extends Testnet implements AccountNetwork {
1872
1900
  name: string;
1873
1901
  family: CoinFamily;
1874
1902
  explorerUrl: string;
1903
+ accountExplorerUrl: string;
1875
1904
  }
1876
1905
  declare class Flow extends Mainnet implements EthereumNetwork {
1877
1906
  name: string;
@@ -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":"AACA,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,8BAAsB,WAAW;IAC/B,kBAAyB,IAAI,EAAE,MAAM,CAAC;IACtC,kBAAyB,IAAI,EAAE,WAAW,CAAC;IAC3C,kBAAyB,MAAM,EAAE,UAAU,CAAC;IAC5C,kBAAyB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1D;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAE9C,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD;;;;OAIG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,WAAW;IAG7C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAGjD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9G,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,UAAU,GACV,SAAS,GACT,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,UAAW,SAAQ,cAAc;IAGhD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IAErD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEzC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACjD,QAAQ,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IACzD,QAAQ,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IACzD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAGD,MAAM,WAAW,UAAW,SAAQ,WAAW;CAAG;AAElD,uBAAe,OAAQ,SAAQ,WAAW;IACxC,IAAI,cAAuB;CAC5B;AAED,uBAAe,OAAQ,SAAQ,WAAW;IACxC,IAAI,cAAuB;CAC5B;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,cAAc;IACtD,IAAI,SAAc;IAClB,MAAM,aAAmB;IACzB,WAAW,SAA2B;CACvC;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,cAAc;IAC7D,IAAI,SAAqB;IACzB,MAAM,aAAmB;IACzB,WAAW,SAAuD;CACnE;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,UAAU;IAC7C,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAAa;IACxB,WAAW,SAAa;IACxB,eAAe,SAAW;IAC1B,WAAW,SAAyC;IACpD,gBAAgB,SAAS;IACzB,kBAAkB,SAAQ;IAC1B,YAAY,SAAQ;CACrB;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,UAAU;IACpD,IAAI,SAAuB;IAC3B,MAAM,aAAkB;IACxB,WAAW,SAAoB;IAC/B,WAAW,SAAiD;IAC5D,gBAAgB,SAAS;IACzB,kBAAkB,SAAQ;IAC1B,YAAY,SAAQ;IACpB,WAAW,SAAa;IACxB,eAAe,SAAW;CAC3B;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAyD;IACpE,kBAAkB,SAA6D;IAC/E,gBAAgB,SAA2D;CAC5E;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAAyD;IACpE,kBAAkB,SAA6D;IAC/E,gBAAgB,SAA2D;CAC5E;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAuB;IAC3B,MAAM,aAAkB;IACxB,WAAW,SAAyD;IACpE,kBAAkB,SAAqD;CACxE;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAA+B;IACnC,MAAM,aAAkB;IACxB,WAAW,SAAyD;IACpE,kBAAkB,SAAqD;CACxE;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,eAAe;IACvD,IAAI,SAAc;IAClB,MAAM,aAAqB;IAC3B,WAAW,SAA6B;IACxC,kBAAkB,SAAkC;IACpD,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,wBAAwB,SAAiB;IACzC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,eAAe;IAC9D,IAAI,SAAqB;IACzB,MAAM,aAAqB;IAC3B,WAAW,SAAqC;IAChD,kBAAkB,SAA0C;IAC5D,OAAO,SAAU;IACjB,6BAA6B,SAAY;IACzC,wBAAwB,SAAkB;IAC1C,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IAExD,IAAI,SAAgB;IACpB,MAAM,aAAoB;IAC1B,WAAW,SAA8C;IACzD,kBAAkB,SAAmD;IACrE,OAAO,SAAS;CACjB;AAED,cAAM,iBAAkB,SAAQ,OAAQ,YAAW,cAAc;IAE/D,IAAI,SAAuB;IAC3B,MAAM,aAAoB;IAC1B,WAAW,SAAmD;IAC9D,kBAAkB,SAAwD;IAC1E,OAAO,SAAS;CACjB;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,gBAAgB;IAC1D,IAAI,SAAgB;IACpB,MAAM,aAAoB;IAC1B,WAAW,SAA8C;IACzD,kBAAkB,SAAmD;IACrE,YAAY,SAA2C;IACvD,kBAAkB,SAAuD;IACzE,WAAW,SAAuD;IAClE,SAAS,SAAK;IACd,GAAG,SAAU;IACb,KAAK,SAAO;IACZ,EAAE,SAAgB;IAClB,KAAK,SAAa;IAClB,YAAY,SAAc;IAC1B,cAAc,SAAgB;IAC9B,aAAa,SAAgB;IAC7B,aAAa,SAAc;IAC3B,cAAc,SAAS;IACvB,cAAc,SAAU;IACxB,SAAS,SAAwB;IACjC,QAAQ,SAAmB;IAC3B,gBAAgB,SAAa;IAC7B,gBAAgB,SAAc;IAC9B,kBAAkB,SAAiB;IACnC,gBAAgB,SAAO;CACxB;AAED,cAAM,iBAAkB,SAAQ,OAAQ,YAAW,gBAAgB;IACjE,IAAI,SAAuB;IAC3B,MAAM,aAAoB;IAC1B,WAAW,SAAmD;IAC9D,kBAAkB,SAAwD;IAC1E,YAAY,SAA2C;IACvD,kBAAkB,SAAuD;IACzE,WAAW,SAAuD;IAClE,SAAS,SAAK;IACd,KAAK,SAAO;IACZ,GAAG,SAAU;IACb,EAAE,SAAgB;IAClB,KAAK,SAAa;IAClB,YAAY,SAAc;IAC1B,cAAc,SAAgB;IAC9B,aAAa,SAAgB;IAC7B,aAAa,SAAc;IAC3B,cAAc,SAAS;IACvB,cAAc,SAAU;IACxB,SAAS,SAAwB;IACjC,QAAQ,SAAgB;IACxB,gBAAgB,SAAW;IAC3B,gBAAgB,SAAc;IAC9B,kBAAkB,SAAgB;IAClC,gBAAgB,SAAO;CACxB;AAED,cAAM,iBAAkB,SAAQ,OAAQ,YAAW,eAAe;IAChE,IAAI,SAAuB;IAC3B,MAAM,aAAkB;IACxB,WAAW,SAA6B;IACxC,kBAAkB,SAAkC;IACpD,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,wBAAwB,SAAc;IACtC,sBAAsB,SAAgD;CACvE;AAED,cAAM,wBAAyB,SAAQ,OAAQ,YAAW,eAAe;IACvE,IAAI,SAA8B;IAClC,MAAM,aAAkB;IACxB,WAAW,SAAqC;IAChD,kBAAkB,SAA0C;IAC5D,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,wBAAwB,SAAc;IACtC,sBAAsB,SAAgD;CACvE;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAW;IACf,MAAM,aAAoB;IAC1B,WAAW,SAA+B;IAC1C,kBAAkB,SAAoC;IACtD,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;CACxC;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAkB;IACtB,MAAM,aAAoB;IAC1B,WAAW,SAAuC;IAClD,kBAAkB,SAA4C;IAC9D,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,wBAAwB,SAAgB;CACzC;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAY;IAChB,MAAM,aAAqB;IAC3B,WAAW,SAAmD;IAC9D,kBAAkB,SAA8C;IAChE,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;CACxC;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAmB;IACvB,MAAM,aAAqB;IAC3B,WAAW,SAAmD;IAC9D,kBAAkB,SAA8C;IAChE,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,wBAAwB,SAAgB;CACzC;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,gBAAgB;IAChE,IAAI,SAAsB;IAC1B,MAAM,aAAoB;IAC1B,WAAW,SAAa;IACxB,WAAW,SAAqC;IAChD,sBAAsB,SAAwE;IAC9F,gBAAgB,SAAwE;IACxF,SAAS,SAAwE;CAClF;AAED,cAAM,uBAAwB,SAAQ,OAAQ,YAAW,gBAAgB;IACvE,IAAI,SAA6B;IACjC,MAAM,aAAoB;IAC1B,WAAW,SAAa;IACxB,WAAW,SAA6C;IACxD,sBAAsB,SAAwE;IAC9F,gBAAgB,SAAwE;IACxF,SAAS,SAAwE;CAClF;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,WAAW;IAClD,IAAI,SAAa;IACjB,MAAM,aAAkB;IACxB,WAAW,SAAa;IACxB,WAAW,SAA+B;CAC3C;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,WAAW;IACzD,IAAI,SAAoB;IACxB,MAAM,aAAkB;IACxB,WAAW,SAAa;IACxB,WAAW,SAAuC;IAElD,6BAA6B,SACuF;CACrH;AAED,cAAM,mBAAoB,SAAQ,OAAQ,YAAW,WAAW;IAC9D,IAAI,SAAyB;IAC7B,MAAM,aAAkB;IACxB,WAAW,SAAyB;IACpC,WAAW,SAAsC;CAClD;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,WAAW;IAC1D,IAAI,SAAqB;IACzB,MAAM,aAAkB;IACxB,WAAW,SAAqB;IAChC,WAAW,SAAwC;CACpD;AAED,cAAM,kBAAmB,SAAQ,OAAQ,YAAW,WAAW;IAC7D,IAAI,SAAwB;IAC5B,MAAM,aAAkB;IACxB,WAAW,SAAwB;IACnC,WAAW,SAA2C;CACvD;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,WAAW;IACtD,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAAiB;IAC5B,WAAW,SAAwC;CACpD;AAED,cAAM,kBAAmB,SAAQ,OAAQ,YAAW,WAAW;IAC7D,IAAI,SAAwB;IAC5B,MAAM,aAAkB;IACxB,WAAW,SAAwB;IACnC,WAAW,SAAiC;CAC7C;AACD,cAAM,SAAU,SAAQ,OAAQ,YAAW,WAAW;IACpD,IAAI,SAAe;IACnB,MAAM,aAAkB;IACxB,WAAW,SAAe;IAC1B,WAAW,SAAoD;CAChE;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,WAAW;IAC3D,IAAI,SAAsB;IAC1B,MAAM,aAAkB;IACxB,WAAW,SAAsB;IACjC,WAAW,YAAa;CACzB;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,WAAW;IACtD,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAAiB;IAC5B,WAAW,SAAiC;CAC7C;AAED,cAAM,kBAAmB,SAAQ,OAAQ,YAAW,WAAW;IAC7D,IAAI,SAAwB;IAC5B,MAAM,aAAkB;IACxB,WAAW,SAAwB;IACnC,WAAW,YAAa;CACzB;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,WAAW;IAC/C,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAU;IACrB,WAAW,SAA6C;CACzD;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,WAAW;IACtD,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAc;IACzB,WAAW,SAAqD;CACjE;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,WAAW;IACnD,IAAI,SAAc;IAClB,MAAM,aAAmB;IACzB,WAAW,SAAc;IACzB,WAAW,SAAkD;CAC9D;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,WAAW;IAC1D,IAAI,SAAqB;IACzB,MAAM,aAAmB;IACzB,WAAW,SAAkB;IAC7B,WAAW,SAAoD;CAChE;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,WAAW;IAChD,IAAI,SAAW;IACf,MAAM,aAAmB;IACzB,WAAW,SAAW;IACtB,WAAW,SAAkC;CAC9C;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,WAAW;IACvD,IAAI,SAAkB;IACtB,MAAM,aAAmB;IACzB,WAAW,SAAe;IAC1B,WAAW,YAAa;CACzB;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,UAAU;IAC1D,IAAI,SAAsB;IAC1B,MAAM,aAAkB;IACxB,WAAW,SAAqD;IAChE,QAAQ,EAAkB,oBAAoB,CAAC;IAC/C,WAAW,SAAwE;IACnF,WAAW,SAAW;IACtB,SAAS,SAAwB;IACjC,SAAS,SAAM;CAChB;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,UAAU;IACzD,IAAI,SAAqB;IACzB,MAAM,aAAkB;IACxB,WAAW,SAAoD;IAC/D,QAAQ,EAAiB,oBAAoB,CAAC;IAC9C,WAAW,SAAwE;IACnF,WAAW,SAAW;IACtB,SAAS,SAAuB;IAChC,SAAS,SAAM;CAChB;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,eAAe;IACnD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAmC;IAC9C,kBAAkB,SAAwC;IAC1D,OAAO,SAAS;IAChB,6BAA6B,SAAU;IACvC,wBAAwB,SAAgB;CACzC;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,eAAe;IAC1D,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAqC;IAChD,kBAAkB,SAA0C;IAC5D,OAAO,SAAY;IACnB,6BAA6B,SAAU;IACvC,wBAAwB,SAAgB;CACzC;AAGD,cAAM,MAAO,SAAQ,OAAQ,YAAW,cAAc;IACpD,IAAI,SAAY;IAChB,MAAM,aAAmB;IACzB,WAAW,SAA+B;IAC1C,kBAAkB,SAAgC;CACnD;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,cAAc;IAC3D,IAAI,SAAmB;IACvB,MAAM,aAAmB;IACzB,WAAW,SAA2C;IACtD,kBAAkB,SAA4C;CAC/D;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,eAAe;IACvD,IAAI,SAAc;IAClB,MAAM,aAAkB;IACxB,WAAW,SAA8B;IACzC,kBAAkB,SAAmC;IACrD,gBAAgB,SAAiC;IAEjD,OAAO,SAAK;IACZ,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;IACtF,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;IACtF,6BAA6B,SAAW;IACxC,wBAAwB,SAAW;IACnC,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,6BAA6B,SAAgD;IAC7E,sBAAsB,SAAgD;IACtE,6BAA6B,SAAgD;CAC9E;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,cAAc;IACvD,IAAI,SAAe;IACnB,MAAM,aAAmB;IACzB,WAAW,SAA+B;IAC1C,kBAAkB,SAAoC;CACvD;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,eAAe;IACxD,IAAI,SAAkB;IACtB,MAAM,aAAmB;IACzB,WAAW,SAAM;IACjB,kBAAkB,SAAM;IACxB,OAAO,SAAS;IAChB,sBAAsB,SAAM;IAC5B,uBAAuB,SAAM;IAC7B,8BAA8B,SAAM;IACpC,6BAA6B,SAAW;IACxC,wBAAwB,SAAW;CACpC;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,cAAc;IACrD,IAAI,SAAa;IACjB,MAAM,aAAmB;IACzB,WAAW,SAAuC;IAClD,kBAAkB,SAA4C;CAC/D;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAW;IACf,MAAM,aAAkB;IACxB,WAAW,SAAoC;IAC/C,kBAAkB,SAAyC;IAE3D,OAAO,SAAM;IACb,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,6BAA6B,SAAW;IACxC,wBAAwB,SAAW;CACpC;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAY;IAChB,MAAM,aAAkB;IACxB,WAAW,SAAqC;IAChD,kBAAkB,SAA0C;IAC5D,gBAAgB,SAAwC;IAExD,OAAO,SAAK;IACZ,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,6BAA6B,SAAW;IACxC,wBAAwB,SAAW;CACpC;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,eAAe;IACtD,IAAI,SAAa;IACjB,MAAM,aAAkB;IACxB,WAAW,SAAsC;IACjD,kBAAkB,SAA2C;IAC7D,gBAAgB,SAAyC;IAEzD,OAAO,SAAS;IAChB,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,6BAA6B,SAAW;IACxC,wBAAwB,SAAW;IACnC,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;CACvF;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAW;IACf,MAAM,aAAkB;IACxB,WAAW,SAAoC;IAC/C,kBAAkB,SAAyC;IAC3D,gBAAgB,SAAuC;IAEvD,OAAO,SAAU;IACjB,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;IACtF,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;IACtF,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,6BAA6B,SAAgD;IAC7E,sBAAsB,SAAgD;IACtE,6BAA6B,SAAgD;IAC7E,6BAA6B,SAAW;IACxC,wBAAwB,SAAW;CACpC;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,eAAe;IAC9D,IAAI,SAAqB;IACzB,MAAM,aAAkB;IACxB,WAAW,SAA4C;IACvD,kBAAkB,SAAiD;IAEnE,OAAO,SAAM;IACb,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;CACxC;AAED,cAAM,sBAAuB,SAAQ,OAAQ,YAAW,eAAe;IACrE,IAAI,SAA4B;IAChC,MAAM,aAAkB;IACxB,WAAW,SAA2C;IACtD,kBAAkB,SAAgD;IAElE,OAAO,SAAM;IACb,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;CACxC;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAkD;CAC9D;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAA+B;CAC3C;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,cAAc;IACpD,IAAI,SAAY;IAChB,MAAM,aAAmB;IACzB,WAAW,SAA8C;CAC1D;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,cAAc;IAC3D,IAAI,SAAmB;IACvB,MAAM,aAAmB;IACzB,WAAW,SAAqD;CACjE;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,WAAW;IACnD,IAAI,SAAc;IAClB,MAAM,aAAkB;IACxB,WAAW,SAAc;IACzB,WAAW,SAAmC;CAC/C;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,WAAW;IAC1D,IAAI,SAAqB;IACzB,MAAM,aAAkB;IACxB,WAAW,SAAkB;IAC7B,WAAW,SAAoD;CAChE;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,UAAU;IAC7C,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,YAAa;CACzB;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,UAAU;IACpD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,YAAa;CACzB;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,eAAe;IACnD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAiC;IAC5C,kBAAkB,SAAsC;IACxD,OAAO,SAAM;IACb,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;CACxC;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,eAAe;IAC1D,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAyC;IACpD,kBAAkB,SAA8C;IAChE,OAAO,SAAM;IACb,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;CACxC;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,cAAc;IACrD,IAAI,SAAa;IACjB,MAAM,aAAkB;IACxB,WAAW,SAAgD;CAC5D;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,cAAc;IAC5D,IAAI,SAAoB;IACxB,MAAM,aAAkB;IACxB,WAAW,SAAiD;CAC7D;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAqC;CACjD;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAAoD;CAChE;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAsD;CAClE;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAAsD;CAClE;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAqB;IACzB,MAAM,aAAmB;IACzB,WAAW,SAAwC;CACpD;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAA6B;IACjC,MAAM,aAAmB;IACzB,WAAW,SAAgD;CAC5D;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAa;IACjB,MAAM,aAAmB;IACzB,WAAW,SAA0C;CACtD;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAqB;IACzB,MAAM,aAAmB;IACzB,WAAW,SAAyD;CACrE;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAc;IAClB,MAAM,aAAkB;IACxB,WAAW,SAA0C;CACtD;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAsB;IAC1B,MAAM,aAAkB;IACxB,WAAW,SAA0D;CACtE;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAgB;IACpB,MAAM,aAAmB;IACzB,WAAW,SAAwC;CACpD;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAwB;IAC5B,MAAM,aAAmB;IACzB,WAAW,SAA6C;CACzD;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAY;IAChB,MAAM,aAAkB;IACxB,WAAW,SAAiD;CAC7D;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAoB;IACxB,MAAM,aAAkB;IACxB,WAAW,SAAqD;CACjE;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAyC;CACrD;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAAiD;CAC7D;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAA+C;CAC3D;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAkB;IACtB,MAAM,aAAmB;IACzB,WAAW,SAAsD;CAClE;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,cAAc;IACvD,IAAI,SAAe;IACnB,MAAM,aAAwB;IAC9B,WAAW,SAA2C;CACvD;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,cAAc;IAC9D,IAAI,SAAsB;IAC1B,MAAM,aAAwB;IAC9B,WAAW,SAA6D;CACzE;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAgD;CAC5D;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAmD;CAC/D;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAA6B;CACzC;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAAqC;CACjD;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,cAAc;IACpD,IAAI,SAAY;IAChB,MAAM,aAAqB;IAC3B,WAAW,SAAwC;CACpD;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,cAAc;IAC3D,IAAI,SAAmB;IACvB,MAAM,aAAqB;IAC3B,WAAW,SAAgE;CAC5E;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAA6B;CACzC;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAA8C;CAC1D;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAa;IACjB,MAAM,aAAmB;IACzB,WAAW,SAAiD;CAC7D;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAqB;IACzB,MAAM,aAAmB;IACzB,WAAW,SAAyD;CACrE;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,aAAa;IACnD,IAAI,SAAY;IAChB,MAAM,aAAqB;IAC3B,WAAW,SAAkD;IAC7D,aAAa,SAAY;IACzB,eAAe,SAAmB;IAClC,KAAK,SAAS;IACd,SAAS,SAAU;IACnB,QAAQ,SAAU;IAClB,WAAW,WAAiB;CAC7B;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,aAAa;IAC1D,IAAI,SAAoB;IACxB,MAAM,aAAqB;IAC3B,WAAW,SAAuD;IAClE,aAAa,SAAY;IACzB,eAAe,SAAmB;IAClC,KAAK,SAAS;IACd,SAAS,SAAU;IACnB,QAAQ,SAAU;IAClB,WAAW,WAAiB;CAC7B;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,cAAc;IACpD,IAAI,SAAgB;IACpB,MAAM,aAAqB;IAC3B,WAAW,SAAyC;CACrD;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,cAAc;IAC3D,IAAI,SAAwB;IAC5B,MAAM,aAAqB;IAC3B,WAAW,SAAmD;CAC/D;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,cAAc;IACrD,IAAI,SAAW;IACf,MAAM,aAAsB;IAC5B,WAAW,SAAqC;CACjD;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,cAAc;IAC5D,IAAI,SAAmB;IACvB,MAAM,aAAsB;IAC5B,WAAW,SAA0C;CACtD;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,cAAc;IACpD,IAAI,SAAY;IAChB,MAAM,aAAqB;IAC3B,WAAW,SAA+C;CAC3D;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,cAAc;IAC3D,IAAI,SAAoB;IACxB,MAAM,aAAqB;IAC3B,WAAW,SAAuD;CACnE;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAkB;IACtB,MAAM,aAAkB;IACxB,WAAW,SAAyD;CACrE;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAA0B;IAC9B,MAAM,aAAkB;IACxB,WAAW,SAAuD;CACnE;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAA+B;CAC3C;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAuC;CACnD;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,aAAa;IAChD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAoC;IAC/C,2BAA2B,SAA+C;IAC1E,sBAAsB,SAAmC;CAC1D;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,aAAa;IACvD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAAkD;IAC7D,2BAA2B,SAA+C;IAC1E,sBAAsB,SAAmC;CAC1D;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,YAAa;CACzB;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,YAAa;CACzB;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,WAAW;IACtD,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,YAAa;CACzB;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,WAAW;IAC/C,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,YAAa;CACzB;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,cAAc;IACvD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAoC;CAChD;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,cAAc;IAC9D,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAA8C;IACzD,QAAQ,EAAuB,qBAAqB,CAAC;IACrD,WAAW,SAAwE;IACnF,WAAW,SAAO;IAClB,SAAS,SAAe;IACxB,SAAS,SAAK;CACf;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,WAAW;IAC9C,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,kBAAkB,SAAqC;IACvD,WAAW,SAAyC;IACpD,WAAW,SAAgB;IAC3B,oBAAoB,SAAe;CACpC;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,WAAW;IACrD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,kBAAkB,SAA4C;IAC9D,WAAW,SAAgD;IAC3D,WAAW,SAAgB;IAC3B,oBAAoB,SAAe;CACpC;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAA4C;CACxD;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAA6C;CACzD;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,cAAc;IACjD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAA0B;IACrC,kBAAkB,SAA0B;CAC7C;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,cAAc;IACxD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAA+B;IAC1C,kBAAkB,SAA+B;CAClD;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,WAAW;IAChD,IAAI,SAAW;IACf,MAAM,aAAkB;IACxB,WAAW,SAAW;IACtB,WAAW,SAAqD;CACjE;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,WAAW;IACvD,IAAI,SAAkB;IACtB,MAAM,aAAkB;IACxB,WAAW,SAAe;IAC1B,WAAW,SAAqD;CACjE;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAiC;IAC5C,UAAU,SAA6B;IACvC,cAAc,SAA4B;CAC3C;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAyC;IACpD,UAAU,SAA6B;IACvC,cAAc,SAA4B;CAC3C;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,eAAe;IACtD,IAAI,SAAa;IACjB,MAAM,aAAsB;IAC5B,WAAW,SAAiC;IAC5C,kBAAkB,SAAsC;IACxD,OAAO,SAAO;IACd,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,6BAA6B,SAAa;IAC1C,wBAAwB,SAAmB;IAC3C,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;CACvF;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,eAAe;IAC7D,IAAI,SAAoB;IACxB,MAAM,aAAsB;IAC5B,WAAW,SAAsC;IACjD,kBAAkB,SAA2C;IAC7D,OAAO,SAAS;IAChB,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,6BAA6B,SAAa;IAC1C,wBAAwB,SAAmB;IAC3C,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;CACvF;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,eAAe;IACvD,IAAI,SAAc;IAClB,MAAM,aAAoB;IAC1B,WAAW,SAAyC;IACpD,kBAAkB,SAA8C;IAChE,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,wBAAwB,SAAc;IACtC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;IACtF,sBAAsB,SAAgD;CACvE;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,eAAe;IAC9D,IAAI,SAAqB;IACzB,MAAM,aAAoB;IAC1B,WAAW,SAA+C;IAC1D,kBAAkB,SAAoD;IACtE,OAAO,SAAY;IACnB,6BAA6B,SAAc;IAC3C,wBAAwB,SAAoB;IAC5C,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;IACtF,sBAAsB,SAAgD;CACvE;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAY;IAChB,MAAM,aAAoB;IAC1B,WAAW,SAAoC;IAC/C,kBAAkB,SAAyC;IAC3D,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;CACxC;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAmB;IACvB,MAAM,aAAoB;IAC1B,WAAW,SAA4C;IACvD,kBAAkB,SAAiD;IACnE,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,wBAAwB,SAAe;IACvC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,+BAA+B,SAAgD;IAC/E,sCAAsC,SAAgD;IACtF,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;CAC5E;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,eAAe;IACxD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAA8B;IACzC,kBAAkB,SAAmC;IACrD,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,wBAAwB,SAAiB;IACzC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,eAAe;IAC/D,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAsC;IACjD,kBAAkB,SAA2C;IAC7D,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,wBAAwB,SAAiB;IACzC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,eAAe;IAClD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAsC;IACjD,kBAAkB,SAA2C;IAC7D,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,eAAe;IACzD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAA8C;IACzD,kBAAkB,SAAmD;IACrE,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,eAAe;IACtD,IAAI,SAAa;IACjB,MAAM,aAAsB;IAC5B,WAAW,SAAkC;IAC7C,kBAAkB,SAAuC;IACzD,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,eAAe;IAC7D,IAAI,SAAoB;IACxB,MAAM,aAAsB;IAC5B,WAAW,SAAyC;IACpD,kBAAkB,SAA8C;IAChE,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,EAAG,SAAQ,OAAQ,YAAW,eAAe;IACjD,IAAI,SAAW;IACf,MAAM,aAAiB;IACvB,WAAW,SAAkC;IAC7C,kBAAkB,SAAuC;IACzD,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,eAAe;IACxD,IAAI,SAAkB;IACtB,MAAM,aAAiB;IACvB,WAAW,SAAkD;IAC7D,kBAAkB,SAA0C;IAC5D,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,eAAe;IACvD,IAAI,SAAc;IAClB,MAAM,aAAuB;IAC7B,WAAW,SAA4B;IACvC,kBAAkB,SAAiC;IACnD,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,eAAe;IAC9D,IAAI,SAAqB;IACzB,MAAM,aAAuB;IAC7B,WAAW,SAAmC;IAC9C,kBAAkB,SAAwC;IAC1D,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAY;IAChB,MAAM,aAAmB;IACzB,WAAW,SAAM;IACjB,kBAAkB,SAAM;IACxB,OAAO,SAAU;IACjB,6BAA6B,SAAY;CAC1C;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAmB;IACvB,MAAM,aAAmB;IACzB,WAAW,SAAwC;IACnD,kBAAkB,SAA6C;IAC/D,OAAO,SAAU;IACjB,6BAA6B,SAAY;IACzC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,eAAe;IACzD,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAA2C;IACtD,kBAAkB,SAAgD;IAClE,OAAO,SAAU;IACjB,6BAA6B,SAAY;IACzC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAY;IAChB,MAAM,aAAkB;IACxB,WAAW,SAA+B;IAC1C,kBAAkB,SAAoC;IACtD,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAmB;IACvB,MAAM,aAAkB;IACxB,WAAW,SAAuC;IAClD,kBAAkB,SAA4C;IAC9D,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,eAAe;IAC7D,IAAI,SAA2B;IAC/B,MAAM,aAAsB;IAC5B,WAAW,SAAqC;IAChD,kBAAkB,SAA0C;IAC5D,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,eAAe;IACtD,IAAI,SAAoB;IACxB,MAAM,aAAsB;IAC5B,WAAW,SAA8C;IACzD,kBAAkB,SAAmD;IACrE,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,eAAe;IAC7D,IAAI,SAAoB;IACxB,MAAM,aAAsB;IAC5B,WAAW,SAAsC;IACjD,kBAAkB,SAA2C;IAC7D,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,eAAe;IACtD,IAAI,SAAa;IACjB,MAAM,aAAsB;IAC5B,WAAW,SAA8B;IACzC,kBAAkB,SAAmC;IACrD,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,eAAe;IACvD,IAAI,SAA4B;IAChC,MAAM,aAAuB;IAC7B,WAAW,SAAiC;IAC5C,kBAAkB,SAAsC;IACxD,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,eAAe;IAC9D,IAAI,SAA4B;IAChC,MAAM,aAAuB;IAC7B,WAAW,SAAyC;IACpD,kBAAkB,SAA8C;IAChE,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,eAAe;IACxD,IAAI,SAAqB;IACzB,MAAM,aAAwB;IAC9B,WAAW,SAAuC;IAClD,kBAAkB,SAA4C;IAC9D,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,eAAe;IAC/D,IAAI,SAA6B;IACjC,MAAM,aAAwB;IAC9B,WAAW,SAAwC;IACnD,kBAAkB,SAA6C;IAC/D,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAmB;IACvB,MAAM,aAAqB;IAC3B,WAAW,SAAgC;IAC3C,kBAAkB,SAAqC;IACvD,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAA2B;IAC/B,MAAM,aAAqB;IAC3B,WAAW,SAAwC;IACnD,kBAAkB,SAA6C;IAC/D,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,eAAe;IACvD,IAAI,SAAoB;IACxB,MAAM,aAAuB;IAC7B,WAAW,SAAmC;IAC9C,kBAAkB,SAAwC;IAC1D,OAAO,SAAW;IAClB,6BAA6B,SAAa;CAC3C;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,eAAe;IAC9D,IAAI,SAA4B;IAChC,MAAM,aAAuB;IAC7B,WAAW,SAA2C;IACtD,kBAAkB,SAAgD;IAClE,OAAO,SAAW;IAClB,6BAA6B,SAAa;CAC3C;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAa;IACjB,MAAM,aAAkB;IACxB,WAAW,SAAwC;IACnD,kBAAkB,SAA6C;IAC/D,OAAO,SAAO;IACd,6BAA6B,SAAS;CACvC;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAqB;IACzB,MAAM,aAAkB;IACxB,WAAW,SAAgD;IAC3D,kBAAkB,SAAqD;IACvE,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAmB;IACvB,MAAM,aAAoB;IAC1B,WAAW,SAA+C;IAC1D,kBAAkB,SAAoD;IACtE,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAmB;IACvB,MAAM,aAAoB;IAC1B,WAAW,SAA+C;IAC1D,kBAAkB,SAAoD;IACtE,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,iBAAkB,SAAQ,OAAQ,YAAW,eAAe;IAChE,IAAI,SAAuB;IAC3B,MAAM,aAAkB;IACxB,WAAW,SAAmD;IAC9D,kBAAkB,SAAwD;IAC1E,OAAO,SAAU;IACjB,6BAA6B,SAAY;IACzC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;CACvE;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAW;IACf,MAAM,aAAoB;IAC1B,WAAW,SAA+B;IAC1C,kBAAkB,SAAoC;IACtD,OAAO,SAAO;IACd,6BAA6B,SAAS;CACvC;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAkB;IACtB,MAAM,aAAoB;IAC1B,WAAW,SAAuC;IAClD,kBAAkB,SAA4C;IAC9D,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,eAAe;IACnD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAA6B;IACxC,kBAAkB,SAAkC;IACpD,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,eAAe;IAC1D,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAoC;IAC/C,kBAAkB,SAAyC;IAC3D,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,eAAe;IACnD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAuC;IAClD,kBAAkB,SAA4C;IAC9D,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,eAAe;IAC1D,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAA2C;IACtD,kBAAkB,SAAgD;IAClE,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AAED,cAAM,EAAG,SAAQ,OAAQ,YAAW,eAAe;IACjD,IAAI,SAAkB;IACtB,MAAM,aAAiB;IACvB,WAAW,SAAiC;IAC5C,kBAAkB,SAAsC;IACxD,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,eAAe;IACxD,IAAI,SAA0B;IAC9B,MAAM,aAAiB;IACvB,WAAW,SAAyC;IACpD,kBAAkB,SAA8C;IAChE,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,eAAe;IAClD,IAAI,SAAc;IAClB,MAAM,aAAkB;IACxB,WAAW,SAA6B;IACxC,kBAAkB,SAAkC;IACpD,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AACD,cAAM,UAAW,SAAQ,OAAQ,YAAW,eAAe;IACzD,IAAI,SAAqB;IACzB,MAAM,aAAkB;IACxB,WAAW,SAAqC;IAChD,kBAAkB,SAA0C;IAC5D,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AACD,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAgB;IACpB,MAAM,aAAoB;IAC1B,WAAW,SAAoC;IAC/C,kBAAkB,SAAyC;IAC3D,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AACD,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAuB;IAC3B,MAAM,aAAoB;IAC1B,WAAW,SAAyC;IACpD,kBAAkB,SAA8C;IAChE,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AACD,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAkB;IACtB,MAAM,aAAkB;IACxB,WAAW,SAA2C;IACtD,kBAAkB,SAAgD;IAClE,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AACD,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAW;IACf,MAAM,aAAkB;IACxB,WAAW,SAA2C;IACtD,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAgB;IACpB,MAAM,aAAoB;IAC1B,WAAW,SAA+B;IAC1C,kBAAkB,SAAoC;IACtD,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAuB;IAC3B,MAAM,aAAoB;IAC1B,WAAW,SAAuC;IAClD,kBAAkB,SAA4C;IAC9D,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,eAAe;IACtD,IAAI,SAAa;IACjB,MAAM,aAAsB;IAC5B,WAAW,SAAwC;IACnD,kBAAkB,SAA6C;IAC/D,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,2BAA2B,SAAgD;IAC3E,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,eAAe;IAC7D,IAAI,SAAoB;IACxB,MAAM,aAAsB;IAC5B,WAAW,SAA+C;IAC1D,kBAAkB,SAAoD;IACtE,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAY;IAChB,MAAM,aAAqB;IAC3B,WAAW,SAA8B;IACzC,kBAAkB,SAAmC;IACrD,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAmB;IACvB,MAAM,aAAqB;IAC3B,WAAW,SAAiD;IAC5D,kBAAkB,SAA4C;IAC9D,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAmB;IACvB,MAAM,aAAkB;IACxB,WAAW,SAAiD;IAC5D,kBAAkB,SAAsD;IACxE,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,oBAAoB,SAAgD;IACpE,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,2BAA2B,SAAgD;CAC5E;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,eAAe;IACnD,IAAI,SAAY;IAChB,MAAM,aAAmB;IACzB,WAAW,SAA0C;IACrD,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,2BAA2B,SAAgD;IAC3E,oBAAoB,SAAgD;IACpE,8BAA8B,SAAgD;IAC9E,uBAAuB,SAAgD;IACvE,sBAAsB,SAAgD;CACvE;AAED,qBAAa,MAAO,SAAQ,OAAQ,YAAW,YAAY;IACzD,OAAO,SAAW;IAClB,IAAI,SAAY;IAChB,MAAM,aAAmB;IACzB,WAAW,SAAwD;IACnE,kBAAkB,SAAmD;IACrE,YAAY,SAA2C;IACvD,kBAAkB,SAAuD;IACzE,kBAAkB,SAAqD;IACvE,SAAS,SAAM;IACf,GAAG,SAAW;IACd,KAAK,SAAO;IACZ,EAAE,SAAgB;IAClB,KAAK,SAAY;IACjB,SAAS,SAAa;IACtB,YAAY,SAAc;IAC1B,gBAAgB,SAAa;IAC7B,cAAc,SAAe;IAC7B,oBAAoB,SAAe;IACnC,aAAa,SAAe;IAC5B,aAAa,SAAc;IAC3B,cAAc,SAAS;IACvB,cAAc,SAAU;IACxB,SAAS,SAA2B;IACpC,QAAQ,SAAsB;IAC9B,gBAAgB,SAAa;IAC7B,gBAAgB,SAAc;IAC9B,kBAAkB,SAAoB;IACtC,gBAAgB,SAAO;IACvB,6BAA6B,SAAO;IACpC,qBAAqB,SAAa;IAClC,qBAAqB,SAAa;CACnC;AAED,qBAAa,aAAc,SAAQ,OAAQ,YAAW,YAAY;IAChE,IAAI,SAAmB;IACvB,MAAM,aAAmB;IACzB,WAAW,SAAuE;IAClF,kBAAkB,SAAmE;IACrF,cAAc,SAA2C;IACzD,YAAY,SAA2C;IACvD,kBAAkB,SAAuD;IACzE,kBAAkB,SAAsD;IACxE,SAAS,SAAO;IAChB,GAAG,SAAY;IACf,KAAK,SAAO;IACZ,OAAO,SAAuD;IAC9D,EAAE,SAAgB;IAClB,KAAK,SAAY;IACjB,SAAS,SAAa;IACtB,YAAY,SAAc;IAC1B,gBAAgB,SAAa;IAC7B,cAAc,SAAe;IAC7B,oBAAoB,SAAe;IACnC,aAAa,SAAe;IAC5B,aAAa,SAAc;IAC3B,cAAc,SAAS;IACvB,cAAc,SAAU;IACxB,SAAS,SAA6B;IACtC,QAAQ,SAAsB;IAC9B,gBAAgB,SAAa;IAC7B,gBAAgB,SAAc;IAC9B,kBAAkB,SAAoB;IACtC,gBAAgB,SAAO;IACvB,6BAA6B,SAAO;IACpC,qBAAqB,SAAa;IAClC,qBAAqB,SAAa;CACnC;AAED,qBAAa,KAAM,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAgB;IACpB,MAAM,aAAkB;IACxB,WAAW,SAA8C;IACzD,kBAAkB,SAAmD;IACrE,cAAc,SAA0C;IACxD,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,qBAAa,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAClE,IAAI,SAAuB;IAC3B,MAAM,aAAkB;IACxB,WAAW,SAAgD;IAC3D,kBAAkB,SAAqD;IACvE,OAAO,SAAO;IACd,6BAA6B,SAAS;IACtC,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;IAC3E,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AACD,cAAM,QAAS,SAAQ,OAAQ,YAAW,eAAe;IACvD,IAAI,SAAmB;IACvB,MAAM,aAAkB;IACxB,WAAW,SAAiD;IAC5D,kBAAkB,SAAsD;IACxE,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AACD,cAAM,eAAgB,SAAQ,OAAQ,YAAW,eAAe;IAC9D,IAAI,SAA0B;IAC9B,MAAM,aAAkB;IACxB,WAAW,SAA+C;IAC1D,kBAAkB,SAAoD;IACtE,OAAO,SAAM;IACb,6BAA6B,SAAQ;IACrC,sBAAsB,SAAgD;IACtE,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AACD,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,eAAe;IAE/D,IAAI,SAAsB;IAC1B,MAAM,aAAsB;IAC5B,WAAW,SAAsC;IACjD,kBAAkB,SAA2C;IAC7D,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,wBAAwB,SAAiB;IACzC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;CAC5E;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,eAAe;IAExD,IAAI,SAAe;IACnB,MAAM,aAAsB;IAC5B,WAAW,SAA8B;IACzC,kBAAkB,SAAmC;IACrD,OAAO,SAAQ;IACf,6BAA6B,SAAU;IACvC,wBAAwB,SAAgB;IACxC,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;IAC9E,oBAAoB,SAAgD;IACpE,2BAA2B,SAAgD;CAC5E;AAED,cAAM,QAAS,SAAQ,OAAQ,YAAW,cAAc;IACtD,IAAI,SAAc;IAClB,MAAM,aAAoB;IAC1B,WAAW,SAA4C;IACvD,QAAQ,SAAsB;IAC9B,WAAW,SAAwE;IACnF,WAAW,SAAW;IACtB,SAAS,SAAsB;IAC/B,SAAS,SAAK;CACf;AAED,cAAM,eAAgB,SAAQ,OAAQ,YAAW,cAAc;IAC7D,IAAI,SAAqB;IACzB,MAAM,aAAoB;IAC1B,WAAW,SAAoD;IAC/D,QAAQ,EAAyB,qBAAqB,CAAC;IACvD,WAAW,SAAwE;IACnF,WAAW,SAAW;IACtB,SAAS,SAAsB;IAC/B,SAAS,SAAK;CACf;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,eAAe;IAClD,IAAI,SAAa;IACjB,MAAM,aAAkB;IACxB,WAAW,SAA+C;IAC1D,kBAAkB,SAA2C;IAC7D,OAAO,SAAU;IACjB,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,eAAe;IACzD,IAAI,SAAoB;IACxB,MAAM,aAAkB;IACxB,WAAW,SAAuD;IAClE,kBAAkB,SAAmD;IACrE,OAAO,SAAU;IACjB,uBAAuB,SAAgD;IACvE,8BAA8B,SAAgD;CAC/E;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,cAAc;IAClD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAwD;IACnE,kBAAkB,SAAwD;CAC3E;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,cAAc;IACzD,IAAI,SAAkB;IACtB,MAAM,aAAmB;IACzB,WAAW,SAAwD;IACnE,kBAAkB,SAAwD;CAC3E;AAED,cAAM,IAAK,SAAQ,OAAQ,YAAW,eAAe;IACnD,IAAI,SAAU;IACd,MAAM,aAAmB;IACzB,WAAW,SAAiC;IAC5C,kBAAkB,SAAsC;IACxD,OAAO,SAAO;IACd,6BAA6B,SAAS;CACvC;AAED,cAAM,WAAY,SAAQ,OAAQ,YAAW,eAAe;IAC1D,IAAI,SAAiB;IACrB,MAAM,aAAmB;IACzB,WAAW,SAAyC;IACpD,kBAAkB,SAA8C;IAChE,OAAO,SAAO;IACd,6BAA6B,SAAS;CACvC;AAED,cAAM,OAAQ,SAAQ,OAAQ,YAAW,eAAe;IACtD,IAAI,SAAa;IACjB,MAAM,aAAsB;IAC5B,WAAW,SAAsC;IACjD,kBAAkB,SAA2C;IAC7D,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,cAAe,SAAQ,OAAQ,YAAW,eAAe;IAC7D,IAAI,SAAoB;IACxB,MAAM,aAAsB;IAC5B,WAAW,SAAwC;IACnD,kBAAkB,SAA6C;IAC/D,OAAO,SAAQ;IACf,6BAA6B,SAAU;CACxC;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAW;IACf,MAAM,aAAoB;IAC1B,WAAW,SAAoC;IAC/C,kBAAkB,SAAyC;IAC3D,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,eAAe;IAC/D,IAAI,SAAwB;IAC5B,MAAM,aAAsB;IAC5B,WAAW,SAA8C;IACzD,kBAAkB,SAA0C;IAC5D,OAAO,SAAO;IACd,6BAA6B,SAAS;CACvC;AAED,cAAM,SAAU,SAAQ,OAAQ,YAAW,eAAe;IACxD,IAAI,SAAgB;IACpB,MAAM,aAAsB;IAC5B,WAAW,SAA8C;IACzD,kBAAkB,SAA0C;IAC5D,OAAO,SAAO;IACd,6BAA6B,SAAS;CACvC;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAkB;IACtB,MAAM,aAAoB;IAC1B,WAAW,SAA4C;IACvD,kBAAkB,SAAiD;IACnE,OAAO,SAAS;IAChB,6BAA6B,SAAW;CACzC;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,WAAW;IACjD,IAAI,SAAY;IAChB,MAAM,aAAqB;IAC3B,WAAW,SAAgC;CAC5C;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,WAAW;IACxD,IAAI,SAAmB;IACvB,MAAM,aAAqB;IAC3B,WAAW,SAAuC;CACnD;AAED,cAAM,MAAO,SAAQ,OAAQ,YAAW,eAAe;IACrD,IAAI,SAAa;IACjB,MAAM,aAAqB;IAC3B,WAAW,SAA+C;IAC1D,kBAAkB,SAAqD;IACvE,OAAO,SAAW;IAClB,6BAA6B,SAAa;CAC3C;AAED,cAAM,aAAc,SAAQ,OAAQ,YAAW,eAAe;IAC5D,IAAI,SAAqB;IACzB,MAAM,aAAqB;IAC3B,WAAW,SAA+C;IAC1D,kBAAkB,SAAoD;IACtE,OAAO,SAAW;IAClB,6BAA6B,SAAa;CAC3C;AAED,cAAM,UAAW,SAAQ,OAAQ,YAAW,eAAe;IACzD,IAAI,SAAiB;IACrB,MAAM,aAAkB;IACxB,WAAW,SAAsC;IACjD,kBAAkB,SAA0C;IAC5D,OAAO,SAAW;IAClB,6BAA6B,SAAa;CAC3C;AAED,cAAM,GAAI,SAAQ,OAAQ,YAAW,eAAe;IAClD,IAAI,SAAS;IACb,MAAM,aAAkB;IACxB,WAAW,SAAsC;IACjD,kBAAkB,SAA0C;IAC5D,OAAO,SAAW;IAClB,6BAA6B,SAAa;CAC3C;AAED,cAAM,KAAM,SAAQ,OAAQ,YAAW,eAAe;IACpD,IAAI,SAAW;IACf,MAAM,aAAoB;IAC1B,WAAW,SAAiC;IAC5C,kBAAkB,SAAsC;IACxD,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,wBAAwB,SAAiB;CAC1C;AAED,cAAM,YAAa,SAAQ,OAAQ,YAAW,eAAe;IAC3D,IAAI,SAAmB;IACvB,MAAM,aAAoB;IAC1B,WAAW,SAAiC;IAC5C,kBAAkB,SAAsC;IACxD,OAAO,SAAS;IAChB,6BAA6B,SAAW;IACxC,wBAAwB,SAAW;CACpC;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8NpB,CAAC"}