@reown/appkit-wagmi-react-native 0.0.0-canary-20240912195440

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 (37) hide show
  1. package/lib/commonjs/client.js +397 -0
  2. package/lib/commonjs/client.js.map +1 -0
  3. package/lib/commonjs/connectors/WalletConnectConnector.js +353 -0
  4. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -0
  5. package/lib/commonjs/index.js +126 -0
  6. package/lib/commonjs/index.js.map +1 -0
  7. package/lib/commonjs/utils/defaultWagmiConfig.js +46 -0
  8. package/lib/commonjs/utils/defaultWagmiConfig.js.map +1 -0
  9. package/lib/commonjs/utils/helpers.js +52 -0
  10. package/lib/commonjs/utils/helpers.js.map +1 -0
  11. package/lib/module/client.js +389 -0
  12. package/lib/module/client.js.map +1 -0
  13. package/lib/module/connectors/WalletConnectConnector.js +348 -0
  14. package/lib/module/connectors/WalletConnectConnector.js.map +1 -0
  15. package/lib/module/index.js +81 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/utils/defaultWagmiConfig.js +40 -0
  18. package/lib/module/utils/defaultWagmiConfig.js.map +1 -0
  19. package/lib/module/utils/helpers.js +43 -0
  20. package/lib/module/utils/helpers.js.map +1 -0
  21. package/lib/typescript/client.d.ts +39 -0
  22. package/lib/typescript/client.d.ts.map +1 -0
  23. package/lib/typescript/connectors/WalletConnectConnector.d.ts +74 -0
  24. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -0
  25. package/lib/typescript/index.d.ts +24 -0
  26. package/lib/typescript/index.d.ts.map +1 -0
  27. package/lib/typescript/utils/defaultWagmiConfig.d.ts +11 -0
  28. package/lib/typescript/utils/defaultWagmiConfig.d.ts.map +1 -0
  29. package/lib/typescript/utils/helpers.d.ts +17 -0
  30. package/lib/typescript/utils/helpers.d.ts.map +1 -0
  31. package/package.json +76 -0
  32. package/readme.md +9 -0
  33. package/src/client.ts +475 -0
  34. package/src/connectors/WalletConnectConnector.ts +469 -0
  35. package/src/index.tsx +103 -0
  36. package/src/utils/defaultWagmiConfig.ts +53 -0
  37. package/src/utils/helpers.ts +58 -0
