@bitgo-beta/account-lib 2.24.1-alpha.50 → 2.24.1-alpha.500

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 (74) hide show
  1. package/README.md +1 -1
  2. package/dist/resources/dot/index.js +6 -2
  3. package/dist/resources/dot/westend.d.ts +1 -1
  4. package/dist/resources/dot/westend.d.ts.map +1 -1
  5. package/dist/resources/dot/westend.js +2 -2
  6. package/dist/resources/dot/westend.ts +1 -1
  7. package/dist/src/index.d.ts +114 -4
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +269 -17
  10. package/dist/src/keyPair/index.js +24 -11
  11. package/dist/src/utils/index.d.ts +1 -0
  12. package/dist/src/utils/index.d.ts.map +1 -1
  13. package/dist/src/utils/index.js +27 -10
  14. package/dist/src/utils/messages/index.d.ts +10 -0
  15. package/dist/src/utils/messages/index.d.ts.map +1 -0
  16. package/dist/src/utils/messages/index.js +30 -0
  17. package/dist/test/resources/ed25519Deriver.d.ts +15 -0
  18. package/dist/test/resources/ed25519Deriver.d.ts.map +1 -0
  19. package/dist/test/resources/ed25519Deriver.js +18 -0
  20. package/dist/test/resources/testTransaction.d.ts +11 -0
  21. package/dist/test/resources/testTransaction.d.ts.map +1 -0
  22. package/dist/test/resources/testTransaction.js +19 -0
  23. package/dist/test/resources/testTransactionBuilder.d.ts +26 -0
  24. package/dist/test/resources/testTransactionBuilder.d.ts.map +1 -0
  25. package/dist/test/resources/testTransactionBuilder.js +47 -0
  26. package/dist/test/unit/coin/baseCoin/transactionBuilder.d.ts +2 -0
  27. package/dist/test/unit/coin/baseCoin/transactionBuilder.d.ts.map +1 -0
  28. package/dist/test/unit/coin/baseCoin/transactionBuilder.js +135 -0
  29. package/dist/test/unit/fixtures.d.ts +16 -0
  30. package/dist/test/unit/fixtures.d.ts.map +1 -0
  31. package/dist/test/unit/fixtures.js +43 -0
  32. package/dist/test/unit/index.d.ts +2 -0
  33. package/dist/test/unit/index.d.ts.map +1 -0
  34. package/dist/test/unit/index.js +13 -0
  35. package/dist/test/unit/keyPair/index.d.ts +2 -0
  36. package/dist/test/unit/keyPair/index.d.ts.map +1 -0
  37. package/dist/test/unit/keyPair/index.js +132 -0
  38. package/dist/test/unit/messageFactory.d.ts +2 -0
  39. package/dist/test/unit/messageFactory.d.ts.map +1 -0
  40. package/dist/test/unit/messageFactory.js +78 -0
  41. package/dist/test/unit/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  42. package/dist/test/unit/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  43. package/dist/test/unit/mpc/tss/ecdsa/ecdsa.js +333 -0
  44. package/dist/test/unit/mpc/tss/eddsa/eddsa.d.ts +5 -0
  45. package/dist/test/unit/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
  46. package/dist/test/unit/mpc/tss/eddsa/eddsa.js +322 -0
  47. package/dist/test/unit/mpc/tss/fixtures/ecdsa.d.ts +130 -0
  48. package/dist/test/unit/mpc/tss/fixtures/ecdsa.d.ts.map +1 -0
  49. package/dist/test/unit/mpc/tss/fixtures/ecdsa.js +283 -0
  50. package/dist/test/unit/utils/crypto.d.ts +2 -0
  51. package/dist/test/unit/utils/crypto.d.ts.map +1 -0
  52. package/dist/test/unit/utils/crypto.js +60 -0
  53. package/dist/test/unit/utils/ed25519KeyDeriver.d.ts +2 -0
  54. package/dist/test/unit/utils/ed25519KeyDeriver.d.ts.map +1 -0
  55. package/dist/test/unit/utils/ed25519KeyDeriver.js +23 -0
  56. package/dist/test/unit/utils/index.d.ts +2 -0
  57. package/dist/test/unit/utils/index.d.ts.map +1 -0
  58. package/dist/test/unit/utils/index.js +61 -0
  59. package/dist/test/unit/utils/messages/index.d.ts +2 -0
  60. package/dist/test/unit/utils/messages/index.d.ts.map +1 -0
  61. package/dist/test/unit/utils/messages/index.js +51 -0
  62. package/dist/test/unit/verifyMessage.d.ts +2 -0
  63. package/dist/test/unit/verifyMessage.d.ts.map +1 -0
  64. package/dist/test/unit/verifyMessage.js +96 -0
  65. package/dist/tsconfig.tsbuildinfo +1 -43715
  66. package/package.json +79 -32
  67. package/.mocharc.js +0 -10
  68. package/CHANGELOG.md +0 -422
  69. package/DEVELOPER.md +0 -93
  70. package/resources/README.md +0 -17
  71. package/resources/cspr/contract/keys-manager.wasm +0 -0
  72. package/resources/dot/index.ts +0 -2
  73. package/resources/dot/mainnet.ts +0 -2
  74. package/resources/dot/westend.ts +0 -2
@@ -1,6 +1,6 @@
1
+ import { BaseBuilder, BaseTransactionBuilderFactory, Ed25519KeyDeriver, Ed25519BIP32, Eddsa, accountLibBaseCoin, acountLibCrypto, BaseMessageBuilderFactory, MessageStandardType } from '@bitgo-beta/sdk-core';
1
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
- import { acountLibCrypto, accountLibBaseCoin, BaseBuilder, BaseTransactionBuilderFactory, Ed25519BIP32, Ed25519KeyDeriver, Eddsa } from '@bitgo-beta/sdk-core';
3
- export { Eddsa, Ed25519BIP32 };
3
+ export { Ed25519BIP32, Eddsa };
4
4
  /**
5
5
  * Deprecated after version 2.19.0
6
6
  * Retained for short term backwards compatibility - migrate to: @bitgo-beta/sdk-api and @bitgo-beta/sdk-core
@@ -18,8 +18,6 @@ import { XtzLib as Xtz } from '@bitgo-beta/sdk-coin-xtz';
18
18
  export { Xtz };
19
19
  import * as Eth from '@bitgo-beta/sdk-coin-eth';
20
20
  export { Eth };
21
- import * as Eth2 from '@bitgo-beta/sdk-coin-eth2';
22
- export { Eth2 };
23
21
  import * as Etc from '@bitgo-beta/sdk-coin-etc';
24
22
  export { Etc };
25
23
  import * as AvaxC from '@bitgo-beta/sdk-coin-avaxc';
@@ -36,12 +34,48 @@ import { StxLib as Stx } from '@bitgo-beta/sdk-coin-stx';
36
34
  export { Stx };
37
35
  import { AlgoLib as Algo } from '@bitgo-beta/sdk-coin-algo';
38
36
  export { Algo };
37
+ import * as Arbeth from '@bitgo-beta/sdk-coin-arbeth';
38
+ export { Arbeth };
39
39
  import * as Atom from '@bitgo-beta/sdk-coin-atom';
40
40
  export { Atom };
41
+ import * as Osmo from '@bitgo-beta/sdk-coin-osmo';
42
+ export { Osmo };
41
43
  import { AvaxpLib as AvaxP } from '@bitgo-beta/sdk-coin-avaxp';
42
44
  export { AvaxP };
45
+ import * as Tia from '@bitgo-beta/sdk-coin-tia';
46
+ export { Tia };
47
+ import * as Bera from '@bitgo-beta/sdk-coin-bera';
48
+ export { Bera };
49
+ import * as Bld from '@bitgo-beta/sdk-coin-bld';
50
+ export { Bld };
51
+ import * as Hash from '@bitgo-beta/sdk-coin-hash';
52
+ export { Hash };
53
+ import * as Sei from '@bitgo-beta/sdk-coin-sei';
54
+ export { Sei };
55
+ import * as Injective from '@bitgo-beta/sdk-coin-injective';
56
+ export { Injective };
57
+ import * as Islm from '@bitgo-beta/sdk-coin-islm';
58
+ export { Islm };
59
+ import * as Zeta from '@bitgo-beta/sdk-coin-zeta';
60
+ export { Zeta };
61
+ import * as Coreum from '@bitgo-beta/sdk-coin-coreum';
62
+ export { Coreum };
63
+ import * as Rune from '@bitgo-beta/sdk-coin-rune';
64
+ export { Rune };
65
+ import * as Baby from '@bitgo-beta/sdk-coin-baby';
66
+ export { Baby };
67
+ import * as Mon from '@bitgo-beta/sdk-coin-mon';
68
+ export { Mon };
69
+ import * as Cronos from '@bitgo-beta/sdk-coin-cronos';
70
+ export { Cronos };
71
+ import * as Initia from '@bitgo-beta/sdk-coin-initia';
72
+ export { Initia };
73
+ import * as Asi from '@bitgo-beta/sdk-coin-asi';
74
+ export { Asi };
43
75
  import * as Sol from '@bitgo-beta/sdk-coin-sol';
44
76
  export { Sol };
77
+ import * as Ada from '@bitgo-beta/sdk-coin-ada';
78
+ export { Ada };
45
79
  import * as Dot from '@bitgo-beta/sdk-coin-dot';
46
80
  export { Dot };
47
81
  import * as Near from '@bitgo-beta/sdk-coin-near';
@@ -50,8 +84,62 @@ import * as Bsc from '@bitgo-beta/sdk-coin-bsc';
50
84
  export { Bsc };
51
85
  import * as Polygon from '@bitgo-beta/sdk-coin-polygon';
52
86
  export { Polygon };
87
+ import * as Polyx from '@bitgo-beta/sdk-coin-polyx';
88
+ export { Polyx };
89
+ import * as Opeth from '@bitgo-beta/sdk-coin-opeth';
90
+ export { Opeth };
53
91
  import * as Sui from '@bitgo-beta/sdk-coin-sui';
54
92
  export { Sui };
93
+ import * as Ton from '@bitgo-beta/sdk-coin-ton';
94
+ export { Ton };
95
+ import * as XRP from '@bitgo-beta/sdk-coin-xrp';
96
+ export { XRP };
97
+ import * as zkEth from '@bitgo-beta/sdk-coin-zketh';
98
+ export { zkEth };
99
+ import * as Oas from '@bitgo-beta/sdk-coin-oas';
100
+ export { Oas };
101
+ import * as Coredao from '@bitgo-beta/sdk-coin-coredao';
102
+ export { Coredao };
103
+ import * as Apt from '@bitgo-beta/sdk-coin-apt';
104
+ export { Apt };
105
+ import * as Apechain from '@bitgo-beta/sdk-coin-apechain';
106
+ export { Apechain };
107
+ import * as Tao from '@bitgo-beta/sdk-coin-tao';
108
+ export { Tao };
109
+ import * as Tempo from '@bitgo-beta/sdk-coin-tempo';
110
+ export { Tempo };
111
+ import * as Icp from '@bitgo-beta/sdk-coin-icp';
112
+ export { Icp };
113
+ import * as Flr from '@bitgo-beta/sdk-coin-flr';
114
+ export { Flr };
115
+ import * as EvmCoin from '@bitgo-beta/sdk-coin-evm';
116
+ export { EvmCoin };
117
+ import * as Sgb from '@bitgo-beta/sdk-coin-sgb';
118
+ export { Sgb };
119
+ import * as Xdc from '@bitgo-beta/sdk-coin-xdc';
120
+ export { Xdc };
121
+ import * as Wemix from '@bitgo-beta/sdk-coin-wemix';
122
+ export { Wemix };
123
+ import * as World from '@bitgo-beta/sdk-coin-world';
124
+ export { World };
125
+ import * as Stt from '@bitgo-beta/sdk-coin-stt';
126
+ export { Stt };
127
+ import * as Soneium from '@bitgo-beta/sdk-coin-soneium';
128
+ export { Soneium };
129
+ import * as Starknet from '@bitgo-beta/sdk-coin-starknet';
130
+ export { Starknet };
131
+ import * as Vet from '@bitgo-beta/sdk-coin-vet';
132
+ export { Vet };
133
+ import * as CosmosSharedCoin from '@bitgo-beta/sdk-coin-cosmos';
134
+ export { CosmosSharedCoin };
135
+ import * as Canton from '@bitgo-beta/sdk-coin-canton';
136
+ export { Canton };
137
+ import { FlrPLib as FlrP } from '@bitgo-beta/sdk-coin-flrp';
138
+ export { FlrP };
139
+ import * as Kaspa from '@bitgo-beta/sdk-coin-kaspa';
140
+ export { Kaspa };
141
+ import { MIDNIGHT_TNC_HASH } from './utils';
142
+ export { MIDNIGHT_TNC_HASH };
55
143
  /**
56
144
  * Get the list of coin tickers supported by this library.
57
145
  */
