@bitgo-beta/account-lib 2.24.1-alpha.49 → 2.24.1-alpha.490

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 +112 -4
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +263 -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 -43553
  66. package/package.json +78 -32
  67. package/.mocharc.js +0 -10
  68. package/CHANGELOG.md +0 -389
  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,60 @@ 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 Vet from '@bitgo-beta/sdk-coin-vet';
130
+ export { Vet };
131
+ import * as CosmosSharedCoin from '@bitgo-beta/sdk-coin-cosmos';
132
+ export { CosmosSharedCoin };
133
+ import * as Canton from '@bitgo-beta/sdk-coin-canton';
134
+ export { Canton };
135
+ import { FlrPLib as FlrP } from '@bitgo-beta/sdk-coin-flrp';
136
+ export { FlrP };
137
+ import * as Kaspa from '@bitgo-beta/sdk-coin-kaspa';
138
+ export { Kaspa };
139
+ import { MIDNIGHT_TNC_HASH } from './utils';
140
+ export { MIDNIGHT_TNC_HASH };
55
141
  /**
56
142
  * Get the list of coin tickers supported by this library.
57
143
  */
@@ -63,6 +149,7 @@ export declare const supportedCoins: string[];
63
149
  * @returns {any} An instance of a {@code TransactionBuilder}
64
150
  */
65
151
  export declare function getBuilder(coinName: string): BaseBuilder;
152
+ export declare function getMessageBuilderFactory(coinName: string): BaseMessageBuilderFactory;
66
153
  /**
67
154
  * Register a new coin instance with its builder factory
68
155
  *
@@ -73,4 +160,25 @@ export declare function getBuilder(coinName: string): BaseBuilder;
73
160
  export declare function register<T extends BaseTransactionBuilderFactory>(coinName: string, builderFactory: {
74
161
  new (_coinConfig: Readonly<CoinConfig>): T;
75
162
  }): T;
163
+ /**
164
+ * Register a new coin instance with its message builder factory constructor.
165
+ *
166
+ * @param {string} coinName coin name as it was registered in @bitgo-beta/statics
167
+ * @param {any} messageBuilderFactory the message builder factory class for that coin
168
+ * @returns {any} the message builder factory instance for the registered coin
169
+ */
170
+ export declare function registerMessageBuilderFactory<T extends BaseMessageBuilderFactory>(coinName: string, messageBuilderFactory: {
171
+ new (_coinConfig: Readonly<CoinConfig>): T;
172
+ }): T;
173
+ /**
174
+ * Verify a message against the given encoded payload.
175
+ *
176
+ * @param {string} coinName - The name of the coin.
177
+ * @param {string} messageRaw - The raw message to verify.
178
+ * @param {string} messageEncoded - The encoded message to verify against.
179
+ * @param {MessageStandardType} messageStandardType - The type of message standard.
180
+ * @param {Record<string, unknown>} [metadata] - Optional metadata for verification.
181
+ * @returns {Promise<boolean>} - Returns true if the verification is successful, false otherwise.
182
+ */
183
+ export declare function verifyMessage(coinName: string, messageRaw: string, messageEncoded: string, messageStandardType: MessageStandardType, metadata?: Record<string, unknown>): Promise<boolean>;
76
184
  //# 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.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,60 @@ 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 Vet = __importStar(require("@bitgo-beta/sdk-coin-vet"));
