@swapkit/core 1.0.0-rc.17 → 1.0.0-rc.170

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/index.js +3 -0
  2. package/dist/index.js.map +37 -0
  3. package/package.json +26 -49
  4. package/src/__tests__/helpers.test.ts +65 -0
  5. package/src/aggregator/contracts/avaxGeneric.ts +50 -50
  6. package/src/aggregator/contracts/avaxWoofi.ts +80 -80
  7. package/src/aggregator/contracts/bscGeneric.ts +59 -59
  8. package/src/aggregator/contracts/ethGeneric.ts +50 -50
  9. package/src/aggregator/contracts/index.ts +30 -28
  10. package/src/aggregator/contracts/pancakeV2.ts +80 -80
  11. package/src/aggregator/contracts/pangolin.ts +65 -65
  12. package/src/aggregator/contracts/routers/index.ts +58 -0
  13. package/src/aggregator/contracts/routers/kyber.ts +402 -0
  14. package/src/aggregator/contracts/routers/oneinch.ts +2188 -0
  15. package/src/aggregator/contracts/routers/pancakeswap.ts +340 -0
  16. package/src/aggregator/contracts/routers/pangolin.ts +340 -0
  17. package/src/aggregator/contracts/routers/sushiswap.ts +340 -0
  18. package/src/aggregator/contracts/routers/traderJoe.ts +340 -0
  19. package/src/aggregator/contracts/routers/uniswapv2.ts +340 -0
  20. package/src/aggregator/contracts/routers/uniswapv3.ts +254 -0
  21. package/src/aggregator/contracts/routers/woofi.ts +171 -0
  22. package/src/aggregator/contracts/sushiswap.ts +65 -65
  23. package/src/aggregator/contracts/traderJoe.ts +65 -65
  24. package/src/aggregator/contracts/uniswapV2.ts +65 -65
  25. package/src/aggregator/contracts/uniswapV2Leg.ts +70 -70
  26. package/src/aggregator/contracts/uniswapV3_100.ts +70 -70
  27. package/src/aggregator/contracts/uniswapV3_10000.ts +70 -70
  28. package/src/aggregator/contracts/uniswapV3_3000.ts +70 -70
  29. package/src/aggregator/contracts/uniswapV3_500.ts +70 -70
  30. package/src/aggregator/getSwapParams.ts +12 -12
  31. package/src/client.ts +438 -0
  32. package/src/helpers/explorerUrls.ts +45 -0
  33. package/src/index.ts +6 -4
  34. package/src/types.ts +44 -0
  35. package/LICENSE +0 -201
  36. package/dist/index-9e36735e.cjs +0 -1
  37. package/dist/index-cf1865cd.js +0 -649
  38. package/dist/index.cjs +0 -2
  39. package/dist/index.d.ts +0 -216
  40. package/dist/index.es.js +0 -4181
  41. package/src/client/__tests__/helpers.test.ts +0 -69
  42. package/src/client/explorerUrls.ts +0 -62
  43. package/src/client/index.ts +0 -699
  44. package/src/client/thornode.ts +0 -31
  45. package/src/client/types.ts +0 -103