@@ -63,6 +151,7 @@ export declare const supportedCoins: string[];
63
151
  * @returns {any} An instance of a {@code TransactionBuilder}
64
152
  */
65
153
  export declare function getBuilder(coinName: string): BaseBuilder;
154
+ export declare function getMessageBuilderFactory(coinName: string): BaseMessageBuilderFactory;
66
155
  /**
67
156
  * Register a new coin instance with its builder factory
68
157
  *
@@ -73,4 +162,25 @@ export declare function getBuilder(coinName: string): BaseBuilder;
73
162
  export declare function register<T extends BaseTransactionBuilderFactory>(coinName: string, builderFactory: {
74
163
  new (_coinConfig: Readonly<CoinConfig>): T;
75
164
  }): T;
165
+ /**
166
+ * Register a new coin instance with its message builder factory constructor.
167
+ *
168
+ * @param {string} coinName coin name as it was registered in @bitgo-beta/statics
169
+ * @param {any} messageBuilderFactory the message builder factory class for that coin
170
+ * @returns {any} the message builder factory instance for the registered coin
171
+ */
172
+ export declare function registerMessageBuilderFactory<T extends BaseMessageBuilderFactory>(coinName: string, messageBuilderFactory: {
173
+ new (_coinConfig: Readonly<CoinConfig>): T;
174
+ }): T;
175
+ /**
176
+ * Verify a message against the given encoded payload.
177
+ *
178
+ * @param {string} coinName - The name of the coin.
179
+ * @param {string} messageRaw - The raw message to verify.
180
+ * @param {string} messageEncoded - The encoded message to verify against.
181
+ * @param {MessageStandardType} messageStandardType - The type of message standard.
182
+ * @param {Record<string, unknown>} [metadata] - Optional metadata for verification.
183
+ * @returns {Promise<boolean>} - Returns true if the verification is successful, false otherwise.
184
+ */
185
+ export declare function verifyMessage(coinName: string, messageRaw: string, messageEncoded: string, messageStandardType: MessageStandardType, metadata?: Record<string, unknown>): Promise<boolean>;
76
186
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,20 +15,36 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
21
35
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.register = exports.getBuilder = exports.supportedCoins = exports.Sui = exports.Polygon = exports.Bsc = exports.Near = exports.Dot = exports.Sol = exports.AvaxP = exports.Atom = exports.Algo = exports.Stx = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth2 = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.Ed25519KeyDeriver = exports.crypto = exports.Ed25519BIP32 = exports.Eddsa = void 0;
23
- const statics_1 = require("@bitgo-beta/statics");
36
+ exports.Apt = exports.Coredao = exports.Oas = exports.zkEth = exports.XRP = exports.Ton = exports.Sui = exports.Opeth = exports.Polyx = exports.Polygon = exports.Bsc = exports.Near = exports.Dot = exports.Ada = exports.Sol = exports.Asi = exports.Initia = exports.Cronos = exports.Mon = exports.Baby = exports.Rune = exports.Coreum = exports.Zeta = exports.Islm = exports.Injective = exports.Sei = exports.Hash = exports.Bld = exports.Bera = exports.Tia = exports.AvaxP = exports.Osmo = exports.Atom = exports.Arbeth = exports.Algo = exports.Stx = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.Ed25519KeyDeriver = exports.crypto = exports.Eddsa = exports.Ed25519BIP32 = void 0;
37
+ exports.supportedCoins = exports.MIDNIGHT_TNC_HASH = exports.Kaspa = exports.FlrP = exports.Canton = exports.CosmosSharedCoin = exports.Vet = exports.Starknet = exports.Soneium = exports.Stt = exports.World = exports.Wemix = exports.Xdc = exports.Sgb = exports.EvmCoin = exports.Flr = exports.Icp = exports.Tempo = exports.Tao = exports.Apechain = void 0;
38
+ exports.getBuilder = getBuilder;
39
+ exports.getMessageBuilderFactory = getMessageBuilderFactory;
40
+ exports.register = register;
41
+ exports.registerMessageBuilderFactory = registerMessageBuilderFactory;
42
+ exports.verifyMessage = verifyMessage;
24
43
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
25
- Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return sdk_core_1.Ed25519BIP32; } });
26
44
  Object.defineProperty(exports, "Ed25519KeyDeriver", { enumerable: true, get: function () { return sdk_core_1.Ed25519KeyDeriver; } });
45
+ Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return sdk_core_1.Ed25519BIP32; } });
27
46
  Object.defineProperty(exports, "Eddsa", { enumerable: true, get: function () { return sdk_core_1.Eddsa; } });
