@bitgo-beta/statics 0.0.0-semantic-release-managed

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.mocharc.js +10 -0
  2. package/.prettierignore +2 -0
  3. package/CHANGELOG.md +3870 -0
  4. package/LICENSE +191 -0
  5. package/README.md +124 -0
  6. package/dist/src/account.d.ts +1600 -0
  7. package/dist/src/account.d.ts.map +1 -0
  8. package/dist/src/account.js +2491 -0
  9. package/dist/src/ada.d.ts +35 -0
  10. package/dist/src/ada.d.ts.map +1 -0
  11. package/dist/src/ada.js +65 -0
  12. package/dist/src/allCoinsAndTokens.d.ts +2 -0
  13. package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
  14. package/dist/src/allCoinsAndTokens.js +796 -0
  15. package/dist/src/avaxp.d.ts +40 -0
  16. package/dist/src/avaxp.d.ts.map +1 -0
  17. package/dist/src/avaxp.js +65 -0
  18. package/dist/src/base.d.ts +3022 -0
  19. package/dist/src/base.d.ts.map +1 -0
  20. package/dist/src/base.js +3208 -0
  21. package/dist/src/coinFeatures.d.ts +103 -0
  22. package/dist/src/coinFeatures.d.ts.map +1 -0
  23. package/dist/src/coinFeatures.js +621 -0
  24. package/dist/src/coins/adaTokens.d.ts +2 -0
  25. package/dist/src/coins/adaTokens.d.ts.map +1 -0
  26. package/dist/src/coins/adaTokens.js +12 -0
  27. package/dist/src/coins/avaxTokens.d.ts +2 -0
  28. package/dist/src/coins/avaxTokens.d.ts.map +1 -0
  29. package/dist/src/coins/avaxTokens.js +123 -0
  30. package/dist/src/coins/botOfcTokens.d.ts +2 -0
  31. package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
  32. package/dist/src/coins/botOfcTokens.js +5 -0
  33. package/dist/src/coins/botTokens.d.ts +2 -0
  34. package/dist/src/coins/botTokens.d.ts.map +1 -0
  35. package/dist/src/coins/botTokens.js +5 -0
  36. package/dist/src/coins/bscTokens.d.ts +2 -0
  37. package/dist/src/coins/bscTokens.d.ts.map +1 -0
  38. package/dist/src/coins/bscTokens.js +175 -0
  39. package/dist/src/coins/cosmosTokens.d.ts +2 -0
  40. package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
  41. package/dist/src/coins/cosmosTokens.js +12 -0
  42. package/dist/src/coins/erc20Coins.d.ts +2 -0
  43. package/dist/src/coins/erc20Coins.d.ts.map +1 -0
  44. package/dist/src/coins/erc20Coins.js +1743 -0
  45. package/dist/src/coins/jettonTokens.d.ts +2 -0
  46. package/dist/src/coins/jettonTokens.d.ts.map +1 -0
  47. package/dist/src/coins/jettonTokens.js +13 -0
  48. package/dist/src/coins/nep141Tokens.d.ts +2 -0
  49. package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
  50. package/dist/src/coins/nep141Tokens.js +14 -0
  51. package/dist/src/coins/ofcCoins.d.ts +2 -0
  52. package/dist/src/coins/ofcCoins.d.ts.map +1 -0
  53. package/dist/src/coins/ofcCoins.js +700 -0
  54. package/dist/src/coins/ofcErc20Coins.d.ts +3 -0
  55. package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
  56. package/dist/src/coins/ofcErc20Coins.js +1539 -0
  57. package/dist/src/coins/polygonTokens.d.ts +2 -0
  58. package/dist/src/coins/polygonTokens.d.ts.map +1 -0
  59. package/dist/src/coins/polygonTokens.js +155 -0
  60. package/dist/src/coins/sip10Tokens.d.ts +2 -0
  61. package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
  62. package/dist/src/coins/sip10Tokens.js +25 -0
  63. package/dist/src/coins/solTokens.d.ts +3 -0
  64. package/dist/src/coins/solTokens.d.ts.map +1 -0
  65. package/dist/src/coins/solTokens.js +394 -0
  66. package/dist/src/coins/vetTokens.d.ts +2 -0
  67. package/dist/src/coins/vetTokens.d.ts.map +1 -0
  68. package/dist/src/coins/vetTokens.js +11 -0
  69. package/dist/src/coins.d.ts +14 -0
  70. package/dist/src/coins.d.ts.map +1 -0
  71. package/dist/src/coins.js +325 -0
  72. package/dist/src/constants.d.ts +3 -0
  73. package/dist/src/constants.d.ts.map +1 -0
  74. package/dist/src/constants.js +6 -0
  75. package/dist/src/errors.d.ts +37 -0
  76. package/dist/src/errors.d.ts.map +1 -0
  77. package/dist/src/errors.js +74 -0
  78. package/dist/src/flrp.d.ts +40 -0
  79. package/dist/src/flrp.d.ts.map +1 -0
  80. package/dist/src/flrp.js +65 -0
  81. package/dist/src/index.d.ts +12 -0
  82. package/dist/src/index.d.ts.map +1 -0
  83. package/dist/src/index.js +60 -0
  84. package/dist/src/lightning.d.ts +43 -0
  85. package/dist/src/lightning.d.ts.map +1 -0
  86. package/dist/src/lightning.js +60 -0
  87. package/dist/src/map.d.ts +32 -0
  88. package/dist/src/map.d.ts.map +1 -0
  89. package/dist/src/map.js +181 -0
  90. package/dist/src/networkFeatureMapForTokens.d.ts +3 -0
  91. package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
  92. package/dist/src/networkFeatureMapForTokens.js +31 -0
  93. package/dist/src/networks.d.ts +1952 -0
  94. package/dist/src/networks.d.ts.map +1 -0
  95. package/dist/src/networks.js +2429 -0
  96. package/dist/src/ofc.d.ts +727 -0
  97. package/dist/src/ofc.d.ts.map +1 -0
  98. package/dist/src/ofc.js +1617 -0
  99. package/dist/src/tokenConfig.d.ts +365 -0
  100. package/dist/src/tokenConfig.d.ts.map +1 -0
  101. package/dist/src/tokenConfig.js +955 -0
  102. package/dist/src/utxo.d.ts +43 -0
  103. package/dist/src/utxo.d.ts.map +1 -0
  104. package/dist/src/utxo.js +141 -0
  105. package/dist/tsconfig.tsbuildinfo +1 -0
  106. package/package.json +41 -0