@@ -0,0 +1,37 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts", "../src/client.ts", "../src/aggregator/contracts/avaxGeneric.ts", "../src/aggregator/contracts/avaxWoofi.ts", "../src/aggregator/contracts/bscGeneric.ts", "../src/aggregator/contracts/ethGeneric.ts", "../src/aggregator/contracts/pancakeV2.ts", "../src/aggregator/contracts/pangolin.ts", "../src/aggregator/contracts/routers/kyber.ts", "../src/aggregator/contracts/routers/oneinch.ts", "../src/aggregator/contracts/routers/pancakeswap.ts", "../src/aggregator/contracts/routers/pangolin.ts", "../src/aggregator/contracts/routers/sushiswap.ts", "../src/aggregator/contracts/routers/traderJoe.ts", "../src/aggregator/contracts/routers/uniswapv2.ts", "../src/aggregator/contracts/routers/uniswapv3.ts", "../src/aggregator/contracts/routers/woofi.ts", "../src/aggregator/contracts/routers/index.ts", "../src/aggregator/contracts/sushiswap.ts", "../src/aggregator/contracts/traderJoe.ts", "../src/aggregator/contracts/uniswapV2.ts", "../src/aggregator/contracts/uniswapV2Leg.ts", "../src/aggregator/contracts/uniswapV3_100.ts", "../src/aggregator/contracts/uniswapV3_500.ts", "../src/aggregator/contracts/uniswapV3_3000.ts", "../src/aggregator/contracts/uniswapV3_10000.ts", "../src/aggregator/contracts/index.ts", "../src/helpers/explorerUrls.ts"],
4
+ "sourcesContent": [
5
+ "export * from \"@swapkit/api\";\nexport * from \"@swapkit/helpers\";\nexport { stripToCashAddress } from \"@swapkit/toolbox-utxo\";\n\nexport * from \"./client.ts\";\nexport * from \"./types.ts\";\n",
6
+ "import {\n type AddChainWalletParams,\n ApproveMode,\n type ApproveReturnType,\n AssetValue,\n Chain,\n type ConnectConfig,\n type EVMChain,\n EVMChains,\n type FeeOption,\n ProviderName as PluginNameEnum,\n SwapKitError,\n type SwapParams,\n type UTXOChain,\n type WalletChain,\n isGasAsset,\n} from \"@swapkit/helpers\";\nimport {\n type BaseEVMWallet,\n type TransferParams as EVMTransferParams,\n evmValidateAddress,\n} from \"@swapkit/toolbox-evm\";\n\nimport {\n type TransferParams as CosmosTransferParams,\n estimateTransactionFee as cosmosTransactionFee,\n cosmosValidateAddress,\n} from \"@swapkit/toolbox-cosmos\";\nimport { substrateValidateAddress } from \"@swapkit/toolbox-substrate\";\nimport { type UTXOTransferParams, utxoValidateAddress } from \"@swapkit/toolbox-utxo\";\nimport { lowercasedContractAbiMapping } from \"./aggregator/contracts/index.ts\";\nimport {\n getExplorerAddressUrl as getAddressUrl,\n getExplorerTxUrl as getTxUrl,\n} from \"./helpers/explorerUrls.ts\";\nimport type { Apis, SwapKitPluginInterface, SwapKitWallet, Wallet } from \"./types.ts\";\n\nexport function SwapKit<\n Plugins extends { [key in string]: SwapKitPluginInterface<{ [key in string]: Todo }> },\n Wallets extends { [key in string]: SwapKitWallet<NotWorth[]> },\n>({\n apis = {},\n config = {},\n plugins,\n rpcUrls = {},\n stagenet = false,\n wallets,\n}: {\n apis?: Apis;\n config?: ConnectConfig;\n plugins: Plugins;\n rpcUrls?: { [key in Chain]?: string };\n stagenet?: boolean;\n wallets: Wallets;\n}) {\n type PluginName = keyof Plugins;\n\n /**\n * @REMOVE (V1)\n * Compatibility layer for plugins and wallets for easier migration and backwards compatibility\n */\n const compatPlugins: Plugins = Array.isArray(plugins)\n ? plugins.reduce((acc, pluginInterface) => {\n // @ts-ignore Ignore until we remove the compatibility layer\n const { name, plugin } = Object.values(pluginInterface)?.[0] || {};\n acc[name] = plugin;\n return acc;\n }, {})\n : plugins;\n const compatWallets: Wallets = Array.isArray(wallets)\n ? wallets.reduce((acc, wallet) => {\n // @ts-ignore Ignore until we remove the compatibility layer\n const [walletName, connectWallet] = Object.entries(wallet)?.[0] || {};\n acc[walletName] = connectWallet;\n return acc;\n }, {})\n : wallets;\n\n const connectedWallets = {} as Wallet;\n const availablePlugins = Object.entries(compatPlugins).reduce(\n (acc, [pluginName, { plugin, config: pluginConfig }]) => {\n const methods = plugin({\n wallets: connectedWallets,\n stagenet,\n config: pluginConfig ?? config,\n });\n\n // @ts-expect-error\n acc[pluginName] = methods;\n return acc;\n },\n {} as { [key in PluginName]: ReturnType<Plugins[key][\"plugin\"]> },\n );\n\n const connectWalletMethods = Object.entries(compatWallets).reduce(\n (acc, [walletName, wallet]) => {\n const connectWallet = wallet({ addChain, config, apis, rpcUrls });\n\n // @ts-expect-error\n acc[walletName] = connectWallet;\n return acc;\n },\n {} as { [key in keyof Wallets]: ReturnType<Wallets[key]> },\n );\n\n /**\n * @Private\n */\n function getSwapKitPlugin<T extends PluginName>(pluginName: T) {\n const plugin = availablePlugins[pluginName] || Object.values(availablePlugins)[0];\n\n if (!plugin) {\n throw new SwapKitError(\"core_plugin_not_found\", \"Could not find the requested plugin\");\n }\n\n return plugin;\n }\n\n /**\n * @Private\n */\n function getSwapKitPluginForSKProvider(pluginName: PluginNameEnum): Plugins[keyof Plugins] {\n const plugin = Object.values(availablePlugins).find((plugin) =>\n plugin.supportedSwapkitProviders?.includes(pluginName),\n );\n\n if (!plugin) {\n throw new SwapKitError(\"core_plugin_not_found\", \"Could not find the requested plugin\");\n }\n\n return plugin;\n }\n\n function addChain<T extends Chain>(connectWallet: AddChainWalletParams<T>) {\n // @ts-expect-error: TODO\n connectedWallets[connectWallet.chain] = connectWallet;\n }\n\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>\n function approve<T extends ApproveMode>({\n assetValue,\n type = \"checkOnly\" as T,\n contractAddress: spenderAddress,\n }: {\n type: T;\n assetValue: AssetValue;\n contractAddress: string | PluginName;\n }) {\n const plugin = availablePlugins[spenderAddress];\n\n if (plugin) {\n if (type === ApproveMode.CheckOnly && \"isAssetValueApproved\" in plugin) {\n return plugin.isAssetValueApproved({ assetValue }) as ApproveReturnType<T>;\n }\n if (type === ApproveMode.Approve && \"approveAssetValue\" in plugin) {\n return plugin.approveAssetValue({ assetValue }) as ApproveReturnType<T>;\n }\n\n throw new SwapKitError(\n \"core_approve_asset_target_invalid\",\n `Target ${String(spenderAddress)} cannot be used for approve operation`,\n );\n }\n\n const { address, chain, isGasAsset, isSynthetic } = assetValue;\n const isEVMChain = EVMChains.includes(chain as EVMChain);\n const isNativeEVM = isEVMChain && isGasAsset;\n\n if (isNativeEVM || !isEVMChain || isSynthetic) {\n return Promise.resolve(type === \"checkOnly\" ? true : \"approved\") as ApproveReturnType<T>;\n }\n\n const walletMethods = connectedWallets[chain] as BaseEVMWallet;\n const walletAction = type === \"checkOnly\" ? walletMethods?.isApproved : walletMethods?.approve;\n if (!walletAction) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const from = getAddress(chain);\n if (!(address && from && typeof spenderAddress === \"string\")) {\n throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n }\n\n return walletAction({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: address,\n from,\n spenderAddress,\n }) as ApproveReturnType<T>;\n }\n\n /**\n * @Public\n */\n function getWallet<T extends Chain>(chain: T) {\n return connectedWallets[chain];\n }\n function getAllWallets() {\n return { ...connectedWallets };\n }\n function getAddress<T extends Chain>(chain: T) {\n return getWallet(chain)?.address || \"\";\n }\n\n function validateAddress({ address, chain }: { address: string; chain: Chain }) {\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Optimism:\n case Chain.BinanceSmartChain:\n case Chain.Polygon:\n case Chain.Ethereum: {\n return evmValidateAddress({ address });\n }\n case Chain.Polkadot: {\n return substrateValidateAddress({ address, chain });\n }\n case Chain.Litecoin:\n case Chain.Dash:\n case Chain.Dogecoin:\n case Chain.BitcoinCash:\n case Chain.Bitcoin: {\n return utxoValidateAddress({ address, chain });\n }\n case Chain.Cosmos:\n case Chain.Kujira:\n case Chain.Maya:\n case Chain.THORChain: {\n return cosmosValidateAddress({ address, chain });\n }\n }\n return false;\n }\n\n function getBalance<T extends Chain>(chain: T, refresh?: boolean) {\n if (refresh) {\n return getWalletWithBalance(chain).then((wallet) => wallet.balance);\n }\n\n return getWallet(chain)?.balance || [];\n }\n\n async function getWalletWithBalance<T extends Chain>(chain: T, potentialScamFilter = true) {\n const defaultBalance = [AssetValue.fromChainOrSignature(chain)];\n const wallet = getWallet(chain);\n\n if (!wallet) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n if (\"getBalance\" in wallet) {\n // @ts-expect-error TODO add getBalance to radix\n const balance = await wallet.getBalance(wallet.address, potentialScamFilter);\n wallet.balance = balance?.length ? balance : defaultBalance;\n }\n\n return wallet;\n }\n\n function approveAssetValue(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.Approve });\n }\n\n function isAssetValueApproved(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.CheckOnly });\n }\n\n function swap<T extends PluginName>({ route, pluginName, ...rest }: SwapParams<T>) {\n const plugin =\n (pluginName && getSwapKitPlugin(pluginName)) ||\n getSwapKitPluginForSKProvider(route.providers[0] as PluginNameEnum);\n if (!plugin) throw new SwapKitError(\"core_swap_route_not_complete\");\n\n if (\"swap\" in plugin) {\n return plugin.swap({ ...rest, route });\n }\n\n throw new SwapKitError(\"core_plugin_swap_not_found\");\n }\n\n function transfer({\n from,\n recipient,\n assetValue,\n feeOptionKey,\n }: UTXOTransferParams | EVMTransferParams | CosmosTransferParams) {\n const chain = assetValue.chain as WalletChain;\n const wallet = connectedWallets[chain];\n if (!wallet) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n return wallet.transfer({ from, recipient, assetValue, feeOptionKey });\n }\n\n function disconnectAll() {\n for (const chain of Object.keys(connectedWallets)) {\n // @ts-expect-error: TODO\n const wallet = connectedWallets[chain];\n if (\"disconnect\" in wallet) {\n wallet.disconnect();\n }\n // @ts-expect-error: TODO\n delete connectedWallets[chain];\n }\n }\n\n function disconnectChain(chain: Chain) {\n const wallet = connectedWallets[chain];\n const disconnect = wallet?.disconnect;\n if (disconnect) {\n disconnect();\n }\n delete connectedWallets[chain];\n }\n\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO clean this up\n async function estimateTransactionFee<T extends PluginName>({\n type,\n feeOptionKey,\n params,\n }: (\n | { type: \"swap\"; params: SwapParams<T> & { assetValue: AssetValue } }\n | {\n type: \"transfer\";\n params: UTXOTransferParams | EVMTransferParams | CosmosTransferParams;\n }\n | {\n type: \"approve\";\n params: {\n assetValue: AssetValue;\n contractAddress: string | PluginName;\n feeOptionKey?: FeeOption;\n };\n }\n ) & {\n feeOptionKey: FeeOption;\n }): Promise<AssetValue | undefined> {\n const { assetValue } = params;\n const chain = params.assetValue.chain as WalletChain;\n if (!connectedWallets[chain]) throw new SwapKitError(\"core_wallet_connection_not_found\");\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Polygon: {\n const wallet = connectedWallets[chain as Exclude<EVMChain, Chain.Optimism>];\n if (type === \"transfer\") {\n const txObject = await wallet.createTransferTx(params);\n return wallet.estimateTransactionFee(txObject, feeOptionKey);\n }\n if (type === \"approve\" && !isGasAsset(assetValue)) {\n wallet.estimateTransactionFee(\n await wallet.createApprovalTx({\n assetAddress: assetValue.address as string,\n spenderAddress: params.contractAddress as string,\n amount: assetValue.getBaseValue(\"bigint\"),\n from: wallet.address,\n }),\n feeOptionKey,\n );\n }\n if (type === \"swap\") {\n const plugin = params.route.providers[0] as PluginNameEnum;\n if (plugin === PluginNameEnum.CHAINFLIP) {\n const txObject = await wallet.createTransferTx({\n from: wallet.address,\n recipient: wallet.address,\n assetValue,\n });\n return wallet.estimateTransactionFee(txObject, feeOptionKey);\n }\n const {\n route: { evmTransactionDetails },\n } = params;\n if (\n !(\n evmTransactionDetails &&\n lowercasedContractAbiMapping[evmTransactionDetails.contractAddress]\n )\n )\n return undefined;\n wallet.estimateCall({\n contractAddress: evmTransactionDetails.contractAddress,\n // biome-ignore lint/style/noNonNullAssertion: TS cant infer the type\n abi: lowercasedContractAbiMapping[evmTransactionDetails.contractAddress]!,\n funcName: evmTransactionDetails.contractMethod,\n funcParams: evmTransactionDetails.contractParams,\n });\n }\n return AssetValue.fromChainOrSignature(chain, 0);\n }\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Dash:\n case Chain.Litecoin: {\n const wallet = connectedWallets[chain as UTXOChain];\n return wallet.estimateTransactionFee({\n ...params,\n feeOptionKey,\n from: wallet.address,\n recipient: wallet.address,\n });\n }\n case Chain.THORChain:\n case Chain.Maya:\n case Chain.Kujira:\n case Chain.Cosmos: {\n return cosmosTransactionFee(params);\n }\n case Chain.Polkadot: {\n const wallet = connectedWallets[chain as Chain.Polkadot];\n return wallet.estimateTransactionFee({ ...params, recipient: wallet.address });\n }\n default:\n return undefined;\n }\n }\n\n return {\n ...availablePlugins,\n ...connectWalletMethods,\n\n approveAssetValue,\n getAddress,\n getBalance,\n getExplorerAddressUrl: getAddressUrl,\n getExplorerTxUrl: getTxUrl,\n getWallet,\n getAllWallets,\n getWalletWithBalance,\n isAssetValueApproved,\n estimateTransactionFee,\n swap,\n transfer,\n validateAddress,\n disconnectAll,\n disconnectChain,\n };\n}\n",
7
+ "export const avaxGeneric = [\n {\n inputs: [{ internalType: \"address\", name: \"_ttp\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"address\", name: \"router\", type: \"address\" },\n { internalType: \"bytes\", name: \"data\", type: \"bytes\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
8
+ "export const avaxWoofi = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"address\", name: \"from\", type: \"address\" },\n { indexed: false, internalType: \"address\", name: \"token\", type: \"address\" },\n { indexed: false, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"out\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: false, internalType: \"string\", name: \"memo\", type: \"string\" },\n ],\n name: \"SwapIn\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: false, internalType: \"address\", name: \"token\", type: \"address\" },\n { indexed: false, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n ],\n name: \"SwapOut\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"router\", type: \"address\" },\n { internalType: \"address\", name: \"vault\", type: \"address\" },\n { internalType: \"string\", name: \"memo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IWoofi\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
9
+ "export const bscGeneric = [\n {\n inputs: [{ internalType: \"address\", name: \"_ttp\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"address\", name: \"from\", type: \"address\" },\n { indexed: false, internalType: \"address\", name: \"token\", type: \"address\" },\n { indexed: false, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"out\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: false, internalType: \"string\", name: \"memo\", type: \"string\" },\n ],\n name: \"SwapIn\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"router\", type: \"address\" },\n { internalType: \"address\", name: \"vault\", type: \"address\" },\n { internalType: \"string\", name: \"memo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"address\", name: \"swapRouter\", type: \"address\" },\n { internalType: \"bytes\", name: \"data\", type: \"bytes\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
10
+ "export const ethGeneric = [\n {\n inputs: [{ internalType: \"address\", name: \"_ttp\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"address\", name: \"router\", type: \"address\" },\n { internalType: \"bytes\", name: \"data\", type: \"bytes\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
11
+ "export const pancakeV2 = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_wbnb\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"address\", name: \"from\", type: \"address\" },\n { indexed: false, internalType: \"address\", name: \"token\", type: \"address\" },\n { indexed: false, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"out\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: false, internalType: \"string\", name: \"memo\", type: \"string\" },\n ],\n name: \"SwapIn\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: false, internalType: \"address\", name: \"token\", type: \"address\" },\n { indexed: false, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n ],\n name: \"SwapOut\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"router\", type: \"address\" },\n { internalType: \"address\", name: \"vault\", type: \"address\" },\n { internalType: \"string\", name: \"memo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IPancakeRouterV2\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"wbnb\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
12
+ "export const pangolin = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV2AVAX\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
13
+ "export const kyberRouter = [\n {\n inputs: [{ internalType: \"address\", name: \"_WETH\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"clientData\",\n type: \"bytes\",\n },\n ],\n name: \"ClientData\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"string\",\n name: \"reason\",\n type: \"string\",\n },\n ],\n name: \"Error\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"pair\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amountOut\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"output\",\n type: \"address\",\n },\n ],\n name: \"Exchange\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"recipients\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"amounts\",\n type: \"uint256[]\",\n },\n { indexed: false, internalType: \"bool\", name: \"isBps\", type: \"bool\" },\n ],\n name: \"Fee\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"dstReceiver\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"spentAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n name: \"Swapped\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"isWhitelist\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n ],\n name: \"rescueFunds\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"callTarget\", type: \"address\" },\n { internalType: \"address\", name: \"approveTarget\", type: \"address\" },\n { internalType: \"bytes\", name: \"targetData\", type: \"bytes\" },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"srcReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"srcAmounts\",\n type: \"uint256[]\",\n },\n {\n internalType: \"address[]\",\n name: \"feeReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"feeAmounts\",\n type: \"uint256[]\",\n },\n { internalType: \"address\", name: \"dstReceiver\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"minReturnAmount\",\n type: \"uint256\",\n },\n { internalType: \"uint256\", name: \"flags\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"permit\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapDescriptionV2\",\n name: \"desc\",\n type: \"tuple\",\n },\n { internalType: \"bytes\", name: \"clientData\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapExecutionParams\",\n name: \"execution\",\n type: \"tuple\",\n },\n ],\n name: \"swap\",\n outputs: [\n { internalType: \"uint256\", name: \"returnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"gasUsed\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"callTarget\", type: \"address\" },\n { internalType: \"address\", name: \"approveTarget\", type: \"address\" },\n { internalType: \"bytes\", name: \"targetData\", type: \"bytes\" },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"srcReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"srcAmounts\",\n type: \"uint256[]\",\n },\n {\n internalType: \"address[]\",\n name: \"feeReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"feeAmounts\",\n type: \"uint256[]\",\n },\n { internalType: \"address\", name: \"dstReceiver\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"minReturnAmount\",\n type: \"uint256\",\n },\n { internalType: \"uint256\", name: \"flags\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"permit\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapDescriptionV2\",\n name: \"desc\",\n type: \"tuple\",\n },\n { internalType: \"bytes\", name: \"clientData\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapExecutionParams\",\n name: \"execution\",\n type: \"tuple\",\n },\n ],\n name: \"swapGeneric\",\n outputs: [\n { internalType: \"uint256\", name: \"returnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"gasUsed\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IAggregationExecutor\",\n name: \"caller\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"srcReceivers\",\n type: \"address[]\",\n },\n { internalType: \"uint256[]\", name: \"srcAmounts\", type: \"uint256[]\" },\n {\n internalType: \"address[]\",\n name: \"feeReceivers\",\n type: \"address[]\",\n },\n { internalType: \"uint256[]\", name: \"feeAmounts\", type: \"uint256[]\" },\n { internalType: \"address\", name: \"dstReceiver\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"minReturnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"flags\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"permit\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapDescriptionV2\",\n name: \"desc\",\n type: \"tuple\",\n },\n { internalType: \"bytes\", name: \"executorData\", type: \"bytes\" },\n { internalType: \"bytes\", name: \"clientData\", type: \"bytes\" },\n ],\n name: \"swapSimpleMode\",\n outputs: [\n { internalType: \"uint256\", name: \"returnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"gasUsed\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"newOwner\", type: \"address\" }],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address[]\", name: \"addr\", type: \"address[]\" },\n { internalType: \"bool[]\", name: \"value\", type: \"bool[]\" },\n ],\n name: \"updateWhitelist\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
14
+ "export const oneInchRouter = [\n {\n inputs: [\n {\n internalType: \"contract IWETH\",\n name: \"weth\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"AccessDenied\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"AdvanceNonceFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"AlreadyFilled\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ArbitraryStaticCallFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"BadPool\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"BadSignature\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ETHTransferFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ETHTransferFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"EmptyPools\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"EthDepositRejected\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"GetAmountCallFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"IncorrectDataLength\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InsufficientBalance\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidMsgValue\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidMsgValue\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidatedOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"MakingAmountExceeded\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"MakingAmountTooLow\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"OnlyOneAmountShouldBeZero\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"OrderExpired\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"PermitLengthTooLow\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"PredicateIsNotTrue\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"PrivateOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQBadSignature\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQPrivateOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQSwapWithZeroAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQZeroTargetIsForbidden\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReentrancyDetected\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RemainingAmountIsZero\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReservesCallFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReturnAmountIsNotEnough\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SafePermitBadLength\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SafeTransferFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SafeTransferFromFailed\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n {\n internalType: \"bytes\",\n name: \"res\",\n type: \"bytes\",\n },\n ],\n name: \"SimulationResults\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SwapAmountTooLarge\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SwapWithZeroAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TakingAmountExceeded\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TakingAmountIncreased\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TakingAmountTooHigh\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TransferFromMakerToTakerFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TransferFromTakerToMakerFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"UnknownOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"WrongAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"WrongGetter\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroAddress\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroMinReturn\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroReturnAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroTargetIsForbidden\",\n type: \"error\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newNonce\",\n type: \"uint256\",\n },\n ],\n name: \"NonceIncreased\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"remainingRaw\",\n type: \"uint256\",\n },\n ],\n name: \"OrderCanceled\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"remaining\",\n type: \"uint256\",\n },\n ],\n name: \"OrderFilled\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n ],\n name: \"OrderFilledRFQ\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint8\",\n name: \"amount\",\n type: \"uint8\",\n },\n ],\n name: \"advanceNonce\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"and\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"arbitraryStaticCall\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n ],\n name: \"cancelOrder\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"orderRemaining\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"orderInfo\",\n type: \"uint256\",\n },\n ],\n name: \"cancelOrderRFQ\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"orderInfo\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"additionalMask\",\n type: \"uint256\",\n },\n ],\n name: \"cancelOrderRFQ\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n ],\n name: \"checkPredicate\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IClipperExchangeInterface\",\n name: \"clipperExchange\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"inputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"outputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"goodUntil\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n ],\n name: \"clipperSwap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IClipperExchangeInterface\",\n name: \"clipperExchange\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"inputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"outputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"goodUntil\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n ],\n name: \"clipperSwapTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IClipperExchangeInterface\",\n name: \"clipperExchange\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"inputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"outputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"goodUntil\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"clipperSwapToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"destroy\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"eq\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"interaction\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"skipPermitAndThresholdAmount\",\n type: \"uint256\",\n },\n ],\n name: \"fillOrder\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n ],\n name: \"fillOrderRFQ\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n ],\n name: \"fillOrderRFQCompact\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"filledMakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledTakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n ],\n name: \"fillOrderRFQTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"filledMakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledTakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"fillOrderRFQToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order_\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"interaction\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"skipPermitAndThresholdAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n ],\n name: \"fillOrderTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"actualMakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"actualTakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"interaction\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"skipPermitAndThresholdAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"fillOrderToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"gt\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n ],\n name: \"hashOrder\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"increaseNonce\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"slot\",\n type: \"uint256\",\n },\n ],\n name: \"invalidatorForOrderRFQ\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"lt\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"makerAddress\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makerNonce\",\n type: \"uint256\",\n },\n ],\n name: \"nonceEquals\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"or\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n name: \"remaining\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n name: \"remainingRaw\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32[]\",\n name: \"orderHashes\",\n type: \"bytes32[]\",\n },\n ],\n name: \"remainingsRaw\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"rescueFunds\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"simulate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IAggregationExecutor\",\n name: \"executor\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"srcReceiver\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"dstReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturnAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"flags\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct GenericRouter.SwapDescription\",\n name: \"desc\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"swap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"spentAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"time\",\n type: \"uint256\",\n },\n ],\n name: \"timestampBelow\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"timeNonceAccount\",\n type: \"uint256\",\n },\n ],\n name: \"timestampBelowAndNonceEquals\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"uniswapV3Swap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"int256\",\n name: \"amount0Delta\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"amount1Delta\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"uniswapV3SwapCallback\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"uniswapV3SwapTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"uniswapV3SwapToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"unoswap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"unoswapTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"unoswapToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n stateMutability: \"payable\",\n type: \"receive\",\n },\n];\n",
15
+ "export const pancakeSwapRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETHSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapETHForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETHSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
16
+ "export const pangolinRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WAVAX\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WAVAX\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAXSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapAVAXForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAXSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
17
+ "export const sushiswapRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETHSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapETHForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETHSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
18
+ "export const traderJoeRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WAVAX\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WAVAX\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAXSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapAVAXForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAXSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
19
+ "export const uniswapv2Router = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETHSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapETHForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETHSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
20
+ "export const uniswapv3Router = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH9\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH9\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"bytes\", name: \"path\", type: \"bytes\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"amountOutMinimum\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISwapRouter.ExactInputParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactInput\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenIn\", type: \"address\" },\n { internalType: \"address\", name: \"tokenOut\", type: \"address\" },\n { internalType: \"uint24\", name: \"fee\", type: \"uint24\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"amountOutMinimum\",\n type: \"uint256\",\n },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n },\n ],\n internalType: \"struct ISwapRouter.ExactInputSingleParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactInputSingle\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"bytes\", name: \"path\", type: \"bytes\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMaximum\", type: \"uint256\" },\n ],\n internalType: \"struct ISwapRouter.ExactOutputParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactOutput\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenIn\", type: \"address\" },\n { internalType: \"address\", name: \"tokenOut\", type: \"address\" },\n { internalType: \"uint24\", name: \"fee\", type: \"uint24\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMaximum\", type: \"uint256\" },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n },\n ],\n internalType: \"struct ISwapRouter.ExactOutputSingleParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactOutputSingle\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"bytes[]\", name: \"data\", type: \"bytes[]\" }],\n name: \"multicall\",\n outputs: [{ internalType: \"bytes[]\", name: \"results\", type: \"bytes[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"refundETH\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"nonce\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"expiry\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermitAllowed\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"nonce\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"expiry\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermitAllowedIfNecessary\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermitIfNecessary\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n ],\n name: \"sweepToken\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"feeBips\", type: \"uint256\" },\n { internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"sweepTokenWithFee\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"int256\", name: \"amount0Delta\", type: \"int256\" },\n { internalType: \"int256\", name: \"amount1Delta\", type: \"int256\" },\n { internalType: \"bytes\", name: \"_data\", type: \"bytes\" },\n ],\n name: \"uniswapV3SwapCallback\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n ],\n name: \"unwrapWETH9\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"feeBips\", type: \"uint256\" },\n { internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"unwrapWETH9WithFee\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
21
+ "export const woofiRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_pool\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"previousOwner\", type: \"address\" },\n { indexed: true, internalType: \"address\", name: \"newOwner\", type: \"address\" },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: \"address\", name: \"newPool\", type: \"address\" }],\n name: \"WooPoolChanged\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum IWooRouterV2.SwapType\",\n name: \"swapType\",\n type: \"uint8\",\n },\n { indexed: true, internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { indexed: true, internalType: \"address\", name: \"toToken\", type: \"address\" },\n { indexed: false, internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"toAmount\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"from\", type: \"address\" },\n { indexed: true, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: false, internalType: \"address\", name: \"rebateTo\", type: \"address\" },\n ],\n name: \"WooRouterSwap\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"approveTarget\", type: \"address\" },\n { internalType: \"address\", name: \"swapTarget\", type: \"address\" },\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"minToAmount\", type: \"uint256\" },\n { internalType: \"address payable\", name: \"to\", type: \"address\" },\n { internalType: \"bytes\", name: \"data\", type: \"bytes\" },\n ],\n name: \"externalSwap\",\n outputs: [{ internalType: \"uint256\", name: \"realToAmount\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"stuckToken\", type: \"address\" }],\n name: \"inCaseTokenGotStuck\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"isWhitelisted\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n ],\n name: \"querySwap\",\n outputs: [{ internalType: \"uint256\", name: \"toAmount\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"quoteToken\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"newPool\", type: \"address\" }],\n name: \"setPool\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"whitelisted\", type: \"bool\" },\n ],\n name: \"setWhitelisted\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"minToAmount\", type: \"uint256\" },\n { internalType: \"address payable\", name: \"to\", type: \"address\" },\n { internalType: \"address\", name: \"rebateTo\", type: \"address\" },\n ],\n name: \"swap\",\n outputs: [{ internalType: \"uint256\", name: \"realToAmount\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"newOwner\", type: \"address\" }],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n ],\n name: \"tryQuerySwap\",\n outputs: [{ internalType: \"uint256\", name: \"toAmount\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"wooPool\",\n outputs: [{ internalType: \"contract IWooPPV2\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
22
+ "import { kyberRouter } from \"./kyber.ts\";\nimport { oneInchRouter } from \"./oneinch.ts\";\nimport { pancakeSwapRouter } from \"./pancakeswap.ts\";\nimport { pangolinRouter } from \"./pangolin.ts\";\nimport { sushiswapRouter } from \"./sushiswap.ts\";\nimport { traderJoeRouter } from \"./traderJoe.ts\";\nimport { uniswapv2Router } from \"./uniswapv2.ts\";\nimport { uniswapv3Router } from \"./uniswapv3.ts\";\nimport { woofiRouter } from \"./woofi.ts\";\n\ntype AbiTypes =\n | typeof kyberRouter\n | typeof oneInchRouter\n | typeof pancakeSwapRouter\n | typeof pangolinRouter\n | typeof sushiswapRouter\n | typeof traderJoeRouter\n | typeof uniswapv2Router\n | typeof uniswapv3Router\n | typeof woofiRouter;\n\nexport enum DEX_CONTRACT_ADDRESS {\n // AVAX\n TRADERJOE = \"0x60aE616a2155Ee3d9A68541Ba4544862310933d4\",\n PANGOLIN = \"0xE54Ca86531e17Ef3616d22Ca28b0D458b6C89106\",\n WOOFI = \"0xC22FBb3133dF781E6C25ea6acebe2D2Bb8CeA2f9\",\n ONEINCH_AVAX = \"0x1111111254fb6c44bAC0beD2854e76F90643097d\",\n KYBER_AVAX = \"0x6131B5fae19EA4f9D964eAc0408E4408b66337b5\",\n\n // BSC\n PANCAKESWAP_BSC = \"0x10ED43C718714eb63d5aA57B78B54704E256024E\",\n\n // ETH\n ONEINCH_ETH = \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n PANCAKESWAP_ETH = \"0xEfF92A263d31888d860bD50809A8D171709b7b1c\",\n KYBER_ETH = \"0x6131B5fae19EA4f9D964eAc0408E4408b66337b5\",\n SUSHISWAP = \"0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f\",\n UNISWAP_V2 = \"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D\",\n UNISWAP_V3 = \"0xE592427A0AEce92De3Edee1F18E0157C05861564\",\n}\n\nexport const lowercasedRouterAbiMapping = {\n // AVAX\n [DEX_CONTRACT_ADDRESS.PANGOLIN.toLowerCase()]: pangolinRouter,\n [DEX_CONTRACT_ADDRESS.WOOFI.toLowerCase()]: woofiRouter,\n [DEX_CONTRACT_ADDRESS.TRADERJOE.toLowerCase()]: traderJoeRouter,\n [DEX_CONTRACT_ADDRESS.ONEINCH_AVAX.toLowerCase()]: oneInchRouter,\n [DEX_CONTRACT_ADDRESS.KYBER_AVAX.toLowerCase()]: kyberRouter,\n // BSC\n [DEX_CONTRACT_ADDRESS.PANCAKESWAP_BSC.toLowerCase()]: pancakeSwapRouter,\n // ETH\n [DEX_CONTRACT_ADDRESS.KYBER_ETH.toLowerCase()]: kyberRouter,\n [DEX_CONTRACT_ADDRESS.SUSHISWAP.toLowerCase()]: sushiswapRouter,\n [DEX_CONTRACT_ADDRESS.PANCAKESWAP_ETH.toLowerCase()]: pancakeSwapRouter,\n [DEX_CONTRACT_ADDRESS.UNISWAP_V2.toLowerCase()]: uniswapv2Router,\n [DEX_CONTRACT_ADDRESS.UNISWAP_V3.toLowerCase()]: uniswapv3Router,\n [DEX_CONTRACT_ADDRESS.ONEINCH_ETH.toLowerCase()]: oneInchRouter,\n} as Record<string, AbiTypes>;\n",
23
+ "export const sushiswap = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV2\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
24
+ "export const traderJoe = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV2AVAX\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
25
+ "export const uniswapV2 = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV2\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
26
+ "export const uniswapV2Leg = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n { internalType: \"address\", name: \"_legToken\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"legToken\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV2\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
27
+ "export const uniswapV3_100 = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n { internalType: \"uint24\", name: \"_poolFee\", type: \"uint24\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"poolFee\",\n outputs: [{ internalType: \"uint24\", name: \"\", type: \"uint24\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV3\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"contract IWETH9\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
28
+ "export const uniswapV3_500 = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n { internalType: \"uint24\", name: \"_poolFee\", type: \"uint24\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"poolFee\",\n outputs: [{ internalType: \"uint24\", name: \"\", type: \"uint24\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV3\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"contract IWETH9\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
29
+ "export const uniswapV3_3000 = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n { internalType: \"uint24\", name: \"_poolFee\", type: \"uint24\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"poolFee\",\n outputs: [{ internalType: \"uint24\", name: \"\", type: \"uint24\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV3\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"contract IWETH9\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
30
+ "export const uniswapV3_10000 = [\n {\n inputs: [\n { internalType: \"address\", name: \"_ttp\", type: \"address\" },\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_swapRouter\", type: \"address\" },\n { internalType: \"uint24\", name: \"_poolFee\", type: \"uint24\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: \"uint256\", name: \"fee\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"FeeSet\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: false, internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"OwnerSet\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"fee\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"owners\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"poolFee\",\n outputs: [{ internalType: \"uint24\", name: \"\", type: \"uint24\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"_fee\", type: \"uint256\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"bool\", name: \"active\", type: \"bool\" },\n ],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tcRouter\", type: \"address\" },\n { internalType: \"address\", name: \"tcVault\", type: \"address\" },\n { internalType: \"string\", name: \"tcMemo\", type: \"string\" },\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapIn\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n ],\n name: \"swapOut\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"swapRouter\",\n outputs: [{ internalType: \"contract IUniswapRouterV3\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tokenTransferProxy\",\n outputs: [\n { internalType: \"contract TSAggregatorTokenTransferProxy\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"weth\",\n outputs: [{ internalType: \"contract IWETH9\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n",
31
+ "import { avaxGeneric } from \"./avaxGeneric.ts\";\nimport { avaxWoofi } from \"./avaxWoofi.ts\";\nimport { bscGeneric } from \"./bscGeneric.ts\";\nimport { ethGeneric } from \"./ethGeneric.ts\";\nimport { pancakeV2 } from \"./pancakeV2.ts\";\nimport { pangolin } from \"./pangolin.ts\";\nimport { lowercasedRouterAbiMapping } from \"./routers/index.ts\";\nimport { sushiswap } from \"./sushiswap.ts\";\nimport { traderJoe } from \"./traderJoe.ts\";\nimport { uniswapV2 } from \"./uniswapV2.ts\";\nimport { uniswapV2Leg } from \"./uniswapV2Leg.ts\";\nimport { uniswapV3_100 } from \"./uniswapV3_100.ts\";\nimport { uniswapV3_500 } from \"./uniswapV3_500.ts\";\nimport { uniswapV3_3000 } from \"./uniswapV3_3000.ts\";\nimport { uniswapV3_10000 } from \"./uniswapV3_10000.ts\";\n\ntype AbiTypes =\n | typeof avaxGeneric\n | typeof avaxWoofi\n | typeof bscGeneric\n | typeof ethGeneric\n | typeof sushiswap\n | typeof uniswapV2\n | typeof pancakeV2\n | typeof uniswapV2Leg\n | typeof uniswapV3_100\n | typeof uniswapV3_10000\n | typeof uniswapV3_3000\n | typeof uniswapV3_500;\n\nexport enum AGG_CONTRACT_ADDRESS {\n // AVAX\n PANGOLIN = \"0x942c6dA485FD6cEf255853ef83a149d43A73F18a\",\n AVAX_GENERIC = \"0x7C38b8B2efF28511ECc14a621e263857Fb5771d3\",\n AVAX_WOOFI = \"0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a\",\n AVAX_TRADER_JOE = \"0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212\",\n\n // BSC\n BSC_GENERIC = \"0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c\",\n BSC_PANCAKE_V2 = \"0x30912B38618D3D37De3191A4FFE982C65a9aEC2E\",\n\n // ETH\n ETH_GENERIC = \"0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2\",\n UNISWAP_V2 = \"0x86904Eb2b3c743400D03f929F2246EfA80B91215\",\n SUSHISWAP = \"0xbf365e79aA44A2164DA135100C57FDB6635ae870\",\n UNISWAP_V3_100 = \"0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8\",\n UNISWAP_V3_500 = \"0xe4ddca21881bac219af7f217703db0475d2a9f02\",\n UNISWAP_V3_3000 = \"0x11733abf0cdb43298f7e949c930188451a9a9ef2\",\n UNISWAP_V3_10000 = \"0xb33874810e5395eb49d8bd7e912631db115d5a03\",\n UNISWAP_V2_LEG = \"0x3660dE6C56cFD31998397652941ECe42118375DA\",\n}\n\nexport const lowercasedGenericAbiMappings = {\n [AGG_CONTRACT_ADDRESS.AVAX_GENERIC.toLowerCase()]: avaxGeneric,\n [AGG_CONTRACT_ADDRESS.BSC_GENERIC.toLowerCase()]: bscGeneric,\n [AGG_CONTRACT_ADDRESS.ETH_GENERIC.toLowerCase()]: ethGeneric,\n};\n\nexport const lowercasedContractAbiMapping = {\n ...lowercasedRouterAbiMapping,\n ...lowercasedGenericAbiMappings,\n // AVAX\n [AGG_CONTRACT_ADDRESS.PANGOLIN.toLowerCase()]: pangolin,\n [AGG_CONTRACT_ADDRESS.AVAX_WOOFI.toLowerCase()]: avaxWoofi,\n [AGG_CONTRACT_ADDRESS.AVAX_TRADER_JOE.toLowerCase()]: traderJoe,\n // BSC\n [AGG_CONTRACT_ADDRESS.BSC_PANCAKE_V2.toLowerCase()]: pancakeV2,\n // ETH\n [AGG_CONTRACT_ADDRESS.SUSHISWAP.toLowerCase()]: sushiswap,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V2.toLowerCase()]: uniswapV2,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V2_LEG.toLowerCase()]: uniswapV2Leg,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_100.toLowerCase()]: uniswapV3_100,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_500.toLowerCase()]: uniswapV3_500,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_3000.toLowerCase()]: uniswapV3_3000,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_10000.toLowerCase()]: uniswapV3_10000,\n} as Record<string, AbiTypes>;\n",
32
+ "import { Chain, ChainToExplorerUrl } from \"@swapkit/helpers\";\n\nexport function getExplorerTxUrl({ chain, txHash }: { txHash: string; chain: Chain }) {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Binance:\n case Chain.Maya:\n case Chain.Kujira:\n case Chain.Cosmos:\n case Chain.THORChain:\n case Chain.Solana:\n return `${baseUrl}/tx/${txHash.startsWith(\"0x\") ? txHash.slice(2) : txHash}`;\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polkadot:\n case Chain.Polygon:\n return `${baseUrl}/tx/${txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`}`;\n\n case Chain.Litecoin:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n return `${baseUrl}/transaction/${txHash.toLowerCase()}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n}\n\nexport function getExplorerAddressUrl({ chain, address }: { address: string; chain: Chain }) {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Solana:\n return `${baseUrl}/account/${address}`;\n\n default:\n return `${baseUrl}/address/${address}`;\n }\n}\n"
33
+ ],
34
+ "mappings": "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N,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHO,IAAM,EAAc,CACzB,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAAC,EACpE,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,QACd,KAAM,aACN,KAAM,OACR,CACF,EACA,KAAM,aACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,SACd,KAAM,SACN,KAAM,QACR,CACF,EACA,KAAM,QACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,aACN,KAAM,WACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,UACN,KAAM,WACR,EACA,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,QAAS,KAAM,MAAO,CACtE,EACA,KAAM,MACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,uBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aA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AAC,EACT,KAAM,cACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,cACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,mBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,wBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,uBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,MACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,qCACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,qCACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,qCACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,0BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,+BACN,KAAM,SACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,CACF,EACA,KAAM,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,2BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,SACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,+BACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,+BACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,wBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,yBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,YACd,KAAM,cACN,KAAM,WACR,CACF,EACA,KAAM,gBACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,gCACd,KAAM,WACN,KAAM,SACR,EACA,CACE,WAAY,CACV,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,CACF,EACA,aAAc,uCACd,KAAM,OACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,OACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,CACF,EACA,KAAM,+BACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,eACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,eACN,KAAM,QACR,EACA,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACR,CACF,EACA,KAAM,wBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,kBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,4BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,UACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,gBAAiB,UACjB,KAAM,SACR,CACF,EC3oEO,IAAM,EAAoB,CAC/B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,eACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,qBAAsB,KAAM,SAAU,EACvE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACvE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kDACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,+BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4DACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qDACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVO,IAAM,EAAiB,CAC5B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,eACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,qBAAsB,KAAM,SAAU,EACvE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,mBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACvE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,sBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,mDACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CAAC,EAC1E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,gCACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,6DACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CAAC,EAC1E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,sDACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,sDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVO,IAAM,EAAkB,CAC7B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,eACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,qBAAsB,KAAM,SAAU,EACvE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACvE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kDACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,+BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4DACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qDACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVO,IAAM,EAAkB,CAC7B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,eACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,qBAAsB,KAAM,SAAU,EACvE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,mBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACvE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,sBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,mDACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CAAC,EAC1E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,gCACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,6DACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CAAC,EAC1E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,sDACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,sDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,yBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVO,IAAM,EAAkB,CAC7B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,eACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,qBAAsB,KAAM,SAAU,EACvE,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,CAC/D,EACA,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACvE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,kDACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,+BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,iBAAkB,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4DACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,OAAQ,KAAM,aAAc,KAAM,MAAO,EACzD,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,4BACN,QAAS,CACP,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAC9D,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qDACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,qDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wDACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,wBACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,YAAa,KAAM,OAAQ,KAAM,WAAY,EAC7D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,2BACN,QAAS,CAAC,CAAE,aAAc,YAAa,KAAM,UAAW,KAAM,WAAY,CAAC,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVO,IAAM,EAAkB,CAC7B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CAAE,aAAc,QAAS,KAAM,OAAQ,KAAM,OAAQ,EACrD,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,CACF,EACA,aAAc,sCACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,SAAU,KAAM,MAAO,KAAM,QAAS,EACtD,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,oBACN,KAAM,SACR,CACF,EACA,aAAc,4CACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,mBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAAC,EACzE,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CAAE,aAAc,QAAS,KAAM,OAAQ,KAAM,OAAQ,EACrD,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,kBAAmB,KAAM,SAAU,CACtE,EACA,aAAc,uCACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,SAAU,KAAM,MAAO,KAAM,QAAS,EACtD,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,kBAAmB,KAAM,SAAU,EACpE,CACE,aAAc,UACd,KAAM,oBACN,KAAM,SACR,CACF,EACA,aAAc,6CACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,oBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,CAAC,EACnE,KAAM,YACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACvE,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,YACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,aACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,+BACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,QAAS,KAAM,IAAK,KAAM,OAAQ,EAClD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,EACtD,CAAE,aAAc,UAAW,KAAM,IAAK,KAAM,SAAU,CACxD,EACA,KAAM,wBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,KAAM,aACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,SAAU,KAAM,eAAgB,KAAM,QAAS,EAC/D,CAAE,aAAc,SAAU,KAAM,eAAgB,KAAM,QAAS,EAC/D,CAAE,aAAc,QAAS,KAAM,QAAS,KAAM,OAAQ,CACxD,EACA,KAAM,wBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC7PO,IAAM,EAAc,CACzB,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC9E,EACA,KAAM,uBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CAAC,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACtF,KAAM,iBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,6BACd,KAAM,WACN,KAAM,OACR,EACA,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC7E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/E,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,QAAS,KAAM,OAAQ,KAAM,OAAQ,CACvD,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CAAC,EAC5E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CAAC,EACzE,KAAM,sBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,YACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,CAAC,EACtE,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,OAAQ,KAAM,cAAe,KAAM,MAAO,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CAAC,EAC5E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACvE,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,EAC9D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,oBAAqB,KAAM,GAAI,KAAM,SAAU,CAAC,EAC1E,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECrJO,IAAK,EAAL,UAAK,EAAL,CAEL,eAAY,6CACZ,cAAW,6CACX,WAAQ,6CACR,kBAAe,6CACf,gBAAa,6CAGb,qBAAkB,6CAGlB,iBAAc,6CACd,qBAAkB,6CAClB,eAAY,6CACZ,eAAY,6CACZ,gBAAa,6CACb,gBAAa,+CAjBH,WAoBL,IAAM,EAA6B,EAEvC,EAAqB,SAAS,YAAY,GAAI,GAC9C,EAAqB,MAAM,YAAY,GAAI,GAC3C,EAAqB,UAAU,YAAY,GAAI,GAC/C,EAAqB,aAAa,YAAY,GAAI,GAClD,EAAqB,WAAW,YAAY,GAAI,GAEhD,EAAqB,gBAAgB,YAAY,GAAI,GAErD,EAAqB,UAAU,YAAY,GAAI,GAC/C,EAAqB,UAAU,YAAY,GAAI,GAC/C,EAAqB,gBAAgB,YAAY,GAAI,GACrD,EAAqB,WAAW,YAAY,GAAI,GAChD,EAAqB,WAAW,YAAY,GAAI,GAChD,EAAqB,YAAY,YAAY,GAAI,CACpD,ECzDO,IAAM,EAAY,CACvB,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,CAClE,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,4BAA6B,KAAM,GAAI,KAAM,SAAU,CAAC,EAClF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHO,IAAM,EAAY,CACvB,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,CAClE,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,gCAAiC,KAAM,GAAI,KAAM,SAAU,CAAC,EACtF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHO,IAAM,EAAY,CACvB,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,CAClE,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,4BAA6B,KAAM,GAAI,KAAM,SAAU,CAAC,EAClF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHO,IAAM,EAAe,CAC1B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,UAAW,KAAM,YAAa,KAAM,SAAU,CAChE,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,WACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,4BAA6B,KAAM,GAAI,KAAM,SAAU,CAAC,EAClF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HO,IAAM,EAAgB,CAC3B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,SAAU,KAAM,WAAY,KAAM,QAAS,CAC7D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,QAAS,CAAC,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,4BAA6B,KAAM,GAAI,KAAM,SAAU,CAAC,EAClF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,kBAAmB,KAAM,GAAI,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HO,IAAM,EAAgB,CAC3B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,SAAU,KAAM,WAAY,KAAM,QAAS,CAC7D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,QAAS,CAAC,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,4BAA6B,KAAM,GAAI,KAAM,SAAU,CAAC,EAClF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,kBAAmB,KAAM,GAAI,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HO,IAAM,EAAiB,CAC5B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,SAAU,KAAM,WAAY,KAAM,QAAS,CAC7D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,QAAS,CAAC,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,4BAA6B,KAAM,GAAI,KAAM,SAAU,CAAC,EAClF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,kBAAmB,KAAM,GAAI,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HO,IAAM,EAAkB,CAC7B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,cAAe,KAAM,SAAU,EAChE,CAAE,aAAc,SAAU,KAAM,WAAY,KAAM,QAAS,CAC7D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,MAAO,KAAM,SAAU,EACxE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnF,EACA,KAAM,SACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvE,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,MACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,MAAO,CAAC,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,QAAS,CAAC,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,SAAU,CACpE,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,OAAQ,KAAM,SAAU,KAAM,MAAO,CACvD,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,SAAU,KAAM,SAAU,KAAM,QAAS,EACzD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,CAC/D,EACA,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,CACnE,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,4BAA6B,KAAM,GAAI,KAAM,SAAU,CAAC,EAClF,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CACP,CAAE,aAAc,0CAA2C,KAAM,GAAI,KAAM,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,kBAAmB,KAAM,GAAI,KAAM,SAAU,CAAC,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECjGO,IAAK,EAAL,UAAK,EAAL,CAEL,cAAW,6CACX,kBAAe,6CACf,gBAAa,6CACb,qBAAkB,6CAGlB,iBAAc,6CACd,oBAAiB,6CAGjB,iBAAc,6CACd,gBAAa,6CACb,eAAY,6CACZ,oBAAiB,6CACjB,oBAAiB,6CACjB,qBAAkB,6CAClB,sBAAmB,6CACnB,oBAAiB,+CAnBP,WAsBL,IAAM,GAA+B,EACzC,EAAqB,aAAa,YAAY,GAAI,GAClD,EAAqB,YAAY,YAAY,GAAI,GACjD,EAAqB,YAAY,YAAY,GAAI,CACpD,EAEa,EAA+B,IACvC,KACA,IAEF,EAAqB,SAAS,YAAY,GAAI,GAC9C,EAAqB,WAAW,YAAY,GAAI,GAChD,EAAqB,gBAAgB,YAAY,GAAI,GAErD,EAAqB,eAAe,YAAY,GAAI,GAEpD,EAAqB,UAAU,YAAY,GAAI,GAC/C,EAAqB,WAAW,YAAY,GAAI,GAChD,EAAqB,eAAe,YAAY,GAAI,GACpD,EAAqB,eAAe,YAAY,GAAI,GACpD,EAAqB,eAAe,YAAY,GAAI,GACpD,EAAqB,gBAAgB,YAAY,GAAI,GACrD,EAAqB,iBAAiB,YAAY,GAAI,CACzD,EC3EA,gBAAS,wBAAO,2BAET,SAAS,EAAgB,EAAG,QAAO,UAA4C,CACpF,MAAM,EAAU,GAAmB,GAEnC,OAAQ,QACD,EAAM,aACN,EAAM,UACN,EAAM,YACN,EAAM,YACN,EAAM,eACN,EAAM,OACT,MAAO,GAAG,QAAc,EAAO,WAAW,IAAI,EAAI,EAAO,MAAM,CAAC,EAAI,SAEjE,EAAM,cACN,EAAM,eACN,EAAM,uBACN,EAAM,cACN,EAAM,cACN,EAAM,cACN,EAAM,QACT,MAAO,GAAG,QAAc,EAAO,WAAW,IAAI,EAAI,EAAS,KAAK,WAE7D,EAAM,cACN,EAAM,aACN,EAAM,iBACN,EAAM,SACT,MAAO,GAAG,iBAAuB,EAAO,YAAY,YAGpD,MAAM,IAAI,MAAM,sBAAsB,GAAO,GAI5C,SAAS,EAAqB,EAAG,QAAO,WAA8C,CAC3F,MAAM,EAAU,GAAmB,GAEnC,OAAQ,QACD,EAAM,OACT,MAAO,GAAG,aAAmB,YAG7B,MAAO,GAAG,aAAmB,K1BL5B,SAAS,EAGf,EACC,OAAO,CAAC,EACR,SAAS,CAAC,EACV,UACA,WAAU,CAAC,EACX,YAAW,GACX,WAQC,CAOD,MAAM,GAAyB,MAAM,QAAQ,CAAO,EAChD,EAAQ,OAAO,CAAC,EAAK,IAAoB,CAEvC,MAAQ,OAAM,UAAW,OAAO,OAAO,CAAe,IAAI,IAAM,CAAC,EAEjE,OADA,EAAI,GAAQ,EACL,GACN,CAAC,CAAC,EACL,EACE,GAAyB,MAAM,QAAQ,CAAO,EAChD,EAAQ,OAAO,CAAC,EAAK,IAAW,CAE9B,MAAO,EAAY,GAAiB,OAAO,QAAQ,CAAM,IAAI,IAAM,CAAC,EAEpE,OADA,EAAI,GAAc,EACX,GACN,CAAC,CAAC,EACL,EAEE,EAAmB,CAAC,EACpB,EAAmB,OAAO,QAAQ,EAAa,EAAE,OACrD,CAAC,GAAM,GAAc,SAAQ,OAAQ,MAAoB,CACvD,MAAM,EAAU,EAAO,CACrB,QAAS,EACT,YACA,OAAQ,GAAgB,CAC1B,CAAC,EAID,OADA,EAAI,GAAc,EACX,GAET,CAAC,CACH,EAEM,GAAuB,OAAO,QAAQ,EAAa,EAAE,OACzD,CAAC,GAAM,EAAY,KAAY,CAC7B,MAAM,EAAgB,EAAO,CAAE,YAAU,SAAQ,OAAM,UAAQ,CAAC,EAIhE,OADA,EAAI,GAAc,EACX,GAET,CAAC,CACH,EAKA,SAAS,EAAsC,CAAC,EAAe,CAC7D,MAAM,EAAS,EAAiB,IAAe,OAAO,OAAO,CAAgB,EAAE,GAE/E,IAAK,EACH,MAAM,IAAI,EAAa,wBAAyB,qCAAqC,EAGvF,OAAO,EAMT,SAAS,CAA6B,CAAC,EAAoD,CACzF,MAAM,EAAS,OAAO,OAAO,CAAgB,EAAE,KAAK,CAAC,IACnD,EAAO,2BAA2B,SAAS,CAAU,CACvD,EAEA,IAAK,EACH,MAAM,IAAI,EAAa,wBAAyB,qCAAqC,EAGvF,OAAO,EAGT,SAAS,EAAyB,CAAC,EAAwC,CAEzE,EAAiB,EAAc,OAAS,EAI1C,SAAS,CAA8B,EACrC,aACA,OAAO,YACP,gBAAiB,GAKhB,CACD,MAAM,EAAS,EAAiB,GAEhC,GAAI,EAAQ,CACV,GAAI,IAAS,EAAY,WAAa,yBAA0B,EAC9D,OAAO,EAAO,qBAAqB,CAAE,YAAW,CAAC,EAEnD,GAAI,IAAS,EAAY,SAAW,sBAAuB,EACzD,OAAO,EAAO,kBAAkB,CAAE,YAAW,CAAC,EAGhD,MAAM,IAAI,EACR,oCACA,UAAU,OAAO,CAAc,wCACjC,EAGF,MAAQ,UAAS,QAAO,aAAY,eAAgB,EAC9C,EAAa,GAAU,SAAS,CAAiB,EAGvD,GAFoB,GAAc,IAEd,GAAc,EAChC,OAAO,QAAQ,QAAQ,IAAS,YAAc,GAAO,UAAU,EAGjE,MAAM,EAAgB,EAAiB,GACjC,EAAe,IAAS,YAAc,GAAe,WAAa,GAAe,QACvF,IAAK,EAAc,MAAM,IAAI,EAAa,kCAAkC,EAE5E,MAAM,EAAO,EAAW,CAAK,EAC7B,KAAM,GAAW,UAAe,IAAmB,UACjD,MAAM,IAAI,EAAa,8CAA8C,EAGvE,OAAO,EAAa,CAClB,OAAQ,EAAW,aAAa,QAAQ,EACxC,aAAc,EACd,OACA,gBACF,CAAC,EAMH,SAAS,CAA0B,CAAC,EAAU,CAC5C,OAAO,EAAiB,GAE1B,SAAS,EAAa,EAAG,CACvB,MAAO,IAAK,CAAiB,EAE/B,SAAS,CAA2B,CAAC,EAAU,CAC7C,OAAO,EAAU,CAAK,GAAG,SAAW,GAGtC,SAAS,EAAe,EAAG,UAAS,SAA4C,CAC9E,OAAQ,QACD,EAAM,cACN,EAAM,eACN,EAAM,cACN,EAAM,uBACN,EAAM,aACN,EAAM,SACT,OAAO,GAAmB,CAAE,SAAQ,CAAC,OAElC,EAAM,SACT,OAAO,GAAyB,CAAE,UAAS,OAAM,CAAC,OAE/C,EAAM,cACN,EAAM,UACN,EAAM,cACN,EAAM,iBACN,EAAM,QACT,OAAO,GAAoB,CAAE,UAAS,OAAM,CAAC,OAE1C,EAAM,YACN,EAAM,YACN,EAAM,UACN,EAAM,UACT,OAAO,GAAsB,CAAE,UAAS,OAAM,CAAC,EAGnD,MAAO,GAGT,SAAS,EAA2B,CAAC,EAAU,EAAmB,CAChE,GAAI,EACF,OAAO,EAAqB,CAAK,EAAE,KAAK,CAAC,IAAW,EAAO,OAAO,EAGpE,OAAO,EAAU,CAAK,GAAG,SAAW,CAAC,EAGvC,eAAe,CAAqC,CAAC,EAAU,EAAsB,GAAM,CACzF,MAAM,EAAiB,CAAC,GAAW,qBAAqB,CAAK,CAAC,EACxD,EAAS,EAAU,CAAK,EAE9B,IAAK,EACH,MAAM,IAAI,EAAa,kCAAkC,EAG3D,GAAI,eAAgB,EAAQ,CAE1B,MAAM,EAAU,MAAM,EAAO,WAAW,EAAO,QAAS,CAAmB,EAC3E,EAAO,QAAU,GAAS,OAAS,EAAU,EAG/C,OAAO,EAGT,SAAS,EAAiB,CAAC,EAAwB,EAAsC,CACvF,OAAO,EAAQ,CAAE,aAAY,kBAAiB,KAAM,EAAY,OAAQ,CAAC,EAG3E,SAAS,EAAoB,CAAC,EAAwB,EAAsC,CAC1F,OAAO,EAAQ,CAAE,aAAY,kBAAiB,KAAM,EAAY,SAAU,CAAC,EAG7E,SAAS,EAA0B,EAAG,QAAO,gBAAe,GAAuB,CACjF,MAAM,EACH,GAAc,GAAiB,CAAU,GAC1C,EAA8B,EAAM,UAAU,EAAoB,EACpE,IAAK,EAAQ,MAAM,IAAI,EAAa,8BAA8B,EAElE,GAAI,SAAU,EACZ,OAAO,EAAO,KAAK,IAAK,EAAM,OAAM,CAAC,EAGvC,MAAM,IAAI,EAAa,4BAA4B,EAGrD,SAAS,EAAQ,EACf,OACA,YACA,aACA,gBACgE,CAChE,MAAM,EAAQ,EAAW,MACnB,EAAS,EAAiB,GAChC,IAAK,EAAQ,MAAM,IAAI,EAAa,kCAAkC,EAEtE,OAAO,EAAO,SAAS,CAAE,OAAM,YAAW,aAAY,cAAa,CAAC,EAGtE,SAAS,EAAa,EAAG,CACvB,QAAW,KAAS,OAAO,KAAK,CAAgB,EAAG,CAEjD,MAAM,EAAS,EAAiB,GAChC,GAAI,eAAgB,EAClB,EAAO,WAAW,EAGpB,OAAO,EAAiB,IAI5B,SAAS,EAAe,CAAC,EAAc,CAErC,MAAM,EADS,EAAiB,IACL,WAC3B,GAAI,EACF,EAAW,EAEb,OAAO,EAAiB,GAI1B,eAAe,EAA4C,EACzD,OACA,eACA,UAiBkC,CAClC,MAAQ,cAAe,EACjB,EAAQ,EAAO,WAAW,MAChC,IAAK,EAAiB,GAAQ,MAAM,IAAI,EAAa,kCAAkC,EACvF,OAAQ,QACD,EAAM,cACN,EAAM,eACN,EAAM,cACN,EAAM,uBACN,EAAM,QAAS,CAClB,MAAM,EAAS,EAAiB,GAChC,GAAI,IAAS,WAAY,CACvB,MAAM,EAAW,MAAM,EAAO,iBAAiB,CAAM,EACrD,OAAO,EAAO,uBAAuB,EAAU,CAAY,EAE7D,GAAI,IAAS,YAAc,GAAW,CAAU,EAC9C,EAAO,uBACL,MAAM,EAAO,iBAAiB,CAC5B,aAAc,EAAW,QACzB,eAAgB,EAAO,gBACvB,OAAQ,EAAW,aAAa,QAAQ,EACxC,KAAM,EAAO,OACf,CAAC,EACD,CACF,EAEF,GAAI,IAAS,OAAQ,CAEnB,GADe,EAAO,MAAM,UAAU,KACvB,GAAe,UAAW,CACvC,MAAM,EAAW,MAAM,EAAO,iBAAiB,CAC7C,KAAM,EAAO,QACb,UAAW,EAAO,QAClB,YACF,CAAC,EACD,OAAO,EAAO,uBAAuB,EAAU,CAAY,EAE7D,MACE,OAAS,0BACP,EACJ,KAEI,GACA,EAA6B,EAAsB,kBAGrD,OACF,EAAO,aAAa,CAClB,gBAAiB,EAAsB,gBAEvC,IAAK,EAA6B,EAAsB,iBACxD,SAAU,EAAsB,eAChC,WAAY,EAAsB,cACpC,CAAC,EAEH,OAAO,GAAW,qBAAqB,EAAO,CAAC,CACjD,MACK,EAAM,aACN,EAAM,iBACN,EAAM,cACN,EAAM,UACN,EAAM,SAAU,CACnB,MAAM,EAAS,EAAiB,GAChC,OAAO,EAAO,uBAAuB,IAChC,EACH,eACA,KAAM,EAAO,QACb,UAAW,EAAO,OACpB,CAAC,CACH,MACK,EAAM,eACN,EAAM,UACN,EAAM,YACN,EAAM,OACT,OAAO,GAAqB,CAAM,OAE/B,EAAM,SAAU,CACnB,MAAM,EAAS,EAAiB,GAChC,OAAO,EAAO,uBAAuB,IAAK,EAAQ,UAAW,EAAO,OAAQ,CAAC,CAC/E,SAEE,QAIN,MAAO,IACF,KACA,GAEH,qBACA,aACA,cACA,sBAAuB,GACvB,iBAAkB,GAClB,YACA,iBACA,uBACA,wBACA,0BACA,QACA,YACA,mBACA,iBACA,kBACF",
35
+ "debugId": "48142F5AFF37750864756E2164756E21",
36
+ "names": []
37
+ }