47
+ const statics_1 = require("@bitgo-beta/statics");
28
48
  /**
29
49
  * Deprecated after version 2.19.0
30
50
  * Retained for short term backwards compatibility - migrate to: @bitgo-beta/sdk-api and @bitgo-beta/sdk-core
@@ -42,8 +62,6 @@ const sdk_coin_xtz_1 = require("@bitgo-beta/sdk-coin-xtz");
42
62
  Object.defineProperty(exports, "Xtz", { enumerable: true, get: function () { return sdk_coin_xtz_1.XtzLib; } });
43
63
  const Eth = __importStar(require("@bitgo-beta/sdk-coin-eth"));
44
64
  exports.Eth = Eth;
45
- const Eth2 = __importStar(require("@bitgo-beta/sdk-coin-eth2"));
46
- exports.Eth2 = Eth2;
47
65
  const Etc = __importStar(require("@bitgo-beta/sdk-coin-etc"));
48
66
  exports.Etc = Etc;
49
67
  const AvaxC = __importStar(require("@bitgo-beta/sdk-coin-avaxc"));
@@ -60,12 +78,48 @@ const sdk_coin_stx_1 = require("@bitgo-beta/sdk-coin-stx");
60
78
  Object.defineProperty(exports, "Stx", { enumerable: true, get: function () { return sdk_coin_stx_1.StxLib; } });
61
79
  const sdk_coin_algo_1 = require("@bitgo-beta/sdk-coin-algo");
62
80
  Object.defineProperty(exports, "Algo", { enumerable: true, get: function () { return sdk_coin_algo_1.AlgoLib; } });
81
+ const Arbeth = __importStar(require("@bitgo-beta/sdk-coin-arbeth"));
82
+ exports.Arbeth = Arbeth;
63
83
  const Atom = __importStar(require("@bitgo-beta/sdk-coin-atom"));
64
84
  exports.Atom = Atom;
85
+ const Osmo = __importStar(require("@bitgo-beta/sdk-coin-osmo"));
86
+ exports.Osmo = Osmo;
65
87
  const sdk_coin_avaxp_1 = require("@bitgo-beta/sdk-coin-avaxp");
66
88
  Object.defineProperty(exports, "AvaxP", { enumerable: true, get: function () { return sdk_coin_avaxp_1.AvaxpLib; } });
89
+ const Tia = __importStar(require("@bitgo-beta/sdk-coin-tia"));
90
+ exports.Tia = Tia;
91
+ const Bera = __importStar(require("@bitgo-beta/sdk-coin-bera"));
92
+ exports.Bera = Bera;
93
+ const Bld = __importStar(require("@bitgo-beta/sdk-coin-bld"));
94
+ exports.Bld = Bld;
95
+ const Hash = __importStar(require("@bitgo-beta/sdk-coin-hash"));
96
+ exports.Hash = Hash;
97
+ const Sei = __importStar(require("@bitgo-beta/sdk-coin-sei"));
98
+ exports.Sei = Sei;
99
+ const Injective = __importStar(require("@bitgo-beta/sdk-coin-injective"));
100
+ exports.Injective = Injective;
101
+ const Islm = __importStar(require("@bitgo-beta/sdk-coin-islm"));
102
+ exports.Islm = Islm;
103
+ const Zeta = __importStar(require("@bitgo-beta/sdk-coin-zeta"));
104
+ exports.Zeta = Zeta;
105
+ const Coreum = __importStar(require("@bitgo-beta/sdk-coin-coreum"));
106
+ exports.Coreum = Coreum;
107
+ const Rune = __importStar(require("@bitgo-beta/sdk-coin-rune"));
108
+ exports.Rune = Rune;
109
+ const Baby = __importStar(require("@bitgo-beta/sdk-coin-baby"));
110
+ exports.Baby = Baby;
111
+ const Mon = __importStar(require("@bitgo-beta/sdk-coin-mon"));
112
+ exports.Mon = Mon;
113
+ const Cronos = __importStar(require("@bitgo-beta/sdk-coin-cronos"));
114
+ exports.Cronos = Cronos;
115
+ const Initia = __importStar(require("@bitgo-beta/sdk-coin-initia"));
116
+ exports.Initia = Initia;
117
+ const Asi = __importStar(require("@bitgo-beta/sdk-coin-asi"));
118
+ exports.Asi = Asi;
67
119
  const Sol = __importStar(require("@bitgo-beta/sdk-coin-sol"));
68
120
  exports.Sol = Sol;
121
+ const Ada = __importStar(require("@bitgo-beta/sdk-coin-ada"));
122
+ exports.Ada = Ada;
69
123
  const Dot = __importStar(require("@bitgo-beta/sdk-coin-dot"));
70
124
  exports.Dot = Dot;
71
125
  const Near = __importStar(require("@bitgo-beta/sdk-coin-near"));
@@ -74,8 +128,62 @@ const Bsc = __importStar(require("@bitgo-beta/sdk-coin-bsc"));
74
128
  exports.Bsc = Bsc;
75
129
  const Polygon = __importStar(require("@bitgo-beta/sdk-coin-polygon"));
76
130
  exports.Polygon = Polygon;
131
+ const Polyx = __importStar(require("@bitgo-beta/sdk-coin-polyx"));
132
+ exports.Polyx = Polyx;
133
+ const Opeth = __importStar(require("@bitgo-beta/sdk-coin-opeth"));
134
+ exports.Opeth = Opeth;
77
135
  const Sui = __importStar(require("@bitgo-beta/sdk-coin-sui"));
78
136
  exports.Sui = Sui;
137
+ const Ton = __importStar(require("@bitgo-beta/sdk-coin-ton"));
138
+ exports.Ton = Ton;
139
+ const XRP = __importStar(require("@bitgo-beta/sdk-coin-xrp"));
140
+ exports.XRP = XRP;
141
+ const zkEth = __importStar(require("@bitgo-beta/sdk-coin-zketh"));
142
+ exports.zkEth = zkEth;
143
+ const Oas = __importStar(require("@bitgo-beta/sdk-coin-oas"));
144
+ exports.Oas = Oas;
145
+ const Coredao = __importStar(require("@bitgo-beta/sdk-coin-coredao"));
146
+ exports.Coredao = Coredao;
147
+ const Apt = __importStar(require("@bitgo-beta/sdk-coin-apt"));
148
+ exports.Apt = Apt;
149
+ const Apechain = __importStar(require("@bitgo-beta/sdk-coin-apechain"));
150
+ exports.Apechain = Apechain;
151
+ const Tao = __importStar(require("@bitgo-beta/sdk-coin-tao"));
152
+ exports.Tao = Tao;
153
+ const Tempo = __importStar(require("@bitgo-beta/sdk-coin-tempo"));
154
+ exports.Tempo = Tempo;
155
+ const Icp = __importStar(require("@bitgo-beta/sdk-coin-icp"));
156
+ exports.Icp = Icp;
157
+ const Flr = __importStar(require("@bitgo-beta/sdk-coin-flr"));
158
+ exports.Flr = Flr;
159
+ const EvmCoin = __importStar(require("@bitgo-beta/sdk-coin-evm"));
160
+ exports.EvmCoin = EvmCoin;
161
+ const Sgb = __importStar(require("@bitgo-beta/sdk-coin-sgb"));
162
+ exports.Sgb = Sgb;
163
+ const Xdc = __importStar(require("@bitgo-beta/sdk-coin-xdc"));
164
+ exports.Xdc = Xdc;
165
+ const Wemix = __importStar(require("@bitgo-beta/sdk-coin-wemix"));
166
+ exports.Wemix = Wemix;
167
+ const World = __importStar(require("@bitgo-beta/sdk-coin-world"));
168
+ exports.World = World;
169
+ const Stt = __importStar(require("@bitgo-beta/sdk-coin-stt"));
170
+ exports.Stt = Stt;
171
+ const Soneium = __importStar(require("@bitgo-beta/sdk-coin-soneium"));
172
+ exports.Soneium = Soneium;
173
+ const Starknet = __importStar(require("@bitgo-beta/sdk-coin-starknet"));
174
+ exports.Starknet = Starknet;
175
+ const Vet = __importStar(require("@bitgo-beta/sdk-coin-vet"));
176
+ exports.Vet = Vet;
177
+ const CosmosSharedCoin = __importStar(require("@bitgo-beta/sdk-coin-cosmos"));
178
+ exports.CosmosSharedCoin = CosmosSharedCoin;
179
+ const Canton = __importStar(require("@bitgo-beta/sdk-coin-canton"));
180
+ exports.Canton = Canton;
181
+ const sdk_coin_flrp_1 = require("@bitgo-beta/sdk-coin-flrp");
182
+ Object.defineProperty(exports, "FlrP", { enumerable: true, get: function () { return sdk_coin_flrp_1.FlrPLib; } });
183
+ const Kaspa = __importStar(require("@bitgo-beta/sdk-coin-kaspa"));
184
+ exports.Kaspa = Kaspa;
185
+ const utils_1 = require("./utils");
186
+ Object.defineProperty(exports, "MIDNIGHT_TNC_HASH", { enumerable: true, get: function () { return utils_1.MIDNIGHT_TNC_HASH; } });
79
187
  const coinBuilderMap = {
80
188
  trx: Trx.WrappedBuilder,
81
189
  ttrx: Trx.WrappedBuilder,
@@ -86,10 +194,11 @@ const coinBuilderMap = {
86
194
  eth: Eth.TransactionBuilder,
87
195
  teth: Eth.TransactionBuilder,
88
196
  gteth: Eth.TransactionBuilder,
197
+ hteth: Eth.TransactionBuilder,
89
198
  rbtc: Rbtc.TransactionBuilder,
90
199
  trbtc: Rbtc.TransactionBuilder,
91
200
  celo: Celo.TransactionBuilder,
92
- tcelo: Celo.TransactionBuilder,
201
+ tcelo: Celo.TestnetTransactionBuilder,
93
202
  avaxc: AvaxC.TransactionBuilder,
94
203
  tavaxc: AvaxC.TransactionBuilder,
95
204
  bsc: Bsc.TransactionBuilder,
@@ -113,9 +222,111 @@ const coinBuilderMap = {
113
222
  tpolygon: Polygon.TransactionBuilder,
114
223
  sui: Sui.TransactionBuilderFactory,
115
224
  tsui: Sui.TransactionBuilderFactory,
225
+ tia: Tia.TransactionBuilderFactory,
226
+ ttia: Tia.TransactionBuilderFactory,
116
227
  atom: Atom.TransactionBuilderFactory,
117
228
  tatom: Atom.TransactionBuilderFactory,
229
+ osmo: Osmo.TransactionBuilderFactory,
230
+ tosmo: Osmo.TransactionBuilderFactory,
231
+ bld: Bld.TransactionBuilderFactory,
232
+ tbld: Bld.TransactionBuilderFactory,
233
+ hash: Hash.TransactionBuilderFactory,
234
+ thash: Hash.TransactionBuilderFactory,
235
+ sei: Sei.TransactionBuilderFactory,
236
+ tsei: Sei.TransactionBuilderFactory,
237
+ injective: Injective.TransactionBuilderFactory,
238
+ tinjective: Injective.TransactionBuilderFactory,
239
+ zeta: Zeta.TransactionBuilderFactory,
240
+ tzeta: Zeta.TransactionBuilderFactory,
241
+ islm: Islm.TransactionBuilderFactory,
242
+ tislm: Islm.TransactionBuilderFactory,
243
+ coreum: Coreum.TransactionBuilderFactory,
244
+ tcoreum: Coreum.TransactionBuilderFactory,
245
+ arbeth: Arbeth.TransactionBuilder,
246
+ tarbeth: Arbeth.TransactionBuilder,
247
+ opeth: Opeth.TransactionBuilder,
248
+ topeth: Opeth.TransactionBuilder,
249
+ ton: Ton.TransactionBuilder,
250
+ tton: Ton.TransactionBuilder,
251
+ zketh: zkEth.TransactionBuilder,
252
+ tzketh: zkEth.TransactionBuilder,
253
+ bera: Bera.TransactionBuilder,
254
+ tbera: Bera.TransactionBuilder,
255
+ rune: Rune.TransactionBuilderFactory,
256
+ trune: Rune.TransactionBuilderFactory,
257
+ oas: Oas.TransactionBuilder,
258
+ toas: Oas.TransactionBuilder,
259
+ coredao: Coredao.TransactionBuilder,
260
+ tcoredao: Coredao.TransactionBuilder,
261
+ apechain: Apechain.TransactionBuilder,
262
+ tapechain: Apechain.TransactionBuilder,
263
+ apt: Apt.TransactionBuilder,
264
+ tapt: Apt.TransactionBuilder,
265
+ tao: Tao.TransactionBuilderFactory,
266
+ ttao: Tao.TransactionBuilderFactory,
267
+ tempo: Tempo.Tip20TransactionBuilder,
268
+ ttempo: Tempo.Tip20TransactionBuilder,
269
+ icp: Icp.TransactionBuilder,
270
+ ticp: Icp.TransactionBuilder,
271
+ starknet: Starknet.TransactionBuilder,
272
+ tstarknet: Starknet.TransactionBuilder,
273
+ baby: Baby.TransactionBuilder,
274
+ tbaby: Baby.TransactionBuilder,
275
+ cronos: Cronos.TransactionBuilder,
276
+ tcronos: Cronos.TransactionBuilder,
277
+ initia: Initia.TransactionBuilder,
278
+ tinitia: Initia.TransactionBuilder,
279
+ asi: Asi.TransactionBuilder,
280
+ tasi: Asi.TransactionBuilder,
281
+ flr: Flr.TransactionBuilder,
282
+ tflr: Flr.TransactionBuilder,
283
+ sgb: Sgb.TransactionBuilder,
284
+ tsgb: Sgb.TransactionBuilder,
285
+ xdc: Xdc.TransactionBuilder,
286
+ txdc: Xdc.TransactionBuilder,
287
+ wemix: Wemix.TransactionBuilder,
288
+ twemix: Wemix.TransactionBuilder,
289
+ mon: Mon.TransactionBuilder,
290
+ tmon: Mon.TransactionBuilder,
291
+ world: World.TransactionBuilder,
292
+ tworld: World.TransactionBuilder,
293
+ soneium: Soneium.TransactionBuilder,
294
+ tsoneium: Soneium.TransactionBuilder,
295
+ tstt: Stt.TransactionBuilder,
296
+ polyx: Polyx.TransactionBuilderFactory,
297
+ tpolyx: Polyx.TransactionBuilderFactory,
298
+ vet: Vet.TransactionBuilderFactory,
299
+ tvet: Vet.TransactionBuilderFactory,
300
+ canton: Canton.TransactionBuilderFactory,
301
+ tcanton: Canton.TransactionBuilderFactory,
302
+ flrp: sdk_coin_flrp_1.FlrPLib.TransactionBuilderFactory,
303
+ tflrp: sdk_coin_flrp_1.FlrPLib.TransactionBuilderFactory,
304
+ kaspa: Kaspa.TransactionBuilderFactory,
305
+ tkaspa: Kaspa.TransactionBuilderFactory,
118
306
  };
307
+ const coinMessageBuilderFactoryMap = {
308
+ ada: Ada.MessageBuilderFactory,
309
+ tada: Ada.MessageBuilderFactory,
310
+ sol: Sol.MessageBuilderFactory,
311
+ tsol: Sol.MessageBuilderFactory,
312
+ canton: Canton.MessageBuilderFactory,
313
+ tcanton: Canton.MessageBuilderFactory,
314
+ };
315
+ statics_1.coins
316
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING) && !coin.isToken)
317
+ .forEach((coin) => {
318
+ coinMessageBuilderFactoryMap[coin.name] = Eth.MessageBuilderFactory;
319
+ });
320
+ statics_1.coins
321
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK))
322
+ .forEach((coin) => {
323
+ coinBuilderMap[coin.name] = EvmCoin.TransactionBuilder;
324
+ });
325
+ statics_1.coins
326
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_COSMOS_SDK))
327
+ .forEach((coin) => {
328
+ coinBuilderMap[coin.name] = CosmosSharedCoin.TransactionBuilder;
329
+ });
119
330
  /**
120
331
  * Get the list of coin tickers supported by this library.
121
332
  */