@@ -0,0 +1,40 @@
1
+ import { BaseCoin, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
2
+ import { AvalancheNetwork } from './networks';
3
+ export interface AVAXPConstructorOptions {
4
+ id: string;
5
+ fullName: string;
6
+ name: string;
7
+ network: AvalancheNetwork;
8
+ features: CoinFeature[];
9
+ asset: UnderlyingAsset;
10
+ prefix?: string;
11
+ suffix?: string;
12
+ primaryKeyCurve: KeyCurve;
13
+ }
14
+ export declare class AVAXPCoin extends BaseCoin {
15
+ static readonly DEFAULT_FEATURES: CoinFeature[];
16
+ /**
17
+ * Additional fields for utxo coins
18
+ */
19
+ readonly network: AvalancheNetwork;
20
+ constructor(options: AVAXPConstructorOptions);
21
+ protected disallowedFeatures(): Set<CoinFeature>;
22
+ protected requiredFeatures(): Set<CoinFeature>;
23
+ }
24
+ /**
25
+ * Factory function for utxo coin instances.
26
+ *
27
+ * @param id uuid v4
28
+ * @param name unique identifier of the coin
29
+ * @param fullName Complete human-readable name of the coin
30
+ * @param network Network object for this coin
31
+ * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
32
+ * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `UtxoCoin`
33
+ * @param prefix? Optional coin prefix. Defaults to empty string
34
+ * @param suffix? Optional coin suffix. Defaults to coin name.
35
+ * @param primaryKeyCurve The elliptic curve for this chain/token
36
+ */
37
+ export declare function avaxp(id: string, name: string, fullName: string, network: AvalancheNetwork, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string,
38
+ /** All UTXOs BitGo supports are SECP256K1 **/
39
+ primaryKeyCurve?: KeyCurve): Readonly<AVAXPCoin>;
40
+ //# sourceMappingURL=avaxp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avaxp.d.ts","sourceRoot":"","sources":["../../src/avaxp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,qBAAa,SAAU,SAAQ,QAAQ;IACrC,gBAAuB,gBAAgB,gBAWrC;IAEF;;OAEG;IACH,SAAgB,OAAO,EAAE,gBAAgB,CAAC;gBAE9B,OAAO,EAAE,uBAAuB;IAY5C,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,eAAe,EACtB,QAAQ,GAAE,WAAW,EAA+B,EACpD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,8CAA8C;AAC9C,eAAe,GAAE,QAA6B,uBAe/C"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AVAXPCoin = void 0;
4
+ exports.avaxp = avaxp;
5
+ const base_1 = require("./base");
6
+ class AVAXPCoin extends base_1.BaseCoin {
7
+ constructor(options) {
8
+ super({
9
+ ...options,
10
+ kind: base_1.CoinKind.CRYPTO,
11
+ isToken: false,
12
+ decimalPlaces: 9,
13
+ baseUnit: base_1.BaseUnit.ETH,
14
+ });
15
+ this.network = options.network;
16
+ }
17
+ disallowedFeatures() {
18
+ return new Set([base_1.CoinFeature.ACCOUNT_MODEL]);
19
+ }
20
+ requiredFeatures() {
21
+ return new Set([base_1.CoinFeature.UNSPENT_MODEL]);
22
+ }
23
+ }
24
+ exports.AVAXPCoin = AVAXPCoin;
25
+ AVAXPCoin.DEFAULT_FEATURES = [
26
+ base_1.CoinFeature.UNSPENT_MODEL,
27
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
28
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
29
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
30
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
31
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
32
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
33
+ base_1.CoinFeature.MULTISIG_COLD,
34
+ base_1.CoinFeature.MULTISIG,
35
+ base_1.CoinFeature.STAKING,
36
+ ];
37
+ /**
38
+ * Factory function for utxo coin instances.
39
+ *
40
+ * @param id uuid v4
41
+ * @param name unique identifier of the coin
42
+ * @param fullName Complete human-readable name of the coin
43
+ * @param network Network object for this coin
44
+ * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
45
+ * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `UtxoCoin`
46
+ * @param prefix? Optional coin prefix. Defaults to empty string
47
+ * @param suffix? Optional coin suffix. Defaults to coin name.
48
+ * @param primaryKeyCurve The elliptic curve for this chain/token
49
+ */
50
+ function avaxp(id, name, fullName, network, asset, features = AVAXPCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(),
51
+ /** All UTXOs BitGo supports are SECP256K1 **/
52
+ primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
53
+ return Object.freeze(new AVAXPCoin({
54
+ id,
55
+ name,
56
+ fullName,
57
+ network,
58
+ prefix,
59
+ suffix,
60
+ features,
61
+ asset,
62
+ primaryKeyCurve,
63
+ }));
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZheHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXZheHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0VBLHNCQXlCQztBQTdGRCxpQ0FBOEY7QUFlOUYsTUFBYSxTQUFVLFNBQVEsZUFBUTtJQW1CckMsWUFBWSxPQUFnQztRQUMxQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsZUFBUSxDQUFDLE1BQU07WUFDckIsT0FBTyxFQUFFLEtBQUs7WUFDZCxhQUFhLEVBQUUsQ0FBQztZQUNoQixRQUFRLEVBQUUsZUFBUSxDQUFDLEdBQUc7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2pDLENBQUM7SUFFUyxrQkFBa0I7UUFDMUIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGtCQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxrQkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7QUFyQ0gsOEJBc0NDO0FBckN3QiwwQkFBZ0IsR0FBRztJQUN4QyxrQkFBVyxDQUFDLGFBQWE7SUFDekIsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyxxQkFBcUI7SUFDakMsa0JBQVcsQ0FBQyx1QkFBdUI7SUFDbkMsa0JBQVcsQ0FBQyxhQUFhO0lBQ3pCLGtCQUFXLENBQUMsUUFBUTtJQUNwQixrQkFBVyxDQUFDLE9BQU87Q0FDcEIsQ0FBQztBQTRCSjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFnQixLQUFLLENBQ25CLEVBQVUsRUFDVixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsT0FBeUIsRUFDekIsS0FBc0IsRUFDdEIsV0FBMEIsU0FBUyxDQUFDLGdCQUFnQixFQUNwRCxNQUFNLEdBQUcsRUFBRSxFQUNYLFNBQWlCLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDbkMsOENBQThDO0FBQzlDLGtCQUE0QixlQUFRLENBQUMsU0FBUztJQUU5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLElBQUksU0FBUyxDQUFDO1FBQ1osRUFBRTtRQUNGLElBQUk7UUFDSixRQUFRO1FBQ1IsT0FBTztRQUNQLE1BQU07UUFDTixNQUFNO1FBQ04sUUFBUTtRQUNSLEtBQUs7UUFDTCxlQUFlO0tBQ2hCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luLCBCYXNlVW5pdCwgQ29pbkZlYXR1cmUsIENvaW5LaW5kLCBLZXlDdXJ2ZSwgVW5kZXJseWluZ0Fzc2V0IH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEF2YWxhbmNoZU5ldHdvcmsgfSBmcm9tICcuL25ldHdvcmtzJztcblxuZXhwb3J0IGludGVyZmFjZSBBVkFYUENvbnN0cnVjdG9yT3B0aW9ucyB7XG4gIGlkOiBzdHJpbmc7XG4gIGZ1bGxOYW1lOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgbmV0d29yazogQXZhbGFuY2hlTmV0d29yaztcbiAgZmVhdHVyZXM6IENvaW5GZWF0dXJlW107XG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQ7XG4gIHByZWZpeD86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xuICBwcmltYXJ5S2V5Q3VydmU6IEtleUN1cnZlO1xufVxuXG5leHBvcnQgY2xhc3MgQVZBWFBDb2luIGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRkVBVFVSRVMgPSBbXG4gICAgQ29pbkZlYXR1cmUuVU5TUEVOVF9NT0RFTCxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNULFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fSU5ESUEsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0NVU1RPRFlfTUVOQV9GWkUsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICAgIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gICAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gICAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgXTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBmaWVsZHMgZm9yIHV0eG8gY29pbnNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuZXR3b3JrOiBBdmFsYW5jaGVOZXR3b3JrO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFWQVhQQ29uc3RydWN0b3JPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGtpbmQ6IENvaW5LaW5kLkNSWVBUTyxcbiAgICAgIGlzVG9rZW46IGZhbHNlLFxuICAgICAgZGVjaW1hbFBsYWNlczogOSxcbiAgICAgIGJhc2VVbml0OiBCYXNlVW5pdC5FVEgsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5ldHdvcmsgPSBvcHRpb25zLm5ldHdvcms7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzYWxsb3dlZEZlYXR1cmVzKCk6IFNldDxDb2luRmVhdHVyZT4ge1xuICAgIHJldHVybiBuZXcgU2V0KFtDb2luRmVhdHVyZS5BQ0NPVU5UX01PREVMXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVxdWlyZWRGZWF0dXJlcygpOiBTZXQ8Q29pbkZlYXR1cmU+IHtcbiAgICByZXR1cm4gbmV3IFNldChbQ29pbkZlYXR1cmUuVU5TUEVOVF9NT0RFTF0pO1xuICB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiBmb3IgdXR4byBjb2luIGluc3RhbmNlcy5cbiAqXG4gKiBAcGFyYW0gaWQgdXVpZCB2NFxuICogQHBhcmFtIG5hbWUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBmdWxsTmFtZSBDb21wbGV0ZSBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSBjb2luXG4gKiBAcGFyYW0gbmV0d29yayBOZXR3b3JrIG9iamVjdCBmb3IgdGhpcyBjb2luXG4gKiBAcGFyYW0gYXNzZXQgQXNzZXQgd2hpY2ggdGhpcyBjb2luIHJlcHJlc2VudHMuIFRoaXMgaXMgdGhlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCB2YXJpYW50cyBvZiBhIGNvaW4uXG4gKiBAcGFyYW0gZmVhdHVyZXM/IEZlYXR1cmVzIG9mIHRoaXMgY29pbi4gRGVmYXVsdHMgdG8gdGhlIERFRkFVTFRfRkVBVFVSRVMgZGVmaW5lZCBpbiBgVXR4b0NvaW5gXG4gKiBAcGFyYW0gcHJlZml4PyBPcHRpb25hbCBjb2luIHByZWZpeC4gRGVmYXVsdHMgdG8gZW1wdHkgc3RyaW5nXG4gKiBAcGFyYW0gc3VmZml4PyBPcHRpb25hbCBjb2luIHN1ZmZpeC4gRGVmYXVsdHMgdG8gY29pbiBuYW1lLlxuICogQHBhcmFtIHByaW1hcnlLZXlDdXJ2ZSBUaGUgZWxsaXB0aWMgY3VydmUgZm9yIHRoaXMgY2hhaW4vdG9rZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF2YXhwKFxuICBpZDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIGZ1bGxOYW1lOiBzdHJpbmcsXG4gIG5ldHdvcms6IEF2YWxhbmNoZU5ldHdvcmssXG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQsXG4gIGZlYXR1cmVzOiBDb2luRmVhdHVyZVtdID0gQVZBWFBDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIHByZWZpeCA9ICcnLFxuICBzdWZmaXg6IHN0cmluZyA9IG5hbWUudG9VcHBlckNhc2UoKSxcbiAgLyoqIEFsbCBVVFhPcyBCaXRHbyBzdXBwb3J0cyBhcmUgU0VDUDI1NksxICoqL1xuICBwcmltYXJ5S2V5Q3VydmU6IEtleUN1cnZlID0gS2V5Q3VydmUuU2VjcDI1NmsxXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5mcmVlemUoXG4gICAgbmV3IEFWQVhQQ29pbih7XG4gICAgICBpZCxcbiAgICAgIG5hbWUsXG4gICAgICBmdWxsTmFtZSxcbiAgICAgIG5ldHdvcmssXG4gICAgICBwcmVmaXgsXG4gICAgICBzdWZmaXgsXG4gICAgICBmZWF0dXJlcyxcbiAgICAgIGFzc2V0LFxuICAgICAgcHJpbWFyeUtleUN1cnZlLFxuICAgIH0pXG4gICk7XG59XG4iXX0=