@@ -0,0 +1,397 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppKit = void 0;
7
+ var _viem = require("viem");
8
+ var _core = require("@wagmi/core");
9
+ var _chains = require("@wagmi/core/chains");
10
+ var _ethereumProvider = require("@walletconnect/ethereum-provider");
11
+ var _appkitScaffoldReactNative = require("@reown/appkit-scaffold-react-native");
12
+ var _appkitScaffoldUtilsReactNative = require("@reown/appkit-scaffold-utils-react-native");
13
+ var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
14
+ var _helpers = require("./utils/helpers");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ // -- Types ---------------------------------------------------------------------
18
+
19
+ // @ts-expect-error: Overriden state type is correct
20
+
21
+ // -- Client --------------------------------------------------------------------
22
+ class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
23
+ hasSyncedConnectedAccount = false;
24
+ options = undefined;
25
+ constructor(options) {
26
+ const {
27
+ wagmiConfig,
28
+ siweConfig,
29
+ defaultChain,
30
+ tokens,
31
+ _sdkVersion,
32
+ ...appKitOptions
33
+ } = options;
34
+ if (!wagmiConfig) {
35
+ throw new Error('appkit:constructor - wagmiConfig is undefined');
36
+ }
37
+ if (!appKitOptions.projectId) {
38
+ throw new Error('appkit:constructor - projectId is undefined');
39
+ }
40
+ const networkControllerClient = {
41
+ switchCaipNetwork: async caipNetwork => {
42
+ const chainId = _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(caipNetwork?.id);
43
+ if (chainId) {
44
+ await (0, _core.switchChain)(wagmiConfig, {
45
+ chainId
46
+ });
47
+ }
48
+ },
49
+ async getApprovedCaipNetworksData() {
50
+ const walletChoice = await _appkitScaffoldUtilsReactNative.StorageUtil.getConnectedConnector();
51
+ const walletConnectType = _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorTypesMap[_appkitScaffoldUtilsReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];
52
+ const authType = _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorTypesMap[_appkitScaffoldUtilsReactNative.ConstantsUtil.AUTH_CONNECTOR_ID];
53
+ if (walletChoice?.includes(walletConnectType)) {
54
+ const connector = wagmiConfig.connectors.find(c => c.id === _appkitScaffoldUtilsReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
55
+ return (0, _helpers.getWalletConnectCaipNetworks)(connector);
56
+ } else if (authType) {
57
+ return (0, _helpers.getAuthCaipNetworks)();
58
+ }
59
+ return {
60
+ approvedCaipNetworkIds: undefined,
61
+ supportsAllNetworks: true
62
+ };
63
+ }
64
+ };
65
+ const connectionControllerClient = {
66
+ connectWalletConnect: async (onUri, walletUniversalLink) => {
67
+ const connector = wagmiConfig.connectors.find(c => c.id === _appkitScaffoldUtilsReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
68
+ if (!connector) {
69
+ throw new Error('connectionControllerClient:getWalletConnectUri - connector is undefined');
70
+ }
71
+ const provider = await connector.getProvider();
72
+ provider.on('display_uri', data => {
73
+ onUri(data);
74
+ });
75
+
76
+ // When connecting through walletconnect, we need to set the clientId in the store
77
+ const clientId = await provider.signer?.client?.core?.crypto?.getClientId();
78
+ if (clientId) {
79
+ this.setClientId(clientId);
80
+ }
81
+ const chainId = _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
82
+
83
+ // SIWE
84
+ const siweParams = await siweConfig?.getMessageParams?.();
85
+ // Make sure client uses ethereum provider version that supports `authenticate`
86
+ if (siweConfig?.options?.enabled && typeof provider?.authenticate === 'function' && siweParams && Object.keys(siweParams || {}).length > 0) {
87
+ const {
88
+ SIWEController,
89
+ getDidChainId,
90
+ getDidAddress
91
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require('@reown/appkit-siwe-react-native')));
92
+ // @ts-expect-error - setting requested chains beforehand avoids wagmi auto disconnecting the session when `connect` is called because it things chains are stale
93
+ await connector.setRequestedChainsIds(siweParams.chains);
94
+ const result = await provider.authenticate({
95
+ nonce: await siweConfig.getNonce(),
96
+ methods: [..._ethereumProvider.OPTIONAL_METHODS],
97
+ ...siweParams
98
+ }, walletUniversalLink);
99
+
100
+ // Auths is an array of signed CACAO objects https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-74.md
101
+ const signedCacao = result?.auths?.[0];
102
+ if (signedCacao) {
103
+ const {
104
+ p,
105
+ s
106
+ } = signedCacao;
107
+ const cacaoChainId = getDidChainId(p.iss) || '';
108
+ const address = getDidAddress(p.iss);
109
+ try {
110
+ // Kicks off verifyMessage and populates external states
111
+ const message = provider.signer.client.formatAuthMessage({
112
+ request: p,
113
+ iss: p.iss
114
+ });
115
+ await SIWEController.verifyMessage({
116
+ message,
117
+ signature: s.s,
118
+ cacao: signedCacao
119
+ });
120
+ if (address && chainId) {
121
+ const session = {
122
+ address,
123
+ chainId: parseInt(cacaoChainId, 10)
124
+ };
125
+ SIWEController.setSession(session);
126
+ SIWEController.onSignIn?.(session);
127
+ }
128
+ } catch (error) {
129
+ // eslint-disable-next-line no-console
130
+ console.error('Error verifying message', error);
131
+ // eslint-disable-next-line no-console
132
+ await provider.disconnect().catch(console.error);
133
+ // eslint-disable-next-line no-console
134
+ await SIWEController.signOut().catch(console.error);
135
+ throw error;
136
+ }
137
+ /*
138
+ * Unassign the connector from the wagmiConfig and allow connect() to reassign it in the next step
139
+ * this avoids case where wagmi throws because the connector is already connected
140
+ * what we need connect() to do is to only setup internal event listeners
141
+ */
142
+ this.wagmiConfig.state.current = '';
143
+ }
144
+ }
145
+ await (0, _core.connect)(this.wagmiConfig, {
146
+ connector,
147
+ chainId
148
+ });
149
+ },
150
+ connectExternal: async ({
151
+ id
152
+ }) => {
153
+ const connector = wagmiConfig.connectors.find(c => c.id === id);
154
+ if (!connector) {
155
+ throw new Error('connectionControllerClient:connectExternal - connector is undefined');
156
+ }
157
+
158
+ // If connecting with something else than walletconnect, we need to clear the clientId in the store
159
+ this.setClientId(null);
160
+ const chainId = _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
161
+ await (0, _core.connect)(this.wagmiConfig, {
162
+ connector,
163
+ chainId
164
+ });
165
+ },
166
+ signMessage: async message => (0, _core.signMessage)(this.wagmiConfig, {
167
+ message
168
+ }),
169
+ disconnect: async () => {
170
+ await (0, _core.disconnect)(this.wagmiConfig);
171
+ this.setClientId(null);
172
+ if (siweConfig?.options?.signOutOnDisconnect) {
173
+ const {
174
+ SIWEController
175
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require('@reown/appkit-siwe-react-native')));
176
+ await SIWEController.signOut();
177
+ }
178
+ }
179
+ };
180
+ super({
181
+ networkControllerClient,
182
+ connectionControllerClient,
183
+ siweControllerClient: siweConfig,
184
+ defaultChain: (0, _helpers.getCaipDefaultChain)(defaultChain),
185
+ tokens: _appkitScaffoldUtilsReactNative.HelpersUtil.getCaipTokens(tokens),
186
+ _sdkVersion: _sdkVersion ?? `react-native-wagmi-${_appkitScaffoldUtilsReactNative.ConstantsUtil.VERSION}`,
187
+ ...appKitOptions
188
+ });
189
+ this.options = options;
190
+ this.wagmiConfig = wagmiConfig;
191
+ this.syncRequestedNetworks([...wagmiConfig.chains]);
192
+ this.syncConnectors([...wagmiConfig.connectors]);
193
+ this.listenAuthConnector([...wagmiConfig.connectors]);
194
+ (0, _core.watchConnectors)(wagmiConfig, {
195
+ onChange: connectors => this.syncConnectors([...connectors])
196
+ });
197
+ (0, _core.watchAccount)(wagmiConfig, {
198
+ onChange: accountData => {
199
+ this.syncAccount({
200
+ ...accountData
201
+ });
202
+ }
203
+ });
204
+ }
205
+
206
+ // -- Public ------------------------------------------------------------------
207
+
208
+ // @ts-expect-error: Overriden state type is correct
209
+ getState() {
210
+ const state = super.getState();
211
+ return {
212
+ ...state,
213
+ selectedNetworkId: _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
214
+ };
215
+ }
216
+
217
+ // @ts-expect-error: Overriden state type is correct
218
+ subscribeState(callback) {
219
+ return super.subscribeState(state => callback({
220
+ ...state,
221
+ selectedNetworkId: _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
222
+ }));
223
+ }
224
+
225
+ // -- Private -----------------------------------------------------------------
226
+ syncRequestedNetworks(chains) {
227
+ const requestedCaipNetworks = chains?.map(chain => ({
228
+ id: `${_appkitScaffoldUtilsReactNative.ConstantsUtil.EIP155}:${chain.id}`,
229
+ name: chain.name,
230
+ imageId: _appkitScaffoldUtilsReactNative.PresetsUtil.EIP155NetworkImageIds[chain.id],
231
+ imageUrl: this.options?.chainImages?.[chain.id]
232
+ }));
233
+ this.setRequestedCaipNetworks(requestedCaipNetworks ?? []);
234
+ }
235
+ async syncAccount({
236
+ address,
237
+ isConnected,
238
+ chainId,
239
+ connector,
240
+ isConnecting,
241
+ isReconnecting
242
+ }) {
243
+ this.resetAccount();
244
+ this.syncNetwork(address, chainId, isConnected);
245
+ this.setLoading(!!connector && (isConnecting || isReconnecting));
246
+ if (isConnected && address && chainId) {
247
+ const caipAddress = `${_appkitScaffoldUtilsReactNative.ConstantsUtil.EIP155}:${chainId}:${address}`;
248
+ this.setIsConnected(isConnected);
249
+ this.setCaipAddress(caipAddress);
250
+ await Promise.all([this.syncProfile(address, chainId), this.syncBalance(address, chainId), this.syncConnectedWalletInfo(connector), this.getApprovedCaipNetworksData()]);
251
+ this.hasSyncedConnectedAccount = true;
252
+ } else if (!isConnected && this.hasSyncedConnectedAccount) {
253
+ this.resetWcConnection();
254
+ this.resetNetwork();
255
+ }
256
+ }
257
+ async syncNetwork(address, chainId, isConnected) {
258
+ const chain = this.wagmiConfig.chains.find(c => c.id === chainId);
259
+ if (chain || chainId) {
260
+ const name = chain?.name ?? chainId?.toString();
261
+ const id = Number(chain?.id ?? chainId);
262
+ const caipChainId = `${_appkitScaffoldUtilsReactNative.ConstantsUtil.EIP155}:${id}`;
263
+ this.setCaipNetwork({
264
+ id: caipChainId,
265
+ name,
266
+ imageId: _appkitScaffoldUtilsReactNative.PresetsUtil.EIP155NetworkImageIds[id],
267
+ imageUrl: this.options?.chainImages?.[id]
268
+ });
269
+ if (isConnected && address && chainId) {
270
+ const caipAddress = `${_appkitScaffoldUtilsReactNative.ConstantsUtil.EIP155}:${id}:${address}`;
271
+ this.setCaipAddress(caipAddress);
272
+ if (chain?.blockExplorers?.default?.url) {
273
+ const url = `${chain.blockExplorers.default.url}/address/${address}`;
274
+ this.setAddressExplorerUrl(url);
275
+ } else {
276
+ this.setAddressExplorerUrl(undefined);
277
+ }
278
+ if (this.hasSyncedConnectedAccount) {
279
+ await this.syncProfile(address, chainId);
280
+ await this.syncBalance(address, chainId);
281
+ }
282
+ }
283
+ }
284
+ }
285
+ async syncProfile(address, chainId) {
286
+ try {
287
+ const response = await this.fetchIdentity({
288
+ address
289
+ });
290
+ if (!response) {
291
+ throw new Error('Couldnt fetch idendity');
292
+ }
293
+ this.setProfileName(response.name);
294
+ this.setProfileImage(response.avatar);
295
+ } catch {
296
+ if (chainId === _chains.mainnet.id) {
297
+ const profileName = await (0, _core.getEnsName)(this.wagmiConfig, {
298
+ address,
299
+ chainId
300
+ });
301
+ if (profileName) {
302
+ this.setProfileName(profileName);
303
+ const profileImage = await (0, _core.getEnsAvatar)(this.wagmiConfig, {
304
+ name: profileName,
305
+ chainId
306
+ });
307
+ if (profileImage) {
308
+ this.setProfileImage(profileImage);
309
+ }
310
+ }
311
+ } else {
312
+ this.setProfileName(undefined);
313
+ this.setProfileImage(undefined);
314
+ }
315
+ }
316
+ }
317
+ async syncBalance(address, chainId) {
318
+ const chain = this.wagmiConfig.chains.find(c => c.id === chainId);
319
+ if (chain) {
320
+ const balance = await (0, _core.getBalance)(this.wagmiConfig, {
321
+ address,
322
+ chainId: chain.id
323
+ });
324
+ const formattedBalance = (0, _viem.formatUnits)(balance.value, balance.decimals);
325
+ this.setBalance(formattedBalance, balance.symbol);
326
+ return;
327
+ }
328
+ this.setBalance(undefined, undefined);
329
+ }
330
+ async syncConnectedWalletInfo(connector) {
331
+ if (!connector) {
332
+ throw Error('syncConnectedWalletInfo - connector is undefined');
333
+ }
334
+ if (connector.id === _appkitScaffoldUtilsReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID && connector.getProvider) {
335
+ const walletConnectProvider = await connector.getProvider();
336
+ if (walletConnectProvider.session) {
337
+ this.setConnectedWalletInfo({
338
+ ...walletConnectProvider.session.peer.metadata,
339
+ name: walletConnectProvider.session.peer.metadata.name,
340
+ icon: walletConnectProvider.session.peer.metadata.icons?.[0]
341
+ });
342
+ }
343
+ } else {
344
+ this.setConnectedWalletInfo({
345
+ name: connector.name,
346
+ icon: connector.icon
347
+ });
348
+ }
349
+ }
350
+ syncConnectors(connectors) {
351
+ const uniqueIds = new Set();
352
+ const filteredConnectors = connectors.filter(item => !uniqueIds.has(item.id) && uniqueIds.add(item.id));
353
+ const excludedConnectors = [_appkitScaffoldUtilsReactNative.ConstantsUtil.AUTH_CONNECTOR_ID];
354
+ const _connectors = [];
355
+ filteredConnectors.forEach(({
356
+ id,
357
+ name,
358
+ icon
359
+ }) => {
360
+ if (!excludedConnectors.includes(id)) {
361
+ _connectors.push({
362
+ id,
363
+ explorerId: _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorExplorerIds[id],
364
+ imageId: _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorImageIds[id] ?? icon,
365
+ imageUrl: this.options?.connectorImages?.[id],
366
+ name: _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorNamesMap[id] ?? name,
367
+ type: _appkitScaffoldUtilsReactNative.PresetsUtil.ConnectorTypesMap[id] ?? 'EXTERNAL'
368
+ });
369
+ }
370
+ });
371
+ this.setConnectors(_connectors);
372
+ this.syncAuthConnector(filteredConnectors);
373
+ }
374
+ async syncAuthConnector(connectors) {
375
+ const authConnector = connectors.find(({
376
+ id
377
+ }) => id === _appkitScaffoldUtilsReactNative.ConstantsUtil.AUTH_CONNECTOR_ID);
378
+ if (authConnector) {
379
+ const provider = await authConnector.getProvider();
380
+ this.addConnector({
381
+ id: _appkitScaffoldUtilsReactNative.ConstantsUtil.AUTH_CONNECTOR_ID,
382
+ type: 'AUTH',
383
+ name: 'Auth',
384
+ provider
385
+ });
386
+ }
387
+ }
388
+ async listenAuthConnector(connectors) {
389
+ const connector = connectors.find(c => c.id === _appkitScaffoldUtilsReactNative.ConstantsUtil.AUTH_CONNECTOR_ID);
390
+ const connectedConnector = await _appkitScaffoldUtilsReactNative.StorageUtil.getItem('@w3m/connected_connector');
391
+ if (connector && connectedConnector === 'AUTH') {
392
+ super.setLoading(true);
393
+ }
394
+ }
395
+ }
396
+ exports.AppKit = AppKit;
397
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_viem","require","_core","_chains","_ethereumProvider","_appkitScaffoldReactNative","_appkitScaffoldUtilsReactNative","_appkitCommonReactNative","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","AppKit","AppKitScaffold","hasSyncedConnectedAccount","options","undefined","constructor","wagmiConfig","siweConfig","defaultChain","tokens","_sdkVersion","appKitOptions","Error","projectId","networkControllerClient","switchCaipNetwork","caipNetwork","chainId","NetworkUtil","caipNetworkIdToNumber","id","switchChain","getApprovedCaipNetworksData","walletChoice","StorageUtil","getConnectedConnector","walletConnectType","PresetsUtil","ConnectorTypesMap","ConstantsUtil","WALLET_CONNECT_CONNECTOR_ID","authType","AUTH_CONNECTOR_ID","includes","connector","connectors","find","c","getWalletConnectCaipNetworks","getAuthCaipNetworks","approvedCaipNetworkIds","supportsAllNetworks","connectionControllerClient","connectWalletConnect","onUri","walletUniversalLink","provider","getProvider","on","data","clientId","signer","client","core","crypto","getClientId","setClientId","getCaipNetwork","siweParams","getMessageParams","enabled","authenticate","keys","length","SIWEController","getDidChainId","getDidAddress","Promise","resolve","then","setRequestedChainsIds","chains","result","nonce","getNonce","methods","OPTIONAL_METHODS","signedCacao","auths","p","s","cacaoChainId","iss","address","message","formatAuthMessage","request","verifyMessage","signature","cacao","session","parseInt","setSession","onSignIn","error","console","disconnect","catch","signOut","state","current","connect","connectExternal","signMessage","signOutOnDisconnect","siweControllerClient","getCaipDefaultChain","HelpersUtil","getCaipTokens","VERSION","syncRequestedNetworks","syncConnectors","listenAuthConnector","watchConnectors","onChange","watchAccount","accountData","syncAccount","getState","selectedNetworkId","subscribeState","callback","requestedCaipNetworks","map","chain","EIP155","name","imageId","EIP155NetworkImageIds","imageUrl","chainImages","setRequestedCaipNetworks","isConnected","isConnecting","isReconnecting","resetAccount","syncNetwork","setLoading","caipAddress","setIsConnected","setCaipAddress","all","syncProfile","syncBalance","syncConnectedWalletInfo","resetWcConnection","resetNetwork","toString","Number","caipChainId","setCaipNetwork","blockExplorers","url","setAddressExplorerUrl","response","fetchIdentity","setProfileName","setProfileImage","avatar","mainnet","profileName","getEnsName","profileImage","wagmiGetEnsAvatar","balance","getBalance","formattedBalance","formatUnits","value","decimals","setBalance","symbol","walletConnectProvider","setConnectedWalletInfo","peer","metadata","icon","icons","uniqueIds","Set","filteredConnectors","filter","item","add","excludedConnectors","_connectors","forEach","push","explorerId","ConnectorExplorerIds","ConnectorImageIds","connectorImages","ConnectorNamesMap","type","setConnectors","syncAuthConnector","authConnector","addConnector","connectedConnector","getItem","exports"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAYA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,0BAAA,GAAAJ,OAAA;AAYA,IAAAK,+BAAA,GAAAL,OAAA;AAMA,IAAAM,wBAAA,GAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AAIyB,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAI,wBAAAJ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAe,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAGzB;;AAcA;;AAKA;AACO,MAAMY,MAAM,SAASC,yCAAc,CAAC;EACjCC,yBAAyB,GAAG,KAAK;EAEjCC,OAAO,GAAoCC,SAAS;EAIrDC,WAAWA,CAACF,OAA4B,EAAE;IAC/C,MAAM;MAAEG,WAAW;MAAEC,UAAU;MAAEC,YAAY;MAAEC,MAAM;MAAEC,WAAW;MAAE,GAAGC;IAAc,CAAC,GACpFR,OAAO;IAET,IAAI,CAACG,WAAW,EAAE;MAChB,MAAM,IAAIM,KAAK,CAAC,+CAA+C,CAAC;IAClE;IAEA,IAAI,CAACD,aAAa,CAACE,SAAS,EAAE;MAC5B,MAAM,IAAID,KAAK,CAAC,6CAA6C,CAAC;IAChE;IAEA,MAAME,uBAAgD,GAAG;MACvDC,iBAAiB,EAAE,MAAMC,WAAW,IAAI;QACtC,MAAMC,OAAO,GAAGC,oCAAW,CAACC,qBAAqB,CAACH,WAAW,EAAEI,EAAE,CAAC;QAClE,IAAIH,OAAO,EAAE;UACX,MAAM,IAAAI,iBAAW,EAACf,WAAW,EAAE;YAAEW;UAAQ,CAAC,CAAC;QAC7C;MACF,CAAC;MAED,MAAMK,2BAA2BA,CAAA,EAAG;QAClC,MAAMC,YAAY,GAAG,MAAMC,2CAAW,CAACC,qBAAqB,CAAC,CAAC;QAC9D,MAAMC,iBAAiB,GACrBC,2CAAW,CAACC,iBAAiB,CAACC,6CAAa,CAACC,2BAA2B,CAAC;QAE1E,MAAMC,QAAQ,GAAGJ,2CAAW,CAACC,iBAAiB,CAACC,6CAAa,CAACG,iBAAiB,CAAC;QAE/E,IAAIT,YAAY,EAAEU,QAAQ,CAACP,iBAAiB,CAAC,EAAE;UAC7C,MAAMQ,SAAS,GAAG5B,WAAW,CAAC6B,UAAU,CAACC,IAAI,CAC3CC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKS,6CAAa,CAACC,2BAC9B,CAAC;UAED,OAAO,IAAAQ,qCAA4B,EAACJ,SAAS,CAAC;QAChD,CAAC,MAAM,IAAIH,QAAQ,EAAE;UACnB,OAAO,IAAAQ,4BAAmB,EAAC,CAAC;QAC9B;QAEA,OAAO;UAAEC,sBAAsB,EAAEpC,SAAS;UAAEqC,mBAAmB,EAAE;QAAK,CAAC;MACzE;IACF,CAAC;IAED,MAAMC,0BAAsD,GAAG;MAC7DC,oBAAoB,EAAE,MAAAA,CAAOC,KAAK,EAAEC,mBAAmB,KAAK;QAC1D,MAAMX,SAAS,GAAG5B,WAAW,CAAC6B,UAAU,CAACC,IAAI,CAC3CC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKS,6CAAa,CAACC,2BAC9B,CAAC;QACD,IAAI,CAACI,SAAS,EAAE;UACd,MAAM,IAAItB,KAAK,CACb,yEACF,CAAC;QACH;QAEA,MAAMkC,QAAQ,GAAI,MAAMZ,SAAS,CAACa,WAAW,CAAC,CAE7C;QAEDD,QAAQ,CAACE,EAAE,CAAC,aAAa,EAAEC,IAAI,IAAI;UACjCL,KAAK,CAACK,IAAI,CAAC;QACb,CAAC,CAAC;;QAEF;QACA,MAAMC,QAAQ,GAAG,MAAMJ,QAAQ,CAACK,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,WAAW,CAAC,CAAC;QAC3E,IAAIL,QAAQ,EAAE;UACZ,IAAI,CAACM,WAAW,CAACN,QAAQ,CAAC;QAC5B;QAEA,MAAMjC,OAAO,GAAGC,oCAAW,CAACC,qBAAqB,CAAC,IAAI,CAACsC,cAAc,CAAC,CAAC,EAAErC,EAAE,CAAC;;QAE5E;QACA,MAAMsC,UAAU,GAAG,MAAMnD,UAAU,EAAEoD,gBAAgB,GAAG,CAAC;QACzD;QACA,IACEpD,UAAU,EAAEJ,OAAO,EAAEyD,OAAO,IAC5B,OAAOd,QAAQ,EAAEe,YAAY,KAAK,UAAU,IAC5CH,UAAU,IACVnE,MAAM,CAACuE,IAAI,CAACJ,UAAU,IAAI,CAAC,CAAC,CAAC,CAACK,MAAM,GAAG,CAAC,EACxC;UACA,MAAM;YAAEC,cAAc;YAAEC,aAAa;YAAEC;UAAc,CAAC,GAAG,MAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAAtF,uBAAA,CAAAb,OAAA,CACvD,iCAAiC,GAClC;UACD;UACA,MAAMgE,SAAS,CAACoC,qBAAqB,CAACZ,UAAU,CAACa,MAAM,CAAC;UACxD,MAAMC,MAAM,GAAG,MAAM1B,QAAQ,CAACe,YAAY,CACxC;YACEY,KAAK,EAAE,MAAMlE,UAAU,CAACmE,QAAQ,CAAC,CAAC;YAClCC,OAAO,EAAE,CAAC,GAAGC,kCAAgB,CAAC;YAC9B,GAAGlB;UACL,CAAC,EACDb,mBACF,CAAC;;UAED;UACA,MAAMgC,WAAW,GAAGL,MAAM,EAAEM,KAAK,GAAG,CAAC,CAAC;UACtC,IAAID,WAAW,EAAE;YACf,MAAM;cAAEE,CAAC;cAAEC;YAAE,CAAC,GAAGH,WAAW;YAC5B,MAAMI,YAAY,GAAGhB,aAAa,CAACc,CAAC,CAACG,GAAG,CAAC,IAAI,EAAE;YAC/C,MAAMC,OAAO,GAAGjB,aAAa,CAACa,CAAC,CAACG,GAAG,CAAC;YACpC,IAAI;cACF;cACA,MAAME,OAAO,GAAGtC,QAAQ,CAACK,MAAM,CAACC,MAAM,CAACiC,iBAAiB,CAAC;gBACvDC,OAAO,EAAEP,CAAC;gBACVG,GAAG,EAAEH,CAAC,CAACG;cACT,CAAC,CAAC;cAEF,MAAMlB,cAAc,CAACuB,aAAa,CAAC;gBACjCH,OAAO;gBACPI,SAAS,EAAER,CAAC,CAACA,CAAC;gBACdS,KAAK,EAAEZ;cACT,CAAC,CAAC;cAEF,IAAIM,OAAO,IAAIlE,OAAO,EAAE;gBACtB,MAAMyE,OAAO,GAAG;kBACdP,OAAO;kBACPlE,OAAO,EAAE0E,QAAQ,CAACV,YAAY,EAAE,EAAE;gBACpC,CAAC;gBAEDjB,cAAc,CAAC4B,UAAU,CAACF,OAAO,CAAC;gBAClC1B,cAAc,CAAC6B,QAAQ,GAAGH,OAAO,CAAC;cACpC;YACF,CAAC,CAAC,OAAOI,KAAK,EAAE;cACd;cACAC,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;cAC/C;cACA,MAAMhD,QAAQ,CAACkD,UAAU,CAAC,CAAC,CAACC,KAAK,CAACF,OAAO,CAACD,KAAK,CAAC;cAChD;cACA,MAAM9B,cAAc,CAACkC,OAAO,CAAC,CAAC,CAACD,KAAK,CAACF,OAAO,CAACD,KAAK,CAAC;cACnD,MAAMA,KAAK;YACb;YACA;AACZ;AACA;AACA;AACA;YACY,IAAI,CAACxF,WAAW,CAAC6F,KAAK,CAACC,OAAO,GAAG,EAAE;UACrC;QACF;QAEA,MAAM,IAAAC,aAAO,EAAC,IAAI,CAAC/F,WAAW,EAAE;UAAE4B,SAAS;UAAEjB;QAAQ,CAAC,CAAC;MACzD,CAAC;MAEDqF,eAAe,EAAE,MAAAA,CAAO;QAAElF;MAAG,CAAC,KAAK;QACjC,MAAMc,SAAS,GAAG5B,WAAW,CAAC6B,UAAU,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKA,EAAE,CAAC;QAC/D,IAAI,CAACc,SAAS,EAAE;UACd,MAAM,IAAItB,KAAK,CAAC,qEAAqE,CAAC;QACxF;;QAEA;QACA,IAAI,CAAC4C,WAAW,CAAC,IAAI,CAAC;QAEtB,MAAMvC,OAAO,GAAGC,oCAAW,CAACC,qBAAqB,CAAC,IAAI,CAACsC,cAAc,CAAC,CAAC,EAAErC,EAAE,CAAC;QAC5E,MAAM,IAAAiF,aAAO,EAAC,IAAI,CAAC/F,WAAW,EAAE;UAAE4B,SAAS;UAAEjB;QAAQ,CAAC,CAAC;MACzD,CAAC;MAEDsF,WAAW,EAAE,MAAMnB,OAAO,IAAI,IAAAmB,iBAAW,EAAC,IAAI,CAACjG,WAAW,EAAE;QAAE8E;MAAQ,CAAC,CAAC;MAExEY,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,MAAM,IAAAA,gBAAU,EAAC,IAAI,CAAC1F,WAAW,CAAC;QAClC,IAAI,CAACkD,WAAW,CAAC,IAAI,CAAC;QAEtB,IAAIjD,UAAU,EAAEJ,OAAO,EAAEqG,mBAAmB,EAAE;UAC5C,MAAM;YAAExC;UAAe,CAAC,GAAG,MAAAG,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAAtF,uBAAA,CAAAb,OAAA,CAAa,iCAAiC,GAAC;UAC1E,MAAM8F,cAAc,CAACkC,OAAO,CAAC,CAAC;QAChC;MACF;IACF,CAAC;IAED,KAAK,CAAC;MACJpF,uBAAuB;MACvB4B,0BAA0B;MAC1B+D,oBAAoB,EAAElG,UAAU;MAChCC,YAAY,EAAE,IAAAkG,4BAAmB,EAAClG,YAAY,CAAC;MAC/CC,MAAM,EAAEkG,2CAAW,CAACC,aAAa,CAACnG,MAAM,CAAC;MACzCC,WAAW,EAAEA,WAAW,IAAK,sBAAqBmB,6CAAa,CAACgF,OAAQ,EAAC;MACzE,GAAGlG;IACL,CAAC,CAAC;IAEF,IAAI,CAACR,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACG,WAAW,GAAGA,WAAW;IAE9B,IAAI,CAACwG,qBAAqB,CAAC,CAAC,GAAGxG,WAAW,CAACiE,MAAM,CAAC,CAAC;IACnD,IAAI,CAACwC,cAAc,CAAC,CAAC,GAAGzG,WAAW,CAAC6B,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC6E,mBAAmB,CAAC,CAAC,GAAG1G,WAAW,CAAC6B,UAAU,CAAC,CAAC;IAErD,IAAA8E,qBAAe,EAAC3G,WAAW,EAAE;MAC3B4G,QAAQ,EAAE/E,UAAU,IAAI,IAAI,CAAC4E,cAAc,CAAC,CAAC,GAAG5E,UAAU,CAAC;IAC7D,CAAC,CAAC;IAEF,IAAAgF,kBAAY,EAAC7G,WAAW,EAAE;MACxB4G,QAAQ,EAAEE,WAAW,IAAI;QACvB,IAAI,CAACC,WAAW,CAAC;UAAE,GAAGD;QAAY,CAAC,CAAC;MACtC;IACF,CAAC,CAAC;EACJ;;EAEA;;EAEA;EACgBE,QAAQA,CAAA,EAAG;IACzB,MAAMnB,KAAK,GAAG,KAAK,CAACmB,QAAQ,CAAC,CAAC;IAE9B,OAAO;MACL,GAAGnB,KAAK;MACRoB,iBAAiB,EAAErG,oCAAW,CAACC,qBAAqB,CAACgF,KAAK,CAACoB,iBAAiB;IAC9E,CAAC;EACH;;EAEA;EACgBC,cAAcA,CAACC,QAAsC,EAAE;IACrE,OAAO,KAAK,CAACD,cAAc,CAACrB,KAAK,IAC/BsB,QAAQ,CAAC;MACP,GAAGtB,KAAK;MACRoB,iBAAiB,EAAErG,oCAAW,CAACC,qBAAqB,CAACgF,KAAK,CAACoB,iBAAiB;IAC9E,CAAC,CACH,CAAC;EACH;;EAEA;EACQT,qBAAqBA,CAACvC,MAAe,EAAE;IAC7C,MAAMmD,qBAAqB,GAAGnD,MAAM,EAAEoD,GAAG,CACvCC,KAAK,KACF;MACCxG,EAAE,EAAG,GAAES,6CAAa,CAACgG,MAAO,IAAGD,KAAK,CAACxG,EAAG,EAAC;MACzC0G,IAAI,EAAEF,KAAK,CAACE,IAAI;MAChBC,OAAO,EAAEpG,2CAAW,CAACqG,qBAAqB,CAACJ,KAAK,CAACxG,EAAE,CAAC;MACpD6G,QAAQ,EAAE,IAAI,CAAC9H,OAAO,EAAE+H,WAAW,GAAGN,KAAK,CAACxG,EAAE;IAChD,CAAC,CACL,CAAC;IACD,IAAI,CAAC+G,wBAAwB,CAACT,qBAAqB,IAAI,EAAE,CAAC;EAC5D;EAEA,MAAcL,WAAWA,CAAC;IACxBlC,OAAO;IACPiD,WAAW;IACXnH,OAAO;IACPiB,SAAS;IACTmG,YAAY;IACZC;EAIF,CAAC,EAAE;IACD,IAAI,CAACC,YAAY,CAAC,CAAC;IACnB,IAAI,CAACC,WAAW,CAACrD,OAAO,EAAElE,OAAO,EAAEmH,WAAW,CAAC;IAC/C,IAAI,CAACK,UAAU,CAAC,CAAC,CAACvG,SAAS,KAAKmG,YAAY,IAAIC,cAAc,CAAC,CAAC;IAEhE,IAAIF,WAAW,IAAIjD,OAAO,IAAIlE,OAAO,EAAE;MACrC,MAAMyH,WAAwB,GAAI,GAAE7G,6CAAa,CAACgG,MAAO,IAAG5G,OAAQ,IAAGkE,OAAQ,EAAC;MAChF,IAAI,CAACwD,cAAc,CAACP,WAAW,CAAC;MAChC,IAAI,CAACQ,cAAc,CAACF,WAAW,CAAC;MAChC,MAAMvE,OAAO,CAAC0E,GAAG,CAAC,CAChB,IAAI,CAACC,WAAW,CAAC3D,OAAO,EAAElE,OAAO,CAAC,EAClC,IAAI,CAAC8H,WAAW,CAAC5D,OAAO,EAAElE,OAAO,CAAC,EAClC,IAAI,CAAC+H,uBAAuB,CAAC9G,SAAS,CAAC,EACvC,IAAI,CAACZ,2BAA2B,CAAC,CAAC,CACnC,CAAC;MACF,IAAI,CAACpB,yBAAyB,GAAG,IAAI;IACvC,CAAC,MAAM,IAAI,CAACkI,WAAW,IAAI,IAAI,CAAClI,yBAAyB,EAAE;MACzD,IAAI,CAAC+I,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACC,YAAY,CAAC,CAAC;IACrB;EACF;EAEA,MAAcV,WAAWA,CAACrD,OAAa,EAAElE,OAAgB,EAAEmH,WAAqB,EAAE;IAChF,MAAMR,KAAK,GAAG,IAAI,CAACtH,WAAW,CAACiE,MAAM,CAACnC,IAAI,CAAEC,CAAQ,IAAKA,CAAC,CAACjB,EAAE,KAAKH,OAAO,CAAC;IAE1E,IAAI2G,KAAK,IAAI3G,OAAO,EAAE;MACpB,MAAM6G,IAAI,GAAGF,KAAK,EAAEE,IAAI,IAAI7G,OAAO,EAAEkI,QAAQ,CAAC,CAAC;MAC/C,MAAM/H,EAAE,GAAGgI,MAAM,CAACxB,KAAK,EAAExG,EAAE,IAAIH,OAAO,CAAC;MACvC,MAAMoI,WAA0B,GAAI,GAAExH,6CAAa,CAACgG,MAAO,IAAGzG,EAAG,EAAC;MAClE,IAAI,CAACkI,cAAc,CAAC;QAClBlI,EAAE,EAAEiI,WAAW;QACfvB,IAAI;QACJC,OAAO,EAAEpG,2CAAW,CAACqG,qBAAqB,CAAC5G,EAAE,CAAC;QAC9C6G,QAAQ,EAAE,IAAI,CAAC9H,OAAO,EAAE+H,WAAW,GAAG9G,EAAE;MAC1C,CAAC,CAAC;MACF,IAAIgH,WAAW,IAAIjD,OAAO,IAAIlE,OAAO,EAAE;QACrC,MAAMyH,WAAwB,GAAI,GAAE7G,6CAAa,CAACgG,MAAO,IAAGzG,EAAG,IAAG+D,OAAQ,EAAC;QAC3E,IAAI,CAACyD,cAAc,CAACF,WAAW,CAAC;QAChC,IAAId,KAAK,EAAE2B,cAAc,EAAEtK,OAAO,EAAEuK,GAAG,EAAE;UACvC,MAAMA,GAAG,GAAI,GAAE5B,KAAK,CAAC2B,cAAc,CAACtK,OAAO,CAACuK,GAAI,YAAWrE,OAAQ,EAAC;UACpE,IAAI,CAACsE,qBAAqB,CAACD,GAAG,CAAC;QACjC,CAAC,MAAM;UACL,IAAI,CAACC,qBAAqB,CAACrJ,SAAS,CAAC;QACvC;QACA,IAAI,IAAI,CAACF,yBAAyB,EAAE;UAClC,MAAM,IAAI,CAAC4I,WAAW,CAAC3D,OAAO,EAAElE,OAAO,CAAC;UACxC,MAAM,IAAI,CAAC8H,WAAW,CAAC5D,OAAO,EAAElE,OAAO,CAAC;QAC1C;MACF;IACF;EACF;EAEA,MAAc6H,WAAWA,CAAC3D,OAAY,EAAElE,OAAe,EAAE;IACvD,IAAI;MACF,MAAMyI,QAAQ,GAAG,MAAM,IAAI,CAACC,aAAa,CAAC;QAAExE;MAAQ,CAAC,CAAC;MAEtD,IAAI,CAACuE,QAAQ,EAAE;QACb,MAAM,IAAI9I,KAAK,CAAC,wBAAwB,CAAC;MAC3C;MAEA,IAAI,CAACgJ,cAAc,CAACF,QAAQ,CAAC5B,IAAI,CAAC;MAClC,IAAI,CAAC+B,eAAe,CAACH,QAAQ,CAACI,MAAM,CAAC;IACvC,CAAC,CAAC,MAAM;MACN,IAAI7I,OAAO,KAAK8I,eAAO,CAAC3I,EAAE,EAAE;QAC1B,MAAM4I,WAAW,GAAG,MAAM,IAAAC,gBAAU,EAAC,IAAI,CAAC3J,WAAW,EAAE;UAAE6E,OAAO;UAAElE;QAAQ,CAAC,CAAC;QAC5E,IAAI+I,WAAW,EAAE;UACf,IAAI,CAACJ,cAAc,CAACI,WAAW,CAAC;UAChC,MAAME,YAAY,GAAG,MAAM,IAAAC,kBAAiB,EAAC,IAAI,CAAC7J,WAAW,EAAE;YAC7DwH,IAAI,EAAEkC,WAAW;YACjB/I;UACF,CAAC,CAAC;UACF,IAAIiJ,YAAY,EAAE;YAChB,IAAI,CAACL,eAAe,CAACK,YAAY,CAAC;UACpC;QACF;MACF,CAAC,MAAM;QACL,IAAI,CAACN,cAAc,CAACxJ,SAAS,CAAC;QAC9B,IAAI,CAACyJ,eAAe,CAACzJ,SAAS,CAAC;MACjC;IACF;EACF;EAEA,MAAc2I,WAAWA,CAAC5D,OAAY,EAAElE,OAAe,EAAE;IACvD,MAAM2G,KAAK,GAAG,IAAI,CAACtH,WAAW,CAACiE,MAAM,CAACnC,IAAI,CAAEC,CAAQ,IAAKA,CAAC,CAACjB,EAAE,KAAKH,OAAO,CAAC;IAC1E,IAAI2G,KAAK,EAAE;MACT,MAAMwC,OAAO,GAAG,MAAM,IAAAC,gBAAU,EAAC,IAAI,CAAC/J,WAAW,EAAE;QACjD6E,OAAO;QACPlE,OAAO,EAAE2G,KAAK,CAACxG;MACjB,CAAC,CAAC;MACF,MAAMkJ,gBAAgB,GAAG,IAAAC,iBAAW,EAACH,OAAO,CAACI,KAAK,EAAEJ,OAAO,CAACK,QAAQ,CAAC;MACrE,IAAI,CAACC,UAAU,CAACJ,gBAAgB,EAAEF,OAAO,CAACO,MAAM,CAAC;MAEjD;IACF;IACA,IAAI,CAACD,UAAU,CAACtK,SAAS,EAAEA,SAAS,CAAC;EACvC;EAEA,MAAc4I,uBAAuBA,CAAC9G,SAA4C,EAAE;IAClF,IAAI,CAACA,SAAS,EAAE;MACd,MAAMtB,KAAK,CAAC,kDAAkD,CAAC;IACjE;IAEA,IAAIsB,SAAS,CAACd,EAAE,KAAKS,6CAAa,CAACC,2BAA2B,IAAII,SAAS,CAACa,WAAW,EAAE;MACvF,MAAM6H,qBAAqB,GAAI,MAAM1I,SAAS,CAACa,WAAW,CAAC,CAE1D;MACD,IAAI6H,qBAAqB,CAAClF,OAAO,EAAE;QACjC,IAAI,CAACmF,sBAAsB,CAAC;UAC1B,GAAGD,qBAAqB,CAAClF,OAAO,CAACoF,IAAI,CAACC,QAAQ;UAC9CjD,IAAI,EAAE8C,qBAAqB,CAAClF,OAAO,CAACoF,IAAI,CAACC,QAAQ,CAACjD,IAAI;UACtDkD,IAAI,EAAEJ,qBAAqB,CAAClF,OAAO,CAACoF,IAAI,CAACC,QAAQ,CAACE,KAAK,GAAG,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MACL,IAAI,CAACJ,sBAAsB,CAAC;QAAE/C,IAAI,EAAE5F,SAAS,CAAC4F,IAAI;QAAEkD,IAAI,EAAE9I,SAAS,CAAC8I;MAAK,CAAC,CAAC;IAC7E;EACF;EAEQjE,cAAcA,CAAC5E,UAA4D,EAAE;IACnF,MAAM+I,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC3B,MAAMC,kBAAkB,GAAGjJ,UAAU,CAACkJ,MAAM,CAC1CC,IAAI,IAAI,CAACJ,SAAS,CAAChM,GAAG,CAACoM,IAAI,CAAClK,EAAE,CAAC,IAAI8J,SAAS,CAACK,GAAG,CAACD,IAAI,CAAClK,EAAE,CAC1D,CAAC;IAED,MAAMoK,kBAAkB,GAAG,CAAC3J,6CAAa,CAACG,iBAAiB,CAAC;IAE5D,MAAMyJ,WAAwB,GAAG,EAAE;IACnCL,kBAAkB,CAACM,OAAO,CAAC,CAAC;MAAEtK,EAAE;MAAE0G,IAAI;MAAEkD;IAAK,CAAC,KAAK;MACjD,IAAI,CAACQ,kBAAkB,CAACvJ,QAAQ,CAACb,EAAE,CAAC,EAAE;QACpCqK,WAAW,CAACE,IAAI,CAAC;UACfvK,EAAE;UACFwK,UAAU,EAAEjK,2CAAW,CAACkK,oBAAoB,CAACzK,EAAE,CAAC;UAChD2G,OAAO,EAAEpG,2CAAW,CAACmK,iBAAiB,CAAC1K,EAAE,CAAC,IAAI4J,IAAI;UAClD/C,QAAQ,EAAE,IAAI,CAAC9H,OAAO,EAAE4L,eAAe,GAAG3K,EAAE,CAAC;UAC7C0G,IAAI,EAAEnG,2CAAW,CAACqK,iBAAiB,CAAC5K,EAAE,CAAC,IAAI0G,IAAI;UAC/CmE,IAAI,EAAEtK,2CAAW,CAACC,iBAAiB,CAACR,EAAE,CAAC,IAAI;QAC7C,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,IAAI,CAAC8K,aAAa,CAACT,WAAW,CAAC;IAC/B,IAAI,CAACU,iBAAiB,CAACf,kBAAkB,CAAC;EAC5C;EAEA,MAAce,iBAAiBA,CAAChK,UAA4D,EAAE;IAC5F,MAAMiK,aAAa,GAAGjK,UAAU,CAACC,IAAI,CAAC,CAAC;MAAEhB;IAAG,CAAC,KAAKA,EAAE,KAAKS,6CAAa,CAACG,iBAAiB,CAAC;IACzF,IAAIoK,aAAa,EAAE;MACjB,MAAMtJ,QAAQ,GAAG,MAAMsJ,aAAa,CAACrJ,WAAW,CAAC,CAAC;MAClD,IAAI,CAACsJ,YAAY,CAAC;QAChBjL,EAAE,EAAES,6CAAa,CAACG,iBAAiB;QACnCiK,IAAI,EAAE,MAAM;QACZnE,IAAI,EAAE,MAAM;QACZhF;MACF,CAAC,CAAC;IACJ;EACF;EAEA,MAAckE,mBAAmBA,CAAC7E,UAA4D,EAAE;IAC9F,MAAMD,SAAS,GAAGC,UAAU,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKS,6CAAa,CAACG,iBAAiB,CAAC;IAEhF,MAAMsK,kBAAkB,GAAG,MAAM9K,2CAAW,CAAC+K,OAAO,CAAC,0BAA0B,CAAC;IAChF,IAAIrK,SAAS,IAAIoK,kBAAkB,KAAK,MAAM,EAAE;MAC9C,KAAK,CAAC7D,UAAU,CAAC,IAAI,CAAC;IACxB;EACF;AACF;AAAC+D,OAAA,CAAAxM,MAAA,GAAAA,MAAA"}