@@ -133,7 +344,13 @@ function getBuilder(coinName) {
133
344
  }
134
345
  return new builderClass(statics_1.coins.get(coinName));
135
346
  }
136
- exports.getBuilder = getBuilder;
347
+ function getMessageBuilderFactory(coinName) {
348
+ const messageBuilderFactoryClass = coinMessageBuilderFactoryMap[coinName];
349
+ if (!messageBuilderFactoryClass) {
350
+ throw new sdk_core_1.BuildMessageError(`Message builder factory for coin ${coinName} not supported`);
351
+ }
352
+ return new messageBuilderFactoryClass(statics_1.coins.get(coinName));
353
+ }
137
354
  /**
138
355
  * Register a new coin instance with its builder factory
139
356
  *
@@ -148,5 +365,40 @@ function register(coinName, builderFactory) {
148
365
  coinBuilderMap[coinName] = builderFactory; // For now register the constructor function until reimplement getBuilder method
149
366
  return factory;
150
367
  }
151
- exports.register = register;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFvRTtBQUNwRSxtREFTOEI7QUFDZCw2RkFKZCx1QkFBWSxPQUljO0FBUW5CLGtHQVhQLDRCQUFpQixPQVdPO0FBUmpCLHNGQUZQLGdCQUFLLE9BRU87QUFFZDs7O0dBR0c7QUFDVSxRQUFBLE1BQU0sR0FBRywwQkFBZSxDQUFDO0FBSXRDOzs7R0FHRztBQUNVLFFBQUEsUUFBUSxHQUFHLDZCQUFrQixDQUFDO0FBRTNDLFFBQVE7QUFDUiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiwyREFBeUQ7QUFDaEQsb0ZBRFUscUJBQUcsT0FDVjtBQUVaLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLGtFQUFvRDtBQUMzQyxzQkFBSztBQUVkLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLDZEQUE0RDtBQUNuRCxxRkFEVyx1QkFBSSxPQUNYO0FBRWIsMkRBQXlEO0FBQ2hELG9GQURVLHFCQUFHLE9BQ1Y7QUFFWiw2REFBNEQ7QUFDbkQscUZBRFcsdUJBQUksT0FDWDtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLCtEQUErRDtBQUN0RCxzRkFEWSx5QkFBSyxPQUNaO0FBRWQsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosc0VBQXdEO0FBQy9DLDBCQUFPO0FBRWhCLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLENBQUMs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O0lBQzNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFURCw0QkFTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBhY291bnRMaWJDcnlwdG8sXG4gIGFjY291bnRMaWJCYXNlQ29pbixcbiAgQmFzZUJ1aWxkZXIsXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEVkMjU1MTlCSVAzMixcbiAgRWQyNTUxOUtleURlcml2ZXIsXG4gIEVkZHNhLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5leHBvcnQgeyBFZGRzYSwgRWQyNTUxOUJJUDMyIH07XG5cbi8qKlxuICogRGVwcmVjYXRlZCBhZnRlciB2ZXJzaW9uIDIuMTkuMFxuICogUmV0YWluZWQgZm9yIHNob3J0IHRlcm0gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgLSBtaWdyYXRlIHRvOiBAYml0Z28tYmV0YS9zZGstYXBpIGFuZCBAYml0Z28tYmV0YS9zZGstY29yZVxuICovXG5leHBvcnQgY29uc3QgY3J5cHRvID0gYWNvdW50TGliQ3J5cHRvO1xuXG5leHBvcnQgeyBFZDI1NTE5S2V5RGVyaXZlciB9O1xuXG4vKipcbiAqIERlcHJlY2F0ZWQgYWZ0ZXIgdmVyc2lvbiAyLjE5LjBcbiAqIFJldGFpbmVkIGZvciBzaG9ydCB0ZXJtIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IC0gbWlncmF0ZSB0bzogQGJpdGdvLWJldGEvc2RrLWFwaSBhbmQgQGJpdGdvLWJldGEvc2RrLWNvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDb2luID0gYWNjb3VudExpYkJhc2VDb2luO1xuXG4vLyBjb2luc1xuaW1wb3J0ICogYXMgVHJ4IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXRyeCc7XG5leHBvcnQgeyBUcnggfTtcblxuaW1wb3J0IHsgWHR6TGliIGFzIFh0eiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXh0eic7XG5leHBvcnQgeyBYdHogfTtcblxuaW1wb3J0ICogYXMgRXRoIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aCc7XG5leHBvcnQgeyBFdGggfTtcblxuaW1wb3J0ICogYXMgRXRoMiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ldGgyJztcbmV4cG9ydCB7IEV0aDIgfTtcblxuaW1wb3J0ICogYXMgRXRjIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0Yyc7XG5leHBvcnQgeyBFdGMgfTtcblxuaW1wb3J0ICogYXMgQXZheEMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXZheGMnO1xuZXhwb3J0IHsgQXZheEMgfTtcblxuaW1wb3J0ICogYXMgUmJ0YyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1yYnRjJztcbmV4cG9ydCB7IFJidGMgfTtcblxuaW1wb3J0ICogYXMgQ2VsbyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1jZWxvJztcbmV4cG9ydCB7IENlbG8gfTtcblxuaW1wb3J0ICogYXMgSGJhciBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1oYmFyJztcbmV4cG9ydCB7IEhiYXIgfTtcblxuaW1wb3J0IHsgQ3NwckxpYiBhcyBDc3ByIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tY3Nwcic7XG5leHBvcnQgeyBDc3ByIH07XG5cbmltcG9ydCB7IFN0eExpYiBhcyBTdHggfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdHgnO1xuZXhwb3J0IHsgU3R4IH07XG5cbmltcG9ydCB7IEFsZ29MaWIgYXMgQWxnbyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFsZ28nO1xuZXhwb3J0IHsgQWxnbyB9O1xuXG5pbXBvcnQgKiBhcyBBdG9tIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWF0b20nO1xuZXhwb3J0IHsgQXRvbSB9O1xuXG5pbXBvcnQgeyBBdmF4cExpYiBhcyBBdmF4UCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWF2YXhwJztcbmV4cG9ydCB7IEF2YXhQIH07XG5cbmltcG9ydCAqIGFzIFNvbCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zb2wnO1xuZXhwb3J0IHsgU29sIH07XG5cbmltcG9ydCAqIGFzIERvdCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1kb3QnO1xuZXhwb3J0IHsgRG90IH07XG5cbmltcG9ydCAqIGFzIE5lYXIgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tbmVhcic7XG5leHBvcnQgeyBOZWFyIH07XG5cbmltcG9ydCAqIGFzIEJzYyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ic2MnO1xuZXhwb3J0IHsgQnNjIH07XG5cbmltcG9ydCAqIGFzIFBvbHlnb24gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tcG9seWdvbic7XG5leHBvcnQgeyBQb2x5Z29uIH07XG5cbmltcG9ydCAqIGFzIFN1aSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdWknO1xuZXhwb3J0IHsgU3VpIH07XG5cbmNvbnN0IGNvaW5CdWlsZGVyTWFwID0ge1xuICB0cng6IFRyeC5XcmFwcGVkQnVpbGRlcixcbiAgdHRyeDogVHJ4LldyYXBwZWRCdWlsZGVyLFxuICB4dHo6IFh0ei5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHR4dHo6IFh0ei5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGV0YzogRXRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGV0YzogRXRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBndGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcmJ0YzogUmJ0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRyYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgY2VsbzogQ2Vsby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRjZWxvOiBDZWxvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheGM6IEF2YXhDLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheHA6IEF2YXhQLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhdmF4cDogQXZheFAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgbmVhcjogTmVhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBwb2x5Z29uOiBQb2x5Z29uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHBvbHlnb246IFBvbHlnb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBzdWk6IFN1aS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c3VpOiBTdWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxufTtcblxuLyoqXG4gKiBHZXQgdGhlIGxpc3Qgb2YgY29pbiB0aWNrZXJzIHN1cHBvcnRlZCBieSB0aGlzIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRDb2lucyA9IE9iamVjdC5rZXlzKGNvaW5CdWlsZGVyTWFwKTtcblxuLyoqXG4gKiBHZXQgYSB0cmFuc2FjdGlvbiBidWlsZGVyIGZvciB0aGUgZ2l2ZW4gY29pbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgT25lIG9mIHRoZSB7QGNvZGUgc3VwcG9ydGVkQ29pbnN9XG4gKiBAcmV0dXJucyB7YW55fSBBbiBpbnN0YW5jZSBvZiBhIHtAY29kZSBUcmFuc2FjdGlvbkJ1aWxkZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWlsZGVyKGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlQnVpbGRlciB7XG4gIGNvbnN0IGJ1aWxkZXJDbGFzcyA9IGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXTtcbiAgaWYgKCFidWlsZGVyQ2xhc3MpIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBDb2luICR7Y29pbk5hbWV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgYnVpbGRlckNsYXNzKGNvaW5zLmdldChjb2luTmFtZSkpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgbmV3IGNvaW4gaW5zdGFuY2Ugd2l0aCBpdHMgYnVpbGRlciBmYWN0b3J5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIGNvaW4gbmFtZSBhcyBpdCB3YXMgcmVnaXN0ZXJlZCBpbiBAYml0Z28tYmV0YS9zdGF0aWNzXG4gKiBAcGFyYW0ge2FueX0gYnVpbGRlckZhY3RvcnkgdGhlIGJ1aWxkZXIgZmFjdG9yeSBjbGFzcyBmb3IgdGhhdCBjb2luXG4gKiBAcmV0dXJucyB7YW55fSB0aGUgZmFjdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHJlZ2lzdGVyZWQgY29pblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXI8VCBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5PihcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgYnVpbGRlckZhY3Rvcnk6IHsgbmV3IChfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBUIH0sXG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgYnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gIC8vIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGZhY3Rvcnk7XG4gIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGJ1aWxkZXJGYWN0b3J5OyAvLyBGb3Igbm93IHJlZ2lzdGVyIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB1bnRpbCByZWltcGxlbWVudCBnZXRCdWlsZGVyIG1ldGhvZFxuICByZXR1cm4gZmFjdG9yeTtcbn1cbiJdfQ==
368
+ /**
369
+ * Register a new coin instance with its message builder factory constructor.
370
+ *
371
+ * @param {string} coinName coin name as it was registered in @bitgo-beta/statics
372
+ * @param {any} messageBuilderFactory the message builder factory class for that coin
373
+ * @returns {any} the message builder factory instance for the registered coin
374
+ */
375
+ function registerMessageBuilderFactory(coinName, messageBuilderFactory) {
376
+ const coinConfig = statics_1.coins.get(coinName);
377
+ const factory = new messageBuilderFactory(coinConfig);
378
+ coinMessageBuilderFactoryMap[coinName] = messageBuilderFactory;
379
+ return factory;
380
+ }
381
+ /**
382
+ * Verify a message against the given encoded payload.
383
+ *
384
+ * @param {string} coinName - The name of the coin.
385
+ * @param {string} messageRaw - The raw message to verify.
386
+ * @param {string} messageEncoded - The encoded message to verify against.
387
+ * @param {MessageStandardType} messageStandardType - The type of message standard.
388
+ * @param {Record<string, unknown>} [metadata] - Optional metadata for verification.
389
+ * @returns {Promise<boolean>} - Returns true if the verification is successful, false otherwise.
390
+ */
391
+ async function verifyMessage(coinName, messageRaw, messageEncoded, messageStandardType, metadata) {
392
+ try {
393
+ const messageBuilderFactory = getMessageBuilderFactory(coinName);
394
+ const messageBuilder = messageBuilderFactory.getMessageBuilder(messageStandardType);
395
+ messageBuilder.setPayload(messageRaw);
396
+ const message = await messageBuilder.build();
397
+ return await message.verifyEncodedPayload(messageEncoded, metadata);
398
+ }
399
+ catch (e) {
400
+ console.error(`Error verifying message for coin ${coinName}:`, e);
401
+ return false;
402
+ }
403
+ }
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThYQSxnQ0FPQztBQUVELDREQU1DO0FBU0QsNEJBU0M7QUFTRCxzRUFRQztBQVlELHNDQWlCQztBQTdjRCxtREFZOEI7QUFVckIsa0dBbEJQLDRCQUFpQixPQWtCTztBQVJqQiw2RkFUUCx1QkFBWSxPQVNPO0FBQUUsc0ZBUnJCLGdCQUFLLE9BUXFCO0FBRDVCLGlEQUFpRjtBQUdqRjs7O0dBR0c7QUFDVSxRQUFBLE1BQU0sR0FBRywwQkFBZSxDQUFDO0FBSXRDOzs7R0FHRztBQUNVLFFBQUEsUUFBUSxHQUFHLDZCQUFrQixDQUFDO0FBRTNDLFFBQVE7QUFDUiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiwyREFBeUQ7QUFDaEQsb0ZBRFUscUJBQUcsT0FDVjtBQUVaLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLGtFQUFvRDtBQUMzQyxzQkFBSztBQUVkLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLDZEQUE0RDtBQUNuRCxxRkFEVyx1QkFBSSxPQUNYO0FBRWIsMkRBQXlEO0FBQ2hELG9GQURVLHFCQUFHLE9BQ1Y7QUFFWiw2REFBNEQ7QUFDbkQscUZBRFcsdUJBQUksT0FDWDtBQUViLG9FQUFzRDtBQUM3Qyx3QkFBTTtBQUVmLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLCtEQUErRDtBQUN0RCxzRkFEWSx5QkFBSyxPQUNaO0FBRWQsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pD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ckMsR0FBRyxFQUFFLEdBQUcsQ0FBQyx5QkFBeUI7SUFDbEMsSUFBSSxFQUFFLEdBQUcsQ0FBQyx5QkFBeUI7SUFDbkMsU0FBUyxFQUFFLFNBQVMsQ0FBQyx5QkFBeUI7SUFDOUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyx5QkFBeUI7SUFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQyx5QkFBeUI7SUFDcEMsS0FBSyxFQUFFLElBQUksQ0FBQyx5QkFBeUI7SUFDckMsSUFBSSxFQUFFLElBQUksQ0FBQyx5QkFBeUI7SUFDcEMsS0FBSyxFQUFFLElBQUksQ0FBQyx5QkFBeUI7SUFDckMsTUFBTSxFQUFFLE1BQU0sQ0FBQyx5QkFBeUI7SUFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyx5QkFBeUI7SUFDekMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7SUFDakMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7SUFDbEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7SUFDL0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7SUFDaEMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7SUFDL0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7SUFDaEMsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7SUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7SUFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyx5QkFBeUI7SUFDcEMsS0FBSyxFQUFFLElBQUksQ0FBQyx5QkFBeUI7SUFDckMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0I7SUFDbkMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0I7SUFDcEMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7SUFDckMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7SUFDdEMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyx5QkFBeUI7SUFDbEMsSUFBSSxFQUFFLEdBQUcsQ0FBQyx5QkFBeUI7SUFDbkMsS0FBSyxFQUFFLEtBQUssQ0FBQyx1QkFBdUI7SUFDcEMsTUFBTSxFQUFFLEtBQUssQ0FBQyx1QkFBdUI7SUFDckMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7SUFDckMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7SUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7SUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7SUFDOUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7SUFDakMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7SUFDbEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7SUFDakMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7SUFDbEMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0I7SUFDNUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7SUFDL0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7SUFDaEMsR0FBRyxFQUFFLEdBQUcs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QUNILE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRixjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdDLE9BQU8sTUFBTSxPQUFPLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VCdWlsZGVyLFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBFZDI1NTE5S2V5RGVyaXZlcixcbiAgRWQyNTUxOUJJUDMyLFxuICBFZGRzYSxcbiAgYWNjb3VudExpYkJhc2VDb2luLFxuICBhY291bnRMaWJDcnlwdG8sXG4gIEJhc2VNZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIEJ1aWxkTWVzc2FnZUVycm9yLFxuICBNZXNzYWdlU3RhbmRhcmRUeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBDb2luRmVhdHVyZSwgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmV4cG9ydCB7IEVkMjU1MTlCSVAzMiwgRWRkc2EgfTtcblxuLyoqXG4gKiBEZXByZWNhdGVkIGFmdGVyIHZlcnNpb24gMi4xOS4wXG4gKiBSZXRhaW5lZCBmb3Igc2hvcnQgdGVybSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAtIG1pZ3JhdGUgdG86IEBiaXRnby1iZXRhL3Nkay1hcGkgYW5kIEBiaXRnby1iZXRhL3Nkay1jb3JlXG4gKi9cbmV4cG9ydCBjb25zdCBjcnlwdG8gPSBhY291bnRMaWJDcnlwdG87XG5cbmV4cG9ydCB7IEVkMjU1MTlLZXlEZXJpdmVyIH07XG5cbi8qKlxuICogRGVwcmVjYXRlZCBhZnRlciB2ZXJzaW9uIDIuMTkuMFxuICogUmV0YWluZWQgZm9yIHNob3J0IHRlcm0gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgLSBtaWdyYXRlIHRvOiBAYml0Z28tYmV0YS9zZGstYXBpIGFuZCBAYml0Z28tYmV0YS9zZGstY29yZVxuICovXG5leHBvcnQgY29uc3QgQmFzZUNvaW4gPSBhY2NvdW50TGliQmFzZUNvaW47XG5cbi8vIGNvaW5zXG5pbXBvcnQgKiBhcyBUcnggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tdHJ4JztcbmV4cG9ydCB7IFRyeCB9O1xuXG5pbXBvcnQgeyBYdHpMaWIgYXMgWHR6IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4teHR6JztcbmV4cG9ydCB7IFh0eiB9O1xuXG5pbXBvcnQgKiBhcyBFdGggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZXRoJztcbmV4cG9ydCB7IEV0aCB9O1xuXG5pbXBvcnQgKiBhcyBFdGMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZXRjJztcbmV4cG9ydCB7IEV0YyB9O1xuXG5pbXBvcnQgKiBhcyBBdmF4QyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1hdmF4Yyc7XG5leHBvcnQgeyBBdmF4QyB9O1xuXG5pbXBvcnQgKiBhcyBSYnRjIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXJidGMnO1xuZXhwb3J0IHsgUmJ0YyB9O1xuXG5pbXBvcnQgKiBhcyBDZWxvIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNlbG8nO1xuZXhwb3J0IHsgQ2VsbyB9O1xuXG5pbXBvcnQgKiBhcyBIYmFyIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWhiYXInO1xuZXhwb3J0IHsgSGJhciB9O1xuXG5pbXBvcnQgeyBDc3ByTGliIGFzIENzcHIgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1jc3ByJztcbmV4cG9ydCB7IENzcHIgfTtcblxuaW1wb3J0IHsgU3R4TGliIGFzIFN0eCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXN0eCc7XG5leHBvcnQgeyBTdHggfTtcblxuaW1wb3J0IHsgQWxnb0xpYiBhcyBBbGdvIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYWxnbyc7XG5leHBvcnQgeyBBbGdvIH07XG5cbmltcG9ydCAqIGFzIEFyYmV0aCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1hcmJldGgnO1xuZXhwb3J0IHsgQXJiZXRoIH07XG5cbmltcG9ydCAqIGFzIEF0b20gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXRvbSc7XG5leHBvcnQgeyBBdG9tIH07XG5cbmltcG9ydCAqIGFzIE9zbW8gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tb3Ntbyc7XG5leHBvcnQgeyBPc21vIH07XG5cbmltcG9ydCB7IEF2YXhwTGliIGFzIEF2YXhQIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXZheHAnO1xuZXhwb3J0IHsgQXZheFAgfTtcblxuaW1wb3J0ICogYXMgVGlhIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXRpYSc7XG5leHBvcnQgeyBUaWEgfTtcblxuaW1wb3J0ICogYXMgQmVyYSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1iZXJhJztcbmV4cG9ydCB7IEJlcmEgfTtcblxuaW1wb3J0ICogYXMgQmxkIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWJsZCc7XG5leHBvcnQgeyBCbGQgfTtcblxuaW1wb3J0ICogYXMgSGFzaCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1oYXNoJztcbmV4cG9ydCB7IEhhc2ggfTtcblxuaW1wb3J0ICogYXMgU2VpIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXNlaSc7XG5leHBvcnQgeyBTZWkgfTtcblxuaW1wb3J0ICogYXMgSW5qZWN0aXZlIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWluamVjdGl2ZSc7XG5leHBvcnQgeyBJbmplY3RpdmUgfTtcblxuaW1wb3J0ICogYXMgSXNsbSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1pc2xtJztcbmV4cG9ydCB7IElzbG0gfTtcblxuaW1wb3J0ICogYXMgWmV0YSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi16ZXRhJztcbmV4cG9ydCB7IFpldGEgfTtcblxuaW1wb3J0ICogYXMgQ29yZXVtIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNvcmV1bSc7XG5leHBvcnQgeyBDb3JldW0gfTtcblxuaW1wb3J0ICogYXMgUnVuZSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ydW5lJztcbmV4cG9ydCB7IFJ1bmUgfTtcblxuaW1wb3J0ICogYXMgQmFieSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1iYWJ5JztcbmV4cG9ydCB7IEJhYnkgfTtcblxuaW1wb3J0ICogYXMgTW9uIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLW1vbic7XG5leHBvcnQgeyBNb24gfTtcblxuaW1wb3J0ICogYXMgQ3Jvbm9zIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNyb25vcyc7XG5leHBvcnQgeyBDcm9ub3MgfTtcblxuaW1wb3J0ICogYXMgSW5pdGlhIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWluaXRpYSc7XG5leHBvcnQgeyBJbml0aWEgfTtcblxuaW1wb3J0ICogYXMgQXNpIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFzaSc7XG5leHBvcnQgeyBBc2kgfTtcblxuaW1wb3J0ICogYXMgU29sIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXNvbCc7XG5leHBvcnQgeyBTb2wgfTtcblxuaW1wb3J0ICogYXMgQWRhIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFkYSc7XG5leHBvcnQgeyBBZGEgfTtcblxuaW1wb3J0ICogYXMgRG90IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWRvdCc7XG5leHBvcnQgeyBEb3QgfTtcblxuaW1wb3J0ICogYXMgTmVhciBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1uZWFyJztcbmV4cG9ydCB7IE5lYXIgfTtcblxuaW1wb3J0ICogYXMgQnNjIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWJzYyc7XG5leHBvcnQgeyBCc2MgfTtcblxuaW1wb3J0ICogYXMgUG9seWdvbiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1wb2x5Z29uJztcbmV4cG9ydCB7IFBvbHlnb24gfTtcblxuaW1wb3J0ICogYXMgUG9seXggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tcG9seXgnO1xuZXhwb3J0IHsgUG9seXggfTtcblxuaW1wb3J0ICogYXMgT3BldGggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tb3BldGgnO1xuZXhwb3J0IHsgT3BldGggfTtcblxuaW1wb3J0ICogYXMgU3VpIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXN1aSc7XG5leHBvcnQgeyBTdWkgfTtcblxuaW1wb3J0ICogYXMgVG9uIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXRvbic7XG5leHBvcnQgeyBUb24gfTtcblxuaW1wb3J0ICogYXMgWFJQIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXhycCc7XG5leHBvcnQgeyBYUlAgfTtcblxuaW1wb3J0ICogYXMgemtFdGggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4temtldGgnO1xuZXhwb3J0IHsgemtFdGggfTtcblxuaW1wb3J0ICogYXMgT2FzIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLW9hcyc7XG5leHBvcnQgeyBPYXMgfTtcblxuaW1wb3J0ICogYXMgQ29yZWRhbyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1jb3JlZGFvJztcbmV4cG9ydCB7IENvcmVkYW8gfTtcblxuaW1wb3J0ICogYXMgQXB0IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFwdCc7XG5leHBvcnQgeyBBcHQgfTtcblxuaW1wb3J0ICogYXMgQXBlY2hhaW4gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXBlY2hhaW4nO1xuZXhwb3J0IHsgQXBlY2hhaW4gfTtcblxuaW1wb3J0ICogYXMgVGFvIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXRhbyc7XG5leHBvcnQgeyBUYW8gfTtcblxuaW1wb3J0ICogYXMgVGVtcG8gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tdGVtcG8nO1xuZXhwb3J0IHsgVGVtcG8gfTtcblxuaW1wb3J0ICogYXMgSWNwIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWljcCc7XG5leHBvcnQgeyBJY3AgfTtcblxuaW1wb3J0ICogYXMgRmxyIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWZscic7XG5leHBvcnQgeyBGbHIgfTtcblxuaW1wb3J0ICogYXMgRXZtQ29pbiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ldm0nO1xuZXhwb3J0IHsgRXZtQ29pbiB9O1xuXG5pbXBvcnQgKiBhcyBTZ2IgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tc2diJztcbmV4cG9ydCB7IFNnYiB9O1xuXG5pbXBvcnQgKiBhcyBYZGMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4teGRjJztcbmV4cG9ydCB7IFhkYyB9O1xuXG5pbXBvcnQgKiBhcyBXZW1peCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi13ZW1peCc7XG5leHBvcnQgeyBXZW1peCB9O1xuXG5pbXBvcnQgKiBhcyBXb3JsZCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi13b3JsZCc7XG5leHBvcnQgeyBXb3JsZCB9O1xuXG5pbXBvcnQgKiBhcyBTdHQgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tc3R0JztcbmV4cG9ydCB7IFN0dCB9O1xuXG5pbXBvcnQgKiBhcyBTb25laXVtIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXNvbmVpdW0nO1xuZXhwb3J0IHsgU29uZWl1bSB9O1xuXG5pbXBvcnQgKiBhcyBTdGFya25ldCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdGFya25ldCc7XG5leHBvcnQgeyBTdGFya25ldCB9O1xuXG5pbXBvcnQgKiBhcyBWZXQgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tdmV0JztcbmV4cG9ydCB7IFZldCB9O1xuXG5pbXBvcnQgKiBhcyBDb3Ntb3NTaGFyZWRDb2luIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNvc21vcyc7XG5leHBvcnQgeyBDb3Ntb3NTaGFyZWRDb2luIH07XG5cbmltcG9ydCAqIGFzIENhbnRvbiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1jYW50b24nO1xuZXhwb3J0IHsgQ2FudG9uIH07XG5cbmltcG9ydCB7IEZsclBMaWIgYXMgRmxyUCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWZscnAnO1xuZXhwb3J0IHsgRmxyUCB9O1xuXG5pbXBvcnQgKiBhcyBLYXNwYSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1rYXNwYSc7XG5leHBvcnQgeyBLYXNwYSB9O1xuXG5pbXBvcnQgeyBNSUROSUdIVF9UTkNfSEFTSCB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgTUlETklHSFRfVE5DX0hBU0ggfTtcblxuY29uc3QgY29pbkJ1aWxkZXJNYXAgPSB7XG4gIHRyeDogVHJ4LldyYXBwZWRCdWlsZGVyLFxuICB0dHJ4OiBUcnguV3JhcHBlZEJ1aWxkZXIsXG4gIHh0ejogWHR6LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHh0ejogWHR6LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZXRjOiBFdGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXRjOiBFdGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGd0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBodGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcmJ0YzogUmJ0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRyYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgY2VsbzogQ2Vsby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRjZWxvOiBDZWxvLlRlc3RuZXRUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhdmF4YzogQXZheEMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBic2M6IEJzYy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRic2M6IEJzYy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGF2YXhwOiBBdmF4UC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YXZheHA6IEF2YXhQLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGhiYXI6IEhiYXIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGhiYXI6IEhiYXIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgY3NwcjogQ3Nwci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0Y3NwcjogQ3Nwci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c3R4OiBTdHguVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYWxnbzogQWxnby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YWxnbzogQWxnby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c29sOiBTb2wuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGRvdDogRG90LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIG5lYXI6IE5lYXIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgcG9seWdvbjogUG9seWdvbi5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRwb2x5Z29uOiBQb2x5Z29uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgc3VpOiBTdWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHN1aTogU3VpLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRpYTogVGlhLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHR0aWE6IFRpYS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBhdG9tOiBBdG9tLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhdG9tOiBBdG9tLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIG9zbW86IE9zbW8uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdG9zbW86IE9zbW8uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYmxkOiBCbGQuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGJsZDogQmxkLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGhhc2g6IEhhc2guVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGhhc2g6IEhhc2guVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgc2VpOiBTZWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHNlaTogU2VpLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGluamVjdGl2ZTogSW5qZWN0aXZlLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRpbmplY3RpdmU6IEluamVjdGl2ZS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB6ZXRhOiBaZXRhLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHR6ZXRhOiBaZXRhLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGlzbG06IElzbG0uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGlzbG06IElzbG0uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgY29yZXVtOiBDb3JldW0uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGNvcmV1bTogQ29yZXVtLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGFyYmV0aDogQXJiZXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGFyYmV0aDogQXJiZXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgb3BldGg6IE9wZXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdG9wZXRoOiBPcGV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRvbjogVG9uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHRvbjogVG9uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgemtldGg6IHprRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHprZXRoOiB6a0V0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGJlcmE6IEJlcmEuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YmVyYTogQmVyYS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHJ1bmU6IFJ1bmUuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHJ1bmU6IFJ1bmUuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgb2FzOiBPYXMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0b2FzOiBPYXMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBjb3JlZGFvOiBDb3JlZGFvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGNvcmVkYW86IENvcmVkYW8uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhcGVjaGFpbjogQXBlY2hhaW4uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YXBlY2hhaW46IEFwZWNoYWluLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXB0OiBBcHQuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YXB0OiBBcHQuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YW86IFRhby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0dGFvOiBUYW8uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGVtcG86IFRlbXBvLlRpcDIwVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0dGVtcG86IFRlbXBvLlRpcDIwVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBpY3A6IEljcC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRpY3A6IEljcC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHN0YXJrbmV0OiBTdGFya25ldC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRzdGFya25ldDogU3RhcmtuZXQuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBiYWJ5OiBCYWJ5LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGJhYnk6IEJhYnkuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBjcm9ub3M6IENyb25vcy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRjcm9ub3M6IENyb25vcy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGluaXRpYTogSW5pdGlhLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGluaXRpYTogSW5pdGlhLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXNpOiBBc2kuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YXNpOiBBc2kuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBmbHI6IEZsci5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRmbHI6IEZsci5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHNnYjogU2diLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHNnYjogU2diLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgeGRjOiBYZGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0eGRjOiBYZGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB3ZW1peDogV2VtaXguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0d2VtaXg6IFdlbWl4LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgbW9uOiBNb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0bW9uOiBNb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB3b3JsZDogV29ybGQuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0d29ybGQ6IFdvcmxkLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgc29uZWl1bTogU29uZWl1bS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRzb25laXVtOiBTb25laXVtLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHN0dDogU3R0LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcG9seXg6IFBvbHl4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRwb2x5eDogUG9seXguVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdmV0OiBWZXQuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHZldDogVmV0LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGNhbnRvbjogQ2FudG9uLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRjYW50b246IENhbnRvbi5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBmbHJwOiBGbHJQLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRmbHJwOiBGbHJQLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGthc3BhOiBLYXNwYS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0a2FzcGE6IEthc3BhLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG59O1xuXG5jb25zdCBjb2luTWVzc2FnZUJ1aWxkZXJGYWN0b3J5TWFwID0ge1xuICBhZGE6IEFkYS5NZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIHRhZGE6IEFkYS5NZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIHNvbDogU29sLk1lc3NhZ2VCdWlsZGVyRmFjdG9yeSxcbiAgdHNvbDogU29sLk1lc3NhZ2VCdWlsZGVyRmFjdG9yeSxcbiAgY2FudG9uOiBDYW50b24uTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICB0Y2FudG9uOiBDYW50b24uTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxufTtcblxuY29pbnNcbiAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfRVZNX01FU1NBR0VfU0lHTklORykgJiYgIWNvaW4uaXNUb2tlbilcbiAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICBjb2luTWVzc2FnZUJ1aWxkZXJGYWN0b3J5TWFwW2NvaW4ubmFtZV0gPSBFdGguTWVzc2FnZUJ1aWxkZXJGYWN0b3J5O1xuICB9KTtcblxuY29pbnNcbiAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfRVZNX1NESykpXG4gIC5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgY29pbkJ1aWxkZXJNYXBbY29pbi5uYW1lXSA9IEV2bUNvaW4uVHJhbnNhY3Rpb25CdWlsZGVyO1xuICB9KTtcblxuY29pbnNcbiAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfQ09TTU9TX1NESykpXG4gIC5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgY29pbkJ1aWxkZXJNYXBbY29pbi5uYW1lXSA9IENvc21vc1NoYXJlZENvaW4uVHJhbnNhY3Rpb25CdWlsZGVyO1xuICB9KTtcblxuLyoqXG4gKiBHZXQgdGhlIGxpc3Qgb2YgY29pbiB0aWNrZXJzIHN1cHBvcnRlZCBieSB0aGlzIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRDb2lucyA9IE9iamVjdC5rZXlzKGNvaW5CdWlsZGVyTWFwKTtcblxuLyoqXG4gKiBHZXQgYSB0cmFuc2FjdGlvbiBidWlsZGVyIGZvciB0aGUgZ2l2ZW4gY29pbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgT25lIG9mIHRoZSB7QGNvZGUgc3VwcG9ydGVkQ29pbnN9XG4gKiBAcmV0dXJucyB7YW55fSBBbiBpbnN0YW5jZSBvZiBhIHtAY29kZSBUcmFuc2FjdGlvbkJ1aWxkZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWlsZGVyKGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlQnVpbGRlciB7XG4gIGNvbnN0IGJ1aWxkZXJDbGFzcyA9IGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXTtcbiAgaWYgKCFidWlsZGVyQ2xhc3MpIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBDb2luICR7Y29pbk5hbWV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgYnVpbGRlckNsYXNzKGNvaW5zLmdldChjb2luTmFtZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3QgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5Q2xhc3MgPSBjb2luTWVzc2FnZUJ1aWxkZXJGYWN0b3J5TWFwW2NvaW5OYW1lXTtcbiAgaWYgKCFtZXNzYWdlQnVpbGRlckZhY3RvcnlDbGFzcykge1xuICAgIHRocm93IG5ldyBCdWlsZE1lc3NhZ2VFcnJvcihgTWVzc2FnZSBidWlsZGVyIGZhY3RvcnkgZm9yIGNvaW4gJHtjb2luTmFtZX0gbm90IHN1cHBvcnRlZGApO1xuICB9XG4gIHJldHVybiBuZXcgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5Q2xhc3MoY29pbnMuZ2V0KGNvaW5OYW1lKSk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBuZXcgY29pbiBpbnN0YW5jZSB3aXRoIGl0cyBidWlsZGVyIGZhY3RvcnlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgY29pbiBuYW1lIGFzIGl0IHdhcyByZWdpc3RlcmVkIGluIEBiaXRnby1iZXRhL3N0YXRpY3NcbiAqIEBwYXJhbSB7YW55fSBidWlsZGVyRmFjdG9yeSB0aGUgYnVpbGRlciBmYWN0b3J5IGNsYXNzIGZvciB0aGF0IGNvaW5cbiAqIEByZXR1cm5zIHthbnl9IHRoZSBmYWN0b3J5IGluc3RhbmNlIGZvciB0aGUgcmVnaXN0ZXJlZCBjb2luXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlcjxUIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnk+KFxuICBjb2luTmFtZTogc3RyaW5nLFxuICBidWlsZGVyRmFjdG9yeTogeyBuZXcgKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPik6IFQgfSxcbik6IFQge1xuICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KGNvaW5OYW1lKTtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBidWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgLy8gY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdID0gZmFjdG9yeTtcbiAgY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdID0gYnVpbGRlckZhY3Rvcnk7IC8vIEZvciBub3cgcmVnaXN0ZXIgdGhlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHVudGlsIHJlaW1wbGVtZW50IGdldEJ1aWxkZXIgbWV0aG9kXG4gIHJldHVybiBmYWN0b3J5O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgbmV3IGNvaW4gaW5zdGFuY2Ugd2l0aCBpdHMgbWVzc2FnZSBidWlsZGVyIGZhY3RvcnkgY29uc3RydWN0b3IuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIGNvaW4gbmFtZSBhcyBpdCB3YXMgcmVnaXN0ZXJlZCBpbiBAYml0Z28tYmV0YS9zdGF0aWNzXG4gKiBAcGFyYW0ge2FueX0gbWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHRoZSBtZXNzYWdlIGJ1aWxkZXIgZmFjdG9yeSBjbGFzcyBmb3IgdGhhdCBjb2luXG4gKiBAcmV0dXJucyB7YW55fSB0aGUgbWVzc2FnZSBidWlsZGVyIGZhY3RvcnkgaW5zdGFuY2UgZm9yIHRoZSByZWdpc3RlcmVkIGNvaW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyTWVzc2FnZUJ1aWxkZXJGYWN0b3J5PFQgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5PihcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5OiB7IG5ldyAoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KTogVCB9LFxuKTogVCB7XG4gIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQoY29pbk5hbWUpO1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IG1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgY29pbk1lc3NhZ2VCdWlsZGVyRmFjdG9yeU1hcFtjb2luTmFtZV0gPSBtZXNzYWdlQnVpbGRlckZhY3Rvcnk7XG4gIHJldHVybiBmYWN0b3J5O1xufVxuXG4vKipcbiAqIFZlcmlmeSBhIG1lc3NhZ2UgYWdhaW5zdCB0aGUgZ2l2ZW4gZW5jb2RlZCBwYXlsb2FkLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjb2luLlxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VSYXcgLSBUaGUgcmF3IG1lc3NhZ2UgdG8gdmVyaWZ5LlxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VFbmNvZGVkIC0gVGhlIGVuY29kZWQgbWVzc2FnZSB0byB2ZXJpZnkgYWdhaW5zdC5cbiAqIEBwYXJhbSB7TWVzc2FnZVN0YW5kYXJkVHlwZX0gbWVzc2FnZVN0YW5kYXJkVHlwZSAtIFRoZSB0eXBlIG9mIG1lc3NhZ2Ugc3RhbmRhcmQuXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBbbWV0YWRhdGFdIC0gT3B0aW9uYWwgbWV0YWRhdGEgZm9yIHZlcmlmaWNhdGlvbi5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgdmVyaWZpY2F0aW9uIGlzIHN1Y2Nlc3NmdWwsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeU1lc3NhZ2UoXG4gIGNvaW5OYW1lOiBzdHJpbmcsXG4gIG1lc3NhZ2VSYXc6IHN0cmluZyxcbiAgbWVzc2FnZUVuY29kZWQ6IHN0cmluZyxcbiAgbWVzc2FnZVN0YW5kYXJkVHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSxcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICB0cnkge1xuICAgIGNvbnN0IG1lc3NhZ2VCdWlsZGVyRmFjdG9yeSA9IGdldE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luTmFtZSk7XG4gICAgY29uc3QgbWVzc2FnZUJ1aWxkZXIgPSBtZXNzYWdlQnVpbGRlckZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIobWVzc2FnZVN0YW5kYXJkVHlwZSk7XG4gICAgbWVzc2FnZUJ1aWxkZXIuc2V0UGF5bG9hZChtZXNzYWdlUmF3KTtcbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgbWVzc2FnZUJ1aWxkZXIuYnVpbGQoKTtcbiAgICByZXR1cm4gYXdhaXQgbWVzc2FnZS52ZXJpZnlFbmNvZGVkUGF5bG9hZChtZXNzYWdlRW5jb2RlZCwgbWV0YWRhdGEpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgdmVyaWZ5aW5nIG1lc3NhZ2UgZm9yIGNvaW4gJHtjb2luTmFtZX06YCwgZSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=