@swapkit/core 1.0.0-rc.119 → 1.0.0-rc.120
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.
- package/dist/{index.es.js → index.js} +1072 -963
- package/dist/index.js.map +41 -0
- package/package.json +27 -36
- package/src/__tests__/helpers.test.ts +2 -26
- package/src/client/index.ts +21 -26
- package/src/client/old.ts +64 -76
- package/src/helpers/explorerUrls.ts +6 -31
- package/src/types.ts +2 -2
- package/LICENSE +0 -201
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -353
- package/dist/index.es.js.map +0 -1
- package/src/helpers/mayanode.ts +0 -31
- package/src/helpers/thornode.ts +0 -31
package/dist/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/helpers/explorerUrls.ts","../src/client/index.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/aggregator/getSwapParams.ts","../src/helpers/mayanode.ts","../src/helpers/thornode.ts","../src/client/old.ts"],"sourcesContent":["import { Chain, ChainToExplorerUrl } from \"@swapkit/types\";\n\nexport const 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.THORChain:\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.Cosmos:\n return `${baseUrl}/transactions/${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 const getExplorerAddressUrl = ({ chain, address }: { address: string; chain: Chain }) => {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Binance:\n case Chain.BinanceSmartChain:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Ethereum:\n case Chain.Kujira:\n case Chain.Litecoin:\n case Chain.Maya:\n case Chain.Optimism:\n case Chain.Polkadot:\n case Chain.Polygon:\n case Chain.THORChain:\n return `${baseUrl}/address/${address}`;\n\n case Chain.Cosmos:\n return `${baseUrl}/account/${address}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n","import { AssetValue, SwapKitError } from \"@swapkit/helpers\";\nimport { Chain } from \"@swapkit/types\";\nimport {\n getExplorerAddressUrl as getAddressUrl,\n getExplorerTxUrl as getTxUrl,\n} from \"../helpers/explorerUrls.ts\";\nimport type {\n ChainWallet,\n ConnectWalletParamsLocal as ConnectWalletParams,\n SwapWithRouteParams,\n} from \"../types.ts\";\n\nexport type PluginName = \"thorchain\" | \"chainflip\" | \"mayachain\";\n\nexport enum ApproveMode {\n Approve = \"approve\",\n CheckOnly = \"checkOnly\",\n}\n\nexport type ApproveReturnType<T extends ApproveMode> = T extends \"checkOnly\"\n ? Promise<boolean>\n : Promise<string>;\n\ntype SwapKitPlugins = {\n [K in PluginName]?: ProviderMethods;\n};\n\ntype GenericSwapParams = {\n buyAsset: AssetValue;\n sellAsset: AssetValue;\n recipient: string;\n};\n\nexport type SwapParams = (SwapWithRouteParams | GenericSwapParams) & {\n provider?: {\n name: PluginName;\n config: Record<string, any>;\n };\n};\n\nexport type SwapKitReturnType = SwapKitPlugins & {\n getAddress: (chain: Chain) => string;\n getWallet: (chain: Chain) => ChainWallet<Chain> | undefined;\n getWalletWithBalance: (\n chain: Chain,\n potentialScamFilter?: boolean,\n ) => Promise<ChainWallet<Chain>>;\n getBalance: (chain: Chain, potentialScamFilter?: boolean) => AssetValue[];\n getExplorerTxUrl: (chain: Chain, txHash: string) => string;\n getExplorerAddressUrl: (chain: Chain, address: string) => string;\n swap: (params: SwapParams) => Promise<string>;\n validateAddress: (params: { address: string; chain: Chain }) =>\n | boolean\n | Promise<boolean>\n | undefined;\n approveAssetValue: (assetValue: AssetValue, contractAddress: string) => boolean | Promise<string>;\n isAssetValueApproved: (\n assetValue: AssetValue,\n contractAddress: string,\n ) => boolean | Promise<boolean>;\n};\n\nexport type Wallets = { [K in Chain]?: ChainWallet<K> };\nexport type AvailableProviders<T> = T | { [K in PluginName]?: ProviderMethods };\nexport type ProviderMethods = {\n swap: (swapParams: SwapParams) => Promise<string>;\n [key: string]: any;\n};\n\nexport type SwapKitPlugin = ({ wallets, stagenet }: { wallets: Wallets; stagenet?: boolean }) => {\n name: PluginName;\n methods: ProviderMethods;\n};\n\nexport type SwapKitWallet = {\n connectMethodName: string;\n connect: (params: ConnectWalletParams) => (connectParams: any) => undefined | string;\n};\n\nexport function SwapKit<\n ExtendedProviders extends {},\n ConnectWalletMethods extends Record<string, ReturnType<SwapKitWallet[\"connect\"]>>,\n>({\n stagenet,\n wallets,\n plugins,\n config = {},\n apis,\n rpcUrls,\n}: {\n plugins: SwapKitPlugin[];\n stagenet: boolean;\n wallets: SwapKitWallet[];\n config?: Record<string, any>;\n apis: Record<string, any>;\n rpcUrls: Record<string, any>;\n}): SwapKitReturnType & ConnectWalletMethods & AvailableProviders<ExtendedProviders> {\n const connectedWallets: Wallets = {};\n const availablePlugins: AvailableProviders<ExtendedProviders> = {};\n\n for (const plugin of plugins) {\n const { name, methods } = plugin({ wallets: connectedWallets, stagenet });\n\n availablePlugins[name] = methods;\n }\n\n const connectWalletMethods = wallets.reduce((acc, wallet) => {\n (acc[wallet.connectMethodName] as ReturnType<SwapKitWallet[\"connect\"]>) = wallet.connect({\n addChain,\n config,\n apis,\n rpcUrls,\n });\n\n return acc;\n }, {} as ConnectWalletMethods);\n\n /**\n * @Private\n * Internal helpers\n */\n function getSwapKitPlugin(pluginName?: PluginName) {\n const plugin =\n (availablePlugins as SwapKitPlugins)[pluginName as PluginName] ||\n 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 function addChain(connectWallet: ChainWallet<Chain>) {\n (connectedWallets[connectWallet.chain as Chain] as ChainWallet<Chain>) = connectWallet;\n }\n\n /**\n * @Private\n * Wallet interaction helpers\n */\n function approve<T extends ApproveMode>({\n assetValue,\n type = \"checkOnly\" as T,\n contractAddress,\n }: {\n type: T;\n assetValue: AssetValue;\n contractAddress: string;\n }): ApproveReturnType<T> {\n const { address, chain, isGasAsset, isSynthetic } = assetValue;\n const isEVMChain = [Chain.Ethereum, Chain.Avalanche, Chain.BinanceSmartChain].includes(chain);\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 =\n connectedWallets[chain as Chain.Ethereum | Chain.BinanceSmartChain | Chain.Avalanche];\n\n const walletAction = type === \"checkOnly\" ? walletMethods?.isApproved : walletMethods?.approve;\n\n if (!walletAction) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const from = getAddress(chain);\n\n if (!(address && from)) throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n\n const spenderAddress = contractAddress;\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 * Wallet helpers\n */\n function getWallet(chain: Chain) {\n return connectedWallets[chain];\n }\n function getAddress(chain: Chain) {\n return getWallet(chain)?.address || \"\";\n }\n function getBalance(chain: Chain) {\n return getWallet(chain)?.balance || [];\n }\n function getExplorerTxUrl(chain: Chain, txHash: string) {\n return getTxUrl({ chain, txHash });\n }\n function getExplorerAddressUrl(chain: Chain, address: string) {\n return getAddressUrl({ chain, address });\n }\n /**\n * TODO: Figure out validation without connecting to wallet\n */\n function validateAddress({ address, chain }: { address: string; chain: Chain }) {\n return getWallet(chain)?.validateAddress?.(address);\n }\n\n async function getWalletWithBalance(chain: Chain, potentialScamFilter?: boolean) {\n const defaultBalance = [AssetValue.fromChainOrSignature(chain)];\n const wallet = getWallet(chain);\n\n try {\n if (!wallet) throw new SwapKitError(\"core_wallet_connection_not_found\");\n const balance = await wallet?.getBalance(wallet.address, potentialScamFilter);\n\n wallet.balance = balance?.length ? balance : defaultBalance;\n\n return wallet;\n } catch (error) {\n throw new SwapKitError(\"core_wallet_connection_not_found\", error);\n }\n }\n\n /**\n * @Public\n * Wallet interaction methods\n */\n function approveAssetValue(assetValue: AssetValue, contractAddress: string) {\n return approve({ assetValue, contractAddress, type: ApproveMode.Approve });\n }\n\n function isAssetValueApproved(assetValue: AssetValue, contractAddress: string) {\n return approve({ assetValue, contractAddress, type: ApproveMode.CheckOnly });\n }\n\n function swap({ provider, ...rest }: SwapParams) {\n const plugin = getSwapKitPlugin(provider?.name);\n\n return plugin.swap({ provider, ...rest });\n }\n\n return {\n ...availablePlugins,\n ...connectWalletMethods,\n approveAssetValue,\n getAddress,\n getBalance,\n getExplorerAddressUrl,\n getExplorerTxUrl,\n getWallet,\n getWalletWithBalance,\n isAssetValueApproved,\n swap,\n validateAddress,\n };\n}\n","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","import type { QuoteRoute } from \"@swapkit/helpers\";\n\nimport type { AGG_CONTRACT_ADDRESS } from \"./contracts/index.ts\";\nimport { lowercasedGenericAbiMappings } from \"./contracts/index.ts\";\n\ntype SwapInParams = {\n calldata: QuoteRoute[\"calldata\"];\n recipient: string;\n streamSwap?: boolean;\n contractAddress: AGG_CONTRACT_ADDRESS;\n toChecksumAddress: (address: string) => string;\n};\n\nexport const getSwapInParams = ({\n streamSwap,\n contractAddress,\n recipient,\n toChecksumAddress,\n calldata: {\n amount,\n amountOutMin = \"\",\n data = \"\",\n deadline,\n memo,\n router,\n memoStreamingSwap,\n tcMemo,\n tcRouter,\n tcVault,\n vault,\n token,\n },\n}: SwapInParams) => {\n const isGeneric = !!lowercasedGenericAbiMappings[contractAddress.toLowerCase()];\n\n if (isGeneric && !router) {\n throw new Error(\"Router is required on calldata for swapIn with GenericContract\");\n }\n\n /**\n * Data structure for contract calls\n * GENERIC: tcRouter, tcVault, tcMemo, token, amount, router, data, deadline\n * ETH_UNISWAP: tcRouter, tcVault, tcMemo, token, amount, amountOutMin, deadline\n * AVAX_PANGOLIN: tcRouter, tcVault, tcMemo, token, amount, amountOutMin, deadline\n * AVAX_WOOFI: router, vault, memo, token, amount, amountOutMin, deadline\n */\n\n const baseMemo = tcMemo || memo;\n const transactionMemo = streamSwap ? memoStreamingSwap || baseMemo : baseMemo;\n\n if (!(tcVault || vault)) throw new Error(\"TC Vault is required on calldata\");\n if (!(tcRouter || router)) throw new Error(\"TC Router is required on calldata\");\n if (!transactionMemo) throw new Error(\"TC Memo is required on calldata\");\n if (!token) throw new Error(\"Token is required on calldata\");\n\n const baseParams = [\n // v2 contracts don't have tcVault, tcRouter, tcMemo but vault, router, memo\n toChecksumAddress((tcRouter || router) as string),\n toChecksumAddress((tcVault || vault) as string),\n transactionMemo.replace(\"{recipientAddress}\", recipient),\n toChecksumAddress(token),\n amount,\n ];\n\n const contractParams = isGeneric\n ? [toChecksumAddress(router as string), data, deadline]\n : [amountOutMin, deadline];\n\n return [...baseParams, ...contractParams];\n};\n","import { RequestClient } from \"@swapkit/helpers\";\nimport type { Chain } from \"@swapkit/types\";\nimport { ApiUrl } from \"@swapkit/types\";\n\ntype InboundAddressData = {\n address: string;\n chain: Chain;\n chain_lp_actions_paused: boolean;\n chain_trading_paused: boolean;\n dust_threshold: string;\n gas_rate: string;\n gas_rate_units: string;\n global_trading_paused: boolean;\n halted: boolean;\n outbound_fee: string;\n outbound_tx_size: string;\n pub_key: string;\n router: string;\n}[];\n\nexport const getMayaInboundData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.MayanodeStagenet : ApiUrl.MayanodeMainnet;\n\n return RequestClient.get<InboundAddressData>(`${baseUrl}/mayachain/inbound_addresses`);\n};\n\nexport const getMayaMimirData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.MayanodeStagenet : ApiUrl.MayanodeMainnet;\n\n return RequestClient.get<Record<string, number>>(`${baseUrl}/mayachain/mimir`);\n};\n","import { RequestClient } from \"@swapkit/helpers\";\nimport type { Chain } from \"@swapkit/types\";\nimport { ApiUrl } from \"@swapkit/types\";\n\ntype InboundAddressData = {\n address: string;\n chain: Chain;\n chain_lp_actions_paused: boolean;\n chain_trading_paused: boolean;\n dust_threshold: string;\n gas_rate: string;\n gas_rate_units: string;\n global_trading_paused: boolean;\n halted: boolean;\n outbound_fee: string;\n outbound_tx_size: string;\n pub_key: string;\n router: string;\n}[];\n\nexport const getThorInboundData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<InboundAddressData>(`${baseUrl}/thorchain/inbound_addresses`);\n};\n\nexport const getThorMimirData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<Record<string, number>>(`${baseUrl}/thorchain/mimir`);\n};\n","import type { ErrorKeys, QuoteRoute, ThornameRegisterParam } from \"@swapkit/helpers\";\nimport {\n AssetValue,\n SwapKitError,\n SwapKitNumber,\n gasFeeMultiplier,\n getMemoFor,\n getMinAmountByChain,\n} from \"@swapkit/helpers\";\nimport type { CosmosLikeToolbox } from \"@swapkit/toolbox-cosmos\";\nimport type { AVAXToolbox, BSCToolbox, ETHToolbox, EVMToolbox } from \"@swapkit/toolbox-evm\";\nimport type { UTXOToolbox } from \"@swapkit/toolbox-utxo\";\nimport type {\n AddChainWalletParams,\n EVMChain,\n EVMWalletOptions,\n ExtendParams,\n WalletOption,\n} from \"@swapkit/types\";\nimport {\n AGG_SWAP,\n Chain,\n ChainToChainId,\n FeeOption,\n MemoType,\n SWAP_IN,\n SWAP_OUT,\n TCAvalancheDepositABI,\n TCBscDepositABI,\n TCEthereumVaultAbi,\n} from \"@swapkit/types\";\n\nimport type { AGG_CONTRACT_ADDRESS } from \"../aggregator/contracts/index.ts\";\nimport { lowercasedContractAbiMapping } from \"../aggregator/contracts/index.ts\";\nimport { getSwapInParams } from \"../aggregator/getSwapParams.ts\";\n\nimport { getExplorerAddressUrl, getExplorerTxUrl } from \"../helpers/explorerUrls.ts\";\nimport { getMayaMimirData } from \"../helpers/mayanode.js\";\nimport { getThorInboundData, getThorMimirData } from \"../helpers/thornode.ts\";\nimport type {\n CoreTxParams,\n EVMWallet,\n OldWallet,\n SwapWithRouteParams,\n ThorchainWallet,\n WalletMethods,\n} from \"../types.ts\";\n\nconst getEmptyWalletStructure = () =>\n (Object.values(Chain) as Chain[]).reduce(\n (acc, chain) => {\n acc[chain] = null;\n return acc;\n },\n {} as Record<Chain, null>,\n );\n\nconst validateAddressType = ({\n chain,\n address,\n}: {\n chain: Chain;\n address?: string;\n}) => {\n if (!address) return false;\n\n switch (chain) {\n case Chain.Bitcoin:\n // filter out taproot addresses\n return !address.startsWith(\"bc1p\");\n default:\n return true;\n }\n};\n\n/**\n * @deprecated Use SwapKit instead (import { SwapKit } from \"@swapkit/core\")\n */\nexport class SwapKitCore<T = \"\"> {\n public connectedChains: OldWallet = getEmptyWalletStructure();\n public connectedWallets: WalletMethods = getEmptyWalletStructure();\n public readonly stagenet: boolean = false;\n\n constructor({ stagenet }: { stagenet?: boolean } | undefined = {}) {\n this.stagenet = !!stagenet;\n }\n\n getAddress = (chain: Chain) => this.connectedChains[chain]?.address || \"\";\n getExplorerTxUrl = (chain: Chain, txHash: string) => getExplorerTxUrl({ chain, txHash });\n getWallet = <T extends Chain>(chain: Chain) => this.connectedWallets[chain] as WalletMethods[T];\n getExplorerAddressUrl = (chain: Chain, address: string) =>\n getExplorerAddressUrl({ chain, address });\n getBalance = async (chain: Chain, potentialScamFilter?: boolean) => {\n const wallet = await this.getWalletByChain(chain, potentialScamFilter);\n\n return wallet?.balance || [];\n };\n\n swap = async ({\n streamSwap,\n recipient,\n route,\n feeOptionKey = FeeOption.Average,\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>\n }: SwapWithRouteParams) => {\n const {\n meta: { quoteMode },\n // evmTransactionDetails: contractCallParams,\n } = route as QuoteRoute;\n const evmChain = quoteMode.startsWith(\"ERC20-\")\n ? Chain.Ethereum\n : quoteMode.startsWith(\"ARC20-\")\n ? Chain.Avalanche\n : quoteMode.startsWith(\"BEP20-\")\n ? Chain.BinanceSmartChain\n : undefined;\n\n if (!(route as QuoteRoute).complete) throw new SwapKitError(\"core_swap_route_not_complete\");\n\n // TODO enable when BE is ready\n // if (contractCallParams && evmChain) {\n // const walletMethods = this.connectedWallets[evmChain];\n\n // if (!walletMethods?.call) {\n // throw new SwapKitError('core_wallet_connection_not_found');\n // }\n\n // const { contractAddress, contractMethod, contractParams, contractParamsStreaming } =\n // contractCallParams;\n\n // if (!(streamSwap ? contractParamsStreaming : contractParams)) {\n // throw new SwapKitError('core_swap_route_transaction_not_found');\n // }\n\n // return await walletMethods.call<string>({\n // contractAddress,\n // abi: lowercasedContractAbiMapping[contractAddress.toLowerCase()],\n // funcName: contractMethod,\n // funcParams: streamSwap ? contractParamsStreaming : contractParams,\n // });\n // }\n\n if (AGG_SWAP.includes(quoteMode) && evmChain) {\n const walletMethods = this.connectedWallets[evmChain];\n if (!walletMethods?.sendTransaction) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n const transaction = streamSwap\n ? (route as QuoteRoute)?.streamingSwap?.transaction\n : (route as QuoteRoute)?.transaction;\n if (!transaction) throw new SwapKitError(\"core_swap_route_transaction_not_found\");\n\n const { data, from, to, value } = (route as QuoteRoute).transaction;\n\n const params = {\n data,\n from,\n to: to.toLowerCase(),\n chainId: BigInt(ChainToChainId[evmChain]),\n value: value ? BigInt(value) : 0n,\n };\n\n return walletMethods.sendTransaction(params, feeOptionKey) as Promise<string>;\n }\n\n if (SWAP_OUT.includes(quoteMode)) {\n if (!(route as QuoteRoute).calldata.fromAsset)\n throw new SwapKitError(\"core_swap_asset_not_recognized\");\n // @ts-expect-error\n const asset = await AssetValue.fromString((route as QuoteRoute).calldata.fromAsset);\n if (!asset) throw new SwapKitError(\"core_swap_asset_not_recognized\");\n\n const { address: recipient } = await this.#getInboundDataByChain(asset.chain);\n const {\n contract: router,\n calldata: { expiration, amountIn, memo, memoStreamingSwap },\n } = route as QuoteRoute;\n\n const assetValue = asset.add(SwapKitNumber.fromBigInt(BigInt(amountIn), asset.decimal));\n const swapMemo = (streamSwap ? memoStreamingSwap || memo : memo) as string;\n\n return this.deposit({\n expiration,\n assetValue,\n memo: swapMemo,\n feeOptionKey,\n router,\n recipient,\n });\n }\n\n if (SWAP_IN.includes(quoteMode) && evmChain) {\n const { calldata, contract: contractAddress } = route as QuoteRoute;\n if (!contractAddress) throw new SwapKitError(\"core_swap_contract_not_found\");\n\n const walletMethods = this.connectedWallets[evmChain];\n const from = this.getAddress(evmChain);\n\n if (!(walletMethods?.sendTransaction && from)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n const { getProvider, toChecksumAddress } = await import(\"@swapkit/toolbox-evm\");\n const provider = getProvider(evmChain);\n const abi = lowercasedContractAbiMapping[contractAddress.toLowerCase()];\n\n if (!abi)\n throw new SwapKitError(\"core_swap_contract_not_supported\", {\n contractAddress,\n });\n\n const contract = await walletMethods.createContract?.(contractAddress, abi, provider);\n\n const tx = await contract.getFunction(\"swapIn\").populateTransaction(\n ...getSwapInParams({\n streamSwap,\n toChecksumAddress,\n contractAddress: contractAddress as AGG_CONTRACT_ADDRESS,\n recipient,\n calldata,\n }),\n { from },\n );\n\n return walletMethods.sendTransaction(tx, feeOptionKey) as Promise<string>;\n }\n\n throw new SwapKitError(\"core_swap_quote_mode_not_supported\", { quoteMode });\n };\n\n getWalletByChain = async (chain: Chain, potentialScamFilter?: boolean) => {\n const address = this.getAddress(chain);\n if (!address) return null;\n const defaultBalance = [AssetValue.fromChainOrSignature(chain)];\n const walletType = this.connectedChains[chain]?.walletType as WalletOption;\n\n try {\n const balance = await this.getWallet(chain)?.getBalance(address, potentialScamFilter);\n\n this.connectedChains[chain] = {\n address,\n balance: balance?.length ? balance : defaultBalance,\n walletType,\n };\n\n return { ...this.connectedChains[chain] };\n } catch (error) {\n console.error(error);\n\n return { address, balance: defaultBalance, walletType };\n }\n };\n\n approveAssetValue = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve({ assetValue, type: \"approve\", contractAddress });\n\n isAssetValueApproved = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve<boolean>({ assetValue, contractAddress, type: \"checkOnly\" });\n\n validateAddress = ({ address, chain }: { address: string; chain: Chain }) =>\n this.getWallet(chain)?.validateAddress?.(address);\n\n transfer = async (params: CoreTxParams & { router?: string }) => {\n const walletInstance = this.connectedWallets[params.assetValue.chain];\n if (!walletInstance) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n try {\n return await walletInstance.transfer(this.#prepareTxParams(params));\n } catch (error) {\n throw new SwapKitError(\"core_swap_transaction_error\", error);\n }\n };\n\n deposit = async ({\n assetValue,\n recipient,\n router,\n ...rest\n }: // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO: Refactor\n CoreTxParams & { router?: string }) => {\n const { chain, symbol, ticker } = assetValue;\n const walletInstance = this.connectedWallets[chain];\n const connectedWallet = this.connectedChains[chain];\n const isAddressValidated = await validateAddressType({\n address: connectedWallet?.address,\n chain,\n });\n\n if (!isAddressValidated) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n if (!walletInstance) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const params = this.#prepareTxParams({\n assetValue,\n recipient,\n router,\n ...rest,\n });\n\n try {\n switch (chain) {\n case Chain.THORChain:\n case Chain.Maya: {\n const wallet = walletInstance as ThorchainWallet;\n return await (recipient === \"\" ? wallet.deposit(params) : wallet.transfer(params));\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Avalanche: {\n const { getChecksumAddressFromAsset } = await import(\"@swapkit/toolbox-evm\");\n\n const abi =\n chain === Chain.Avalanche\n ? TCAvalancheDepositABI\n : chain === Chain.BinanceSmartChain\n ? TCBscDepositABI\n : TCEthereumVaultAbi;\n\n const response = await (\n walletInstance as EVMWallet<typeof AVAXToolbox | typeof ETHToolbox | typeof BSCToolbox>\n ).call({\n abi,\n contractAddress:\n router || ((await this.#getInboundDataByChain(chain as EVMChain)).router as string),\n funcName: \"depositWithExpiry\",\n funcParams: [\n recipient,\n getChecksumAddressFromAsset({ chain, symbol, ticker }, chain),\n assetValue.getBaseValue(\"string\"),\n params.memo,\n rest.expiration ||\n Number.parseInt(`${(new Date().getTime() + 15 * 60 * 1000) / 1000}`),\n ],\n txOverrides: {\n from: params.from,\n value: assetValue.isGasAsset ? assetValue.getBaseValue(\"bigint\") : undefined,\n },\n });\n\n return response as string;\n }\n\n default: {\n return await walletInstance.transfer(params);\n }\n }\n } catch (error: any) {\n const errorMessage =\n typeof error === \"string\" ? error.toLowerCase() : error?.message.toLowerCase();\n const isInsufficientFunds = errorMessage?.includes(\"insufficient funds\");\n const isGas = errorMessage?.includes(\"gas\");\n const isServer = errorMessage?.includes(\"server\");\n const isUserRejected = errorMessage?.includes(\"user rejected\");\n const errorKey: ErrorKeys = isInsufficientFunds\n ? \"core_transaction_deposit_insufficient_funds_error\"\n : isGas\n ? \"core_transaction_deposit_gas_error\"\n : isServer\n ? \"core_transaction_deposit_server_error\"\n : isUserRejected\n ? \"core_transaction_user_rejected\"\n : \"core_transaction_deposit_error\";\n\n throw new SwapKitError(errorKey, error);\n }\n };\n\n /**\n * TC related Methods\n */\n createLiquidity = async ({\n runeAssetValue,\n assetValue,\n }: {\n runeAssetValue: AssetValue;\n assetValue: AssetValue;\n }) => {\n if (runeAssetValue.lte(0) || assetValue.lte(0)) {\n throw new SwapKitError(\"core_transaction_create_liquidity_invalid_params\");\n }\n\n let runeTx = \"\";\n let assetTx = \"\";\n\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n ...assetValue,\n address: this.getAddress(assetValue.chain),\n }),\n });\n } catch (error) {\n throw new SwapKitError(\"core_transaction_create_liquidity_rune_error\", error);\n }\n\n try {\n assetTx = await this.#depositToPool({\n assetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n ...assetValue,\n address: this.getAddress(Chain.THORChain),\n }),\n });\n } catch (error) {\n throw new SwapKitError(\"core_transaction_create_liquidity_asset_error\", error);\n }\n\n return { runeTx, assetTx };\n };\n\n addLiquidity = async ({\n runeAssetValue,\n assetValue,\n runeAddr,\n assetAddr,\n isPendingSymmAsset,\n mode = \"sym\",\n }: {\n runeAssetValue: AssetValue;\n assetValue: AssetValue;\n isPendingSymmAsset?: boolean;\n runeAddr?: string;\n assetAddr?: string;\n mode?: \"sym\" | \"rune\" | \"asset\";\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO: Refactor\n }) => {\n const { chain, symbol } = assetValue;\n const isSym = mode === \"sym\";\n const runeTransfer = runeAssetValue?.gt(0) && (isSym || mode === \"rune\");\n const assetTransfer = assetValue?.gt(0) && (isSym || mode === \"asset\");\n const includeRuneAddress = isPendingSymmAsset || runeTransfer;\n const runeAddress = includeRuneAddress ? runeAddr || this.getAddress(Chain.THORChain) : \"\";\n const assetAddress = isSym || mode === \"asset\" ? assetAddr || this.getAddress(chain) : \"\";\n\n if (!(runeTransfer || assetTransfer)) {\n throw new SwapKitError(\"core_transaction_add_liquidity_invalid_params\");\n }\n if (includeRuneAddress && !runeAddress) {\n throw new SwapKitError(\"core_transaction_add_liquidity_no_rune_address\");\n }\n\n let runeTx: string | undefined;\n let assetTx: string | undefined;\n\n if (runeTransfer && runeAssetValue) {\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n chain,\n symbol,\n address: assetAddress,\n }),\n });\n } catch (error) {\n throw new SwapKitError(\"core_transaction_add_liquidity_rune_error\", error);\n }\n }\n\n if (assetTransfer && assetValue) {\n try {\n assetTx = await this.#depositToPool({\n assetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n chain,\n symbol,\n address: runeAddress,\n }),\n });\n } catch (error) {\n throw new SwapKitError(\"core_transaction_add_liquidity_asset_error\", error);\n }\n }\n\n return { runeTx, assetTx };\n };\n\n addLiquidityPart = ({\n assetValue,\n poolAddress,\n address,\n symmetric,\n }: {\n assetValue: AssetValue;\n address?: string;\n poolAddress: string;\n symmetric: boolean;\n }) => {\n if (symmetric && !address) {\n throw new SwapKitError(\"core_transaction_add_liquidity_invalid_params\");\n }\n const memo = getMemoFor(MemoType.DEPOSIT, {\n chain: poolAddress.split(\".\")[0] as Chain,\n symbol: poolAddress.split(\".\")[1],\n address: symmetric ? address : \"\",\n });\n\n return this.#depositToPool({ assetValue, memo });\n };\n\n withdraw = ({\n memo,\n assetValue,\n percent,\n from,\n to,\n }: {\n memo?: string;\n assetValue: AssetValue;\n percent: number;\n from: \"sym\" | \"rune\" | \"asset\";\n to: \"sym\" | \"rune\" | \"asset\";\n }) => {\n const targetAsset =\n to === \"rune\" && from !== \"rune\"\n ? AssetValue.fromChainOrSignature(Chain.THORChain)\n : (from === \"sym\" && to === \"sym\") || from === \"rune\" || from === \"asset\"\n ? undefined\n : assetValue;\n\n const value = getMinAmountByChain(from === \"asset\" ? assetValue.chain : Chain.THORChain);\n const memoString =\n memo ||\n getMemoFor(MemoType.WITHDRAW, {\n symbol: assetValue.symbol,\n chain: assetValue.chain,\n ticker: assetValue.ticker,\n basisPoints: Math.min(10000, Math.round(percent * 100)),\n targetAssetString: targetAsset?.toString(),\n singleSide: false,\n });\n\n return this.#depositToPool({ assetValue: value, memo: memoString });\n };\n\n savings = ({\n assetValue,\n memo,\n percent,\n type,\n }: { assetValue: AssetValue; memo?: string } & (\n | { type: \"add\"; percent?: undefined }\n | { type: \"withdraw\"; percent: number }\n )) => {\n const memoType = type === \"add\" ? MemoType.DEPOSIT : MemoType.WITHDRAW;\n const memoString =\n memo ||\n getMemoFor(memoType, {\n ticker: assetValue.ticker,\n symbol: assetValue.symbol,\n chain: assetValue.chain,\n singleSide: true,\n basisPoints: percent ? Math.min(10000, Math.round(percent * 100)) : undefined,\n });\n\n const value =\n memoType === MemoType.DEPOSIT ? assetValue : getMinAmountByChain(assetValue.chain);\n\n return this.#depositToPool({ memo: memoString, assetValue: value });\n };\n\n loan = ({\n assetValue,\n memo,\n minAmount,\n type,\n }: {\n assetValue: AssetValue;\n memo?: string;\n minAmount: AssetValue;\n type: \"open\" | \"close\";\n }) =>\n this.#depositToPool({\n assetValue,\n memo:\n memo ||\n getMemoFor(type === \"open\" ? MemoType.OPEN_LOAN : MemoType.CLOSE_LOAN, {\n asset: assetValue.toString(),\n minAmount: minAmount.toString(),\n address: this.getAddress(assetValue.chain),\n }),\n });\n\n nodeAction = ({\n type,\n assetValue,\n address,\n }: { address: string } & (\n | { type: \"bond\" | \"unbond\"; assetValue: AssetValue }\n | { type: \"leave\"; assetValue?: undefined }\n )) => {\n const memoType =\n type === \"bond\" ? MemoType.BOND : type === \"unbond\" ? MemoType.UNBOND : MemoType.LEAVE;\n const memo = getMemoFor(memoType, {\n address,\n unbondAmount: type === \"unbond\" ? assetValue.getBaseValue(\"number\") : undefined,\n });\n\n return this.#thorchainTransfer({\n memo,\n assetValue: type === \"bond\" ? assetValue : getMinAmountByChain(Chain.THORChain),\n });\n };\n\n registerThorname = ({\n assetValue,\n ...param\n }: ThornameRegisterParam & { assetValue: AssetValue }) =>\n this.#thorchainTransfer({\n assetValue,\n memo: getMemoFor(MemoType.THORNAME_REGISTER, param),\n });\n\n registerMayaname = ({\n assetValue,\n ...param\n }: ThornameRegisterParam & { assetValue: AssetValue }) =>\n this.#mayachainTransfer({\n assetValue,\n memo: getMemoFor(MemoType.THORNAME_REGISTER, param),\n });\n\n extend = ({ wallets, config, apis = {}, rpcUrls = {} }: ExtendParams<T>) => {\n try {\n for (const wallet of wallets) {\n // @ts-expect-error - this is fine as we are extending the class\n this[wallet.connectMethodName] = wallet.connect({\n addChain: this.#addConnectedChain,\n config: config || {},\n apis,\n rpcUrls,\n });\n }\n } catch (error) {\n throw new SwapKitError(\"core_extend_error\", error);\n }\n };\n\n estimateMaxSendableAmount = async ({\n chain,\n params,\n }: {\n chain: Chain;\n params: { from: string; recipient: string; assetValue: AssetValue };\n }) => {\n const walletMethods = this.getWallet<typeof chain>(chain);\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { estimateMaxSendableAmount } = await import(\"@swapkit/toolbox-evm\");\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as EVMToolbox,\n });\n }\n\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin:\n return (walletMethods as UTXOToolbox).estimateMaxSendableAmount(params);\n\n case Chain.Binance:\n case Chain.THORChain:\n case Chain.Cosmos: {\n const { estimateMaxSendableAmount } = await import(\"@swapkit/toolbox-cosmos\");\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as CosmosLikeToolbox,\n });\n }\n\n default:\n throw new SwapKitError(\"core_estimated_max_spendable_chain_not_supported\");\n }\n };\n\n /**\n * Wallet connection methods\n */\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectXDEFI = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_xdefi_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectEVMWallet = async (_chains: Chain[] | Chain, _wallet: EVMWalletOptions): Promise<void> => {\n throw new SwapKitError(\"core_wallet_evmwallet_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectWalletconnect = async (_chains: Chain[], _options?: any): Promise<void> => {\n throw new SwapKitError(\"core_wallet_walletconnect_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectKeepkey = async (_chains: Chain[], _derivationPath: number[][]): Promise<string> => {\n throw new SwapKitError(\"core_wallet_keepkey_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectKeystore = async (_chains: Chain[], _phrase: string): Promise<void> => {\n throw new SwapKitError(\"core_wallet_keystore_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectLedger = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_ledger_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectTrezor = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_trezor_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectKeplr = async (_chain: Chain): Promise<void> => {\n throw new SwapKitError(\"core_wallet_keplr_not_installed\");\n };\n // biome-ignore lint/suspicious/useAwait: Extended methods\n connectOkx = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_okx_not_installed\");\n };\n\n disconnectChain = (chain: Chain) => {\n this.connectedChains[chain] = null;\n this.connectedWallets[chain] = null;\n };\n\n #getInboundDataByChain = async (chain: Chain) => {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain:\n return { gas_rate: \"0\", router: \"\", address: \"\", halted: false, chain };\n\n default: {\n const inboundData = await getThorInboundData(this.stagenet);\n const chainAddressData = inboundData.find((item) => item.chain === chain);\n\n if (!chainAddressData) throw new SwapKitError(\"core_inbound_data_not_found\");\n if (chainAddressData?.halted) throw new SwapKitError(\"core_chain_halted\");\n\n return chainAddressData;\n }\n }\n };\n\n #addConnectedChain = ({\n chain,\n address,\n balance,\n walletType,\n ...rest\n }: AddChainWalletParams<any>) => {\n this.connectedChains[chain as Chain] = {\n address: address || \"\",\n balance: balance || [],\n walletType: walletType || \"unknown\",\n };\n this.connectedWallets[chain as Chain] = { ...rest } as any;\n };\n\n #approve = async <T = string>({\n assetValue,\n type = \"checkOnly\",\n contractAddress,\n }: {\n assetValue: AssetValue;\n type?: \"checkOnly\" | \"approve\";\n contractAddress?: string;\n }) => {\n const { address, chain, isGasAsset, isSynthetic } = assetValue;\n const isEVMChain = [Chain.Ethereum, Chain.Avalanche, Chain.BinanceSmartChain].includes(chain);\n const isNativeEVM = isEVMChain && isGasAsset;\n\n if (isNativeEVM || !isEVMChain || isSynthetic) return true;\n\n const walletMethods = this.connectedWallets[chain as EVMChain];\n const walletAction = type === \"checkOnly\" ? walletMethods?.isApproved : walletMethods?.approve;\n\n if (!walletAction) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const from = this.getAddress(chain);\n\n if (!(address && from)) throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n\n const spenderAddress =\n contractAddress || ((await this.#getInboundDataByChain(chain)).router as string);\n\n return walletAction({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: address,\n from,\n spenderAddress,\n }) as Promise<T>;\n };\n\n #depositToPool = async ({\n assetValue,\n memo,\n feeOptionKey = FeeOption.Fast,\n }: {\n assetValue: AssetValue;\n memo: string;\n feeOptionKey?: FeeOption;\n }) => {\n const {\n gas_rate,\n router,\n address: poolAddress,\n } = await this.#getInboundDataByChain(assetValue.chain);\n const feeRate = (Number.parseInt(gas_rate) || 0) * gasFeeMultiplier[feeOptionKey];\n\n return this.deposit({\n assetValue,\n recipient: poolAddress,\n memo,\n router,\n feeRate,\n });\n };\n\n #thorchainTransfer = async ({\n memo,\n assetValue,\n }: {\n assetValue: AssetValue;\n memo: string;\n }) => {\n const mimir = await getThorMimirData(this.stagenet);\n\n // check if trading is halted or not\n if (mimir.HALTCHAINGLOBAL >= 1 || mimir.HALTTHORCHAIN >= 1) {\n throw new SwapKitError(\"core_chain_halted\");\n }\n\n return this.deposit({ assetValue, recipient: \"\", memo });\n };\n\n #mayachainTransfer = async ({\n memo,\n assetValue,\n }: {\n assetValue: AssetValue;\n memo: string;\n }) => {\n const mimir = await getMayaMimirData(this.stagenet);\n\n // check if trading is halted or not\n if (mimir.HALTCHAINGLOBAL >= 1 || mimir.HALTTHORCHAIN >= 1) {\n throw new SwapKitError(\"core_chain_halted\");\n }\n\n return this.deposit({ assetValue, recipient: \"\", memo });\n };\n\n #prepareTxParams = ({ assetValue, ...restTxParams }: CoreTxParams & { router?: string }) => ({\n ...restTxParams,\n memo: restTxParams.memo || \"\",\n from: this.getAddress(assetValue.chain),\n assetValue,\n });\n}\n"],"names":["getExplorerTxUrl","chain","txHash","baseUrl","ChainToExplorerUrl","Chain","getExplorerAddressUrl","address","ApproveMode","SwapKit","stagenet","wallets","plugins","config","apis","rpcUrls","connectedWallets","availablePlugins","plugin","name","methods","connectWalletMethods","acc","wallet","addChain","getSwapKitPlugin","pluginName","SwapKitError","connectWallet","approve","assetValue","type","contractAddress","isGasAsset","isSynthetic","isEVMChain","walletMethods","walletAction","from","getAddress","spenderAddress","getWallet","_a","getBalance","getTxUrl","getAddressUrl","validateAddress","_b","getWalletWithBalance","potentialScamFilter","defaultBalance","AssetValue","balance","error","approveAssetValue","isAssetValueApproved","swap","provider","rest","avaxGeneric","avaxWoofi","bscGeneric","ethGeneric","pancakeV2","pangolin","kyberRouter","oneInchRouter","pancakeSwapRouter","pangolinRouter","sushiswapRouter","traderJoeRouter","uniswapv2Router","uniswapv3Router","woofiRouter","lowercasedRouterAbiMapping","sushiswap","traderJoe","uniswapV2","uniswapV2Leg","uniswapV3_100","uniswapV3_500","uniswapV3_3000","uniswapV3_10000","lowercasedGenericAbiMappings","lowercasedContractAbiMapping","getSwapInParams","streamSwap","recipient","toChecksumAddress","amount","amountOutMin","data","deadline","memo","router","memoStreamingSwap","tcMemo","tcRouter","tcVault","vault","token","isGeneric","baseMemo","transactionMemo","baseParams","contractParams","getMayaMimirData","ApiUrl","RequestClient","getThorInboundData","getThorMimirData","getEmptyWalletStructure","validateAddressType","SwapKitCore","__publicField","route","feeOptionKey","FeeOption","quoteMode","evmChain","AGG_SWAP","to","value","params","ChainToChainId","SWAP_OUT","asset","__privateGet","_getInboundDataByChain","expiration","amountIn","SwapKitNumber","swapMemo","SWAP_IN","calldata","getProvider","abi","tx","walletType","_approve","walletInstance","_prepareTxParams","symbol","ticker","connectedWallet","getChecksumAddressFromAsset","TCAvalancheDepositABI","TCBscDepositABI","TCEthereumVaultAbi","errorMessage","isInsufficientFunds","isGas","isServer","isUserRejected","errorKey","runeAssetValue","runeTx","assetTx","_depositToPool","getMemoFor","MemoType","runeAddr","assetAddr","isPendingSymmAsset","mode","isSym","runeTransfer","assetTransfer","includeRuneAddress","runeAddress","assetAddress","poolAddress","symmetric","percent","targetAsset","getMinAmountByChain","memoString","memoType","minAmount","_thorchainTransfer","param","_mayachainTransfer","_addConnectedChain","estimateMaxSendableAmount","_chains","_wallet","_options","_derivationPath","_phrase","_chain","__privateAdd","chainAddressData","item","gas_rate","feeRate","gasFeeMultiplier","mimir","restTxParams"],"mappings":"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,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHaC,EAAc,CACzB,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,UAAW,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,S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A,CACE,OAAQ,CAAC,EACT,KAAM,eACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,cACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,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,EC3oEaC,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,UAAW,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVaC,GAAiB,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,UAAW,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVaC,GAAkB,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,UAAW,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVaC,GAAkB,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,UAAW,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVaC,GAAkB,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,UAAW,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,UAAW,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,UAAW,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,UAAW,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,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,YAAa,EAC3E,gBAAiB,aACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECnVaC,GAAkB,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,UAAW,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,UAAW,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,UAAW,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,UAAW,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,UAAW,EACxE,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,UAAW,EACnE,KAAM,YACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,UAAW,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,EC7PaC,GAAc,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,UAAW,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,UAAW,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,UAAW,EAC5E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,UAAW,EACzE,KAAM,sBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,QACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,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,UAAW,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,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,UAAW,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,UAAW,EAC5E,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,UAAW,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,UAAW,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,oBAAqB,KAAM,GAAI,KAAM,UAAW,EAC1E,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECjIaC,GAA6B,CAExC,CAAC,6CAA8B,YAAY,CAAC,EAAGN,GAC/C,CAAC,6CAA2B,YAAY,CAAC,EAAGK,GAC5C,CAAC,6CAA+B,YAAY,CAAC,EAAGH,GAChD,CAAC,6CAAkC,YAAY,CAAC,EAAGJ,EACnD,CAAC,6CAAgC,YAAY,CAAC,EAAGD,EAEjD,CAAC,6CAAqC,YAAY,CAAC,EAAGE,EAEtD,CAAC,6CAA+B,YAAY,CAAC,EAAGF,EAChD,CAAC,6CAA+B,YAAY,CAAC,EAAGI,GAChD,CAAC,6CAAqC,YAAY,CAAC,EAAGF,EACtD,CAAC,6CAAgC,YAAY,CAAC,EAAGI,GACjD,CAAC,6CAAgC,YAAY,CAAC,EAAGC,GACjD,CAAC,6CAAiC,YAAY,CAAC,EAAGN,CACpD,ECzDaS,GAAY,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,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,UAAW,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHaC,GAAY,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,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,UAAW,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHaC,GAAY,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,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,UAAW,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHaC,GAAe,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,WACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,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,UAAW,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HaC,GAAgB,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,SAAU,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,UAAW,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,UAAW,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HaC,GAAgB,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,SAAU,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,UAAW,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,UAAW,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HaC,GAAiB,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,SAAU,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,UAAW,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,UAAW,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC/HaC,GAAkB,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,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,EAC1D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,SAAU,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,UAAW,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,UAAW,EACxE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,EC3EaC,EAA+B,CAC1C,CAAC,6CAAkC,YAAY,CAAC,EAAGxB,GACnD,CAAC,6CAAiC,YAAY,CAAC,EAAGE,GAClD,CAAC,6CAAiC,YAAY,CAAC,EAAGC,EACpD,EAEasB,GAA+B,CAC1C,GAAGV,GACH,GAAGS,EAEH,CAAC,6CAA8B,YAAY,CAAC,EAAGnB,GAC/C,CAAC,6CAAgC,YAAY,CAAC,EAAGJ,GACjD,CAAC,6CAAqC,YAAY,CAAC,EAAGgB,GAEtD,CAAC,6CAAoC,YAAY,CAAC,EAAGb,GAErD,CAAC,6CAA+B,YAAY,CAAC,EAAGY,GAChD,CAAC,6CAAgC,YAAY,CAAC,EAAGE,GACjD,CAAC,6CAAoC,YAAY,CAAC,EAAGC,GACrD,CAAC,6CAAoC,YAAY,CAAC,EAAGC,GACrD,CAAC,6CAAoC,YAAY,CAAC,EAAGC,GACrD,CAAC,6CAAqC,YAAY,CAAC,EAAGC,GACtD,CAAC,6CAAsC,YAAY,CAAC,EAAGC,EACzD,EC9DaG,GAAkB,CAAC,CAC9B,WAAAC,EACA,gBAAAtD,EACA,UAAAuD,EACA,kBAAAC,EACA,SAAU,CACR,OAAAC,EACA,aAAAC,EAAe,GACf,KAAAC,EAAO,GACP,SAAAC,EACA,KAAAC,EACA,OAAAC,EACA,kBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,QAAAC,EACA,MAAAC,EACA,MAAAC,CACF,CACF,IAAoB,CAClB,MAAMC,EAAY,CAAC,CAAClB,EAA6BnD,EAAgB,YAAa,CAAA,EAE1E,GAAAqE,GAAa,CAACP,EACV,MAAA,IAAI,MAAM,gEAAgE,EAWlF,MAAMQ,EAAWN,GAAUH,EACrBU,EAAkBjB,GAAaS,GAAqBO,EAE1D,GAAI,EAAEJ,GAAWC,GAAc,MAAA,IAAI,MAAM,kCAAkC,EAC3E,GAAI,EAAEF,GAAYH,GAAe,MAAA,IAAI,MAAM,mCAAmC,EAC9E,GAAI,CAACS,EAAuB,MAAA,IAAI,MAAM,iCAAiC,EACvE,GAAI,CAACH,EAAa,MAAA,IAAI,MAAM,+BAA+B,EAE3D,MAAMI,EAAa,CAEjBhB,EAAmBS,GAAYH,CAAiB,EAChDN,EAAmBU,GAAWC,CAAgB,EAC9CI,EAAgB,QAAQ,qBAAsBhB,CAAS,EACvDC,EAAkBY,CAAK,EACvBX,CAAA,EAGIgB,EAAiBJ,EACnB,CAACb,EAAkBM,CAAgB,EAAGH,EAAMC,CAAQ,EACpD,CAACF,EAAcE,CAAQ,EAE3B,MAAO,CAAC,GAAGY,EAAY,GAAGC,CAAc,CAC1C,EC3CaC,GAAoBhG,GAAsB,CACrD,MAAMP,EAAUO,EAAWiG,EAAAA,OAAO,iBAAmBA,EAAAA,OAAO,gBAE5D,OAAOC,EAAAA,cAAc,IAA4B,GAAGzG,CAAO,kBAAkB,CAC/E,ECVa0G,GAAsBnG,GAAsB,CACvD,MAAMP,EAAUO,EAAWiG,EAAAA,OAAO,iBAAmBA,EAAAA,OAAO,gBAE5D,OAAOC,EAAAA,cAAc,IAAwB,GAAGzG,CAAO,8BAA8B,CACvF,EAEa2G,GAAoBpG,GAAsB,CACrD,MAAMP,EAAUO,EAAWiG,EAAAA,OAAO,iBAAmBA,EAAAA,OAAO,gBAE5D,OAAOC,EAAAA,cAAc,IAA4B,GAAGzG,CAAO,kBAAkB,CAC/E,ECkBM4G,EAA0B,IAC7B,OAAO,OAAO1G,EAAAA,KAAK,EAAc,OAChC,CAACiB,EAAKrB,KACJqB,EAAIrB,CAAK,EAAI,KACNqB,GAET,CAAC,CACH,EAEI0F,GAAsB,CAAC,CAC3B,MAAA/G,EACA,QAAAM,CACF,IAGM,CACJ,GAAI,CAACA,EAAgB,MAAA,GAErB,OAAQN,EAAO,CACb,KAAKI,EAAM,MAAA,QAEF,MAAA,CAACE,EAAQ,WAAW,MAAM,EACnC,QACS,MAAA,EACX,CACF,oBAKO,MAAM0G,EAAoB,CAK/B,YAAY,CAAE,SAAAvG,CAAS,EAAwC,GAAI,CAJ5DwG,EAAA,uBAA6BH,EAAwB,GACrDG,EAAA,wBAAkCH,EAAwB,GACjDG,EAAA,gBAAoB,IAMpCA,EAAA,kBAAcjH,UAAiB,QAAAyC,EAAA,KAAK,gBAAgBzC,CAAK,IAA1B,YAAAyC,EAA6B,UAAW,KACvEwE,EAAA,wBAAmB,CAACjH,EAAcC,IAAmBF,EAAiB,CAAE,MAAAC,EAAO,OAAAC,EAAQ,GACvFgH,EAAA,iBAA8BjH,GAAiB,KAAK,iBAAiBA,CAAK,GAC1EiH,EAAA,6BAAwB,CAACjH,EAAcM,IACrCD,EAAsB,CAAE,MAAAL,EAAO,QAAAM,EAAS,GAC1C2G,EAAA,kBAAa,MAAOjH,EAAcgD,IAAkC,CAClE,MAAM1B,EAAS,MAAM,KAAK,iBAAiBtB,EAAOgD,CAAmB,EAE9D,OAAA1B,GAAA,YAAAA,EAAQ,UAAW,EAAC,GAG7B2F,EAAA,YAAO,MAAO,CACZ,WAAA5B,EACA,UAAAC,EACA,MAAA4B,EACA,aAAAC,EAAeC,EAAU,UAAA,OAAA,IAEA,SACnB,KAAA,CACJ,KAAM,CAAE,UAAAC,CAAU,CAEhB,EAAAH,EACEI,EAAWD,EAAU,WAAW,QAAQ,EAC1CjH,QAAM,SACNiH,EAAU,WAAW,QAAQ,EAC3BjH,QAAM,UACNiH,EAAU,WAAW,QAAQ,EAC3BjH,QAAM,kBACN,OAER,GAAI,CAAE8G,EAAqB,SAAgB,MAAA,IAAIxF,EAAAA,aAAa,8BAA8B,EAyB1F,GAAI6F,WAAS,SAASF,CAAS,GAAKC,EAAU,CACtC,MAAAnF,EAAgB,KAAK,iBAAiBmF,CAAQ,EAChD,GAAA,EAACnF,GAAA,MAAAA,EAAe,iBACZ,MAAA,IAAIT,EAAAA,aAAa,kCAAkC,EAM3D,GAAI,EAHgB2D,GACf5C,EAAAyE,GAAA,YAAAA,EAAsB,gBAAtB,YAAAzE,EAAqC,YACrCyE,GAAA,YAAAA,EAAsB,aACH,MAAA,IAAIxF,EAAAA,aAAa,uCAAuC,EAEhF,KAAM,CAAE,KAAAgE,EAAM,KAAArD,EAAM,GAAAmF,EAAI,MAAAC,GAAWP,EAAqB,YAElDQ,EAAS,CACb,KAAAhC,EACA,KAAArD,EACA,GAAImF,EAAG,YAAY,EACnB,QAAS,OAAOG,iBAAeL,CAAQ,CAAC,EACxC,MAAOG,EAAQ,OAAOA,CAAK,EAAI,EAAA,EAG1B,OAAAtF,EAAc,gBAAgBuF,EAAQP,CAAY,CAC3D,CAEI,GAAAS,EAAA,SAAS,SAASP,CAAS,EAAG,CAC5B,GAAA,CAAEH,EAAqB,SAAS,UAC5B,MAAA,IAAIxF,EAAAA,aAAa,gCAAgC,EAEzD,MAAMmG,EAAQ,MAAM3E,aAAW,WAAYgE,EAAqB,SAAS,SAAS,EAClF,GAAI,CAACW,EAAa,MAAA,IAAInG,EAAAA,aAAa,gCAAgC,EAE7D,KAAA,CAAE,QAAS4D,GAAc,MAAMwC,EAAA,KAAKC,GAAL,UAA4BF,EAAM,OACjE,CACJ,SAAUhC,EACV,SAAU,CAAE,WAAAmC,EAAY,SAAAC,EAAU,KAAArC,EAAM,kBAAAE,CAAkB,CACxD,EAAAoB,EAEErF,EAAagG,EAAM,IAAIK,gBAAc,WAAW,OAAOD,CAAQ,EAAGJ,EAAM,OAAO,CAAC,EAChFM,EAAY9C,GAAaS,GAAqBF,EAEpD,OAAO,KAAK,QAAQ,CAClB,WAAAoC,EACA,WAAAnG,EACA,KAAMsG,EACN,aAAAhB,EACA,OAAAtB,EACA,UAAAP,CAAA,CACD,CACH,CAEA,GAAI8C,UAAQ,SAASf,CAAS,GAAKC,EAAU,CAC3C,KAAM,CAAE,SAAAe,EAAU,SAAUtG,CAAA,EAAoBmF,EAChD,GAAI,CAACnF,EAAuB,MAAA,IAAIL,EAAAA,aAAa,8BAA8B,EAErE,MAAAS,EAAgB,KAAK,iBAAiBmF,CAAQ,EAC9CjF,EAAO,KAAK,WAAWiF,CAAQ,EAEjC,GAAA,EAAEnF,GAAA,MAAAA,EAAe,iBAAmBE,GAChC,MAAA,IAAIX,EAAAA,aAAa,kCAAkC,EAG3D,KAAM,CAAE,YAAA4G,EAAa,kBAAA/C,CAAsB,EAAA,KAAM,QAAO,sBAAsB,EACxE/B,EAAW8E,EAAYhB,CAAQ,EAC/BiB,EAAMpD,GAA6BpD,EAAgB,YAAa,CAAA,EAEtE,GAAI,CAACwG,EACG,MAAA,IAAI7G,eAAa,mCAAoC,CACzD,gBAAAK,CAAA,CACD,EAIH,MAAMyG,EAAK,MAFM,OAAM1F,EAAAX,EAAc,iBAAd,YAAAW,EAAA,KAAAX,EAA+BJ,EAAiBwG,EAAK/E,KAElD,YAAY,QAAQ,EAAE,oBAC9C,GAAG4B,GAAgB,CACjB,WAAAC,EACA,kBAAAE,EACA,gBAAAxD,EACA,UAAAuD,EACA,SAAA+C,CAAA,CACD,EACD,CAAE,KAAAhG,CAAK,CAAA,EAGF,OAAAF,EAAc,gBAAgBqG,EAAIrB,CAAY,CACvD,CAEA,MAAM,IAAIzF,EAAAA,aAAa,qCAAsC,CAAE,UAAA2F,CAAW,CAAA,CAAA,GAG5EJ,EAAA,wBAAmB,MAAOjH,EAAcgD,IAAkC,SAClE,MAAA1C,EAAU,KAAK,WAAWN,CAAK,EACrC,GAAI,CAACM,EAAgB,OAAA,KACrB,MAAM2C,EAAiB,CAACC,EAAAA,WAAW,qBAAqBlD,CAAK,CAAC,EACxDyI,GAAahG,EAAA,KAAK,gBAAgBzC,CAAK,IAA1B,YAAAyC,EAA6B,WAE5C,GAAA,CACI,MAAAU,EAAU,OAAML,EAAA,KAAK,UAAU9C,CAAK,IAApB,YAAA8C,EAAuB,WAAWxC,EAAS0C,IAE5D,YAAA,gBAAgBhD,CAAK,EAAI,CAC5B,QAAAM,EACA,QAAS6C,GAAA,MAAAA,EAAS,OAASA,EAAUF,EACrC,WAAAwF,CAAA,EAGK,CAAE,GAAG,KAAK,gBAAgBzI,CAAK,CAAE,QACjCoD,EAAO,CACd,eAAQ,MAAMA,CAAK,EAEZ,CAAE,QAAA9C,EAAS,QAAS2C,EAAgB,WAAAwF,CAAW,CACxD,CAAA,GAGFxB,EAAA,yBAAoB,CAACpF,EAAwBE,IAC3C+F,EAAA,KAAKY,GAAL,UAAc,CAAE,WAAA7G,EAAY,KAAM,UAAW,gBAAAE,CAAiB,IAEhEkF,EAAA,4BAAuB,CAACpF,EAAwBE,IAC9C+F,EAAA,KAAKY,GAAL,UAAuB,CAAE,WAAA7G,EAAY,gBAAAE,EAAiB,KAAM,WAAa,IAE3EkF,EAAA,uBAAkB,CAAC,CAAE,QAAA3G,EAAS,MAAAN,KAC5B,SAAA,OAAA8C,GAAAL,EAAA,KAAK,UAAUzC,CAAK,IAApB,YAAAyC,EAAuB,kBAAvB,YAAAK,EAAA,KAAAL,EAAyCnC,KAE3C2G,EAAA,gBAAW,MAAOS,GAA+C,CAC/D,MAAMiB,EAAiB,KAAK,iBAAiBjB,EAAO,WAAW,KAAK,EACpE,GAAI,CAACiB,EAAsB,MAAA,IAAIjH,EAAAA,aAAa,kCAAkC,EAE1E,GAAA,CACF,OAAO,MAAMiH,EAAe,SAASb,EAAA,KAAKc,GAAL,UAAsBlB,EAAO,QAC3DtE,EAAO,CACR,MAAA,IAAI1B,EAAa,aAAA,8BAA+B0B,CAAK,CAC7D,CAAA,GAGF6D,EAAA,eAAU,MAAO,CACf,WAAApF,EACA,UAAAyD,EACA,OAAAO,EACA,GAAGpC,CAAA,IAEkC,CACrC,KAAM,CAAE,MAAAzD,EAAO,OAAA6I,EAAQ,OAAAC,CAAA,EAAWjH,EAC5B8G,EAAiB,KAAK,iBAAiB3I,CAAK,EAC5C+I,EAAkB,KAAK,gBAAgB/I,CAAK,EAMlD,GAAI,CALuB,MAAM+G,GAAoB,CACnD,QAASgC,GAAA,YAAAA,EAAiB,QAC1B,MAAA/I,CAAA,CACD,EAGO,MAAA,IAAI0B,EAAAA,aAAa,yCAAyC,EAGlE,GAAI,CAACiH,EAAsB,MAAA,IAAIjH,EAAAA,aAAa,kCAAkC,EAExE,MAAAgG,EAASI,EAAA,KAAKc,GAAL,UAAsB,CACnC,WAAA/G,EACA,UAAAyD,EACA,OAAAO,EACA,GAAGpC,CAAA,GAGD,GAAA,CACF,OAAQzD,EAAO,CACb,KAAKI,EAAAA,MAAM,UACX,KAAKA,EAAAA,MAAM,KAAM,CACf,MAAMkB,EAASqH,EACR,OAAA,MAAOrD,IAAc,GAAKhE,EAAO,QAAQoG,CAAM,EAAIpG,EAAO,SAASoG,CAAM,EAClF,CAEA,KAAKtH,EAAAA,MAAM,SACX,KAAKA,EAAAA,MAAM,kBACX,KAAKA,EAAAA,MAAM,UAAW,CACpB,KAAM,CAAE,4BAAA4I,CAAA,EAAgC,KAAM,QAAO,sBAAsB,EAErET,EACJvI,IAAUI,EAAM,MAAA,UACZ6I,EAAAA,sBACAjJ,IAAUI,QAAM,kBACd8I,EACA,gBAAAC,qBAuBD,OArBU,MACfR,EACA,KAAK,CACL,IAAAJ,EACA,gBACE1C,IAAY,MAAMiC,EAAA,KAAKC,GAAL,UAA4B/H,IAAoB,OACpE,SAAU,oBACV,WAAY,CACVsF,EACA0D,EAA4B,CAAE,MAAAhJ,EAAO,OAAA6I,EAAQ,OAAAC,CAAA,EAAU9I,CAAK,EAC5D6B,EAAW,aAAa,QAAQ,EAChC6F,EAAO,KACPjE,EAAK,YACH,OAAO,SAAS,IAAQ,IAAA,KAAO,EAAA,QAAA,EAAY,GAAK,GAAK,KAAQ,GAAI,EAAE,CACvE,EACA,YAAa,CACX,KAAMiE,EAAO,KACb,MAAO7F,EAAW,WAAaA,EAAW,aAAa,QAAQ,EAAI,MACrE,CAAA,CACD,CAGH,CAEA,QACS,OAAA,MAAM8G,EAAe,SAASjB,CAAM,CAE/C,QACOtE,EAAY,CACb,MAAAgG,EACJ,OAAOhG,GAAU,SAAWA,EAAM,YAAY,EAAIA,GAAA,YAAAA,EAAO,QAAQ,cAC7DiG,EAAsBD,GAAA,YAAAA,EAAc,SAAS,sBAC7CE,EAAQF,GAAA,YAAAA,EAAc,SAAS,OAC/BG,EAAWH,GAAA,YAAAA,EAAc,SAAS,UAClCI,EAAiBJ,GAAA,YAAAA,EAAc,SAAS,iBACxCK,EAAsBJ,EACxB,oDACAC,EACE,qCACAC,EACE,wCACAC,EACE,iCACA,iCAEJ,MAAA,IAAI9H,EAAa,aAAA+H,EAAUrG,CAAK,CACxC,CAAA,GAMF6D,EAAA,uBAAkB,MAAO,CACvB,eAAAyC,EACA,WAAA7H,CAAA,IAII,CACJ,GAAI6H,EAAe,IAAI,CAAC,GAAK7H,EAAW,IAAI,CAAC,EACrC,MAAA,IAAIH,EAAAA,aAAa,kDAAkD,EAG3E,IAAIiI,EAAS,GACTC,EAAU,GAEV,GAAA,CACOD,EAAA,MAAM7B,EAAA,KAAK+B,GAAL,UAAoB,CACjC,WAAYH,EACZ,KAAMI,EAAAA,WAAWC,EAAA,SAAS,QAAS,CACjC,GAAGlI,EACH,QAAS,KAAK,WAAWA,EAAW,KAAK,CAAA,CAC1C,CAAA,SAEIuB,EAAO,CACR,MAAA,IAAI1B,EAAa,aAAA,+CAAgD0B,CAAK,CAC9E,CAEI,GAAA,CACQwG,EAAA,MAAM9B,EAAA,KAAK+B,GAAL,UAAoB,CAClC,WAAAhI,EACA,KAAMiI,EAAAA,WAAWC,EAAA,SAAS,QAAS,CACjC,GAAGlI,EACH,QAAS,KAAK,WAAWzB,EAAAA,MAAM,SAAS,CAAA,CACzC,CAAA,SAEIgD,EAAO,CACR,MAAA,IAAI1B,EAAa,aAAA,gDAAiD0B,CAAK,CAC/E,CAEO,MAAA,CAAE,OAAAuG,EAAQ,QAAAC,EAAQ,GAG3B3C,EAAA,oBAAe,MAAO,CACpB,eAAAyC,EACA,WAAA7H,EACA,SAAAmI,EACA,UAAAC,EACA,mBAAAC,EACA,KAAAC,EAAO,KAAA,IASH,CACE,KAAA,CAAE,MAAAnK,EAAO,OAAA6I,CAAW,EAAAhH,EACpBuI,EAAQD,IAAS,MACjBE,GAAeX,GAAA,YAAAA,EAAgB,GAAG,MAAOU,GAASD,IAAS,QAC3DG,GAAgBzI,GAAA,YAAAA,EAAY,GAAG,MAAOuI,GAASD,IAAS,SACxDI,EAAqBL,GAAsBG,EAC3CG,EAAcD,EAAqBP,GAAY,KAAK,WAAW5J,EAAA,MAAM,SAAS,EAAI,GAClFqK,EAAeL,GAASD,IAAS,QAAUF,GAAa,KAAK,WAAWjK,CAAK,EAAI,GAEnF,GAAA,EAAEqK,GAAgBC,GACd,MAAA,IAAI5I,EAAAA,aAAa,+CAA+C,EAEpE,GAAA6I,GAAsB,CAACC,EACnB,MAAA,IAAI9I,EAAAA,aAAa,gDAAgD,EAGrE,IAAAiI,EACAC,EAEJ,GAAIS,GAAgBX,EACd,GAAA,CACOC,EAAA,MAAM7B,EAAA,KAAK+B,GAAL,UAAoB,CACjC,WAAYH,EACZ,KAAMI,EAAAA,WAAWC,EAAA,SAAS,QAAS,CACjC,MAAA/J,EACA,OAAA6I,EACA,QAAS4B,CAAA,CACV,CAAA,SAEIrH,EAAO,CACR,MAAA,IAAI1B,EAAa,aAAA,4CAA6C0B,CAAK,CAC3E,CAGF,GAAIkH,GAAiBzI,EACf,GAAA,CACQ+H,EAAA,MAAM9B,EAAA,KAAK+B,GAAL,UAAoB,CAClC,WAAAhI,EACA,KAAMiI,EAAAA,WAAWC,EAAA,SAAS,QAAS,CACjC,MAAA/J,EACA,OAAA6I,EACA,QAAS2B,CAAA,CACV,CAAA,SAEIpH,EAAO,CACR,MAAA,IAAI1B,EAAa,aAAA,6CAA8C0B,CAAK,CAC5E,CAGK,MAAA,CAAE,OAAAuG,EAAQ,QAAAC,EAAQ,GAG3B3C,EAAA,wBAAmB,CAAC,CAClB,WAAApF,EACA,YAAA6I,EACA,QAAApK,EACA,UAAAqK,CAAA,IAMI,CACA,GAAAA,GAAa,CAACrK,EACV,MAAA,IAAIoB,EAAAA,aAAa,+CAA+C,EAElE,MAAAkE,EAAOkE,EAAAA,WAAWC,EAAA,SAAS,QAAS,CACxC,MAAOW,EAAY,MAAM,GAAG,EAAE,CAAC,EAC/B,OAAQA,EAAY,MAAM,GAAG,EAAE,CAAC,EAChC,QAASC,EAAYrK,EAAU,EAAA,CAChC,EAED,OAAOwH,EAAA,KAAK+B,GAAL,UAAoB,CAAE,WAAAhI,EAAY,KAAA+D,CAAM,EAAA,GAGjDqB,EAAA,gBAAW,CAAC,CACV,KAAArB,EACA,WAAA/D,EACA,QAAA+I,EACA,KAAAvI,EACA,GAAAmF,CAAA,IAOI,CACJ,MAAMqD,EACJrD,IAAO,QAAUnF,IAAS,OACtBa,aAAW,qBAAqB9C,EAAM,MAAA,SAAS,EAC9CiC,IAAS,OAASmF,IAAO,OAAUnF,IAAS,QAAUA,IAAS,QAC9D,OACAR,EAEF4F,EAAQqD,EAAoB,oBAAAzI,IAAS,QAAUR,EAAW,MAAQzB,QAAM,SAAS,EACjF2K,EACJnF,GACAkE,aAAWC,EAAAA,SAAS,SAAU,CAC5B,OAAQlI,EAAW,OACnB,MAAOA,EAAW,MAClB,OAAQA,EAAW,OACnB,YAAa,KAAK,IAAI,IAAO,KAAK,MAAM+I,EAAU,GAAG,CAAC,EACtD,kBAAmBC,GAAA,YAAAA,EAAa,WAChC,WAAY,EAAA,CACb,EAEH,OAAO/C,EAAA,KAAK+B,GAAL,UAAoB,CAAE,WAAYpC,EAAO,KAAMsD,GAAY,GAGpE9D,EAAA,eAAU,CAAC,CACT,WAAApF,EACA,KAAA+D,EACA,QAAAgF,EACA,KAAA9I,CAAA,IAII,CACJ,MAAMkJ,EAAWlJ,IAAS,MAAQiI,EAAA,SAAS,QAAUA,EAAS,SAAA,SACxDgB,EACJnF,GACAkE,EAAA,WAAWkB,EAAU,CACnB,OAAQnJ,EAAW,OACnB,OAAQA,EAAW,OACnB,MAAOA,EAAW,MAClB,WAAY,GACZ,YAAa+I,EAAU,KAAK,IAAI,IAAO,KAAK,MAAMA,EAAU,GAAG,CAAC,EAAI,MAAA,CACrE,EAEGnD,EACJuD,IAAajB,WAAS,QAAUlI,EAAaiJ,EAAA,oBAAoBjJ,EAAW,KAAK,EAEnF,OAAOiG,EAAA,KAAK+B,GAAL,UAAoB,CAAE,KAAMkB,EAAY,WAAYtD,GAAO,GAGpER,EAAA,YAAO,CAAC,CACN,WAAApF,EACA,KAAA+D,EACA,UAAAqF,EACA,KAAAnJ,CAAA,IAOAgG,EAAA,KAAK+B,GAAL,UAAoB,CAClB,WAAAhI,EACA,KACE+D,GACAkE,EAAAA,WAAWhI,IAAS,OAASiI,WAAS,UAAYA,WAAS,WAAY,CACrE,MAAOlI,EAAW,SAAS,EAC3B,UAAWoJ,EAAU,SAAS,EAC9B,QAAS,KAAK,WAAWpJ,EAAW,KAAK,CAAA,CAC1C,CAAA,IAGPoF,EAAA,kBAAa,CAAC,CACZ,KAAAnF,EACA,WAAAD,EACA,QAAAvB,CAAA,IAII,CACE,MAAA0K,EACJlJ,IAAS,OAASiI,EAAA,SAAS,KAAOjI,IAAS,SAAWiI,EAAS,SAAA,OAASA,EAAAA,SAAS,MAC7EnE,EAAOkE,aAAWkB,EAAU,CAChC,QAAA1K,EACA,aAAcwB,IAAS,SAAWD,EAAW,aAAa,QAAQ,EAAI,MAAA,CACvE,EAED,OAAOiG,EAAA,KAAKoD,GAAL,UAAwB,CAC7B,KAAAtF,EACA,WAAY9D,IAAS,OAASD,EAAaiJ,EAAA,oBAAoB1K,QAAM,SAAS,CAAA,EAC/E,GAGH6G,EAAA,wBAAmB,CAAC,CAClB,WAAApF,EACA,GAAGsJ,CAAA,IAEHrD,EAAA,KAAKoD,GAAL,UAAwB,CACtB,WAAArJ,EACA,KAAMiI,EAAA,WAAWC,WAAS,kBAAmBoB,CAAK,CAAA,IAGtDlE,EAAA,wBAAmB,CAAC,CAClB,WAAApF,EACA,GAAGsJ,CAAA,IAEHrD,EAAA,KAAKsD,GAAL,UAAwB,CACtB,WAAAvJ,EACA,KAAMiI,EAAA,WAAWC,WAAS,kBAAmBoB,CAAK,CAAA,IAGtDlE,EAAA,cAAS,CAAC,CAAE,QAAAvG,EAAS,OAAAE,EAAQ,KAAAC,EAAO,GAAI,QAAAC,EAAU,CAAA,KAA0B,CACtE,GAAA,CACF,UAAWQ,KAAUZ,EAEnB,KAAKY,EAAO,iBAAiB,EAAIA,EAAO,QAAQ,CAC9C,SAAUwG,EAAA,KAAKuD,GACf,OAAQzK,GAAU,CAAC,EACnB,KAAAC,EACA,QAAAC,CAAA,CACD,QAEIsC,EAAO,CACR,MAAA,IAAI1B,EAAa,aAAA,oBAAqB0B,CAAK,CACnD,CAAA,GAGF6D,EAAA,iCAA4B,MAAO,CACjC,MAAAjH,EACA,OAAA0H,CAAA,IAII,CACE,MAAAvF,EAAgB,KAAK,UAAwBnC,CAAK,EAExD,OAAQA,EAAO,CACb,KAAKI,EAAAA,MAAM,SACX,KAAKA,EAAAA,MAAM,UACX,KAAKA,EAAAA,MAAM,kBACX,KAAKA,EAAAA,MAAM,SACX,KAAKA,EAAAA,MAAM,SACX,KAAKA,EAAAA,MAAM,QAAS,CAClB,KAAM,CAAE,0BAAAkL,CAAA,EAA8B,KAAM,QAAO,sBAAsB,EACzE,OAAOA,EAA0B,CAC/B,GAAG5D,EACH,QAASvF,CAAA,CACV,CACH,CAEA,KAAK/B,EAAAA,MAAM,QACX,KAAKA,EAAAA,MAAM,YACX,KAAKA,EAAAA,MAAM,SACX,KAAKA,EAAM,MAAA,SACD,OAAA+B,EAA8B,0BAA0BuF,CAAM,EAExE,KAAKtH,EAAAA,MAAM,QACX,KAAKA,EAAAA,MAAM,UACX,KAAKA,EAAAA,MAAM,OAAQ,CACjB,KAAM,CAAE,0BAAAkL,CAAA,EAA8B,KAAM,QAAO,yBAAyB,EAC5E,OAAOA,EAA0B,CAC/B,GAAG5D,EACH,QAASvF,CAAA,CACV,CACH,CAEA,QACQ,MAAA,IAAIT,EAAAA,aAAa,kDAAkD,CAC7E,CAAA,GAOFuF,EAAA,oBAAe,MAAOsE,GAAoC,CAClD,MAAA,IAAI7J,EAAAA,aAAa,iCAAiC,CAAA,GAG1DuF,EAAA,wBAAmB,MAAOsE,EAA0BC,IAA6C,CACzF,MAAA,IAAI9J,EAAAA,aAAa,qCAAqC,CAAA,GAG9DuF,EAAA,4BAAuB,MAAOsE,EAAkBE,IAAkC,CAC1E,MAAA,IAAI/J,EAAAA,aAAa,yCAAyC,CAAA,GAGlEuF,EAAA,sBAAiB,MAAOsE,EAAkBG,IAAiD,CACnF,MAAA,IAAIhK,EAAAA,aAAa,mCAAmC,CAAA,GAG5DuF,EAAA,uBAAkB,MAAOsE,EAAkBI,IAAmC,CACtE,MAAA,IAAIjK,EAAAA,aAAa,oCAAoC,CAAA,GAG7DuF,EAAA,qBAAgB,MAAOsE,EAAgBG,IAA6C,CAC5E,MAAA,IAAIhK,EAAAA,aAAa,kCAAkC,CAAA,GAG3DuF,EAAA,qBAAgB,MAAOsE,EAAgBG,IAA6C,CAC5E,MAAA,IAAIhK,EAAAA,aAAa,kCAAkC,CAAA,GAG3DuF,EAAA,oBAAe,MAAO2E,GAAiC,CAC/C,MAAA,IAAIlK,EAAAA,aAAa,iCAAiC,CAAA,GAG1DuF,EAAA,kBAAa,MAAOsE,GAAoC,CAChD,MAAA,IAAI7J,EAAAA,aAAa,+BAA+B,CAAA,GAGxDuF,EAAA,uBAAmBjH,GAAiB,CAC7B,KAAA,gBAAgBA,CAAK,EAAI,KACzB,KAAA,iBAAiBA,CAAK,EAAI,IAAA,GAGjC6L,EAAA,KAAA9D,EAAyB,MAAO/H,GAAiB,CAC/C,OAAQA,EAAO,CACb,KAAKI,EAAAA,MAAM,KACX,KAAKA,EAAM,MAAA,UACF,MAAA,CAAE,SAAU,IAAK,OAAQ,GAAI,QAAS,GAAI,OAAQ,GAAO,MAAAJ,GAElE,QAAS,CAEP,MAAM8L,GADc,MAAMlF,GAAmB,KAAK,QAAQ,GACrB,KAAMmF,GAASA,EAAK,QAAU/L,CAAK,EAExE,GAAI,CAAC8L,EAAwB,MAAA,IAAIpK,EAAAA,aAAa,6BAA6B,EAC3E,GAAIoK,GAAA,MAAAA,EAAkB,OAAc,MAAA,IAAIpK,EAAAA,aAAa,mBAAmB,EAEjE,OAAAoK,CACT,CACF,CAAA,GAGFD,EAAA,KAAAR,EAAqB,CAAC,CACpB,MAAArL,EACA,QAAAM,EACA,QAAA6C,EACA,WAAAsF,EACA,GAAGhF,CAAA,IAC4B,CAC1B,KAAA,gBAAgBzD,CAAc,EAAI,CACrC,QAASM,GAAW,GACpB,QAAS6C,GAAW,CAAC,EACrB,WAAYsF,GAAc,SAAA,EAE5B,KAAK,iBAAiBzI,CAAc,EAAI,CAAE,GAAGyD,CAAK,CAAA,GAGpDoI,EAAA,KAAAnD,EAAW,MAAmB,CAC5B,WAAA7G,EACA,KAAAC,EAAO,YACP,gBAAAC,CAAA,IAKI,CACJ,KAAM,CAAE,QAAAzB,EAAS,MAAAN,EAAO,WAAAgC,EAAY,YAAAC,GAAgBJ,EAC9CK,EAAa,CAAC9B,QAAM,SAAUA,EAAA,MAAM,UAAWA,EAAAA,MAAM,iBAAiB,EAAE,SAASJ,CAAK,EAGxF,GAFgBkC,GAAcF,GAEf,CAACE,GAAcD,EAAoB,MAAA,GAEhD,MAAAE,EAAgB,KAAK,iBAAiBnC,CAAiB,EACvDoC,EAAeN,IAAS,YAAcK,GAAA,YAAAA,EAAe,WAAaA,GAAA,YAAAA,EAAe,QAEvF,GAAI,CAACC,EAAoB,MAAA,IAAIV,EAAAA,aAAa,kCAAkC,EAEtE,MAAAW,EAAO,KAAK,WAAWrC,CAAK,EAElC,GAAI,EAAEM,GAAW+B,GAAa,MAAA,IAAIX,EAAAA,aAAa,8CAA8C,EAE7F,MAAMa,EACJR,IAAqB,MAAM+F,EAAA,KAAKC,GAAL,UAA4B/H,IAAQ,OAEjE,OAAOoC,EAAa,CAClB,OAAQP,EAAW,aAAa,QAAQ,EACxC,aAAcvB,EACd,KAAA+B,EACA,eAAAE,CAAA,CACD,CAAA,GAGHsJ,EAAA,KAAAhC,EAAiB,MAAO,CACtB,WAAAhI,EACA,KAAA+D,EACA,aAAAuB,EAAeC,EAAU,UAAA,IAAA,IAKrB,CACE,KAAA,CACJ,SAAA4E,EACA,OAAAnG,EACA,QAAS6E,CACP,EAAA,MAAM5C,EAAA,KAAKC,GAAL,UAA4BlG,EAAW,OAC3CoK,GAAW,OAAO,SAASD,CAAQ,GAAK,GAAKE,mBAAiB/E,CAAY,EAEhF,OAAO,KAAK,QAAQ,CAClB,WAAAtF,EACA,UAAW6I,EACX,KAAA9E,EACA,OAAAC,EACA,QAAAoG,CAAA,CACD,CAAA,GAGHJ,EAAA,KAAAX,EAAqB,MAAO,CAC1B,KAAAtF,EACA,WAAA/D,CAAA,IAII,CACJ,MAAMsK,EAAQ,MAAMtF,GAAiB,KAAK,QAAQ,EAGlD,GAAIsF,EAAM,iBAAmB,GAAKA,EAAM,eAAiB,EACjD,MAAA,IAAIzK,EAAAA,aAAa,mBAAmB,EAG5C,OAAO,KAAK,QAAQ,CAAE,WAAAG,EAAY,UAAW,GAAI,KAAA+D,EAAM,CAAA,GAGzDiG,EAAA,KAAAT,EAAqB,MAAO,CAC1B,KAAAxF,EACA,WAAA/D,CAAA,IAII,CACJ,MAAMsK,EAAQ,MAAM1F,GAAiB,KAAK,QAAQ,EAGlD,GAAI0F,EAAM,iBAAmB,GAAKA,EAAM,eAAiB,EACjD,MAAA,IAAIzK,EAAAA,aAAa,mBAAmB,EAG5C,OAAO,KAAK,QAAQ,CAAE,WAAAG,EAAY,UAAW,GAAI,KAAA+D,EAAM,CAAA,GAGzDiG,EAAA,KAAAjD,EAAmB,CAAC,CAAE,WAAA/G,EAAY,GAAGuK,MAAwD,CAC3F,GAAGA,EACH,KAAMA,EAAa,MAAQ,GAC3B,KAAM,KAAK,WAAWvK,EAAW,KAAK,EACtC,WAAAA,CAAA,IA3wBK,KAAA,SAAW,CAAC,CAACpB,CACpB,CA4wBF,CArIEsH,EAAA,YAkBAsD,EAAA,YAeA3C,EAAA,YAmCAmB,EAAA,YAyBAqB,EAAA,YAiBAE,EAAA,YAiBAxC,EAAA"}
|