174
+ exports.Vet = Vet;
175
+ const CosmosSharedCoin = __importStar(require("@bitgo-beta/sdk-coin-cosmos"));
176
+ exports.CosmosSharedCoin = CosmosSharedCoin;
177
+ const Canton = __importStar(require("@bitgo-beta/sdk-coin-canton"));
178
+ exports.Canton = Canton;
179
+ const sdk_coin_flrp_1 = require("@bitgo-beta/sdk-coin-flrp");
180
+ Object.defineProperty(exports, "FlrP", { enumerable: true, get: function () { return sdk_coin_flrp_1.FlrPLib; } });
181
+ const Kaspa = __importStar(require("@bitgo-beta/sdk-coin-kaspa"));
182
+ exports.Kaspa = Kaspa;
183
+ const utils_1 = require("./utils");
184
+ Object.defineProperty(exports, "MIDNIGHT_TNC_HASH", { enumerable: true, get: function () { return utils_1.MIDNIGHT_TNC_HASH; } });
79
185
  const coinBuilderMap = {
80
186
  trx: Trx.WrappedBuilder,
81
187
  ttrx: Trx.WrappedBuilder,
@@ -86,10 +192,11 @@ const coinBuilderMap = {
86
192
  eth: Eth.TransactionBuilder,
87
193
  teth: Eth.TransactionBuilder,
88
194
  gteth: Eth.TransactionBuilder,
195
+ hteth: Eth.TransactionBuilder,
89
196
  rbtc: Rbtc.TransactionBuilder,
90
197
  trbtc: Rbtc.TransactionBuilder,
91
198
  celo: Celo.TransactionBuilder,
92
- tcelo: Celo.TransactionBuilder,
199
+ tcelo: Celo.TestnetTransactionBuilder,
93
200
  avaxc: AvaxC.TransactionBuilder,
94
201
  tavaxc: AvaxC.TransactionBuilder,
95
202
  bsc: Bsc.TransactionBuilder,
@@ -113,9 +220,107 @@ const coinBuilderMap = {
113
220
  tpolygon: Polygon.TransactionBuilder,
114
221
  sui: Sui.TransactionBuilderFactory,
115
222
  tsui: Sui.TransactionBuilderFactory,
223
+ tia: Tia.TransactionBuilderFactory,
224
+ ttia: Tia.TransactionBuilderFactory,
116
225
  atom: Atom.TransactionBuilderFactory,
117
226
  tatom: Atom.TransactionBuilderFactory,
227
+ osmo: Osmo.TransactionBuilderFactory,
228
+ tosmo: Osmo.TransactionBuilderFactory,
229
+ bld: Bld.TransactionBuilderFactory,
230
+ tbld: Bld.TransactionBuilderFactory,
231
+ hash: Hash.TransactionBuilderFactory,
232
+ thash: Hash.TransactionBuilderFactory,
233
+ sei: Sei.TransactionBuilderFactory,
234
+ tsei: Sei.TransactionBuilderFactory,
235
+ injective: Injective.TransactionBuilderFactory,
236
+ tinjective: Injective.TransactionBuilderFactory,
237
+ zeta: Zeta.TransactionBuilderFactory,
238
+ tzeta: Zeta.TransactionBuilderFactory,
239
+ islm: Islm.TransactionBuilderFactory,
240
+ tislm: Islm.TransactionBuilderFactory,
241
+ coreum: Coreum.TransactionBuilderFactory,
242
+ tcoreum: Coreum.TransactionBuilderFactory,
243
+ arbeth: Arbeth.TransactionBuilder,
244
+ tarbeth: Arbeth.TransactionBuilder,
245
+ opeth: Opeth.TransactionBuilder,
246
+ topeth: Opeth.TransactionBuilder,
247
+ ton: Ton.TransactionBuilder,
248
+ tton: Ton.TransactionBuilder,
249
+ zketh: zkEth.TransactionBuilder,
250
+ tzketh: zkEth.TransactionBuilder,
251
+ bera: Bera.TransactionBuilder,
252
+ tbera: Bera.TransactionBuilder,
253
+ rune: Rune.TransactionBuilderFactory,
254
+ trune: Rune.TransactionBuilderFactory,
255
+ oas: Oas.TransactionBuilder,
256
+ toas: Oas.TransactionBuilder,
257
+ coredao: Coredao.TransactionBuilder,
258
+ tcoredao: Coredao.TransactionBuilder,
259
+ apechain: Apechain.TransactionBuilder,
260
+ tapechain: Apechain.TransactionBuilder,
261
+ apt: Apt.TransactionBuilder,
262
+ tapt: Apt.TransactionBuilder,
263
+ tao: Tao.TransactionBuilderFactory,
264
+ ttao: Tao.TransactionBuilderFactory,
265
+ tempo: Tempo.Tip20TransactionBuilder,
266
+ ttempo: Tempo.Tip20TransactionBuilder,
267
+ icp: Icp.TransactionBuilder,
268
+ ticp: Icp.TransactionBuilder,
269
+ baby: Baby.TransactionBuilder,
270
+ tbaby: Baby.TransactionBuilder,
271
+ cronos: Cronos.TransactionBuilder,
272
+ tcronos: Cronos.TransactionBuilder,
273
+ initia: Initia.TransactionBuilder,
274
+ tinitia: Initia.TransactionBuilder,
275
+ asi: Asi.TransactionBuilder,
276
+ tasi: Asi.TransactionBuilder,
277
+ flr: Flr.TransactionBuilder,
278
+ tflr: Flr.TransactionBuilder,
279
+ sgb: Sgb.TransactionBuilder,
280
+ tsgb: Sgb.TransactionBuilder,
281
+ xdc: Xdc.TransactionBuilder,
282
+ txdc: Xdc.TransactionBuilder,
283
+ wemix: Wemix.TransactionBuilder,
284
+ twemix: Wemix.TransactionBuilder,
285
+ mon: Mon.TransactionBuilder,
286
+ tmon: Mon.TransactionBuilder,
287
+ world: World.TransactionBuilder,
288
+ tworld: World.TransactionBuilder,
289
+ soneium: Soneium.TransactionBuilder,
290
+ tsoneium: Soneium.TransactionBuilder,
291
+ tstt: Stt.TransactionBuilder,
292
+ polyx: Polyx.TransactionBuilderFactory,
293
+ tpolyx: Polyx.TransactionBuilderFactory,
294
+ vet: Vet.TransactionBuilderFactory,
295
+ tvet: Vet.TransactionBuilderFactory,
296
+ canton: Canton.TransactionBuilderFactory,
297
+ tcanton: Canton.TransactionBuilderFactory,
298
+ flrp: sdk_coin_flrp_1.FlrPLib.TransactionBuilderFactory,
299
+ tflrp: sdk_coin_flrp_1.FlrPLib.TransactionBuilderFactory,
300
+ kaspa: Kaspa.TransactionBuilderFactory,
301
+ tkaspa: Kaspa.TransactionBuilderFactory,
118
302
  };
303
+ const coinMessageBuilderFactoryMap = {
304
+ ada: Ada.MessageBuilderFactory,
305
+ tada: Ada.MessageBuilderFactory,
306
+ sol: Sol.MessageBuilderFactory,
307
+ tsol: Sol.MessageBuilderFactory,
308
+ };
309
+ statics_1.coins
310
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING) && !coin.isToken)
311
+ .forEach((coin) => {
312
+ coinMessageBuilderFactoryMap[coin.name] = Eth.MessageBuilderFactory;
313
+ });
314
+ statics_1.coins
315
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK))
316
+ .forEach((coin) => {
317
+ coinBuilderMap[coin.name] = EvmCoin.TransactionBuilder;
318
+ });
319
+ statics_1.coins
320
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_COSMOS_SDK))
321
+ .forEach((coin) => {
322
+ coinBuilderMap[coin.name] = CosmosSharedCoin.TransactionBuilder;
323
+ });
119
324
  /**
120
325
  * Get the list of coin tickers supported by this library.
121
326
  */
@@ -133,7 +338,13 @@ function getBuilder(coinName) {
133
338
  }
134
339
  return new builderClass(statics_1.coins.get(coinName));
135
340
  }
