@sundaeswap/wallet-lite 0.0.21 → 0.0.23

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.
@@ -577,21 +577,43 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
577
577
  *
578
578
  * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.
579
579
  */
580
- _defineProperty(_this, "getCollateral", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
580
+ _defineProperty(_this, "getCollateral", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
581
581
  var _yield$Promise$all11, _yield$Promise$all12, cbor, Serialization, typedHex, data;
582
- return _regeneratorRuntime().wrap(function _callee10$(_context10) {
583
- while (1) switch (_context10.prev = _context10.next) {
582
+ return _regeneratorRuntime().wrap(function _callee11$(_context11) {
583
+ while (1) switch (_context11.prev = _context11.next) {
584
584
  case 0:
585
585
  if (_this.api) {
586
- _context10.next = 2;
586
+ _context11.next = 2;
587
587
  break;
588
588
  }
589
589
  throw new Error("Attempted to query UTXOs without an API instance.");
590
590
  case 2:
591
- _context10.next = 4;
592
- return Promise.all([_this.api.getCollateral(), (0, _getLibs.getCardanoCore)(), (0, _getLibs.getCardanoUtil)()]);
591
+ _context11.next = 4;
592
+ return Promise.all([_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
593
+ var _this$api, _this$api2;
594
+ var funcCall;
595
+ return _regeneratorRuntime().wrap(function _callee10$(_context10) {
596
+ while (1) switch (_context10.prev = _context10.next) {
597
+ case 0:
598
+ funcCall = ((_this$api = _this.api) === null || _this$api === void 0 ? void 0 : _this$api.getCollateral) || ((_this$api2 = _this.api) === null || _this$api2 === void 0 ? void 0 : _this$api2.experimental.getCollateral);
599
+ if (!(typeof funcCall !== "function")) {
600
+ _context10.next = 3;
601
+ break;
602
+ }
603
+ return _context10.abrupt("return", []);
604
+ case 3:
605
+ _context10.next = 5;
606
+ return funcCall();
607
+ case 5:
608
+ return _context10.abrupt("return", _context10.sent);
609
+ case 6:
610
+ case "end":
611
+ return _context10.stop();
612
+ }
613
+ }, _callee10);
614
+ }))(), (0, _getLibs.getCardanoCore)(), (0, _getLibs.getCardanoUtil)()]);
593
615
  case 4:
594
- _yield$Promise$all11 = _context10.sent;
616
+ _yield$Promise$all11 = _context11.sent;
595
617
  _yield$Promise$all12 = _slicedToArray(_yield$Promise$all11, 3);
596
618
  cbor = _yield$Promise$all12[0];
597
619
  Serialization = _yield$Promise$all12[1].Serialization;
@@ -604,12 +626,12 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
604
626
  txOutput.output = txOutput.output.bind(txOutput);
605
627
  return txOutput;
606
628
  });
607
- return _context10.abrupt("return", data);
629
+ return _context11.abrupt("return", data);
608
630
  case 11:
609
631
  case "end":
610
- return _context10.stop();
632
+ return _context11.stop();
611
633
  }
612
- }, _callee10);
634
+ }, _callee11);
613
635
  })));
614
636
  /**
615
637
  * Resolves metadata for the given asset IDs, using a cached version if available.
@@ -619,13 +641,13 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
619
641
  * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.
620
642
  */
621
643
  _defineProperty(_this, "__metadataResolverWithCache", /*#__PURE__*/function () {
622
- var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(assetIds) {
623
- var cachedKeys, inputKeys, newMetadata;
624
- return _regeneratorRuntime().wrap(function _callee11$(_context11) {
625
- while (1) switch (_context11.prev = _context11.next) {
644
+ var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(assetIds) {
645
+ var cachedKeys, inputKeys, attempts, newMetadata;
646
+ return _regeneratorRuntime().wrap(function _callee12$(_context12) {
647
+ while (1) switch (_context12.prev = _context12.next) {
626
648
  case 0:
627
649
  if (!_this._cachedMetadata) {
628
- _context11.next = 5;
650
+ _context12.next = 5;
629
651
  break;
630
652
  }
631
653
  cachedKeys = new Set(_this._cachedMetadata.keys());
@@ -633,25 +655,51 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
633
655
  if (!(cachedKeys.size === inputKeys.size && _toConsumableArray(cachedKeys).every(function (key) {
634
656
  return inputKeys.has(key);
635
657
  }))) {
636
- _context11.next = 5;
658
+ _context12.next = 5;
637
659
  break;
638
660
  }
639
- return _context11.abrupt("return", _this._cachedMetadata);
661
+ return _context12.abrupt("return", _this._cachedMetadata);
640
662
  case 5:
641
- _context11.next = 7;
663
+ attempts = 0;
664
+ case 6:
665
+ if (!(attempts <= 3)) {
666
+ _context12.next = 18;
667
+ break;
668
+ }
669
+ _context12.prev = 7;
670
+ _context12.next = 10;
642
671
  return _this._options.metadataResolver(assetIds.map(_assets.normalizeAssetIdWithDot), _assets.normalizeAssetIdWithDot, _assets.isAdaAsset);
643
- case 7:
644
- newMetadata = _context11.sent;
645
- _this._cachedMetadata = newMetadata;
646
- return _context11.abrupt("return", newMetadata);
647
672
  case 10:
673
+ newMetadata = _context12.sent;
674
+ _context12.next = 16;
675
+ break;
676
+ case 13:
677
+ _context12.prev = 13;
678
+ _context12.t0 = _context12["catch"](7);
679
+ attempts++;
680
+ case 16:
681
+ _context12.next = 6;
682
+ break;
683
+ case 18:
684
+ if (newMetadata) {
685
+ _context12.next = 22;
686
+ break;
687
+ }
688
+ _context12.next = 21;
689
+ return _this.fallbackMetadataResolver(assetIds.map(_assets.normalizeAssetIdWithDot), _assets.normalizeAssetIdWithDot, _assets.isAdaAsset);
690
+ case 21:
691
+ newMetadata = _context12.sent;
692
+ case 22:
693
+ _this._cachedMetadata = newMetadata;
694
+ return _context12.abrupt("return", newMetadata);
695
+ case 24:
648
696
  case "end":
649
- return _context11.stop();
697
+ return _context12.stop();
650
698
  }
651
- }, _callee11);
699
+ }, _callee12, null, [[7, 13]]);
652
700
  }));
653
701
  return function (_x3) {
654
- return _ref11.apply(this, arguments);
702
+ return _ref12.apply(this, arguments);
655
703
  };
656
704
  }());
657
705
  /**
@@ -660,10 +708,10 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
660
708
  * @type {TMetadataResolverFunc<AssetMetadata>}
661
709
  */
662
710
  _defineProperty(_this, "fallbackMetadataResolver", /*#__PURE__*/function () {
663
- var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(assetIds) {
711
+ var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(assetIds) {
664
712
  var map;
665
- return _regeneratorRuntime().wrap(function _callee12$(_context12) {
666
- while (1) switch (_context12.prev = _context12.next) {
713
+ return _regeneratorRuntime().wrap(function _callee13$(_context13) {
714
+ while (1) switch (_context13.prev = _context13.next) {
667
715
  case 0:
668
716
  map = new Map();
669
717
  assetIds.forEach(function (id) {
@@ -672,15 +720,15 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
672
720
  decimals: 6
673
721
  });
674
722
  });
675
- return _context12.abrupt("return", map);
723
+ return _context13.abrupt("return", map);
676
724
  case 3:
677
725
  case "end":
678
- return _context12.stop();
726
+ return _context13.stop();
679
727
  }
680
- }, _callee12);
728
+ }, _callee13);
681
729
  }));
682
730
  return function (_x4) {
683
- return _ref12.apply(this, arguments);
731
+ return _ref13.apply(this, arguments);
684
732
  };
685
733
  }());