136
- exports.getBuilder = getBuilder;
341
+ function getMessageBuilderFactory(coinName) {
342
+ const messageBuilderFactoryClass = coinMessageBuilderFactoryMap[coinName];
343
+ if (!messageBuilderFactoryClass) {
344
+ throw new sdk_core_1.BuildMessageError(`Message builder factory for coin ${coinName} not supported`);
345
+ }
346
+ return new messageBuilderFactoryClass(statics_1.coins.get(coinName));
347
+ }
137
348
  /**
138
349
  * Register a new coin instance with its builder factory
139
350
  *
@@ -148,5 +359,40 @@ function register(coinName, builderFactory) {
148
359
  coinBuilderMap[coinName] = builderFactory; // For now register the constructor function until reimplement getBuilder method
149
360
  return factory;
150
361
  }
151
- exports.register = register;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFvRTtBQUNwRSxtREFTOEI7QUFDZCw2RkFKZCx1QkFBWSxPQUljO0FBUW5CLGtHQVhQLDRCQUFpQixPQVdPO0FBUmpCLHNGQUZQLGdCQUFLLE9BRU87QUFFZDs7O0dBR0c7QUFDVSxRQUFBLE1BQU0sR0FBRywwQkFBZSxDQUFDO0FBSXRDOzs7R0FHRztBQUNVLFFBQUEsUUFBUSxHQUFHLDZCQUFrQixDQUFDO0FBRTNDLFFBQVE7QUFDUiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiwyREFBeUQ7QUFDaEQsb0ZBRFUscUJBQUcsT0FDVjtBQUVaLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLGtFQUFvRDtBQUMzQyxzQkFBSztBQUVkLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLDZEQUE0RDtBQUNuRCxxRkFEVyx1QkFBSSxPQUNYO0FBRWIsMkRBQXlEO0FBQ2hELG9GQURVLHFCQUFHLE9BQ1Y7QUFFWiw2REFBNEQ7QUFDbkQscUZBRFcsdUJBQUksT0FDWDtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLCtEQUErRDtBQUN0RCxzRkFEWSx5QkFBSyxPQUNaO0FBRWQsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosc0VBQXdEO0FBQy9DLDBCQUFPO0FBRWhCLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLENBQUMs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O0lBQzNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFURCw0QkFTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBhY291bnRMaWJDcnlwdG8sXG4gIGFjY291bnRMaWJCYXNlQ29pbixcbiAgQmFzZUJ1aWxkZXIsXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEVkMjU1MTlCSVAzMixcbiAgRWQyNTUxOUtleURlcml2ZXIsXG4gIEVkZHNhLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5leHBvcnQgeyBFZGRzYSwgRWQyNTUxOUJJUDMyIH07XG5cbi8qKlxuICogRGVwcmVjYXRlZCBhZnRlciB2ZXJzaW9uIDIuMTkuMFxuICogUmV0YWluZWQgZm9yIHNob3J0IHRlcm0gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgLSBtaWdyYXRlIHRvOiBAYml0Z28tYmV0YS9zZGstYXBpIGFuZCBAYml0Z28tYmV0YS9zZGstY29yZVxuICovXG5leHBvcnQgY29uc3QgY3J5cHRvID0gYWNvdW50TGliQ3J5cHRvO1xuXG5leHBvcnQgeyBFZDI1NTE5S2V5RGVyaXZlciB9O1xuXG4vKipcbiAqIERlcHJlY2F0ZWQgYWZ0ZXIgdmVyc2lvbiAyLjE5LjBcbiAqIFJldGFpbmVkIGZvciBzaG9ydCB0ZXJtIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IC0gbWlncmF0ZSB0bzogQGJpdGdvLWJldGEvc2RrLWFwaSBhbmQgQGJpdGdvLWJldGEvc2RrLWNvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDb2luID0gYWNjb3VudExpYkJhc2VDb2luO1xuXG4vLyBjb2luc1xuaW1wb3J0ICogYXMgVHJ4IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXRyeCc7XG5leHBvcnQgeyBUcnggfTtcblxuaW1wb3J0IHsgWHR6TGliIGFzIFh0eiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXh0eic7XG5leHBvcnQgeyBYdHogfTtcblxuaW1wb3J0ICogYXMgRXRoIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aCc7XG5leHBvcnQgeyBFdGggfTtcblxuaW1wb3J0ICogYXMgRXRoMiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ldGgyJztcbmV4cG9ydCB7IEV0aDIgfTtcblxuaW1wb3J0ICogYXMgRXRjIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0Yyc7XG5leHBvcnQgeyBFdGMgfTtcblxuaW1wb3J0ICogYXMgQXZheEMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXZheGMnO1xuZXhwb3J0IHsgQXZheEMgfTtcblxuaW1wb3J0ICogYXMgUmJ0YyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1yYnRjJztcbmV4cG9ydCB7IFJidGMgfTtcblxuaW1wb3J0ICogYXMgQ2VsbyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1jZWxvJztcbmV4cG9ydCB7IENlbG8gfTtcblxuaW1wb3J0ICogYXMgSGJhciBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1oYmFyJztcbmV4cG9ydCB7IEhiYXIgfTtcblxuaW1wb3J0IHsgQ3NwckxpYiBhcyBDc3ByIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tY3Nwcic7XG5leHBvcnQgeyBDc3ByIH07XG5cbmltcG9ydCB7IFN0eExpYiBhcyBTdHggfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdHgnO1xuZXhwb3J0IHsgU3R4IH07XG5cbmltcG9ydCB7IEFsZ29MaWIgYXMgQWxnbyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFsZ28nO1xuZXhwb3J0IHsgQWxnbyB9O1xuXG5pbXBvcnQgKiBhcyBBdG9tIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWF0b20nO1xuZXhwb3J0IHsgQXRvbSB9O1xuXG5pbXBvcnQgeyBBdmF4cExpYiBhcyBBdmF4UCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWF2YXhwJztcbmV4cG9ydCB7IEF2YXhQIH07XG5cbmltcG9ydCAqIGFzIFNvbCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zb2wnO1xuZXhwb3J0IHsgU29sIH07XG5cbmltcG9ydCAqIGFzIERvdCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1kb3QnO1xuZXhwb3J0IHsgRG90IH07XG5cbmltcG9ydCAqIGFzIE5lYXIgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tbmVhcic7XG5leHBvcnQgeyBOZWFyIH07XG5cbmltcG9ydCAqIGFzIEJzYyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ic2MnO1xuZXhwb3J0IHsgQnNjIH07XG5cbmltcG9ydCAqIGFzIFBvbHlnb24gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tcG9seWdvbic7XG5leHBvcnQgeyBQb2x5Z29uIH07XG5cbmltcG9ydCAqIGFzIFN1aSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdWknO1xuZXhwb3J0IHsgU3VpIH07XG5cbmNvbnN0IGNvaW5CdWlsZGVyTWFwID0ge1xuICB0cng6IFRyeC5XcmFwcGVkQnVpbGRlcixcbiAgdHRyeDogVHJ4LldyYXBwZWRCdWlsZGVyLFxuICB4dHo6IFh0ei5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHR4dHo6IFh0ei5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGV0YzogRXRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGV0YzogRXRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBndGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcmJ0YzogUmJ0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRyYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgY2VsbzogQ2Vsby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRjZWxvOiBDZWxvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheGM6IEF2YXhDLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheHA6IEF2YXhQLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhdmF4cDogQXZheFAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgbmVhcjogTmVhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBwb2x5Z29uOiBQb2x5Z29uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHBvbHlnb246IFBvbHlnb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBzdWk6IFN1aS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c3VpOiBTdWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxufTtcblxuLyoqXG4gKiBHZXQgdGhlIGxpc3Qgb2YgY29pbiB0aWNrZXJzIHN1cHBvcnRlZCBieSB0aGlzIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRDb2lucyA9IE9iamVjdC5rZXlzKGNvaW5CdWlsZGVyTWFwKTtcblxuLyoqXG4gKiBHZXQgYSB0cmFuc2FjdGlvbiBidWlsZGVyIGZvciB0aGUgZ2l2ZW4gY29pbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgT25lIG9mIHRoZSB7QGNvZGUgc3VwcG9ydGVkQ29pbnN9XG4gKiBAcmV0dXJucyB7YW55fSBBbiBpbnN0YW5jZSBvZiBhIHtAY29kZSBUcmFuc2FjdGlvbkJ1aWxkZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWlsZGVyKGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlQnVpbGRlciB7XG4gIGNvbnN0IGJ1aWxkZXJDbGFzcyA9IGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXTtcbiAgaWYgKCFidWlsZGVyQ2xhc3MpIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBDb2luICR7Y29pbk5hbWV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgYnVpbGRlckNsYXNzKGNvaW5zLmdldChjb2luTmFtZSkpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgbmV3IGNvaW4gaW5zdGFuY2Ugd2l0aCBpdHMgYnVpbGRlciBmYWN0b3J5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIGNvaW4gbmFtZSBhcyBpdCB3YXMgcmVnaXN0ZXJlZCBpbiBAYml0Z28tYmV0YS9zdGF0aWNzXG4gKiBAcGFyYW0ge2FueX0gYnVpbGRlckZhY3RvcnkgdGhlIGJ1aWxkZXIgZmFjdG9yeSBjbGFzcyBmb3IgdGhhdCBjb2luXG4gKiBAcmV0dXJucyB7YW55fSB0aGUgZmFjdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHJlZ2lzdGVyZWQgY29pblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXI8VCBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5PihcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgYnVpbGRlckZhY3Rvcnk6IHsgbmV3IChfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBUIH0sXG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgYnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gIC8vIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGZhY3Rvcnk7XG4gIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGJ1aWxkZXJGYWN0b3J5OyAvLyBGb3Igbm93IHJlZ2lzdGVyIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB1bnRpbCByZWltcGxlbWVudCBnZXRCdWlsZGVyIG1ldGhvZFxuICByZXR1cm4gZmFjdG9yeTtcbn1cbiJdfQ==
362
+ /**
363
+ * Register a new coin instance with its message builder factory constructor.
364
+ *
365
+ * @param {string} coinName coin name as it was registered in @bitgo-beta/statics
366
+ * @param {any} messageBuilderFactory the message builder factory class for that coin
367
+ * @returns {any} the message builder factory instance for the registered coin
368
+ */
369
+ function registerMessageBuilderFactory(coinName, messageBuilderFactory) {
370
+ const coinConfig = statics_1.coins.get(coinName);
371
+ const factory = new messageBuilderFactory(coinConfig);
372
+ coinMessageBuilderFactoryMap[coinName] = messageBuilderFactory;
373
+ return factory;
374
+ }
375
+ /**
376
+ * Verify a message against the given encoded payload.
377
+ *
378
+ * @param {string} coinName - The name of the coin.
379
+ * @param {string} messageRaw - The raw message to verify.
380
+ * @param {string} messageEncoded - The encoded message to verify against.
381
+ * @param {MessageStandardType} messageStandardType - The type of message standard.
382
+ * @param {Record<string, unknown>} [metadata] - Optional metadata for verification.
383
+ * @returns {Promise<boolean>} - Returns true if the verification is successful, false otherwise.
384
+ */
385
+ async function verifyMessage(coinName, messageRaw, messageEncoded, messageStandardType, metadata) {
386
+ try {
387
+ const messageBuilderFactory = getMessageBuilderFactory(coinName);
388
+ const messageBuilder = messageBuilderFactory.getMessageBuilder(messageStandardType);
389
+ messageBuilder.setPayload(messageRaw);
390
+ const message = await messageBuilder.build();
391
+ return await message.verifyEncodedPayload(messageEncoded, metadata);
392
+ }
393
+ catch (e) {
394
+ console.error(`Error verifying message for coin ${coinName}:`, e);
395
+ return false;
396
+ }
397
+ }
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVYQSxnQ0FPQztBQUVELDREQU1DO0FBU0QsNEJBU0M7QUFTRCxzRUFRQztBQVlELHNDQWlCQztBQXRjRCxtREFZOEI7QUFVckIsa0dBbEJQLDRCQUFpQixPQWtCTztBQVJqQiw2RkFUUCx1QkFBWSxPQVNPO0FBQUUsc0ZBUnJCLGdCQUFLLE9BUXFCO0FBRDVCLGlEQUFpRjtBQUdqRjs7O0dBR0c7QUFDVSxRQUFBLE1BQU0sR0FBRywwQkFBZSxDQUFDO0FBSXRDOzs7R0FHRztBQUNVLFFBQUEsUUFBUSxHQUFHLDZCQUFrQixDQUFDO0FBRTNDLFFBQVE7QUFDUiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiwyREFBeUQ7QUFDaEQsb0ZBRFUscUJBQUcsT0FDVjtBQUVaLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLGtFQUFvRDtBQUMzQyxzQkFBSztBQUVkLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLDZEQUE0RDtBQUNuRCxxRkFEVyx1QkFBSSxPQUNYO0FBRWIsMkRBQXlEO0FBQ2hELG9GQURVLHFCQUFHLE9BQ1Y7QUFFWiw2REFBNEQ7QUFDbkQscUZBRFcsdUJBQUksT0FDWDtBQUViLG9FQUFzRDtBQUM3Qyx3QkFBTTtBQUVmLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLGdFQUFrRDtBQUN6QyxvQkFBSTtBQUViLCtEQUErRDtBQUN0RCxzRkFEWSx5QkFBSyxPQUNaO0FBRWQsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pD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QUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxTQUFTLEVBQUUsU0FBUyxDQUFDLHlCQUF5QjtJQUM5QyxVQUFVLEVBQUUsU0FBUyxDQUFDLHlCQUF5QjtJQUMvQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxNQUFNLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtJQUN4QyxPQUFPLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtJQUN6QyxNQUFNLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNqQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNsQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixPQUFPLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtJQUNuQyxRQUFRLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtJQUNwQyxRQUFRLEVBQUUsUUFBUSxDQUFDLGtCQUFrQjtJQUNyQyxTQUFTLEVBQUUsUUFBUSxDQUFDLGtCQUFrQjtJQUN0QyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxLQUFLLEVBQUUsS0FBSyxDQUFDLHVCQUF1QjtJQUNwQyxNQUFNLEVBQUUsS0FBSyxDQUFDLHVCQUF1QjtJQUNyQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixNQUFNLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNqQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNsQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNqQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNsQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVB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TUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsT0FBTyxNQUFNLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUJ1aWxkZXIsXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEVkMjU1MTlLZXlEZXJpdmVyLFxuICBFZDI1NTE5QklQMzIsXG4gIEVkZHNhLFxuICBhY2NvdW50TGliQmFzZUNvaW4sXG4gIGFjb3VudExpYkNyeXB0byxcbiAgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSxcbiAgQnVpbGRNZXNzYWdlRXJyb3IsXG4gIE1lc3NhZ2VTdGFuZGFyZFR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIENvaW5GZWF0dXJlLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuZXhwb3J0IHsgRWQyNTUxOUJJUDMyLCBFZGRzYSB9O1xuXG4vKipcbiAqIERlcHJlY2F0ZWQgYWZ0ZXIgdmVyc2lvbiAyLjE5LjBcbiAqIFJldGFpbmVkIGZvciBzaG9ydCB0ZXJtIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IC0gbWlncmF0ZSB0bzogQGJpdGdvLWJldGEvc2RrLWFwaSBhbmQgQGJpdGdvLWJldGEvc2RrLWNvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IGNyeXB0byA9IGFjb3VudExpYkNyeXB0bztcblxuZXhwb3J0IHsgRWQyNTUxOUtleURlcml2ZXIgfTtcblxuLyoqXG4gKiBEZXByZWNhdGVkIGFmdGVyIHZlcnNpb24gMi4xOS4wXG4gKiBSZXRhaW5lZCBmb3Igc2hvcnQgdGVybSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAtIG1pZ3JhdGUgdG86IEBiaXRnby1iZXRhL3Nkay1hcGkgYW5kIEBiaXRnby1iZXRhL3Nkay1jb3JlXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlQ29pbiA9IGFjY291bnRMaWJCYXNlQ29pbjtcblxuLy8gY29pbnNcbmltcG9ydCAqIGFzIFRyeCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi10cngnO1xuZXhwb3J0IHsgVHJ4IH07XG5cbmltcG9ydCB7IFh0ekxpYiBhcyBYdHogfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi14dHonO1xuZXhwb3J0IHsgWHR6IH07XG5cbmltcG9ydCAqIGFzIEV0aCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ldGgnO1xuZXhwb3J0IHsgRXRoIH07XG5cbmltcG9ydCAqIGFzIEV0YyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ldGMnO1xuZXhwb3J0IHsgRXRjIH07XG5cbmltcG9ydCAqIGFzIEF2YXhDIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWF2YXhjJztcbmV4cG9ydCB7IEF2YXhDIH07XG5cbmltcG9ydCAqIGFzIFJidGMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tcmJ0Yyc7XG5leHBvcnQgeyBSYnRjIH07XG5cbmltcG9ydCAqIGFzIENlbG8gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tY2Vsbyc7XG5leHBvcnQgeyBDZWxvIH07XG5cbmltcG9ydCAqIGFzIEhiYXIgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4taGJhcic7XG5leHBvcnQgeyBIYmFyIH07XG5cbmltcG9ydCB7IENzcHJMaWIgYXMgQ3NwciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNzcHInO1xuZXhwb3J0IHsgQ3NwciB9O1xuXG5pbXBvcnQgeyBTdHhMaWIgYXMgU3R4IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tc3R4JztcbmV4cG9ydCB7IFN0eCB9O1xuXG5pbXBvcnQgeyBBbGdvTGliIGFzIEFsZ28gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1hbGdvJztcbmV4cG9ydCB7IEFsZ28gfTtcblxuaW1wb3J0ICogYXMgQXJiZXRoIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFyYmV0aCc7XG5leHBvcnQgeyBBcmJldGggfTtcblxuaW1wb3J0ICogYXMgQXRvbSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1hdG9tJztcbmV4cG9ydCB7IEF0b20gfTtcblxuaW1wb3J0ICogYXMgT3NtbyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1vc21vJztcbmV4cG9ydCB7IE9zbW8gfTtcblxuaW1wb3J0IHsgQXZheHBMaWIgYXMgQXZheFAgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1hdmF4cCc7XG5leHBvcnQgeyBBdmF4UCB9O1xuXG5pbXBvcnQgKiBhcyBUaWEgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tdGlhJztcbmV4cG9ydCB7IFRpYSB9O1xuXG5pbXBvcnQgKiBhcyBCZXJhIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWJlcmEnO1xuZXhwb3J0IHsgQmVyYSB9O1xuXG5pbXBvcnQgKiBhcyBCbGQgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYmxkJztcbmV4cG9ydCB7IEJsZCB9O1xuXG5pbXBvcnQgKiBhcyBIYXNoIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWhhc2gnO1xuZXhwb3J0IHsgSGFzaCB9O1xuXG5pbXBvcnQgKiBhcyBTZWkgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tc2VpJztcbmV4cG9ydCB7IFNlaSB9O1xuXG5pbXBvcnQgKiBhcyBJbmplY3RpdmUgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4taW5qZWN0aXZlJztcbmV4cG9ydCB7IEluamVjdGl2ZSB9O1xuXG5pbXBvcnQgKiBhcyBJc2xtIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWlzbG0nO1xuZXhwb3J0IHsgSXNsbSB9O1xuXG5pbXBvcnQgKiBhcyBaZXRhIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXpldGEnO1xuZXhwb3J0IHsgWmV0YSB9O1xuXG5pbXBvcnQgKiBhcyBDb3JldW0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tY29yZXVtJztcbmV4cG9ydCB7IENvcmV1bSB9O1xuXG5pbXBvcnQgKiBhcyBSdW5lIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXJ1bmUnO1xuZXhwb3J0IHsgUnVuZSB9O1xuXG5pbXBvcnQgKiBhcyBCYWJ5IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWJhYnknO1xuZXhwb3J0IHsgQmFieSB9O1xuXG5pbXBvcnQgKiBhcyBNb24gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tbW9uJztcbmV4cG9ydCB7IE1vbiB9O1xuXG5pbXBvcnQgKiBhcyBDcm9ub3MgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tY3Jvbm9zJztcbmV4cG9ydCB7IENyb25vcyB9O1xuXG5pbXBvcnQgKiBhcyBJbml0aWEgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4taW5pdGlhJztcbmV4cG9ydCB7IEluaXRpYSB9O1xuXG5pbXBvcnQgKiBhcyBBc2kgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXNpJztcbmV4cG9ydCB7IEFzaSB9O1xuXG5pbXBvcnQgKiBhcyBTb2wgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tc29sJztcbmV4cG9ydCB7IFNvbCB9O1xuXG5pbXBvcnQgKiBhcyBBZGEgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYWRhJztcbmV4cG9ydCB7IEFkYSB9O1xuXG5pbXBvcnQgKiBhcyBEb3QgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZG90JztcbmV4cG9ydCB7IERvdCB9O1xuXG5pbXBvcnQgKiBhcyBOZWFyIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLW5lYXInO1xuZXhwb3J0IHsgTmVhciB9O1xuXG5pbXBvcnQgKiBhcyBCc2MgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYnNjJztcbmV4cG9ydCB7IEJzYyB9O1xuXG5pbXBvcnQgKiBhcyBQb2x5Z29uIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXBvbHlnb24nO1xuZXhwb3J0IHsgUG9seWdvbiB9O1xuXG5pbXBvcnQgKiBhcyBQb2x5eCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1wb2x5eCc7XG5leHBvcnQgeyBQb2x5eCB9O1xuXG5pbXBvcnQgKiBhcyBPcGV0aCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1vcGV0aCc7XG5leHBvcnQgeyBPcGV0aCB9O1xuXG5pbXBvcnQgKiBhcyBTdWkgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tc3VpJztcbmV4cG9ydCB7IFN1aSB9O1xuXG5pbXBvcnQgKiBhcyBUb24gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tdG9uJztcbmV4cG9ydCB7IFRvbiB9O1xuXG5pbXBvcnQgKiBhcyBYUlAgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4teHJwJztcbmV4cG9ydCB7IFhSUCB9O1xuXG5pbXBvcnQgKiBhcyB6a0V0aCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi16a2V0aCc7XG5leHBvcnQgeyB6a0V0aCB9O1xuXG5pbXBvcnQgKiBhcyBPYXMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tb2FzJztcbmV4cG9ydCB7IE9hcyB9O1xuXG5pbXBvcnQgKiBhcyBDb3JlZGFvIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNvcmVkYW8nO1xuZXhwb3J0IHsgQ29yZWRhbyB9O1xuXG5pbXBvcnQgKiBhcyBBcHQgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXB0JztcbmV4cG9ydCB7IEFwdCB9O1xuXG5pbXBvcnQgKiBhcyBBcGVjaGFpbiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1hcGVjaGFpbic7XG5leHBvcnQgeyBBcGVjaGFpbiB9O1xuXG5pbXBvcnQgKiBhcyBUYW8gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tdGFvJztcbmV4cG9ydCB7IFRhbyB9O1xuXG5pbXBvcnQgKiBhcyBUZW1wbyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi10ZW1wbyc7XG5leHBvcnQgeyBUZW1wbyB9O1xuXG5pbXBvcnQgKiBhcyBJY3AgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4taWNwJztcbmV4cG9ydCB7IEljcCB9O1xuXG5pbXBvcnQgKiBhcyBGbHIgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZmxyJztcbmV4cG9ydCB7IEZsciB9O1xuXG5pbXBvcnQgKiBhcyBFdm1Db2luIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV2bSc7XG5leHBvcnQgeyBFdm1Db2luIH07XG5cbmltcG9ydCAqIGFzIFNnYiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zZ2InO1xuZXhwb3J0IHsgU2diIH07XG5cbmltcG9ydCAqIGFzIFhkYyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi14ZGMnO1xuZXhwb3J0IHsgWGRjIH07XG5cbmltcG9ydCAqIGFzIFdlbWl4IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXdlbWl4JztcbmV4cG9ydCB7IFdlbWl4IH07XG5cbmltcG9ydCAqIGFzIFdvcmxkIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXdvcmxkJztcbmV4cG9ydCB7IFdvcmxkIH07XG5cbmltcG9ydCAqIGFzIFN0dCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdHQnO1xuZXhwb3J0IHsgU3R0IH07XG5cbmltcG9ydCAqIGFzIFNvbmVpdW0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tc29uZWl1bSc7XG5leHBvcnQgeyBTb25laXVtIH07XG5cbmltcG9ydCAqIGFzIFZldCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi12ZXQnO1xuZXhwb3J0IHsgVmV0IH07XG5cbmltcG9ydCAqIGFzIENvc21vc1NoYXJlZENvaW4gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tY29zbW9zJztcbmV4cG9ydCB7IENvc21vc1NoYXJlZENvaW4gfTtcblxuaW1wb3J0ICogYXMgQ2FudG9uIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNhbnRvbic7XG5leHBvcnQgeyBDYW50b24gfTtcblxuaW1wb3J0IHsgRmxyUExpYiBhcyBGbHJQIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZmxycCc7XG5leHBvcnQgeyBGbHJQIH07XG5cbmltcG9ydCAqIGFzIEthc3BhIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWthc3BhJztcbmV4cG9ydCB7IEthc3BhIH07XG5cbmltcG9ydCB7IE1JRE5JR0hUX1ROQ19IQVNIIH0gZnJvbSAnLi91dGlscyc7XG5leHBvcnQgeyBNSUROSUdIVF9UTkNfSEFTSCB9O1xuXG5jb25zdCBjb2luQnVpbGRlck1hcCA9IHtcbiAgdHJ4OiBUcnguV3JhcHBlZEJ1aWxkZXIsXG4gIHR0cng6IFRyeC5XcmFwcGVkQnVpbGRlcixcbiAgeHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0eHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZ3RldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGh0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICByYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHJidGM6IFJidGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBjZWxvOiBDZWxvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGNlbG86IENlbG8uVGVzdG5ldFRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheGM6IEF2YXhDLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheHA6IEF2YXhQLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhdmF4cDogQXZheFAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgbmVhcjogTmVhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBwb2x5Z29uOiBQb2x5Z29uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHBvbHlnb246IFBvbHlnb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBzdWk6IFN1aS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c3VpOiBTdWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGlhOiBUaWEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHRpYTogVGlhLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGF0b206IEF0b20uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGF0b206IEF0b20uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgb3NtbzogT3Ntby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0b3NtbzogT3Ntby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBibGQ6IEJsZC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YmxkOiBCbGQuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaGFzaDogSGFzaC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aGFzaDogSGFzaC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBzZWk6IFNlaS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c2VpOiBTZWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaW5qZWN0aXZlOiBJbmplY3RpdmUuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGluamVjdGl2ZTogSW5qZWN0aXZlLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHpldGE6IFpldGEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHpldGE6IFpldGEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaXNsbTogSXNsbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aXNsbTogSXNsbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjb3JldW06IENvcmV1bS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0Y29yZXVtOiBDb3JldW0uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYXJiZXRoOiBBcmJldGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YXJiZXRoOiBBcmJldGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBvcGV0aDogT3BldGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0b3BldGg6IE9wZXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdG9uOiBUb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0dG9uOiBUb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB6a2V0aDogemtFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0emtldGg6IHprRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYmVyYTogQmVyYS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRiZXJhOiBCZXJhLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcnVuZTogUnVuZS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0cnVuZTogUnVuZS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBvYXM6IE9hcy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRvYXM6IE9hcy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGNvcmVkYW86IENvcmVkYW8uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0Y29yZWRhbzogQ29yZWRhby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGFwZWNoYWluOiBBcGVjaGFpbi5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhcGVjaGFpbjogQXBlY2hhaW4uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhcHQ6IEFwdC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhcHQ6IEFwdC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhbzogVGFvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHR0YW86IFRhby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZW1wbzogVGVtcG8uVGlwMjBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHR0ZW1wbzogVGVtcG8uVGlwMjBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGljcDogSWNwLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGljcDogSWNwLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYmFieTogQmFieS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRiYWJ5OiBCYWJ5LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgY3Jvbm9zOiBDcm9ub3MuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0Y3Jvbm9zOiBDcm9ub3MuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBpbml0aWE6IEluaXRpYS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRpbml0aWE6IEluaXRpYS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGFzaTogQXNpLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGFzaTogQXNpLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZmxyOiBGbHIuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZmxyOiBGbHIuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBzZ2I6IFNnYi5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRzZ2I6IFNnYi5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHhkYzogWGRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHhkYzogWGRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgd2VtaXg6IFdlbWl4LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHdlbWl4OiBXZW1peC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIG1vbjogTW9uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdG1vbjogTW9uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgd29ybGQ6IFdvcmxkLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHdvcmxkOiBXb3JsZC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHNvbmVpdW06IFNvbmVpdW0uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0c29uZWl1bTogU29uZWl1bS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRzdHQ6IFN0dC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHBvbHl4OiBQb2x5eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0cG9seXg6IFBvbHl4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHZldDogVmV0LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHR2ZXQ6IFZldC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjYW50b246IENhbnRvbi5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0Y2FudG9uOiBDYW50b24uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgZmxycDogRmxyUC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZmxycDogRmxyUC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBrYXNwYTogS2FzcGEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGthc3BhOiBLYXNwYS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxufTtcblxuY29uc3QgY29pbk1lc3NhZ2VCdWlsZGVyRmFjdG9yeU1hcCA9IHtcbiAgYWRhOiBBZGEuTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICB0YWRhOiBBZGEuTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICBzb2w6IFNvbC5NZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIHRzb2w6IFNvbC5NZXNzYWdlQnVpbGRlckZhY3RvcnksXG59O1xuXG5jb2luc1xuICAuZmlsdGVyKChjb2luKSA9PiBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNIQVJFRF9FVk1fTUVTU0FHRV9TSUdOSU5HKSAmJiAhY29pbi5pc1Rva2VuKVxuICAuZm9yRWFjaCgoY29pbikgPT4ge1xuICAgIGNvaW5NZXNzYWdlQnVpbGRlckZhY3RvcnlNYXBbY29pbi5uYW1lXSA9IEV0aC5NZXNzYWdlQnVpbGRlckZhY3Rvcnk7XG4gIH0pO1xuXG5jb2luc1xuICAuZmlsdGVyKChjb2luKSA9PiBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNIQVJFRF9FVk1fU0RLKSlcbiAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICBjb2luQnVpbGRlck1hcFtjb2luLm5hbWVdID0gRXZtQ29pbi5UcmFuc2FjdGlvbkJ1aWxkZXI7XG4gIH0pO1xuXG5jb2luc1xuICAuZmlsdGVyKChjb2luKSA9PiBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNIQVJFRF9DT1NNT1NfU0RLKSlcbiAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICBjb2luQnVpbGRlck1hcFtjb2luLm5hbWVdID0gQ29zbW9zU2hhcmVkQ29pbi5UcmFuc2FjdGlvbkJ1aWxkZXI7XG4gIH0pO1xuXG4vKipcbiAqIEdldCB0aGUgbGlzdCBvZiBjb2luIHRpY2tlcnMgc3VwcG9ydGVkIGJ5IHRoaXMgbGlicmFyeS5cbiAqL1xuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZENvaW5zID0gT2JqZWN0LmtleXMoY29pbkJ1aWxkZXJNYXApO1xuXG4vKipcbiAqIEdldCBhIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZm9yIHRoZSBnaXZlbiBjb2luLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2luTmFtZSBPbmUgb2YgdGhlIHtAY29kZSBzdXBwb3J0ZWRDb2luc31cbiAqIEByZXR1cm5zIHthbnl9IEFuIGluc3RhbmNlIG9mIGEge0Bjb2RlIFRyYW5zYWN0aW9uQnVpbGRlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1aWxkZXIoY29pbk5hbWU6IHN0cmluZyk6IEJhc2VCdWlsZGVyIHtcbiAgY29uc3QgYnVpbGRlckNsYXNzID0gY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdO1xuICBpZiAoIWJ1aWxkZXJDbGFzcykge1xuICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYENvaW4gJHtjb2luTmFtZX0gbm90IHN1cHBvcnRlZGApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBidWlsZGVyQ2xhc3MoY29pbnMuZ2V0KGNvaW5OYW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbk5hbWU6IHN0cmluZyk6IEJhc2VNZXNzYWdlQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdCBtZXNzYWdlQnVpbGRlckZhY3RvcnlDbGFzcyA9IGNvaW5NZXNzYWdlQnVpbGRlckZhY3RvcnlNYXBbY29pbk5hbWVdO1xuICBpZiAoIW1lc3NhZ2VCdWlsZGVyRmFjdG9yeUNsYXNzKSB7XG4gICAgdGhyb3cgbmV3IEJ1aWxkTWVzc2FnZUVycm9yKGBNZXNzYWdlIGJ1aWxkZXIgZmFjdG9yeSBmb3IgY29pbiAke2NvaW5OYW1lfSBub3Qgc3VwcG9ydGVkYCk7XG4gIH1cbiAgcmV0dXJuIG5ldyBtZXNzYWdlQnVpbGRlckZhY3RvcnlDbGFzcyhjb2lucy5nZXQoY29pbk5hbWUpKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIG5ldyBjb2luIGluc3RhbmNlIHdpdGggaXRzIGJ1aWxkZXIgZmFjdG9yeVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2luTmFtZSBjb2luIG5hbWUgYXMgaXQgd2FzIHJlZ2lzdGVyZWQgaW4gQGJpdGdvLWJldGEvc3RhdGljc1xuICogQHBhcmFtIHthbnl9IGJ1aWxkZXJGYWN0b3J5IHRoZSBidWlsZGVyIGZhY3RvcnkgY2xhc3MgZm9yIHRoYXQgY29pblxuICogQHJldHVybnMge2FueX0gdGhlIGZhY3RvcnkgaW5zdGFuY2UgZm9yIHRoZSByZWdpc3RlcmVkIGNvaW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyPFQgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeT4oXG4gIGNvaW5OYW1lOiBzdHJpbmcsXG4gIGJ1aWxkZXJGYWN0b3J5OiB7IG5ldyAoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KTogVCB9LFxuKTogVCB7XG4gIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQoY29pbk5hbWUpO1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IGJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAvLyBjb2luQnVpbGRlck1hcFtjb2luTmFtZV0gPSBmYWN0b3J5O1xuICBjb2luQnVpbGRlck1hcFtjb2luTmFtZV0gPSBidWlsZGVyRmFjdG9yeTsgLy8gRm9yIG5vdyByZWdpc3RlciB0aGUgY29uc3RydWN0b3IgZnVuY3Rpb24gdW50aWwgcmVpbXBsZW1lbnQgZ2V0QnVpbGRlciBtZXRob2RcbiAgcmV0dXJuIGZhY3Rvcnk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBuZXcgY29pbiBpbnN0YW5jZSB3aXRoIGl0cyBtZXNzYWdlIGJ1aWxkZXIgZmFjdG9yeSBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgY29pbiBuYW1lIGFzIGl0IHdhcyByZWdpc3RlcmVkIGluIEBiaXRnby1iZXRhL3N0YXRpY3NcbiAqIEBwYXJhbSB7YW55fSBtZXNzYWdlQnVpbGRlckZhY3RvcnkgdGhlIG1lc3NhZ2UgYnVpbGRlciBmYWN0b3J5IGNsYXNzIGZvciB0aGF0IGNvaW5cbiAqIEByZXR1cm5zIHthbnl9IHRoZSBtZXNzYWdlIGJ1aWxkZXIgZmFjdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHJlZ2lzdGVyZWQgY29pblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJNZXNzYWdlQnVpbGRlckZhY3Rvcnk8VCBleHRlbmRzIEJhc2VNZXNzYWdlQnVpbGRlckZhY3Rvcnk+KFxuICBjb2luTmFtZTogc3RyaW5nLFxuICBtZXNzYWdlQnVpbGRlckZhY3Rvcnk6IHsgbmV3IChfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBUIH0sXG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICBjb2luTWVzc2FnZUJ1aWxkZXJGYWN0b3J5TWFwW2NvaW5OYW1lXSA9IG1lc3NhZ2VCdWlsZGVyRmFjdG9yeTtcbiAgcmV0dXJuIGZhY3Rvcnk7XG59XG5cbi8qKlxuICogVmVyaWZ5IGEgbWVzc2FnZSBhZ2FpbnN0IHRoZSBnaXZlbiBlbmNvZGVkIHBheWxvYWQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNvaW4uXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVJhdyAtIFRoZSByYXcgbWVzc2FnZSB0byB2ZXJpZnkuXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZUVuY29kZWQgLSBUaGUgZW5jb2RlZCBtZXNzYWdlIHRvIHZlcmlmeSBhZ2FpbnN0LlxuICogQHBhcmFtIHtNZXNzYWdlU3RhbmRhcmRUeXBlfSBtZXNzYWdlU3RhbmRhcmRUeXBlIC0gVGhlIHR5cGUgb2YgbWVzc2FnZSBzdGFuZGFyZC5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IFttZXRhZGF0YV0gLSBPcHRpb25hbCBtZXRhZGF0YSBmb3IgdmVyaWZpY2F0aW9uLlxuICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSB2ZXJpZmljYXRpb24gaXMgc3VjY2Vzc2Z1bCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5TWVzc2FnZShcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgbWVzc2FnZVJhdzogc3RyaW5nLFxuICBtZXNzYWdlRW5jb2RlZDogc3RyaW5nLFxuICBtZXNzYWdlU3RhbmRhcmRUeXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLFxuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5ID0gZ2V0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5OYW1lKTtcbiAgICBjb25zdCBtZXNzYWdlQnVpbGRlciA9IG1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihtZXNzYWdlU3RhbmRhcmRUeXBlKTtcbiAgICBtZXNzYWdlQnVpbGRlci5zZXRQYXlsb2FkKG1lc3NhZ2VSYXcpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBtZXNzYWdlQnVpbGRlci5idWlsZCgpO1xuICAgIHJldHVybiBhd2FpdCBtZXNzYWdlLnZlcmlmeUVuY29kZWRQYXlsb2FkKG1lc3NhZ2VFbmNvZGVkLCBtZXRhZGF0YSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciB2ZXJpZnlpbmcgbWVzc2FnZSBmb3IgY29pbiAke2NvaW5OYW1lfTpgLCBlKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==