686
734
  _this._options = (0, _merge["default"])({
@@ -746,25 +794,25 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
746
794
  * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.
747
795
  */
748
796
  function () {
749
- var _getUtils = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13() {
750
- return _regeneratorRuntime().wrap(function _callee13$(_context13) {
751
- while (1) switch (_context13.prev = _context13.next) {
797
+ var _getUtils = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14() {
798
+ return _regeneratorRuntime().wrap(function _callee14$(_context14) {
799
+ while (1) switch (_context14.prev = _context14.next) {
752
800
  case 0:
753
801
  if (this.utils) {
754
- _context13.next = 4;
802
+ _context14.next = 4;
755
803
  break;
756
804
  }
757
- _context13.next = 3;
805
+ _context14.next = 3;
758
806
  return _WalletObserverUtilsClass.WalletObserverUtils["new"](this.network);
759
807
  case 3:
760
- this.utils = _context13.sent;
808
+ this.utils = _context14.sent;
761
809
  case 4:
762
- return _context13.abrupt("return", this.utils);
810
+ return _context14.abrupt("return", this.utils);
763
811
  case 5:
764
812
  case "end":
765
- return _context13.stop();
813
+ return _context14.stop();
766
814
  }
767
- }, _callee13, this);
815
+ }, _callee14, this);
768
816
  }));
769
817
  function getUtils() {
770
818
  return _getUtils.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.js","names":["_asset","require","_merge","_interopRequireDefault","_events","_assets","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","_callee$","_context","api","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","t2","_ref2","_callee2","activeWallet","attempts","selectedWallet","_window$cardano","_callee2$","_context2","undefined","_activeWallet","window","cardano","enable","getNetworkId","res","setTimeout","_x","_options","_ref3","_callee3","extension","_window$cardano2","extensionObject","_this$peerConnectInst","_window$cardano3","seed","_callee3$","_context3","CONNECT_WALLET_START","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","_x2","_callee4","_yield$getPeerConnect","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","concat","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee10","_yield$Promise$all11","_yield$Promise$all12","_callee10$","_context10","_ref11","_callee11","assetIds","cachedKeys","inputKeys","newMetadata","_callee11$","_context11","Set","size","every","has","metadataResolver","isAdaAsset","_x3","_ref12","_callee12","_callee12$","_context12","assetId","decimals","_x4","merge","fallbackMetadataResolver","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","savedWallet","getItem","parse","isSyncing","_getUtils","_callee13","_callee13$","_context13","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _activeWallet?: TSupportedWalletExtensions;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name as TSupportedWalletExtensions);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options\n );\n\n if (!this._options.persistence) {\n return;\n }\n\n const savedWallet = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n );\n\n if (!savedWallet) {\n return;\n }\n\n // Init connection\n const seed: IWalletObserverSeed = JSON.parse(savedWallet);\n this.connectWallet(seed.activeWallet);\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\"\n );\n }\n\n try {\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n let newNetwork: number;\n try {\n newNetwork = await this.getNetwork();\n } catch (e) {\n try {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n } catch (e) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n ] = await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n };\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this._performingSync = false;\n\n return result;\n } catch (e) {\n this._performingSync = false;\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this._activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this._activeWallet as TSupportedWalletExtensions);\n\n while (!this.api) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<void>}\n */\n connectWallet = async (\n extension: TSupportedWalletExtensions\n ): Promise<void> => {\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40)\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n await this.syncApi(extension);\n\n this._activeWallet = extension;\n if (this._options.persistence) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed)\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n extension,\n });\n };\n\n getCip45Instance = async () => {\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve currently active wallet connection, if present.\n *\n * @returns {TSupportedWalletExtensions | undefined}\n */\n getActiveWallet = (): TSupportedWalletExtensions | undefined => {\n return this._activeWallet;\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this._activeWallet = undefined;\n this.api = undefined;\n this._cachedMetadata = new Map();\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID))\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n id,\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id)))\n );\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const val = await this.api.getNetworkId();\n this.network = val;\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getCollateral = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getCollateral(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[]\n ): Promise<Map<string, AssetMetadata>> => {\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n return this._cachedMetadata;\n }\n }\n\n const newMetadata = await this._options.metadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n this._cachedMetadata = newMetadata;\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async (assetIds) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(normalizeAssetIdWithDot(id), {\n assetId: normalizeAssetIdWithDot(id),\n decimals: 6,\n } as AssetMetadata)\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserver.class.js","names":["_asset","require","_merge","_interopRequireDefault","_events","_assets","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","_callee$","_context","api","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","t2","_ref2","_callee2","activeWallet","attempts","selectedWallet","_window$cardano","_callee2$","_context2","undefined","_activeWallet","window","cardano","enable","getNetworkId","res","setTimeout","_x","_options","_ref3","_callee3","extension","_window$cardano2","extensionObject","_this$peerConnectInst","_window$cardano3","seed","_callee3$","_context3","CONNECT_WALLET_START","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","_x2","_callee4","_yield$getPeerConnect","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","concat","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee11","_yield$Promise$all11","_yield$Promise$all12","_callee11$","_context11","_callee10","_this$api","_this$api2","funcCall","_callee10$","_context10","experimental","_ref12","_callee12","assetIds","cachedKeys","inputKeys","newMetadata","_callee12$","_context12","Set","size","every","has","metadataResolver","isAdaAsset","fallbackMetadataResolver","_x3","_ref13","_callee13","_callee13$","_context13","assetId","decimals","_x4","merge","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","savedWallet","getItem","parse","isSyncing","_getUtils","_callee14","_callee14$","_context14","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type {\n Cip30WalletApi,\n GetCollateral,\n} from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _activeWallet?: TSupportedWalletExtensions;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name as TSupportedWalletExtensions);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options\n );\n\n if (!this._options.persistence) {\n return;\n }\n\n const savedWallet = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n );\n\n if (!savedWallet) {\n return;\n }\n\n // Init connection\n const seed: IWalletObserverSeed = JSON.parse(savedWallet);\n this.connectWallet(seed.activeWallet);\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\"\n );\n }\n\n try {\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n let newNetwork: number;\n try {\n newNetwork = await this.getNetwork();\n } catch (e) {\n try {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n } catch (e) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n ] = await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n };\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this._performingSync = false;\n\n return result;\n } catch (e) {\n this._performingSync = false;\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this._activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this._activeWallet as TSupportedWalletExtensions);\n\n while (!this.api) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<void>}\n */\n connectWallet = async (\n extension: TSupportedWalletExtensions\n ): Promise<void> => {\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40)\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n await this.syncApi(extension);\n\n this._activeWallet = extension;\n if (this._options.persistence) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed)\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n extension,\n });\n };\n\n getCip45Instance = async () => {\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve currently active wallet connection, if present.\n *\n * @returns {TSupportedWalletExtensions | undefined}\n */\n getActiveWallet = (): TSupportedWalletExtensions | undefined => {\n return this._activeWallet;\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this._activeWallet = undefined;\n this.api = undefined;\n this._cachedMetadata = new Map();\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID))\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n id,\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id)))\n );\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const val = await this.api.getNetworkId();\n this.network = val;\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getCollateral = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n (async () => {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n return [];\n }\n\n return await funcCall();\n })(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[]\n ): Promise<Map<string, AssetMetadata>> => {\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n return this._cachedMetadata;\n }\n }\n\n let attempts = 0;\n let newMetadata: Map<string, AssetMetadata> | undefined;\n while (attempts <= 3) {\n try {\n newMetadata = await this._options.metadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n } catch (e) {\n attempts++;\n }\n }\n\n if (!newMetadata) {\n newMetadata = await this.fallbackMetadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n }\n\n this._cachedMetadata = newMetadata;\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async (assetIds) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(normalizeAssetIdWithDot(id), {\n assetId: normalizeAssetIdWithDot(id),\n decimals: 6,\n } as AssetMetadata)\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AASA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAKA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,yBAAA,GAAAR,OAAA;AAAqE,SAAAE,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,2BAAAC,CAAA,EAAAT,CAAA,QAAAU,CAAA,yBAAAN,MAAA,IAAAK,CAAA,CAAAL,MAAA,CAAAC,QAAA,KAAAI,CAAA,qBAAAC,CAAA,QAAAC,KAAA,CAAAC,OAAA,CAAAH,CAAA,MAAAC,CAAA,GAAAG,2BAAA,CAAAJ,CAAA,MAAAT,CAAA,IAAAS,CAAA,uBAAAA,CAAA,CAAAK,MAAA,IAAAJ,CAAA,KAAAD,CAAA,GAAAC,CAAA,OAAAK,EAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,WAAAH,EAAA,IAAAN,CAAA,CAAAK,MAAA,KAAAK,IAAA,WAAAA,IAAA,MAAAC,KAAA,EAAAX,CAAA,CAAAM,EAAA,UAAAf,CAAA,WAAAA,EAAAS,CAAA,UAAAA,CAAA,KAAAY,CAAA,EAAAL,CAAA,gBAAAM,SAAA,iJAAAnB,CAAA,EAAAoB,CAAA,OAAAC,CAAA,gBAAAP,CAAA,WAAAA,EAAA,IAAAP,CAAA,GAAAA,CAAA,CAAAe,IAAA,CAAAhB,CAAA,MAAAS,CAAA,WAAAA,EAAA,QAAAT,CAAA,GAAAC,CAAA,CAAAgB,IAAA,WAAAH,CAAA,GAAAd,CAAA,CAAAU,IAAA,EAAAV,CAAA,KAAAT,CAAA,WAAAA,EAAAS,CAAA,IAAAe,CAAA,OAAArB,CAAA,GAAAM,CAAA,KAAAY,CAAA,WAAAA,EAAA,UAAAE,CAAA,YAAAb,CAAA,cAAAA,CAAA,8BAAAc,CAAA,QAAArB,CAAA;AAAA,SAAAwB,mBAAAlB,CAAA,WAAAmB,kBAAA,CAAAnB,CAAA,KAAAoB,gBAAA,CAAApB,CAAA,KAAAI,2BAAA,CAAAJ,CAAA,KAAAqB,kBAAA;AAAA,SAAAA,mBAAA,cAAAR,SAAA;AAAA,SAAAO,iBAAApB,CAAA,8BAAAL,MAAA,YAAAK,CAAA,CAAAL,MAAA,CAAAC,QAAA,aAAAI,CAAA,uBAAAE,KAAA,CAAAoB,IAAA,CAAAtB,CAAA;AAAA,SAAAmB,mBAAAnB,CAAA,QAAAE,KAAA,CAAAC,OAAA,CAAAH,CAAA,UAAAuB,iBAAA,CAAAvB,CAAA;AAAA,SAAAwB,oBAAA,kBAxBrE,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAjC,CAAA,SAAAU,CAAA,EAAAV,CAAA,OAAAS,CAAA,GAAAyB,MAAA,CAAA3B,SAAA,EAAAW,CAAA,GAAAT,CAAA,CAAA0B,cAAA,EAAAhC,CAAA,GAAA+B,MAAA,CAAAE,cAAA,cAAA1B,CAAA,EAAAV,CAAA,EAAAS,CAAA,IAAAC,CAAA,CAAAV,CAAA,IAAAS,CAAA,CAAAW,KAAA,KAAAiB,CAAA,wBAAAjC,MAAA,GAAAA,MAAA,OAAAmB,CAAA,GAAAc,CAAA,CAAAhC,QAAA,kBAAAiC,CAAA,GAAAD,CAAA,CAAAE,aAAA,uBAAAf,CAAA,GAAAa,CAAA,CAAAG,WAAA,8BAAAC,OAAA/B,CAAA,EAAAV,CAAA,EAAAS,CAAA,WAAAyB,MAAA,CAAAE,cAAA,CAAA1B,CAAA,EAAAV,CAAA,IAAAoB,KAAA,EAAAX,CAAA,EAAAiC,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAlC,CAAA,CAAAV,CAAA,WAAAyC,MAAA,mBAAA/B,CAAA,IAAA+B,MAAA,YAAAA,OAAA/B,CAAA,EAAAV,CAAA,EAAAS,CAAA,WAAAC,CAAA,CAAAV,CAAA,IAAAS,CAAA,gBAAAoC,KAAAnC,CAAA,EAAAV,CAAA,EAAAS,CAAA,EAAAS,CAAA,QAAAmB,CAAA,GAAArC,CAAA,IAAAA,CAAA,CAAAO,SAAA,YAAAuC,SAAA,GAAA9C,CAAA,GAAA8C,SAAA,EAAAvB,CAAA,GAAAW,MAAA,CAAAa,MAAA,CAAAV,CAAA,CAAA9B,SAAA,GAAA+B,CAAA,OAAAU,OAAA,CAAA9B,CAAA,gBAAAf,CAAA,CAAAoB,CAAA,eAAAH,KAAA,EAAA6B,gBAAA,CAAAvC,CAAA,EAAAD,CAAA,EAAA6B,CAAA,MAAAf,CAAA,aAAA2B,SAAAxC,CAAA,EAAAV,CAAA,EAAAS,CAAA,mBAAA0C,IAAA,YAAAC,GAAA,EAAA1C,CAAA,CAAAe,IAAA,CAAAzB,CAAA,EAAAS,CAAA,cAAAC,CAAA,aAAAyC,IAAA,WAAAC,GAAA,EAAA1C,CAAA,QAAAV,CAAA,CAAA6C,IAAA,GAAAA,IAAA,MAAAQ,CAAA,qBAAAC,CAAA,qBAAAjC,CAAA,gBAAAJ,CAAA,gBAAAsC,CAAA,gBAAAT,UAAA,cAAAU,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAAjB,MAAA,CAAAiB,CAAA,EAAAnC,CAAA,qCAAAoC,CAAA,GAAAzB,MAAA,CAAA0B,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAApD,CAAA,IAAAS,CAAA,CAAAO,IAAA,CAAAoC,CAAA,EAAAtC,CAAA,MAAAmC,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAlD,SAAA,GAAAuC,SAAA,CAAAvC,SAAA,GAAA2B,MAAA,CAAAa,MAAA,CAAAW,CAAA,YAAAM,sBAAAtD,CAAA,gCAAAuD,OAAA,WAAAjE,CAAA,IAAAyC,MAAA,CAAA/B,CAAA,EAAAV,CAAA,YAAAU,CAAA,gBAAAwD,OAAA,CAAAlE,CAAA,EAAAU,CAAA,sBAAAyD,cAAAzD,CAAA,EAAAV,CAAA,aAAAoE,OAAA3D,CAAA,EAAAN,CAAA,EAAAkC,CAAA,EAAAd,CAAA,QAAAe,CAAA,GAAAY,QAAA,CAAAxC,CAAA,CAAAD,CAAA,GAAAC,CAAA,EAAAP,CAAA,mBAAAmC,CAAA,CAAAa,IAAA,QAAA3B,CAAA,GAAAc,CAAA,CAAAc,GAAA,EAAAC,CAAA,GAAA7B,CAAA,CAAAJ,KAAA,SAAAiC,CAAA,gBAAAnD,OAAA,CAAAmD,CAAA,KAAAnC,CAAA,CAAAO,IAAA,CAAA4B,CAAA,eAAArD,CAAA,CAAAqE,OAAA,CAAAhB,CAAA,CAAAiB,OAAA,EAAAC,IAAA,WAAA7D,CAAA,IAAA0D,MAAA,SAAA1D,CAAA,EAAA2B,CAAA,EAAAd,CAAA,gBAAAb,CAAA,IAAA0D,MAAA,UAAA1D,CAAA,EAAA2B,CAAA,EAAAd,CAAA,QAAAvB,CAAA,CAAAqE,OAAA,CAAAhB,CAAA,EAAAkB,IAAA,WAAA7D,CAAA,IAAAc,CAAA,CAAAJ,KAAA,GAAAV,CAAA,EAAA2B,CAAA,CAAAb,CAAA,gBAAAd,CAAA,WAAA0D,MAAA,UAAA1D,CAAA,EAAA2B,CAAA,EAAAd,CAAA,SAAAA,CAAA,CAAAe,CAAA,CAAAc,GAAA,SAAA3C,CAAA,EAAAN,CAAA,oBAAAiB,KAAA,WAAAA,MAAAV,CAAA,EAAAQ,CAAA,aAAAsD,2BAAA,eAAAxE,CAAA,WAAAA,CAAA,EAAAS,CAAA,IAAA2D,MAAA,CAAA1D,CAAA,EAAAQ,CAAA,EAAAlB,CAAA,EAAAS,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAA8D,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAvB,iBAAAjD,CAAA,EAAAS,CAAA,EAAAS,CAAA,QAAAf,CAAA,GAAAkD,CAAA,mBAAAhB,CAAA,EAAAd,CAAA,QAAApB,CAAA,KAAAkB,CAAA,QAAAoD,KAAA,sCAAAtE,CAAA,KAAAc,CAAA,oBAAAoB,CAAA,QAAAd,CAAA,WAAAH,KAAA,EAAAV,CAAA,EAAAS,IAAA,eAAAD,CAAA,CAAAwD,MAAA,GAAArC,CAAA,EAAAnB,CAAA,CAAAkC,GAAA,GAAA7B,CAAA,UAAAe,CAAA,GAAApB,CAAA,CAAAyD,QAAA,MAAArC,CAAA,QAAAd,CAAA,GAAAoD,mBAAA,CAAAtC,CAAA,EAAApB,CAAA,OAAAM,CAAA,QAAAA,CAAA,KAAA+B,CAAA,mBAAA/B,CAAA,qBAAAN,CAAA,CAAAwD,MAAA,EAAAxD,CAAA,CAAA2D,IAAA,GAAA3D,CAAA,CAAA4D,KAAA,GAAA5D,CAAA,CAAAkC,GAAA,sBAAAlC,CAAA,CAAAwD,MAAA,QAAAvE,CAAA,KAAAkD,CAAA,QAAAlD,CAAA,GAAAc,CAAA,EAAAC,CAAA,CAAAkC,GAAA,EAAAlC,CAAA,CAAA6D,iBAAA,CAAA7D,CAAA,CAAAkC,GAAA,uBAAAlC,CAAA,CAAAwD,MAAA,IAAAxD,CAAA,CAAA8D,MAAA,WAAA9D,CAAA,CAAAkC,GAAA,GAAAjD,CAAA,GAAAkB,CAAA,MAAAqC,CAAA,GAAAR,QAAA,CAAAlD,CAAA,EAAAS,CAAA,EAAAS,CAAA,oBAAAwC,CAAA,CAAAP,IAAA,QAAAhD,CAAA,GAAAe,CAAA,CAAAC,IAAA,GAAAF,CAAA,GAAAqC,CAAA,EAAAI,CAAA,CAAAN,GAAA,KAAAG,CAAA,qBAAAnC,KAAA,EAAAsC,CAAA,CAAAN,GAAA,EAAAjC,IAAA,EAAAD,CAAA,CAAAC,IAAA,kBAAAuC,CAAA,CAAAP,IAAA,KAAAhD,CAAA,GAAAc,CAAA,EAAAC,CAAA,CAAAwD,MAAA,YAAAxD,CAAA,CAAAkC,GAAA,GAAAM,CAAA,CAAAN,GAAA,mBAAAwB,oBAAA5E,CAAA,EAAAS,CAAA,QAAAS,CAAA,GAAAT,CAAA,CAAAiE,MAAA,EAAAvE,CAAA,GAAAH,CAAA,CAAAK,QAAA,CAAAa,CAAA,OAAAf,CAAA,KAAAO,CAAA,SAAAD,CAAA,CAAAkE,QAAA,qBAAAzD,CAAA,IAAAlB,CAAA,CAAAK,QAAA,eAAAI,CAAA,CAAAiE,MAAA,aAAAjE,CAAA,CAAA2C,GAAA,GAAA1C,CAAA,EAAAkE,mBAAA,CAAA5E,CAAA,EAAAS,CAAA,eAAAA,CAAA,CAAAiE,MAAA,kBAAAxD,CAAA,KAAAT,CAAA,CAAAiE,MAAA,YAAAjE,CAAA,CAAA2C,GAAA,OAAA9B,SAAA,uCAAAJ,CAAA,iBAAAqC,CAAA,MAAAlB,CAAA,GAAAa,QAAA,CAAA/C,CAAA,EAAAH,CAAA,CAAAK,QAAA,EAAAI,CAAA,CAAA2C,GAAA,mBAAAf,CAAA,CAAAc,IAAA,SAAA1C,CAAA,CAAAiE,MAAA,YAAAjE,CAAA,CAAA2C,GAAA,GAAAf,CAAA,CAAAe,GAAA,EAAA3C,CAAA,CAAAkE,QAAA,SAAApB,CAAA,MAAAhC,CAAA,GAAAc,CAAA,CAAAe,GAAA,SAAA7B,CAAA,GAAAA,CAAA,CAAAJ,IAAA,IAAAV,CAAA,CAAAT,CAAA,CAAAiF,UAAA,IAAA1D,CAAA,CAAAH,KAAA,EAAAX,CAAA,CAAAiB,IAAA,GAAA1B,CAAA,CAAAkF,OAAA,eAAAzE,CAAA,CAAAiE,MAAA,KAAAjE,CAAA,CAAAiE,MAAA,WAAAjE,CAAA,CAAA2C,GAAA,GAAA1C,CAAA,GAAAD,CAAA,CAAAkE,QAAA,SAAApB,CAAA,IAAAhC,CAAA,IAAAd,CAAA,CAAAiE,MAAA,YAAAjE,CAAA,CAAA2C,GAAA,OAAA9B,SAAA,sCAAAb,CAAA,CAAAkE,QAAA,SAAApB,CAAA,cAAA4B,aAAAzE,CAAA,QAAAV,CAAA,KAAAoF,MAAA,EAAA1E,CAAA,YAAAA,CAAA,KAAAV,CAAA,CAAAqF,QAAA,GAAA3E,CAAA,WAAAA,CAAA,KAAAV,CAAA,CAAAsF,UAAA,GAAA5E,CAAA,KAAAV,CAAA,CAAAuF,QAAA,GAAA7E,CAAA,WAAA8E,UAAA,CAAAC,IAAA,CAAAzF,CAAA,cAAA0F,cAAAhF,CAAA,QAAAV,CAAA,GAAAU,CAAA,CAAAiF,UAAA,QAAA3F,CAAA,CAAAmD,IAAA,oBAAAnD,CAAA,CAAAoD,GAAA,EAAA1C,CAAA,CAAAiF,UAAA,GAAA3F,CAAA,aAAAgD,QAAAtC,CAAA,SAAA8E,UAAA,MAAAJ,MAAA,aAAA1E,CAAA,CAAAuD,OAAA,CAAAkB,YAAA,cAAAS,KAAA,iBAAA9B,OAAA9D,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAS,CAAA,GAAAT,CAAA,CAAAuB,CAAA,OAAAd,CAAA,SAAAA,CAAA,CAAAgB,IAAA,CAAAzB,CAAA,4BAAAA,CAAA,CAAA0B,IAAA,SAAA1B,CAAA,OAAA6F,KAAA,CAAA7F,CAAA,CAAAc,MAAA,SAAAX,CAAA,OAAAkC,CAAA,YAAAX,KAAA,aAAAvB,CAAA,GAAAH,CAAA,CAAAc,MAAA,OAAAI,CAAA,CAAAO,IAAA,CAAAzB,CAAA,EAAAG,CAAA,UAAAuB,IAAA,CAAAN,KAAA,GAAApB,CAAA,CAAAG,CAAA,GAAAuB,IAAA,CAAAP,IAAA,OAAAO,IAAA,SAAAA,IAAA,CAAAN,KAAA,GAAAV,CAAA,EAAAgB,IAAA,CAAAP,IAAA,OAAAO,IAAA,YAAAW,CAAA,CAAAX,IAAA,GAAAW,CAAA,gBAAAf,SAAA,CAAApB,OAAA,CAAAF,CAAA,kCAAAwD,iBAAA,CAAAjD,SAAA,GAAAkD,0BAAA,EAAAtD,CAAA,CAAA4D,CAAA,mBAAA3C,KAAA,EAAAqC,0BAAA,EAAAd,YAAA,SAAAxC,CAAA,CAAAsD,0BAAA,mBAAArC,KAAA,EAAAoC,iBAAA,EAAAb,YAAA,SAAAa,iBAAA,CAAAsC,WAAA,GAAArD,MAAA,CAAAgB,0BAAA,EAAAjC,CAAA,wBAAAxB,CAAA,CAAA+F,mBAAA,aAAArF,CAAA,QAAAV,CAAA,wBAAAU,CAAA,IAAAA,CAAA,CAAAJ,WAAA,WAAAN,CAAA,KAAAA,CAAA,KAAAwD,iBAAA,6BAAAxD,CAAA,CAAA8F,WAAA,IAAA9F,CAAA,CAAAgG,IAAA,OAAAhG,CAAA,CAAAiG,IAAA,aAAAvF,CAAA,WAAAwB,MAAA,CAAAgE,cAAA,GAAAhE,MAAA,CAAAgE,cAAA,CAAAxF,CAAA,EAAA+C,0BAAA,KAAA/C,CAAA,CAAAyF,SAAA,GAAA1C,0BAAA,EAAAhB,MAAA,CAAA/B,CAAA,EAAAc,CAAA,yBAAAd,CAAA,CAAAH,SAAA,GAAA2B,MAAA,CAAAa,MAAA,CAAAgB,CAAA,GAAArD,CAAA,KAAAV,CAAA,CAAAoG,KAAA,aAAA1F,CAAA,aAAA4D,OAAA,EAAA5D,CAAA,OAAAsD,qBAAA,CAAAG,aAAA,CAAA5D,SAAA,GAAAkC,MAAA,CAAA0B,aAAA,CAAA5D,SAAA,EAAA+B,CAAA,iCAAAtC,CAAA,CAAAmE,aAAA,GAAAA,aAAA,EAAAnE,CAAA,CAAAqG,KAAA,aAAA3F,CAAA,EAAAD,CAAA,EAAAS,CAAA,EAAAf,CAAA,EAAAkC,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAAiE,OAAA,OAAA/E,CAAA,OAAA4C,aAAA,CAAAtB,IAAA,CAAAnC,CAAA,EAAAD,CAAA,EAAAS,CAAA,EAAAf,CAAA,GAAAkC,CAAA,UAAArC,CAAA,CAAA+F,mBAAA,CAAAtF,CAAA,IAAAc,CAAA,GAAAA,CAAA,CAAAG,IAAA,GAAA6C,IAAA,WAAA7D,CAAA,WAAAA,CAAA,CAAAS,IAAA,GAAAT,CAAA,CAAAU,KAAA,GAAAG,CAAA,CAAAG,IAAA,WAAAsC,qBAAA,CAAAD,CAAA,GAAAtB,MAAA,CAAAsB,CAAA,EAAAvC,CAAA,gBAAAiB,MAAA,CAAAsB,CAAA,EAAAxC,CAAA,iCAAAkB,MAAA,CAAAsB,CAAA,6DAAA/D,CAAA,CAAAuG,IAAA,aAAA7F,CAAA,QAAAV,CAAA,GAAAkC,MAAA,CAAAxB,CAAA,GAAAD,CAAA,gBAAAS,CAAA,IAAAlB,CAAA,EAAAS,CAAA,CAAAgF,IAAA,CAAAvE,CAAA,UAAAT,CAAA,CAAA+F,OAAA,aAAA9E,KAAA,WAAAjB,CAAA,CAAAK,MAAA,SAAAJ,CAAA,GAAAD,CAAA,CAAAgG,GAAA,QAAA/F,CAAA,IAAAV,CAAA,SAAA0B,IAAA,CAAAN,KAAA,GAAAV,CAAA,EAAAgB,IAAA,CAAAP,IAAA,OAAAO,IAAA,WAAAA,IAAA,CAAAP,IAAA,OAAAO,IAAA,QAAA1B,CAAA,CAAA8D,MAAA,GAAAA,MAAA,EAAAd,OAAA,CAAAzC,SAAA,KAAAD,WAAA,EAAA0C,OAAA,EAAA4C,KAAA,WAAAA,MAAA5F,CAAA,aAAA0G,IAAA,WAAAhF,IAAA,WAAAmD,IAAA,QAAAC,KAAA,GAAApE,CAAA,OAAAS,IAAA,YAAAwD,QAAA,cAAAD,MAAA,gBAAAtB,GAAA,GAAA1C,CAAA,OAAA8E,UAAA,CAAAvB,OAAA,CAAAyB,aAAA,IAAA1F,CAAA,WAAAS,CAAA,kBAAAA,CAAA,CAAAkG,MAAA,OAAAzF,CAAA,CAAAO,IAAA,OAAAhB,CAAA,MAAAoF,KAAA,EAAApF,CAAA,CAAAmG,KAAA,cAAAnG,CAAA,IAAAC,CAAA,MAAAmG,IAAA,WAAAA,KAAA,SAAA1F,IAAA,WAAAT,CAAA,QAAA8E,UAAA,IAAAG,UAAA,kBAAAjF,CAAA,CAAAyC,IAAA,QAAAzC,CAAA,CAAA0C,GAAA,cAAA0D,IAAA,KAAA/B,iBAAA,WAAAA,kBAAA/E,CAAA,aAAAmB,IAAA,QAAAnB,CAAA,MAAAS,CAAA,kBAAAsG,OAAA7F,CAAA,EAAAf,CAAA,WAAAoB,CAAA,CAAA4B,IAAA,YAAA5B,CAAA,CAAA6B,GAAA,GAAApD,CAAA,EAAAS,CAAA,CAAAiB,IAAA,GAAAR,CAAA,EAAAf,CAAA,KAAAM,CAAA,CAAAiE,MAAA,WAAAjE,CAAA,CAAA2C,GAAA,GAAA1C,CAAA,KAAAP,CAAA,aAAAA,CAAA,QAAAqF,UAAA,CAAA1E,MAAA,MAAAX,CAAA,SAAAA,CAAA,QAAAkC,CAAA,QAAAmD,UAAA,CAAArF,CAAA,GAAAoB,CAAA,GAAAc,CAAA,CAAAsD,UAAA,iBAAAtD,CAAA,CAAA+C,MAAA,SAAA2B,MAAA,aAAA1E,CAAA,CAAA+C,MAAA,SAAAsB,IAAA,QAAApE,CAAA,GAAApB,CAAA,CAAAO,IAAA,CAAAY,CAAA,eAAAb,CAAA,GAAAN,CAAA,CAAAO,IAAA,CAAAY,CAAA,qBAAAC,CAAA,IAAAd,CAAA,aAAAkF,IAAA,GAAArE,CAAA,CAAAgD,QAAA,SAAA0B,MAAA,CAAA1E,CAAA,CAAAgD,QAAA,gBAAAqB,IAAA,GAAArE,CAAA,CAAAiD,UAAA,SAAAyB,MAAA,CAAA1E,CAAA,CAAAiD,UAAA,cAAAhD,CAAA,aAAAoE,IAAA,GAAArE,CAAA,CAAAgD,QAAA,SAAA0B,MAAA,CAAA1E,CAAA,CAAAgD,QAAA,qBAAA7D,CAAA,QAAAiD,KAAA,qDAAAiC,IAAA,GAAArE,CAAA,CAAAiD,UAAA,SAAAyB,MAAA,CAAA1E,CAAA,CAAAiD,UAAA,YAAAN,MAAA,WAAAA,OAAAtE,CAAA,EAAAV,CAAA,aAAAS,CAAA,QAAA+E,UAAA,CAAA1E,MAAA,MAAAL,CAAA,SAAAA,CAAA,QAAAN,CAAA,QAAAqF,UAAA,CAAA/E,CAAA,OAAAN,CAAA,CAAAiF,MAAA,SAAAsB,IAAA,IAAAxF,CAAA,CAAAO,IAAA,CAAAtB,CAAA,wBAAAuG,IAAA,GAAAvG,CAAA,CAAAmF,UAAA,QAAAjD,CAAA,GAAAlC,CAAA,aAAAkC,CAAA,iBAAA3B,CAAA,mBAAAA,CAAA,KAAA2B,CAAA,CAAA+C,MAAA,IAAApF,CAAA,IAAAA,CAAA,IAAAqC,CAAA,CAAAiD,UAAA,KAAAjD,CAAA,cAAAd,CAAA,GAAAc,CAAA,GAAAA,CAAA,CAAAsD,UAAA,cAAApE,CAAA,CAAA4B,IAAA,GAAAzC,CAAA,EAAAa,CAAA,CAAA6B,GAAA,GAAApD,CAAA,EAAAqC,CAAA,SAAAqC,MAAA,gBAAAhD,IAAA,GAAAW,CAAA,CAAAiD,UAAA,EAAA/B,CAAA,SAAAyD,QAAA,CAAAzF,CAAA,MAAAyF,QAAA,WAAAA,SAAAtG,CAAA,EAAAV,CAAA,oBAAAU,CAAA,CAAAyC,IAAA,QAAAzC,CAAA,CAAA0C,GAAA,qBAAA1C,CAAA,CAAAyC,IAAA,mBAAAzC,CAAA,CAAAyC,IAAA,QAAAzB,IAAA,GAAAhB,CAAA,CAAA0C,GAAA,gBAAA1C,CAAA,CAAAyC,IAAA,SAAA2D,IAAA,QAAA1D,GAAA,GAAA1C,CAAA,CAAA0C,GAAA,OAAAsB,MAAA,kBAAAhD,IAAA,yBAAAhB,CAAA,CAAAyC,IAAA,IAAAnD,CAAA,UAAA0B,IAAA,GAAA1B,CAAA,GAAAuD,CAAA,KAAA0D,MAAA,WAAAA,OAAAvG,CAAA,aAAAV,CAAA,QAAAwF,UAAA,CAAA1E,MAAA,MAAAd,CAAA,SAAAA,CAAA,QAAAS,CAAA,QAAA+E,UAAA,CAAAxF,CAAA,OAAAS,CAAA,CAAA6E,UAAA,KAAA5E,CAAA,cAAAsG,QAAA,CAAAvG,CAAA,CAAAkF,UAAA,EAAAlF,CAAA,CAAA8E,QAAA,GAAAG,aAAA,CAAAjF,CAAA,GAAA8C,CAAA,yBAAA2D,OAAAxG,CAAA,aAAAV,CAAA,QAAAwF,UAAA,CAAA1E,MAAA,MAAAd,CAAA,SAAAA,CAAA,QAAAS,CAAA,QAAA+E,UAAA,CAAAxF,CAAA,OAAAS,CAAA,CAAA2E,MAAA,KAAA1E,CAAA,QAAAQ,CAAA,GAAAT,CAAA,CAAAkF,UAAA,kBAAAzE,CAAA,CAAAiC,IAAA,QAAAhD,CAAA,GAAAe,CAAA,CAAAkC,GAAA,EAAAsC,aAAA,CAAAjF,CAAA,YAAAN,CAAA,YAAAsE,KAAA,8BAAA0C,aAAA,WAAAA,cAAAnH,CAAA,EAAAS,CAAA,EAAAS,CAAA,gBAAAyD,QAAA,KAAAtE,QAAA,EAAAyD,MAAA,CAAA9D,CAAA,GAAAiF,UAAA,EAAAxE,CAAA,EAAAyE,OAAA,EAAAhE,CAAA,oBAAAwD,MAAA,UAAAtB,GAAA,GAAA1C,CAAA,GAAA6C,CAAA,OAAAvD,CAAA;AAAA,SAAAoH,eAAA3G,CAAA,EAAAT,CAAA,WAAAqH,eAAA,CAAA5G,CAAA,KAAA6G,qBAAA,CAAA7G,CAAA,EAAAT,CAAA,KAAAa,2BAAA,CAAAJ,CAAA,EAAAT,CAAA,KAAAuH,gBAAA;AAAA,SAAAA,iBAAA,cAAAjG,SAAA;AAAA,SAAAT,4BAAAJ,CAAA,EAAAc,CAAA,QAAAd,CAAA,2BAAAA,CAAA,SAAAuB,iBAAA,CAAAvB,CAAA,EAAAc,CAAA,OAAAb,CAAA,MAAA8G,QAAA,CAAA/F,IAAA,CAAAhB,CAAA,EAAAmG,KAAA,6BAAAlG,CAAA,IAAAD,CAAA,CAAAH,WAAA,KAAAI,CAAA,GAAAD,CAAA,CAAAH,WAAA,CAAA0F,IAAA,aAAAtF,CAAA,cAAAA,CAAA,GAAAC,KAAA,CAAAoB,IAAA,CAAAtB,CAAA,oBAAAC,CAAA,+CAAA+G,IAAA,CAAA/G,CAAA,IAAAsB,iBAAA,CAAAvB,CAAA,EAAAc,CAAA;AAAA,SAAAS,kBAAAvB,CAAA,EAAAc,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAd,CAAA,CAAAK,MAAA,MAAAS,CAAA,GAAAd,CAAA,CAAAK,MAAA,YAAAd,CAAA,MAAAkB,CAAA,GAAAP,KAAA,CAAAY,CAAA,GAAAvB,CAAA,GAAAuB,CAAA,EAAAvB,CAAA,IAAAkB,CAAA,CAAAlB,CAAA,IAAAS,CAAA,CAAAT,CAAA,UAAAkB,CAAA;AAAA,SAAAoG,sBAAA7G,CAAA,EAAA6C,CAAA,QAAA5C,CAAA,WAAAD,CAAA,gCAAAL,MAAA,IAAAK,CAAA,CAAAL,MAAA,CAAAC,QAAA,KAAAI,CAAA,4BAAAC,CAAA,QAAAV,CAAA,EAAAkB,CAAA,EAAAmB,CAAA,EAAAb,CAAA,EAAAD,CAAA,OAAAF,CAAA,OAAAlB,CAAA,iBAAAkC,CAAA,IAAA3B,CAAA,GAAAA,CAAA,CAAAe,IAAA,CAAAhB,CAAA,GAAAiB,IAAA,QAAA4B,CAAA,QAAApB,MAAA,CAAAxB,CAAA,MAAAA,CAAA,UAAAW,CAAA,uBAAAA,CAAA,IAAArB,CAAA,GAAAqC,CAAA,CAAAZ,IAAA,CAAAf,CAAA,GAAAS,IAAA,MAAAI,CAAA,CAAAkE,IAAA,CAAAzF,CAAA,CAAAoB,KAAA,GAAAG,CAAA,CAAAT,MAAA,KAAAwC,CAAA,GAAAjC,CAAA,iBAAAZ,CAAA,IAAAN,CAAA,OAAAe,CAAA,GAAAT,CAAA,yBAAAY,CAAA,YAAAX,CAAA,eAAAc,CAAA,GAAAd,CAAA,cAAAwB,MAAA,CAAAV,CAAA,MAAAA,CAAA,2BAAArB,CAAA,QAAAe,CAAA,aAAAK,CAAA;AAAA,SAAA8F,gBAAA5G,CAAA,QAAAE,KAAA,CAAAC,OAAA,CAAAH,CAAA,UAAAA,CAAA;AAAA,SAAAiH,mBAAAxG,CAAA,EAAAR,CAAA,EAAAV,CAAA,EAAAS,CAAA,EAAAN,CAAA,EAAAoB,CAAA,EAAAe,CAAA,cAAAD,CAAA,GAAAnB,CAAA,CAAAK,CAAA,EAAAe,CAAA,GAAAd,CAAA,GAAAa,CAAA,CAAAjB,KAAA,WAAAF,CAAA,gBAAAlB,CAAA,CAAAkB,CAAA,KAAAmB,CAAA,CAAAlB,IAAA,GAAAT,CAAA,CAAAc,CAAA,IAAA8E,OAAA,CAAAjC,OAAA,CAAA7C,CAAA,EAAA+C,IAAA,CAAA9D,CAAA,EAAAN,CAAA;AAAA,SAAAwH,kBAAAzG,CAAA,6BAAAR,CAAA,SAAAV,CAAA,GAAA4H,SAAA,aAAAtB,OAAA,WAAA7F,CAAA,EAAAN,CAAA,QAAAoB,CAAA,GAAAL,CAAA,CAAA2G,KAAA,CAAAnH,CAAA,EAAAV,CAAA,YAAA8H,MAAA5G,CAAA,IAAAwG,kBAAA,CAAAnG,CAAA,EAAAd,CAAA,EAAAN,CAAA,EAAA2H,KAAA,EAAAC,MAAA,UAAA7G,CAAA,cAAA6G,OAAA7G,CAAA,IAAAwG,kBAAA,CAAAnG,CAAA,EAAAd,CAAA,EAAAN,CAAA,EAAA2H,KAAA,EAAAC,MAAA,WAAA7G,CAAA,KAAA4G,KAAA;AAAA,SAAAE,gBAAAzG,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAI,SAAA;AAAA,SAAA2G,kBAAAjI,CAAA,EAAAS,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAD,CAAA,CAAAK,MAAA,EAAAJ,CAAA,UAAAP,CAAA,GAAAM,CAAA,CAAAC,CAAA,GAAAP,CAAA,CAAAuC,UAAA,GAAAvC,CAAA,CAAAuC,UAAA,QAAAvC,CAAA,CAAAwC,YAAA,kBAAAxC,CAAA,KAAAA,CAAA,CAAAyC,QAAA,QAAAV,MAAA,CAAAE,cAAA,CAAApC,CAAA,EAAAkI,cAAA,CAAA/H,CAAA,CAAAgI,GAAA,GAAAhI,CAAA;AAAA,SAAAiI,aAAApI,CAAA,EAAAS,CAAA,EAAAC,CAAA,WAAAD,CAAA,IAAAwH,iBAAA,CAAAjI,CAAA,CAAAO,SAAA,EAAAE,CAAA,GAAAC,CAAA,IAAAuH,iBAAA,CAAAjI,CAAA,EAAAU,CAAA,GAAAwB,MAAA,CAAAE,cAAA,CAAApC,CAAA,iBAAA4C,QAAA,SAAA5C,CAAA;AAAA,SAAAqI,WAAA3H,CAAA,EAAAP,CAAA,EAAAH,CAAA,WAAAG,CAAA,GAAAmI,eAAA,CAAAnI,CAAA,GAAAoI,0BAAA,CAAA7H,CAAA,EAAA8H,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAvI,CAAA,EAAAH,CAAA,QAAAsI,eAAA,CAAA5H,CAAA,EAAAJ,WAAA,IAAAH,CAAA,CAAA0H,KAAA,CAAAnH,CAAA,EAAAV,CAAA;AAAA,SAAAuI,2BAAA7H,CAAA,EAAAV,CAAA,QAAAA,CAAA,iBAAAE,OAAA,CAAAF,CAAA,0BAAAA,CAAA,UAAAA,CAAA,iBAAAA,CAAA,YAAAsB,SAAA,qEAAAqH,sBAAA,CAAAjI,CAAA;AAAA,SAAAiI,uBAAA3I,CAAA,mBAAAA,CAAA,YAAA4I,cAAA,sEAAA5I,CAAA;AAAA,SAAAwI,0BAAA,cAAA9H,CAAA,IAAAmI,OAAA,CAAAtI,SAAA,CAAAuI,OAAA,CAAArH,IAAA,CAAAgH,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAnI,CAAA,aAAA8H,yBAAA,YAAAA,0BAAA,aAAA9H,CAAA;AAAA,SAAA4H,gBAAA5H,CAAA,WAAA4H,eAAA,GAAApG,MAAA,CAAAgE,cAAA,GAAAhE,MAAA,CAAA0B,cAAA,CAAAmF,IAAA,eAAArI,CAAA,WAAAA,CAAA,CAAAyF,SAAA,IAAAjE,MAAA,CAAA0B,cAAA,CAAAlD,CAAA,MAAA4H,eAAA,CAAA5H,CAAA;AAAA,SAAAsI,UAAAtI,CAAA,EAAAV,CAAA,6BAAAA,CAAA,aAAAA,CAAA,YAAAsB,SAAA,wDAAAZ,CAAA,CAAAH,SAAA,GAAA2B,MAAA,CAAAa,MAAA,CAAA/C,CAAA,IAAAA,CAAA,CAAAO,SAAA,IAAAD,WAAA,IAAAc,KAAA,EAAAV,CAAA,EAAAkC,QAAA,MAAAD,YAAA,WAAAT,MAAA,CAAAE,cAAA,CAAA1B,CAAA,iBAAAkC,QAAA,SAAA5C,CAAA,IAAAiJ,eAAA,CAAAvI,CAAA,EAAAV,CAAA;AAAA,SAAAiJ,gBAAAvI,CAAA,EAAAV,CAAA,WAAAiJ,eAAA,GAAA/G,MAAA,CAAAgE,cAAA,GAAAhE,MAAA,CAAAgE,cAAA,CAAA6C,IAAA,eAAArI,CAAA,EAAAV,CAAA,WAAAU,CAAA,CAAAyF,SAAA,GAAAnG,CAAA,EAAAU,CAAA,KAAAuI,eAAA,CAAAvI,CAAA,EAAAV,CAAA;AAAA,SAAAkJ,gBAAAlJ,CAAA,EAAAS,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAyH,cAAA,CAAAzH,CAAA,MAAAT,CAAA,GAAAkC,MAAA,CAAAE,cAAA,CAAApC,CAAA,EAAAS,CAAA,IAAAW,KAAA,EAAAV,CAAA,EAAAgC,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAA5C,CAAA,CAAAS,CAAA,IAAAC,CAAA,EAAAV,CAAA;AAAA,SAAAkI,eAAAxH,CAAA,QAAA2B,CAAA,GAAA8G,YAAA,CAAAzI,CAAA,gCAAAR,OAAA,CAAAmC,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA8G,aAAAzI,CAAA,EAAAD,CAAA,oBAAAP,OAAA,CAAAQ,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAV,CAAA,GAAAU,CAAA,CAAAN,MAAA,CAAAgJ,WAAA,kBAAApJ,CAAA,QAAAqC,CAAA,GAAArC,CAAA,CAAAyB,IAAA,CAAAf,CAAA,EAAAD,CAAA,gCAAAP,OAAA,CAAAmC,CAAA,UAAAA,CAAA,YAAAf,SAAA,yEAAAb,CAAA,GAAA4I,MAAA,GAAAC,MAAA,EAAA5I,CAAA;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,IAca6I,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAAE,oBAAA;EAyBzB;AACF;AACA;AACA;AACA;EACE,SAAAF,eAAYG,OAAwD,EAAE;IAAA,IAAAC,KAAA;IAAA3B,eAAA,OAAAuB,cAAA;IACpEI,KAAA,GAAAtB,UAAA,OAAAkB,cAAA;;IAEA;IAAAL,eAAA,CAAAS,KAAA,aA5BuB,CAAC;IAAAT,eAAA,CAAAS,KAAA;IAAAT,eAAA,CAAAS,KAAA;IAAAT,eAAA,CAAAS,KAAA;IAAAT,eAAA,CAAAS,KAAA,qBAKS,KAAK;IAAAT,eAAA,CAAAS,KAAA;IAAAT,eAAA,CAAAS,KAAA;IAAAT,eAAA,CAAAS,KAAA,0BAGqB,CAC3D,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,CACP;IAED;IAAAT,eAAA,CAAAS,KAAA,qBACsD,IAAIC,GAAG,CAAC,CAAC;IA4D/D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAXEV,eAAA,CAAAS,KAAA,uBAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAYO,SAAA4D,QAAA;MAAA,IAAAC,UAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,aAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,UAAA,EAAAC,aAAA,EAAAC,MAAA;MAAA,OAAArI,mBAAA,GAAAY,IAAA,UAAA0H,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAA9D,IAAA,GAAA8D,QAAA,CAAA9I,IAAA;UAAA;YAAA,IACAiI,KAAA,CAAKc,GAAG;cAAAD,QAAA,CAAA9I,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,mEACF,CAAC;UAAA;YAAA+F,QAAA,CAAA9D,IAAA;YAIDiD,KAAA,CAAKe,eAAe,GAAG,IAAI;YAC3Bf,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAACC,oBAAoB,CAAC;YAACL,QAAA,CAAA9D,IAAA;YAAA8D,QAAA,CAAA9I,IAAA;YAAA,OAIrCiI,KAAA,CAAKmB,UAAU,CAAC,CAAC;UAAA;YAApChB,UAAU,GAAAU,QAAA,CAAA3F,IAAA;YAAA2F,QAAA,CAAA9I,IAAA;YAAA;UAAA;YAAA8I,QAAA,CAAA9D,IAAA;YAAA8D,QAAA,CAAAO,EAAA,GAAAP,QAAA;YAAAA,QAAA,CAAA9D,IAAA;YAAA8D,QAAA,CAAA9I,IAAA;YAAA,OAGFiI,KAAA,CAAKqB,OAAO,CAAC,CAAC;UAAA;YAAAR,QAAA,CAAA9I,IAAA;YAAA,OACDiI,KAAA,CAAKmB,UAAU,CAAC,CAAC;UAAA;YAApChB,UAAU,GAAAU,QAAA,CAAA3F,IAAA;YAAA2F,QAAA,CAAA9I,IAAA;YAAA;UAAA;YAAA8I,QAAA,CAAA9D,IAAA;YAAA8D,QAAA,CAAAS,EAAA,GAAAT,QAAA;YAEVb,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAACM,kBAAkB,CAAC;YACvDvB,KAAA,CAAKe,eAAe,GAAG,KAAK;YAAC,MAAAF,QAAA,CAAAS,EAAA;UAAA;YAAAT,QAAA,CAAA9I,IAAA;YAAA,OAWvB4E,OAAO,CAAC6E,GAAG,CAAC,CACpBxB,KAAA,CAAKyB,aAAa,CAAC,CAAC,EACpBzB,KAAA,CAAK0B,gBAAgB,CAAC,CAAC,EACvB1B,KAAA,CAAK2B,kBAAkB,CAAC,CAAC,EACzB3B,KAAA,CAAK4B,QAAQ,CAAC,CAAC,EACf5B,KAAA,CAAK6B,aAAa,CAAC,CAAC,CACrB,CAAC;UAAA;YAAAzB,kBAAA,GAAAS,QAAA,CAAA3F,IAAA;YAAAmF,mBAAA,GAAA5C,cAAA,CAAA2C,kBAAA;YAXAE,aAAa,GAAAD,mBAAA;YACbE,gBAAgB,GAAAF,mBAAA;YAChBG,kBAAkB,GAAAH,mBAAA;YAClBI,UAAU,GAAAJ,mBAAA;YACVK,aAAa,GAAAL,mBAAA;YASTM,MAAM,GAAG;cACbmB,UAAU,EAAExB,aAAa;cACzByB,aAAa,EAAExB,gBAAgB;cAC/ByB,eAAe,EAAExB,kBAAkB;cACnCyB,KAAK,EAAExB,UAAU;cACjByB,UAAU,EAAExB,aAAa;cACzByB,OAAO,EAAEhC;YACX,CAAC;YAEDH,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAACM,kBAAkB,EAAEZ,MAAM,CAAC;YAC/DX,KAAA,CAAKe,eAAe,GAAG,KAAK;YAAC,OAAAF,QAAA,CAAAxF,MAAA,WAEtBsF,MAAM;UAAA;YAAAE,QAAA,CAAA9D,IAAA;YAAA8D,QAAA,CAAAuB,EAAA,GAAAvB,QAAA;YAEbb,KAAA,CAAKe,eAAe,GAAG,KAAK;YAAC,MAAAF,QAAA,CAAAuB,EAAA;UAAA;UAAA;YAAA,OAAAvB,QAAA,CAAA3D,IAAA;QAAA;MAAA,GAAAgD,OAAA;IAAA,CAGhC;IAaD;AACF;AACA;AACA;AACA;AACA;AACA;IANEX,eAAA,CAAAS,KAAA;MAAA,IAAAqC,KAAA,GAAArE,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAOU,SAAAgG,SAAOC,YAAyC;QAAA,IAAAC,QAAA,EAAAC,cAAA,EAAAC,eAAA,EAAA5B,GAAA;QAAA,OAAAxI,mBAAA,GAAAY,IAAA,UAAAyJ,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA7F,IAAA,GAAA6F,SAAA,CAAA7K,IAAA;YAAA;cACpDyK,QAAQ,GAAG,CAAC;cAChBxC,KAAA,CAAKc,GAAG,GAAG+B,SAAS;cAAC,MACjB,CAACN,YAAY,IAAI,CAACvC,KAAA,CAAK8C,aAAa;gBAAAF,SAAA,CAAA7K,IAAA;gBAAA;cAAA;cAAA,MAChC,IAAI+C,KAAK,CACb,kFACF,CAAC;YAAA;cAGG2H,cAAc,GAClBF,YAAY,IAAKvC,KAAA,CAAK8C,aAA4C;YAAA;cAAA,IAE5D9C,KAAA,CAAKc,GAAG;gBAAA8B,SAAA,CAAA7K,IAAA;gBAAA;cAAA;cAAA,MACVyK,QAAQ,KAAK,EAAE;gBAAAI,SAAA,CAAA7K,IAAA;gBAAA;cAAA;cAAA,MACX,IAAI+C,KAAK,CACb,0EACF,CAAC;YAAA;cAAA8H,SAAA,CAAA7F,IAAA;cAAA6F,SAAA,CAAA7K,IAAA;cAAA,QAAA2K,eAAA,GAIiBK,MAAM,CAACC,OAAO,cAAAN,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAiBD,cAAc,CAAC,cAAAC,eAAA,uBAAhCA,eAAA,CAAkCO,MAAM,CAAC,CAAC;YAAA;cAAtDnC,GAAG,GAAA8B,SAAA,CAAA1H,IAAA;cAAA,IAEJ4F,GAAG;gBAAA8B,SAAA,CAAA7K,IAAA;gBAAA;cAAA;cAAA,MACA+C,KAAK;YAAA;cAGbkF,KAAA,CAAKc,GAAG,GAAGA,GAAG;cAAC8B,SAAA,CAAA7K,IAAA;cAAA,OACM+I,GAAG,CAACoC,YAAY,CAAC,CAAC;YAAA;cAAvClD,KAAA,CAAKmC,OAAO,GAAAS,SAAA,CAAA1H,IAAA;cAAA0H,SAAA,CAAA7K,IAAA;cAAA;YAAA;cAAA6K,SAAA,CAAA7F,IAAA;cAAA6F,SAAA,CAAAxB,EAAA,GAAAwB,SAAA;cAAAA,SAAA,CAAA7K,IAAA;cAAA,OAEN,IAAI4E,OAAO,CAAC,UAACwG,GAAG;gBAAA,OAAKC,UAAU,CAACD,GAAG,EAAE,GAAG,CAAC;cAAA,EAAC;YAAA;cAChDX,QAAQ,EAAE;YAAC;cAAAI,SAAA,CAAA7K,IAAA;cAAA;YAAA;cAAA,OAAA6K,SAAA,CAAAvH,MAAA,WAIR2E,KAAA,CAAKc,GAAG;YAAA;YAAA;cAAA,OAAA8B,SAAA,CAAA1F,IAAA;UAAA;QAAA,GAAAoF,QAAA;MAAA,CAChB;MAAA,iBAAAe,EAAA;QAAA,OAAAhB,KAAA,CAAAnE,KAAA,OAAAD,SAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;IAJEsB,eAAA,CAAAS,KAAA,gBAKa,YAA8B;MACzC,OAAOA,KAAA,CAAKsD,QAAQ;IACtB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPE/D,eAAA,CAAAS,KAAA;MAAA,IAAAuD,KAAA,GAAAvF,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAQgB,SAAAkH,SACdC,SAAqC;QAAA,IAAAC,gBAAA;QAAA,IAAAlB,QAAA,EAAAmB,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,IAAA;QAAA,OAAAxL,mBAAA,GAAAY,IAAA,UAAA6K,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjH,IAAA,GAAAiH,SAAA,CAAAjM,IAAA;YAAA;cAErCiI,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAACgD,oBAAoB,CAAC;cAErDzB,QAAQ,GAAG,CAAC;cACZmB,eAAe,IAAAD,gBAAA,GAAGX,MAAM,CAACC,OAAO,cAAAU,gBAAA,uBAAdA,gBAAA,CAAiBD,SAAS,CAAC,EAEjD;cACA,IAAI,EAACA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAES,QAAQ,CAAC,KAAK,CAAC,GAAE;gBAC/B,CAAAN,qBAAA,GAAA5D,KAAA,CAAKmE,mBAAmB,cAAAP,qBAAA,eAAxBA,qBAAA,CAA0BQ,cAAc,CAAC,CAAC;cAC5C;YAAC;cAAA,MAEM,OAAOT,eAAe,KAAK,WAAW;gBAAAK,SAAA,CAAAjM,IAAA;gBAAA;cAAA;cAAA,MACvCyK,QAAQ,KAAK,EAAE;gBAAAwB,SAAA,CAAAjM,IAAA;gBAAA;cAAA;cAAA,OAAAiM,SAAA,CAAA3I,MAAA;YAAA;cAAA2I,SAAA,CAAAjM,IAAA;cAAA,OAIb,IAAI4E,OAAO,CAAC,UAACwG,GAAG;gBAAA,OACpBC,UAAU,CAACD,GAAG,EAAGnD,KAAA,CAAKsD,QAAQ,CAACe,cAAc,GAAc,EAAE,CAAC;cAAA,CAChE,CAAC;YAAA;cACDV,eAAe,IAAAE,gBAAA,GAAGd,MAAM,CAACC,OAAO,cAAAa,gBAAA,uBAAdA,gBAAA,CAAiBJ,SAAS,CAAC;cAC7CjB,QAAQ,EAAE;cAACwB,SAAA,CAAAjM,IAAA;cAAA;YAAA;cAAA,IAGR4L,eAAe;gBAAAK,SAAA,CAAAjM,IAAA;gBAAA;cAAA;cAAA,MACZ,IAAI+C,KAAK,CAAC,mDAAmD,CAAC;YAAA;cAAAkJ,SAAA,CAAAjM,IAAA;cAAA,OAGhEiI,KAAA,CAAKqB,OAAO,CAACoC,SAAS,CAAC;YAAA;cAE7BzD,KAAA,CAAK8C,aAAa,GAAGW,SAAS;cAC9B,IAAIzD,KAAA,CAAKsD,QAAQ,CAACgB,WAAW,EAAE;gBACvBR,IAAyB,GAAG;kBAChCvB,YAAY,EAAEkB;gBAChB,CAAC;gBAEDV,MAAM,CAACwB,YAAY,CAACC,OAAO,CACzB5E,cAAc,CAAC6E,qBAAqB,EACpCC,IAAI,CAACC,SAAS,CAACb,IAAI,CACrB,CAAC;cACH;cAEA9D,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAAC2D,kBAAkB,EAAE;gBACtDnB,SAAS,EAATA;cACF,CAAC,CAAC;YAAC;YAAA;cAAA,OAAAO,SAAA,CAAA9G,IAAA;UAAA;QAAA,GAAAsG,QAAA;MAAA,CACJ;MAAA,iBAAAqB,GAAA;QAAA,OAAAtB,KAAA,CAAArF,KAAA,OAAAD,SAAA;MAAA;IAAA;IAAAsB,eAAA,CAAAS,KAAA,mCAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAEkB,SAAAwI,SAAA;MAAA,IAAAC,qBAAA,EAAAC,eAAA;MAAA,OAAA1M,mBAAA,GAAAY,IAAA,UAAA+L,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAnI,IAAA,GAAAmI,SAAA,CAAAnN,IAAA;UAAA;YAAA,IACZiI,KAAA,CAAKmE,mBAAmB;cAAAe,SAAA,CAAAnN,IAAA;cAAA;YAAA;YAAAmN,SAAA,CAAAnN,IAAA;YAAA,OACO,IAAAoN,uBAAc,EAAC,CAAC;UAAA;YAAAJ,qBAAA,GAAAG,SAAA,CAAAhK,IAAA;YAA1C8J,eAAe,GAAAD,qBAAA,CAAfC,eAAe;YACvBhF,KAAA,CAAKmE,mBAAmB,GAAG,IAAIa,eAAe,CAC5ChF,KAAA,CAAKsD,QAAQ,CAAC8B,eAChB,CAAC;UAAC;YAAA,OAAAF,SAAA,CAAA7J,MAAA,WAGG;cACLgB,IAAI,EAAE2D,KAAA,CAAKsD,QAAQ,CAAC8B,eAAe,CAACC,QAAQ,CAAChJ,IAAI;cACjDiJ,IAAI,EAAEtF,KAAA,CAAKmE,mBAAmB,CAACoB,YAAY,CAAC,CAAC;cAC7CC,QAAQ,EAAExF,KAAA,CAAKmE;YACjB,CAAC;UAAA;UAAA;YAAA,OAAAe,SAAA,CAAAhI,IAAA;QAAA;MAAA,GAAA4H,QAAA;IAAA,CACF;IAED;AACF;AACA;AACA;AACA;IAJEvF,eAAA,CAAAS,KAAA,qBAKkB,YAA8C;MAC9D,OAAOA,KAAA,CAAK8C,aAAa;IAC3B,CAAC;IAED;AACF;AACA;AACA;AACA;IAJEvD,eAAA,CAAAS,KAAA,4BAKyB;MAAA,OACvBA,KAAA,CAAKyF,eAAe;IAAA;IAEtB;AACF;AACA;AACA;AACA;IAJElG,eAAA,CAAAS,KAAA,4BAKyB,YAAoC;MAC3D,OAAOA,KAAA,CAAK0F,oBAAoB;IAClC,CAAC;IAED;AACF;AACA;AACA;AACA;IAJEnG,eAAA,CAAAS,KAAA,gBAKa,YAAY;MACvBA,KAAA,CAAK8C,aAAa,GAAGD,SAAS;MAC9B7C,KAAA,CAAKc,GAAG,GAAG+B,SAAS;MACpB7C,KAAA,CAAKyF,eAAe,GAAG,IAAIxF,GAAG,CAAC,CAAC;MAChC8C,MAAM,CAACwB,YAAY,CAACoB,UAAU,CAAC/F,cAAc,CAAC6E,qBAAqB,CAAC;MACpEzE,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAAC2E,UAAU,CAAC;IACjD,CAAC;IAED;AACF;AACA;AACA;AACA;IAJErG,eAAA,CAAAS,KAAA,gCAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAKgB,SAAAuJ,SAAA;MAAA,IAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,iBAAA;MAAA,IAAAC,mBAAA,EAAAC,mBAAA,EAAAC,IAAA,EAAAC,aAAA,EAAAC,QAAA,EAAAC,IAAA,EAAAC,cAAA,EAAAC,QAAA,EAAA3E,UAAA,EAAA4E,iBAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,WAAA,EAAAC,EAAA,EAAAC,MAAA;MAAA,OAAAzO,mBAAA,GAAAY,IAAA,UAAA8N,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAlK,IAAA,GAAAkK,SAAA,CAAAlP,IAAA;UAAA;YAAA,IACTiI,KAAA,CAAKc,GAAG;cAAAmG,SAAA,CAAAlP,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,qDAAqD,CAAC;UAAA;YAGxEkF,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAACiG,qBAAqB,CAAC;YAACD,SAAA,CAAAlP,IAAA;YAAA,OACL4E,OAAO,CAAC6E,GAAG,CAAC,CAChExB,KAAA,CAAKc,GAAG,CAACqG,UAAU,CAAC,CAAC,EACrB,IAAAC,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAnB,mBAAA,GAAAe,SAAA,CAAA/L,IAAA;YAAAiL,mBAAA,GAAA1I,cAAA,CAAAyI,mBAAA;YAJKE,IAAI,GAAAD,mBAAA;YAAIE,aAAa,GAAAF,mBAAA,IAAbE,aAAa;YAAMC,QAAQ,GAAAH,mBAAA,IAARG,QAAQ;YAMpCC,IAAI,GAAGF,aAAa,CAACiB,KAAK,CAACC,QAAQ,CAACjB,QAAQ,CAACF,IAAI,CAAC,CAAC;YACnDI,cAAc,IAAAV,qBAAA,IAAAC,gBAAA,GAAGQ,IAAI,CAACiB,UAAU,CAAC,CAAC,cAAAzB,gBAAA,uBAAjBA,gBAAA,CAAmBnJ,IAAI,CAAC,CAAC,cAAAkJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;YAAAmB,SAAA,CAAAlP,IAAA;YAAA,OAE/BiI,KAAA,CAAKyH,2BAA2B,EACrD7H,cAAc,CAAC8H,YAAY,EAAAC,MAAA,CAAA3P,kBAAA,CACxBwO,cAAc,EAClB,CAAC;UAAA;YAHIC,QAAQ,GAAAQ,SAAA,CAAA/L,IAAA;YAKR4G,UAAU,GAAG,IAAI8F,uCAAgB,CAAA5H,KAAoB,CAAC;YAC5D8B,UAAU,CAAC+F,GAAG,CACZjI,cAAc,CAAC8H,YAAY,EAC3B,IAAII,kBAAW,CAACvB,IAAI,CAACwB,IAAI,CAAC,CAAC,EAAEtB,QAAQ,CAACuB,GAAG,CAACpI,cAAc,CAAC8H,YAAY,CAAC,CACxE,CAAC;YAEKhB,iBAAiB,IAAAV,qBAAA,IAAAC,iBAAA,GAAGM,IAAI,CAACiB,UAAU,CAAC,CAAC,cAAAvB,iBAAA,uBAAjBA,iBAAA,CAAmBgC,OAAO,CAAC,CAAC,cAAAjC,qBAAA,cAAAA,qBAAA,GAAI,EAAE;YAC5D,IAAIU,iBAAiB,EAAE;cAAAC,SAAA,GAAA9P,0BAAA,CACM6P,iBAAiB;cAAA;gBAA5C,KAAAC,SAAA,CAAArP,CAAA,MAAAsP,KAAA,GAAAD,SAAA,CAAApP,CAAA,IAAAC,IAAA,GAA8C;kBAAAqP,WAAA,GAAApJ,cAAA,CAAAmJ,KAAA,CAAAnP,KAAA,MAAlCqP,EAAE,GAAAD,WAAA,KAAEE,MAAM,GAAAF,WAAA;kBACpB/E,UAAU,CAAC+F,GAAG,CACZf,EAAE,EACF,IAAIgB,kBAAW,CAACf,MAAM,EAAEN,QAAQ,CAACuB,GAAG,CAAC,IAAAE,+BAAuB,EAACpB,EAAE,CAAC,CAAC,CACnE,CAAC;gBACH;cAAC,SAAAqB,GAAA;gBAAAxB,SAAA,CAAAtQ,CAAA,CAAA8R,GAAA;cAAA;gBAAAxB,SAAA,CAAAjP,CAAA;cAAA;YACH;YAEAsI,KAAA,CAAKgB,QAAQ,CAACC,6BAAqB,CAACmH,mBAAmB,EAAE;cACvDtG,UAAU,EAAVA;YACF,CAAC,CAAC;YAAC,OAAAmF,SAAA,CAAA5L,MAAA,WAEIyG,UAAU;UAAA;UAAA;YAAA,OAAAmF,SAAA,CAAA/J,IAAA;QAAA;MAAA,GAAA2I,QAAA;IAAA,CAClB;IAED;AACF;AACA;AACA;AACA;IAJEtG,eAAA,CAAAS,KAAA,6BAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAKa,SAAA+L,SAAA;MAAA,IAAAC,GAAA;MAAA,OAAAhQ,mBAAA,GAAAY,IAAA,UAAAqP,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAzL,IAAA,GAAAyL,SAAA,CAAAzQ,IAAA;UAAA;YAAA,IACNiI,KAAA,CAAKc,GAAG;cAAA0H,SAAA,CAAAzQ,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,qDAAqD,CAAC;UAAA;YAAA0N,SAAA,CAAAzQ,IAAA;YAAA,OAGtDiI,KAAA,CAAKc,GAAG,CAACoC,YAAY,CAAC,CAAC;UAAA;YAAnCoF,GAAG,GAAAE,SAAA,CAAAtN,IAAA;YACT8E,KAAA,CAAKmC,OAAO,GAAGmG,GAAG;YAAC,OAAAE,SAAA,CAAAnN,MAAA,WACZiN,GAAG;UAAA;UAAA;YAAA,OAAAE,SAAA,CAAAtL,IAAA;QAAA;MAAA,GAAAmL,QAAA;IAAA,CACX;IAED;AACF;AACA;AACA;AACA;IAJE9I,eAAA,CAAAS,KAAA,mCAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAKmB,SAAAmM,SAAA;MAAA,IAAAC,mBAAA,EAAAC,mBAAA,EAAAvC,IAAA,EAAAwC,OAAA,EAAAtC,QAAA,EAAAC,IAAA;MAAA,OAAAjO,mBAAA,GAAAY,IAAA,UAAA2P,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA/L,IAAA,GAAA+L,SAAA,CAAA/Q,IAAA;UAAA;YAAA,IACZiI,KAAA,CAAKc,GAAG;cAAAgI,SAAA,CAAA/Q,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,4DACF,CAAC;UAAA;YAAAgO,SAAA,CAAA/Q,IAAA;YAAA,OAG6C4E,OAAO,CAAC6E,GAAG,CAAC,CAC1DxB,KAAA,CAAKc,GAAG,CAACY,gBAAgB,CAAC,CAAC,EAC3B,IAAA0F,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAqB,mBAAA,GAAAI,SAAA,CAAA5N,IAAA;YAAAyN,mBAAA,GAAAlL,cAAA,CAAAiL,mBAAA;YAJKtC,IAAI,GAAAuC,mBAAA;YAAIC,OAAO,GAAAD,mBAAA,IAAPC,OAAO;YAAMtC,QAAQ,GAAAqC,mBAAA,IAARrC,QAAQ;YAM9BC,IAAI,GAAGH,IAAI,CAAC2C,GAAG,CAAC,UAACT,GAAG;cAAA,OACxBM,OAAO,CAACI,OAAO,CAACC,SAAS,CAAC3C,QAAQ,CAACgC,GAAG,CAAC,CAAC,CAACY,QAAQ,CAAC,CAAC;YAAA,CACrD,CAAC;YAAA,OAAAJ,SAAA,CAAAzN,MAAA,WAEMkL,IAAI;UAAA;UAAA;YAAA,OAAAuC,SAAA,CAAA5L,IAAA;QAAA;MAAA,GAAAuL,QAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;IAJElJ,eAAA,CAAAS,KAAA,qCAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAKqB,SAAA6M,SAAA;MAAA,IAAAC,mBAAA,EAAAC,mBAAA,EAAAjD,IAAA,EAAAwC,OAAA,EAAAtC,QAAA,EAAAC,IAAA;MAAA,OAAAjO,mBAAA,GAAAY,IAAA,UAAAoQ,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAxM,IAAA,GAAAwM,SAAA,CAAAxR,IAAA;UAAA;YAAA,IACdiI,KAAA,CAAKc,GAAG;cAAAyI,SAAA,CAAAxR,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,8DACF,CAAC;UAAA;YAAAyO,SAAA,CAAAxR,IAAA;YAAA,OAG6C4E,OAAO,CAAC6E,GAAG,CAAC,CAC1DxB,KAAA,CAAKc,GAAG,CAACa,kBAAkB,CAAC,CAAC,EAC7B,IAAAyF,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAA+B,mBAAA,GAAAG,SAAA,CAAArO,IAAA;YAAAmO,mBAAA,GAAA5L,cAAA,CAAA2L,mBAAA;YAJKhD,IAAI,GAAAiD,mBAAA;YAAIT,OAAO,GAAAS,mBAAA,IAAPT,OAAO;YAAMtC,QAAQ,GAAA+C,mBAAA,IAAR/C,QAAQ;YAM9BC,IAAI,GAAGH,IAAI,CAAC2C,GAAG,CAAC,UAACT,GAAG;cAAA,OACxBM,OAAO,CAACI,OAAO,CAACC,SAAS,CAAC3C,QAAQ,CAACgC,GAAG,CAAC,CAAC,CAACY,QAAQ,CAAC,CAAC;YAAA,CACrD,CAAC;YAAA,OAAAK,SAAA,CAAAlO,MAAA,WAEMkL,IAAI;UAAA;UAAA;YAAA,OAAAgD,SAAA,CAAArM,IAAA;QAAA;MAAA,GAAAiM,QAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;IAJE5J,eAAA,CAAAS,KAAA,2BAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAKW,SAAAkN,SAAA;MAAA,IAAAC,mBAAA,EAAAC,oBAAA,EAAAtD,IAAA,EAAAC,aAAA,EAAAC,QAAA,EAAAC,IAAA;MAAA,OAAAjO,mBAAA,GAAAY,IAAA,UAAAyQ,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA7M,IAAA,GAAA6M,SAAA,CAAA7R,IAAA;UAAA;YAAA,IACJiI,KAAA,CAAKc,GAAG;cAAA8I,SAAA,CAAA7R,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,mDAAmD,CAAC;UAAA;YAAA8O,SAAA,CAAA7R,IAAA;YAAA,OAGhB4E,OAAO,CAAC6E,GAAG,CAAC,CAChExB,KAAA,CAAKc,GAAG,CAACc,QAAQ,CAAC,CAAC,EACnB,IAAAwF,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAoC,mBAAA,GAAAG,SAAA,CAAA1O,IAAA;YAAAwO,oBAAA,GAAAjM,cAAA,CAAAgM,mBAAA;YAJKrD,IAAI,GAAAsD,oBAAA;YAAIrD,aAAa,GAAAqD,oBAAA,IAAbrD,aAAa;YAAMC,QAAQ,GAAAoD,oBAAA,IAARpD,QAAQ;YAMpCC,IAAI,GAAGH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2C,GAAG,CAAC,UAACT,GAAG,EAAK;cAC9B,IAAIuB,QAAQ,GAAGxD,aAAa,CAACyD,wBAAwB,CAACvC,QAAQ,CAC5DjB,QAAQ,CAACgC,GAAG,CACd,CAAC;;cAED;cACAuB,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,CAAC3K,IAAI,CAACyK,QAAQ,CAAC;cAC9CA,QAAQ,CAACG,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAAC5K,IAAI,CAACyK,QAAQ,CAAC;cAChD,OAAOA,QAAQ;YACjB,CAAC,CAAC;YAAA,OAAAD,SAAA,CAAAvO,MAAA,WAEKkL,IAAI;UAAA;UAAA;YAAA,OAAAqD,SAAA,CAAA1M,IAAA;QAAA;MAAA,GAAAsM,QAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;IAJEjK,eAAA,CAAAS,KAAA,gCAAAhC,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAKgB,SAAA2N,UAAA;MAAA,IAAAC,oBAAA,EAAAC,oBAAA,EAAA/D,IAAA,EAAAC,aAAA,EAAAC,QAAA,EAAAC,IAAA;MAAA,OAAAjO,mBAAA,GAAAY,IAAA,UAAAkR,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAAtN,IAAA,GAAAsN,UAAA,CAAAtS,IAAA;UAAA;YAAA,IACTiI,KAAA,CAAKc,GAAG;cAAAuJ,UAAA,CAAAtS,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,mDAAmD,CAAC;UAAA;YAAAuP,UAAA,CAAAtS,IAAA;YAAA,OAGhB4E,OAAO,CAAC6E,GAAG,CAAC,CAChExD,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAAC,SAAAgO,UAAA;cAAA,IAAAC,SAAA,EAAAC,UAAA;cAAA,IAAAC,QAAA;cAAA,OAAAnS,mBAAA,GAAAY,IAAA,UAAAwR,WAAAC,UAAA;gBAAA,kBAAAA,UAAA,CAAA5N,IAAA,GAAA4N,UAAA,CAAA5S,IAAA;kBAAA;oBACO0S,QAAQ,GACZ,EAAAF,SAAA,GAAAvK,KAAA,CAAKc,GAAG,cAAAyJ,SAAA,uBAARA,SAAA,CAAU1I,aAAa,OAAA2I,UAAA,GACtBxK,KAAA,CAAKc,GAAG,cAAA0J,UAAA,uBAARA,UAAA,CAAUI,YAAY,CAAC/I,aAAa,CAAkB;oBAAA,MACrD,OAAO4I,QAAQ,KAAK,UAAU;sBAAAE,UAAA,CAAA5S,IAAA;sBAAA;oBAAA;oBAAA,OAAA4S,UAAA,CAAAtP,MAAA,WACzB,EAAE;kBAAA;oBAAAsP,UAAA,CAAA5S,IAAA;oBAAA,OAGE0S,QAAQ,CAAC,CAAC;kBAAA;oBAAA,OAAAE,UAAA,CAAAtP,MAAA,WAAAsP,UAAA,CAAAzP,IAAA;kBAAA;kBAAA;oBAAA,OAAAyP,UAAA,CAAAzN,IAAA;gBAAA;cAAA,GAAAoN,SAAA;YAAA,CACxB,GAAE,CAAC,EACJ,IAAAlD,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAA6C,oBAAA,GAAAG,UAAA,CAAAnP,IAAA;YAAAiP,oBAAA,GAAA1M,cAAA,CAAAyM,oBAAA;YAbK9D,IAAI,GAAA+D,oBAAA;YAAI9D,aAAa,GAAA8D,oBAAA,IAAb9D,aAAa;YAAMC,QAAQ,GAAA6D,oBAAA,IAAR7D,QAAQ;YAepCC,IAAI,GAAGH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2C,GAAG,CAAC,UAACT,GAAG,EAAK;cAC9B,IAAIuB,QAAQ,GAAGxD,aAAa,CAACyD,wBAAwB,CAACvC,QAAQ,CAC5DjB,QAAQ,CAACgC,GAAG,CACd,CAAC;;cAED;cACAuB,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,CAAC3K,IAAI,CAACyK,QAAQ,CAAC;cAC9CA,QAAQ,CAACG,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAAC5K,IAAI,CAACyK,QAAQ,CAAC;cAChD,OAAOA,QAAQ;YACjB,CAAC,CAAC;YAAA,OAAAQ,UAAA,CAAAhP,MAAA,WAEKkL,IAAI;UAAA;UAAA;YAAA,OAAA8D,UAAA,CAAAnN,IAAA;QAAA;MAAA,GAAA+M,SAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;AACA;AACA;IANE1K,eAAA,CAAAS,KAAA;MAAA,IAAA6K,MAAA,GAAA7M,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAOsC,SAAAwO,UACpCC,QAAkB;QAAA,IAAAC,UAAA,EAAAC,SAAA,EAAAzI,QAAA,EAAA0I,WAAA;QAAA,OAAA5S,mBAAA,GAAAY,IAAA,UAAAiS,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAArO,IAAA,GAAAqO,UAAA,CAAArT,IAAA;YAAA;cAAA,KAEdiI,KAAA,CAAKyF,eAAe;gBAAA2F,UAAA,CAAArT,IAAA;gBAAA;cAAA;cAChBiT,UAAU,GAAG,IAAIK,GAAG,CAACrL,KAAA,CAAKyF,eAAe,CAAC7I,IAAI,CAAC,CAAC,CAAC;cACjDqO,SAAS,GAAG,IAAII,GAAG,CAACN,QAAQ,CAAC;cAAA,MAGjCC,UAAU,CAACM,IAAI,KAAKL,SAAS,CAACK,IAAI,IAClCtT,kBAAA,CAAIgT,UAAU,EAAEO,KAAK,CAAC,UAAC/M,GAAG;gBAAA,OAAKyM,SAAS,CAACO,GAAG,CAAChN,GAAG,CAAC;cAAA,EAAC;gBAAA4M,UAAA,CAAArT,IAAA;gBAAA;cAAA;cAAA,OAAAqT,UAAA,CAAA/P,MAAA,WAE3C2E,KAAA,CAAKyF,eAAe;YAAA;cAI3BjD,QAAQ,GAAG,CAAC;YAAA;cAAA,MAETA,QAAQ,IAAI,CAAC;gBAAA4I,UAAA,CAAArT,IAAA;gBAAA;cAAA;cAAAqT,UAAA,CAAArO,IAAA;cAAAqO,UAAA,CAAArT,IAAA;cAAA,OAEIiI,KAAA,CAAKsD,QAAQ,CAACmI,gBAAgB,CAChDV,QAAQ,CAAChC,GAAG,CAACb,+BAAuB,CAAC,EACrCA,+BAAuB,EACvBwD,kBACF,CAAC;YAAA;cAJDR,WAAW,GAAAE,UAAA,CAAAlQ,IAAA;cAAAkQ,UAAA,CAAArT,IAAA;cAAA;YAAA;cAAAqT,UAAA,CAAArO,IAAA;cAAAqO,UAAA,CAAAhK,EAAA,GAAAgK,UAAA;cAMX5I,QAAQ,EAAE;YAAC;cAAA4I,UAAA,CAAArT,IAAA;cAAA;YAAA;cAAA,IAIVmT,WAAW;gBAAAE,UAAA,CAAArT,IAAA;gBAAA;cAAA;cAAAqT,UAAA,CAAArT,IAAA;cAAA,OACMiI,KAAA,CAAK2L,wBAAwB,CAC/CZ,QAAQ,CAAChC,GAAG,CAACb,+BAAuB,CAAC,EACrCA,+BAAuB,EACvBwD,kBACF,CAAC;YAAA;cAJDR,WAAW,GAAAE,UAAA,CAAAlQ,IAAA;YAAA;cAOb8E,KAAA,CAAKyF,eAAe,GAAGyF,WAAW;cAAC,OAAAE,UAAA,CAAA/P,MAAA,WAC5B6P,WAAW;YAAA;YAAA;cAAA,OAAAE,UAAA,CAAAlO,IAAA;UAAA;QAAA,GAAA4N,SAAA;MAAA,CACnB;MAAA,iBAAAc,GAAA;QAAA,OAAAf,MAAA,CAAA3M,KAAA,OAAAD,SAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;IAJEsB,eAAA,CAAAS,KAAA;MAAA,IAAA6L,MAAA,GAAA7N,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAME,SAAAwP,UAAOf,QAAQ;QAAA,IAAAhC,GAAA;QAAA,OAAAzQ,mBAAA,GAAAY,IAAA,UAAA6S,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAjP,IAAA,GAAAiP,UAAA,CAAAjU,IAAA;YAAA;cACPgR,GAAG,GAAG,IAAI9I,GAAG,CAAwB,CAAC;cAC5C8K,QAAQ,CAACzQ,OAAO,CAAC,UAACwM,EAAE;gBAAA,OAClBiC,GAAG,CAAClB,GAAG,CAAC,IAAAK,+BAAuB,EAACpB,EAAE,CAAC,EAAE;kBACnCmF,OAAO,EAAE,IAAA/D,+BAAuB,EAACpB,EAAE,CAAC;kBACpCoF,QAAQ,EAAE;gBACZ,CAAkB,CAAC;cAAA,CACrB,CAAC;cAAC,OAAAF,UAAA,CAAA3Q,MAAA,WAEK0N,GAAG;YAAA;YAAA;cAAA,OAAAiD,UAAA,CAAA9O,IAAA;UAAA;QAAA,GAAA4O,SAAA;MAAA,CACX;MAAA,iBAAAK,GAAA;QAAA,OAAAN,MAAA,CAAA3N,KAAA,OAAAD,SAAA;MAAA;IAAA;IA3hBD+B,KAAA,CAAKsD,QAAQ,GAAG,IAAA8I,iBAAK,EACnB;MACEX,gBAAgB,EAAEzL,KAAA,CAAK2L,wBAAwB;MAC/CrH,WAAW,EAAE,KAAK;MAClBD,cAAc,EAAE,KAAK;MACrBe,eAAe,EAAE;QACfC,QAAQ,EAAE;UACRhJ,IAAI,EAAE,iCAAiC;UACvCgQ,GAAG,EAAEtJ,MAAM,CAACuJ,QAAQ,CAACC;QACvB,CAAC;QACDC,UAAU,EAAE,SAAAA,WAACnQ,IAAI,EAAEoQ,OAAO,EAAK;UAAA,IAAAC,qBAAA,EAAAC,sBAAA;UAC7B5M,OAAO,aAAPA,OAAO,gBAAA2M,qBAAA,GAAP3M,OAAO,CAAEqF,eAAe,cAAAsH,qBAAA,gBAAAC,sBAAA,GAAxBD,qBAAA,CAA0BF,UAAU,cAAAG,sBAAA,eAApCA,sBAAA,CAAA7U,IAAA,CAAA4U,qBAAA,EAAuCrQ,IAAI,EAAEoQ,OAAO,CAAC;UACrDzM,KAAA,CAAK4M,UAAU,CAAC,CAAC;QACnB,CAAC;QACDC,WAAW,EAAE,SAAAA,YAACxQ,IAAI,EAAEoQ,OAAO,EAAK;UAAA,IAAAK,sBAAA,EAAAC,sBAAA;UAC9BhN,OAAO,aAAPA,OAAO,gBAAA+M,sBAAA,GAAP/M,OAAO,CAAEqF,eAAe,cAAA0H,sBAAA,gBAAAC,sBAAA,GAAxBD,sBAAA,CAA0BD,WAAW,cAAAE,sBAAA,eAArCA,sBAAA,CAAAjV,IAAA,CAAAgV,sBAAA,EAAwCzQ,IAAI,EAAEoQ,OAAO,CAAC;UACtDzM,KAAA,CAAKgN,aAAa,CAAC3Q,IAAkC,CAAC;QACxD,CAAC;QACD4Q,gBAAgB,WAAAA,iBAACC,UAAU,EAAEC,QAAQ,EAAE;UAAA,IAAAC,qBAAA;UACrC,OAAOD,QAAQ,CAAC,IAAI,GAAAC,qBAAA,GAAEF,UAAU,CAACG,kBAAkB,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC;QAC9D,CAAC;QACDE,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE,CACR,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B;MAEnC;IACF,CAAC,EACDxN,OACF,CAAC;IAED,IAAI,CAACC,KAAA,CAAKsD,QAAQ,CAACgB,WAAW,EAAE;MAC9B,OAAA1F,0BAAA,CAAAoB,KAAA;IACF;IAEA,IAAMwN,WAAW,GAAGzK,MAAM,CAACwB,YAAY,CAACkJ,OAAO,CAC7C7N,cAAc,CAAC6E,qBACjB,CAAC;IAED,IAAI,CAAC+I,WAAW,EAAE;MAChB,OAAA5O,0BAAA,CAAAoB,KAAA;IACF;;IAEA;IACA,IAAM8D,KAAyB,GAAGY,IAAI,CAACgJ,KAAK,CAACF,WAAW,CAAC;IACzDxN,KAAA,CAAKgN,aAAa,CAAClJ,KAAI,CAACvB,YAAY,CAAC;IAAC,OAAAvC,KAAA;EACxC;EAACX,SAAA,CAAAO,cAAA,EAAAE,oBAAA;EAAA,OAAArB,YAAA,CAAAmB,cAAA;IAAApB,GAAA;IAAA/G,KAAA;IAwED;AACF;AACA;AACA;AACA;AACA;AACA;IACE,SAAAkW,UAAA,EAAqB;MACnB,OAAO,IAAI,CAAC5M,eAAe;IAC7B;EAAC;IAAAvC,GAAA;IAAA/G,KAAA;IA6ZD;AACF;AACA;AACA;AACA;IAJE;MAAA,IAAAmW,SAAA,GAAA5P,iBAAA,eAAA1F,mBAAA,GAAAgE,IAAA,CAKA,SAAAuR,UAAA;QAAA,OAAAvV,mBAAA,GAAAY,IAAA,UAAA4U,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAhR,IAAA,GAAAgR,UAAA,CAAAhW,IAAA;YAAA;cAAA,IACO,IAAI,CAACiW,KAAK;gBAAAD,UAAA,CAAAhW,IAAA;gBAAA;cAAA;cAAAgW,UAAA,CAAAhW,IAAA;cAAA,OACMkW,6CAAmB,OAAI,CAAC,IAAI,CAAC9L,OAAO,CAAC;YAAA;cAAxD,IAAI,CAAC6L,KAAK,GAAAD,UAAA,CAAA7S,IAAA;YAAA;cAAA,OAAA6S,UAAA,CAAA1S,MAAA,WAGL,IAAI,CAAC2S,KAAK;YAAA;YAAA;cAAA,OAAAD,UAAA,CAAA7Q,IAAA;UAAA;QAAA,GAAA2Q,SAAA;MAAA,CAClB;MAAA,SAAAK,SAAA;QAAA,OAAAN,SAAA,CAAA1P,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAiQ,QAAA;IAAA;EAAA;AAAA,EAxkBOC,yCAAmB;AAAA5O,eAAA,CAFhBK,cAAc,2BAGM,gBAAgB;AAAAL,eAAA,CAHpCK,cAAc,kBAIH,cAAc","ignoreList":[]}
@@ -335,7 +335,13 @@ export class WalletObserver extends WalletObserverEvent {
335
335
  Serialization
336
336
  }, {
337
337
  typedHex
338
- }] = await Promise.all([this.api.getCollateral(), getCardanoCore(), getCardanoUtil()]);
338
+ }] = await Promise.all([(async () => {
339
+ const funcCall = this.api?.getCollateral || this.api?.experimental.getCollateral;
340
+ if (typeof funcCall !== "function") {
341
+ return [];
342
+ }
343
+ return await funcCall();
344
+ })(), getCardanoCore(), getCardanoUtil()]);
339
345
  const data = cbor?.map(val => {
340
346
  let txOutput = Serialization.TransactionUnspentOutput.fromCbor(typedHex(val));
341
347
 
@@ -361,7 +367,18 @@ export class WalletObserver extends WalletObserverEvent {
361
367
  return this._cachedMetadata;
362
368
  }
363
369
  }
364
- const newMetadata = await this._options.metadataResolver(assetIds.map(normalizeAssetIdWithDot), normalizeAssetIdWithDot, isAdaAsset);
370
+ let attempts = 0;
371
+ let newMetadata;
372
+ while (attempts <= 3) {
373
+ try {
374
+ newMetadata = await this._options.metadataResolver(assetIds.map(normalizeAssetIdWithDot), normalizeAssetIdWithDot, isAdaAsset);
375
+ } catch (e) {
376
+ attempts++;
377
+ }
378
+ }
379
+ if (!newMetadata) {
380
+ newMetadata = await this.fallbackMetadataResolver(assetIds.map(normalizeAssetIdWithDot), normalizeAssetIdWithDot, isAdaAsset);
381
+ }
365
382
  this._cachedMetadata = newMetadata;
366
383
  return newMetadata;
367
384
  });