keyring-chatbot-agent-sdk-test 0.1.0 → 0.1.1

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.
@@ -1,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".chat-button{cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease;border-radius:16px}.chat-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.chat-button:active{transform:scale(.95)}.chat-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;z-index:9999;pointer-events:all;animation:fadeIn .2s ease}#chat-modal-title{color:#0b3988;font-weight:900;font-style:Regular;font-size:18px}.chat-modal-overlay.chat-modal-overlay--left{justify-content:flex-start}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal{width:90%;max-width:480px;height:700px;max-height:calc(100dvh - 64px);background:#f5f5f7;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;margin:20px;pointer-events:all;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-modal-header{background:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e7}.chat-modal-header-left{display:flex;align-items:center;gap:12px}.keyring-logo{width:32px;height:32px}.chat-modal-header h3{margin:0;font-size:18px;font-weight:700;color:#1a1a1d}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#666;transition:all .2s}.close-button:hover{background:#f5f5f7;color:#000}.chat-user-info{background:#fff;padding:12px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5e5e7}.user-avatar{width:20px;height:20px;border-radius:50%}.user-avatar img{border-radius:50%}.user-wallet,.user-wallet a{font-size:14px;font-weight:500;color:#0b3988}.copy-address-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:3px;color:#999;border-radius:4px;transition:color .15s,background .15s;line-height:0}@media(min-width:640px){.copy-address-btn:hover{color:#1a1a1d;background:#f0f0f0}}.chat-modal-messages-wrapper{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-modal-messages{flex:1;padding:20px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px}.date-separator{text-align:center;font-size:12px;font-weight:600;color:#666;background:#e5e5e7;padding:6px 16px;border-radius:12px;align-self:center;width:fit-content;margin:8px auto}.message{display:flex;animation:messageSlide .3s ease;position:relative}@media(min-width:640px){.message:hover .message-reply-button{opacity:1}}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-reply-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e5e5e7;border-radius:8px;padding:6px;cursor:pointer;opacity:0;transition:all .2s;box-shadow:0 2px 8px #0000001a;z-index:10}.message-bot .message-reply-button{right:20px}.message-user .message-reply-button{left:20px}.message-reply-button:hover{background:#f5f5f7;transform:translateY(-50%) scale(1.1)}.message-reply-button svg{display:block;width:16px;height:16px;color:#666}.message-bot{justify-content:flex-start}.message-user{justify-content:flex-end}.message-bubble{max-width:85%;padding:14px 16px;border-radius:20px}.message-bot .message-bubble{background:#fff;box-shadow:0 2px 8px #0000000f;border-bottom-left-radius:4px}.message-user .message-bubble{background:#5b7fff;color:#fff;border-bottom-right-radius:4px}.message-user .message-bubble a{color:#fff}.message-reply-to{background:#0000000d;padding:8px 12px;border-radius:6px;margin-bottom:8px;border-left:3px solid #5b7fff}.message-bot .message-reply-to{background:#f5f5f7}.message-user .message-reply-to{background:#ffffff26;border-left-color:#ffffff80}.message-reply-to-label{font-size:11px;font-weight:600;margin-bottom:4px}.message-bot .message-reply-to-label{color:#5b7fff}.message-user .message-reply-to-label{color:#ffffffe6}.message-reply-to-text{font-size:12px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text{font-size:14px;line-height:1.5;margin-bottom:6px;word-wrap:break-word;white-space:pre-line}.message-bot .message-text{color:#1a1a1d}.message-user .message-text{color:#fff}.message-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:8px}.message-button{flex:1 1 calc(50% - 4px);min-width:100px;padding:10px 16px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:12px;font-size:13px;font-weight:500;color:#1a1a1d;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-button.full-width{flex:1 1 100%;text-align:center;white-space:normal;padding:12px 16px;font-size:14px}@media(min-width:640px){.message-button:hover{background:#fff;border-color:#007aff;color:#007aff;transform:translateY(-1px);box-shadow:0 2px 8px #007aff26}.message-button:active{transform:translateY(0);box-shadow:0 1px 4px #007aff1a}}.message-user .message-button{background:#fff3;border-color:#ffffff4d;color:#fff}.message-user .message-button:hover{background:#ffffff4d;border-color:#ffffff80}.message-timestamp{font-size:11px;color:#999;display:flex;align-items:center;gap:4px;justify-content:flex-end}.message-user .message-timestamp{color:#ffffffb3}.check-icon{width:14px;height:14px}.typing-indicator .message-bubble{padding:12px 18px;display:flex;gap:6px;min-width:60px}.typing-dot{width:8px;height:8px;border-radius:50%;background:#999;animation:typingDot 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-8px);opacity:1}}.suggestions-container{display:flex;flex-direction:column;gap:10px;margin-top:8px}.suggestion-button{background:#d4d8f0;border:none;padding:12px 16px;border-radius:16px;display:flex;gap:12px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#1a1a1d;width:100%;text-align:center;align-items:center;justify-content:center}.suggestion-button:hover{background:#c5caeb;transform:translateY(-1px)}.suggestion-icon{font-size:18px}.chat-modal-input{padding:16px 20px;background:#fff;border-top:1px solid #e5e5e7;display:flex;flex-direction:column;gap:12px;box-shadow:0 -5px 8px 4px #0000000d}.reply-preview{background:#f5f5f7;padding:10px 14px;border-radius:6px;border-left:3px solid #5b7fff;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.reply-preview-content{flex:1;min-width:0}.reply-preview-label{font-size:11px;color:#5b7fff;font-weight:600;margin-bottom:4px}.reply-preview-text{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-close{background:transparent;border:none;cursor:pointer;padding:2px;color:#999;transition:color .2s;flex-shrink:0}.reply-preview-close:hover{color:#666}.chat-modal-input-row{display:flex;gap:12px;align-items:center}.chat-modal-input input{flex:1;padding:14px 18px;border:1px solid #e5e5e7;border-radius:24px;outline:none;font-size:16px;color:#1a1a1d;transition:all .2s}.chat-modal-input input::placeholder{color:#999}.chat-modal-input input:focus{border-color:#5b7fff;box-shadow:0 0 0 3px #5b7fff1a}.chat-modal-input input:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f7}.send-button{width:44px;height:44px;border-radius:50%;background:#5b7fff;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.send-button:hover:not(:disabled){background:#4a6fee;transform:scale(1.05)}.send-button:disabled{opacity:.4;cursor:not-allowed}.chat-modal-messages::-webkit-scrollbar{width:6px}.chat-modal-messages::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:3px}@media(max-width:640px){.chat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}}.action-status{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:.8em;font-weight:500}.action-status-submitted{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.action-status-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.action-status-fail{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.message-content{display:block;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden;font-size:inherit;line-height:1.5}.mc-line{min-height:1.2em;word-break:break-word}.mc-empty-line{height:.5em}.mc-heading{font-weight:600;margin:.3em 0;word-break:break-word}.mc-h1{font-size:1.4em}.mc-h2{font-size:1.2em}.mc-h3{font-size:1.05em}.mc-inline-code{background:#afb8c133;padding:1px 5px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.88em}.mc-codeblock{background:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;margin:6px 0;overflow:hidden;max-width:100%}.mc-codeblock-lang{background:#e8ecf0;padding:3px 10px;font-size:.75em;font-weight:600;color:#57606a;text-transform:uppercase;font-family:Monaco,Menlo,monospace;border-bottom:1px solid #d0d7de}.mc-codeblock pre{margin:0;padding:10px;overflow-x:auto}.mc-codeblock code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.85em;line-height:1.5;color:#24292f;white-space:pre}.mc-link{color:#0969da;text-decoration:none;word-break:break-word}.mc-link:hover{text-decoration:underline}.mc-image{max-width:150px;width:150px;height:150px;object-fit:contain;border-radius:8px;margin:8px 0;display:block}.mc-image-inline{width:20px;height:20px;border-radius:50%;margin:0 4px;display:inline-block;vertical-align:middle;object-fit:cover}.mc-blockquote{margin:4px 0;padding:2px 0 2px 12px;color:#57606a;border-left:3px solid #d0d7de}.mc-hr{height:1px;border:0;background:#d0d7de;margin:.4em 0}.message-content strong{font-weight:600}.message-content del{text-decoration:line-through}.action-form{background:#f8f9fb;border:1px solid #e2e6ea;border-radius:10px;padding:12px;margin-top:8px;margin-bottom:8px}.action-form-title{font-weight:600;font-size:.9em;margin-bottom:10px;color:#1a1a2e;display:flex;align-items:center;gap:6px}.action-form-general-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:.8em;color:#dc2626;font-weight:500;display:flex;align-items:center;gap:6px}.action-form-fields{display:flex;flex-direction:column;gap:8px}.action-form-field{display:flex;flex-direction:column;gap:3px}.action-form-field label{font-size:.75em;font-weight:500;color:#6b7280}.action-form-field input,.action-form-field textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;background:#fff;color:#1a1a2e;outline:none;transition:border-color .2s;font-family:inherit}.action-form-field textarea{resize:none;word-break:break-all}.action-form-field input:focus,.action-form-field textarea:focus{border-color:#0b3988;box-shadow:0 0 0 2px #6c5ce726}.action-form-field input.error,.action-form-field textarea.error{border-color:#ef4444}.action-form-field input.readonly,.action-form-field textarea.readonly{background:#f3f4f6;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.action-form-field .field-error{font-size:.7em;color:#ef4444;margin-top:1px}.action-form-actions{display:flex;gap:8px;margin-top:10px}.action-form-submit{flex:1;padding:8px 14px;background:#0b3988;color:#fff;border:none;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:background .2s}.action-form-submit:hover:not(:disabled){background:#5a4bd1}.action-form-submit:disabled{background:#a5b4fc;cursor:not-allowed}.action-form-cancel{padding:8px 14px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s}.action-form-cancel:hover{background:#f3f4f6;color:#374151}.action-form-token-info{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:8px 10px;margin-bottom:10px}.token-info-row{display:flex;align-items:center;gap:8px}.token-info-logo{border-radius:50%;flex-shrink:0}.token-info-details{display:flex;flex-direction:column;gap:2px;min-width:0}.token-info-name{font-size:.8em;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-info-balance{font-size:.75em;color:#4b5563}.token-info-usd{color:#0b3988;font-weight:500}.action-form-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.action-form-field-header .action-form-field-label{margin-bottom:0;font-size:12px}.action-form-pct-btns{display:inline-flex;gap:4px}.action-form-pct-btn{padding:1px 6px;font-size:.7em;font-weight:600;color:#0b3988;background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;cursor:pointer;transition:all .15s}@media(min-width:640px){.action-form-pct-btn:hover:not(:disabled){background:#0b3988;color:#fff}}.action-form-pct-btn:disabled{opacity:.5;cursor:not-allowed}.action-form-max-btn{font-weight:700}.action-form-nft-info{margin-bottom:10px;text-align:center;display:flex;align-items:center;justify-content:center}.nft-info-image{width:80px;height:80px;border-radius:8px;object-fit:contain;background:#e5e7eb;padding:4px}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:20px;background:#1a1a1dd6;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000040;z-index:20;transition:background .15s,transform .15s,box-shadow .15s;animation:fadeInUp .18s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:640px){.scroll-to-bottom-btn:hover{background:#2d2d35;box-shadow:0 6px 16px #0000004d;transform:scale(1.08)}}.scroll-to-bottom-btn:active{transform:scale(.96)}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- (function(bt,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],P):(bt=typeof globalThis<"u"?globalThis:bt||self,P(bt.ChatWidgetSDK={},bt.jsxRuntime,bt.React))})(this,(function(bt,P,te){"use strict";const Js="data:image/png;base64,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",go={en:{chatTitle:"Keyring Agent",closeChat:"Close chat",messagePlaceholder:"Message ....",sendMessage:"Send message",botIsTyping:"Bot is typing",canIHelpYou:"Can I help you with anything?",replyToMessage:"Reply to message",replyingTo:"Replying to",replyingToYou:"You",replyingToAgent:"Keyring Agent",cancelReply:"Cancel reply",suggestionAskText:"Ask a question",suggestionAskUserMessage:"I have a question",suggestionAskBotReply:"Ask me anything",suggestionBuyText:"Buy trending token",walletConnectedChainUnsupported:"Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.",walletNotConnected:"Please connect your wallet to see trending tokens.",actionProcessing:"⏳ Processing transaction...",actionSuccess:"✅ Transaction completed",actionFail:"❌ Action cancelled or failed",txSubmitted:"⏳ Transaction submitted. Waiting for confirmation...",txConfirmed:"✅ Transaction confirmed!",txReverted:"❌ Transaction reverted on-chain.",txTimeout:"⚠️ Transaction submitted but confirmation timed out. Please check manually.",txSuccessful:"✅ Transaction successful!",txFailed:"❌ Transaction failed. Please try again.",txNoHandler:"⚠️ No transaction handler configured.",txInsufficientGas:"⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.",txError:"❌ Error: {message}",swapConfirmButton:"Confirm",swapConfirmValue:"Confirm swap",swapReadyToProceed:"Ready to proceed with the swap?",swapEstimationError:"⚠️ Unable to get swap estimation. Error: {error}",formCancel:"Cancel",formExecute:"Execute",formProcessing:"⏳ Processing...",formBalance:"Balance:",formTokenNotFound:"Token not found in your wallet.",formNoBalance:"You have no {symbol} balance in your wallet.",formInsufficientBalance:"Insufficient balance. Spendable: {balance} {symbol}",formFieldRequired:"{field} is required",formInvalidAddress:"Invalid address (0x + 40 hex chars)",formMustBePositive:"Must be a positive number",formMustBeValidNumber:"Must be a valid number",openChat:"Open chat",openChatTitle:"Open chat support",walletBalanceSpendable:"This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.",walletNoTokensFound:"Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.",walletFetchFailed:"Sorry, I could not fetch your wallet balance. Please try again.",walletFetchError:"Sorry, I encountered an error fetching your wallet balance.",insufficientFeeToken:"Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.",selectAmountOf:`Select the amount of {symbol} to use:
2
+ (function(bt,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],P):(bt=typeof globalThis<"u"?globalThis:bt||self,P(bt.ChatWidgetSDK={},bt.jsxRuntime,bt.React))})(this,(function(bt,P,te){"use strict";const zs="data:image/png;base64,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",go={en:{chatTitle:"Keyring Agent",closeChat:"Close chat",messagePlaceholder:"Message ....",sendMessage:"Send message",botIsTyping:"Bot is typing",canIHelpYou:"Can I help you with anything?",replyToMessage:"Reply to message",replyingTo:"Replying to",replyingToYou:"You",replyingToAgent:"Keyring Agent",cancelReply:"Cancel reply",suggestionAskText:"Ask a question",suggestionAskUserMessage:"I have a question",suggestionAskBotReply:"Ask me anything",suggestionBuyText:"Buy trending token",walletConnectedChainUnsupported:"Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.",walletNotConnected:"Please connect your wallet to see trending tokens.",actionProcessing:"⏳ Processing transaction...",actionSuccess:"✅ Transaction completed",actionFail:"❌ Action cancelled or failed",txSubmitted:"⏳ Transaction submitted. Waiting for confirmation...",txConfirmed:"✅ Transaction confirmed!",txReverted:"❌ Transaction reverted on-chain.",txTimeout:"⚠️ Transaction submitted but confirmation timed out. Please check manually.",txSuccessful:"✅ Transaction successful!",txFailed:"❌ Transaction failed. Please try again.",txNoHandler:"⚠️ No transaction handler configured.",txInsufficientGas:"⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.",txError:"❌ Error: {message}",swapConfirmButton:"Confirm",swapConfirmValue:"Confirm swap",swapReadyToProceed:"Ready to proceed with the swap?",swapEstimationError:"⚠️ Unable to get swap estimation. Error: {error}",formCancel:"Cancel",formExecute:"Execute",formProcessing:"⏳ Processing...",formBalance:"Balance:",formTokenNotFound:"Token not found in your wallet.",formNoBalance:"You have no {symbol} balance in your wallet.",formInsufficientBalance:"Insufficient balance. Spendable: {balance} {symbol}",formFieldRequired:"{field} is required",formInvalidAddress:"Invalid address (0x + 40 hex chars)",formMustBePositive:"Must be a positive number",formMustBeValidNumber:"Must be a valid number",openChat:"Open chat",openChatTitle:"Open chat support",walletBalanceSpendable:"This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.",walletNoTokensFound:"Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.",walletFetchFailed:"Sorry, I could not fetch your wallet balance. Please try again.",walletFetchError:"Sorry, I encountered an error fetching your wallet balance.",insufficientFeeToken:"Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.",selectAmountOf:`Select the amount of {symbol} to use:
3
3
 
4
4
  Spendable: {balance} {symbol}`,swapFeeWarning:`
5
5
  ⚠️ **Insufficient {symbol} for fees!**
@@ -74,19 +74,19 @@ Select a token to interact with:`,viewBalancesEmpty:"You don't have any tokens i
74
74
 
75
75
  {list}
76
76
 
77
- 选择要操作的代币:`,viewBalancesEmpty:"您的钱包在此链上没有任何代币。",viewBalancesFetchError:"获取余额时遇到错误,请重试。",buttonSendToken:"发送{symbol}",buttonSwapToken:"兑换{symbol}",buttonBuyMoreToken:"购买更多{symbol}",actionSendNativeLabel:"发送原生代币",actionSendNativeDesc:"发送原生代币(ETH、BNB、MATIC 等)到某个地址",actionSendTokenLabel:"发送代币(ERC20)",actionSendTokenDesc:"将 ERC20 代币发送到某个地址",actionSwapTokenLabel:"兑换代币",actionSwapTokenDesc:"将一种代币兑换为另一种代币",actionApproveTokenLabel:"授权代币",actionApproveTokenDesc:"授权某地址使用您的代币",actionWrapNativeLabel:"包装原生代币",actionWrapNativeDesc:"包装原生代币(ETH → WETH)",actionUnwrapNativeLabel:"解包原生代币",actionUnwrapNativeDesc:"解包原生代币(WETH → ETH)",actionSendNftLabel:"发送 NFT",actionSendNftDesc:"将 ERC721 或 ERC1155 NFT 转移到另一个地址",fieldToAddress:"收款地址",fieldAmount:"数量",fieldTokenContract:"代币合约",fieldTokenSymbol:"代币符号",fieldDecimals:"小数位数",fieldTokenIn:"源代币",fieldTokenInSymbol:"源代币符号",fieldTokenOut:"目标代币",fieldTokenOutSymbol:"目标代币符号",fieldTokenInDecimals:"源代币小数位",fieldTokenOutDecimals:"目标代币小数位",fieldSpenderAddress:"授权地址",fieldAmountUnlimited:"数量(留空 = 无限授权)",fieldNftContract:"NFT 合约",fieldTokenId:"Token ID",fieldTokenStandard:"代币标准",fieldNftName:"NFT 名称",formMustBePositiveInteger:"必须是正整数",formAmountExceedsNft:"数量不能超过可用余额 {max}",receivedButtonValue:"已收到:{value}",actionExecutedFor:'操作 "{action}" 已为 {value} 执行',buyTokenHelp:"我来帮您购买 {symbol}。让我展示您可用于交易的代币。",tokenNotFoundOnChain:'在此链上找不到代币 "{symbol}"。以下是您可以购买的热门代币:',swapPreparing:"正在准备您的兑换...",swapConfirmYes:"是",swapChooseFrom:"请选择您要兑换的源代币:",swapChooseTo:"您要兑换 {symbol}。请选择您想要接收的代币:",swapNeedDetails:'我需要更多兑换详情。请指定您要兑换的代币(例如:"兑换 1 ETH 到 USDC")。',viewNftsLoading:"让我展示您的 NFT 收藏!",sendTokenChoose:"您想发送哪种代币?",sendNftChoose:"您想发送哪个 NFT?",swapChooseToken:"您想兑换哪种代币?以下是您当前的余额:",spendable:"可用"}};function wo(e,t){return go[t]?.[e]??go.en[e]??e}function zs(e,t){return e.replace(/\{(\w+)\}/g,(n,o)=>t[o]??`{${o}}`)}const bo=te.createContext(void 0),js=({children:e,initialLanguage:t="en"})=>{const[n,o]=te.useState(t);te.useEffect(()=>{t&&o(t)},[t]);const s=te.useCallback(r=>wo(r,n),[n]),a=te.useCallback((r,i)=>zs(wo(r,n),i),[n]);return P.jsx(bo.Provider,{value:{language:n,setLanguage:o,t:s,ti:a},children:e})},Nn=()=>{const e=te.useContext(bo);if(!e)throw new Error("useLanguage must be used within a LanguageProvider");return e},qs=te.memo(({onClick:e,buttonSize:t=56})=>{const{t:n}=Nn(),o=s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),e())};return P.jsx("button",{className:"chat-button",onClick:e,onKeyDown:o,"aria-label":n("openChat"),title:n("openChatTitle"),type:"button",children:P.jsx("img",{src:Js,width:t,height:t,alt:"Ask AI"})})});function ut(e){const t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(o){return s=>{const a=typeof s=="function"?s(o):s,r={...o,...a};return Object.assign(r,{extend:n(r)})}}return Object.assign(t,{extend:n(t)})}const yo="2.45.1";let Bn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${yo}`};class me extends Error{constructor(t,n={}){const o=n.cause instanceof me?n.cause.details:n.cause?.message?n.cause.message:n.details,s=n.cause instanceof me&&n.cause.docsPath||n.docsPath,a=Bn.getDocsUrl?.({...n,docsPath:s}),r=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...a?[`Docs: ${a}`]:[],...o?[`Details: ${o}`]:[],...Bn.version?[`Version: ${Bn.version}`]:[]].join(`
78
- `);super(r,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=o,this.docsPath=s,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=yo}walk(t){return Ao(this,t)}}function Ao(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Ao(e.cause,t):t?null:e}class Fn extends me{constructor({max:t,min:n,signed:o,size:s,value:a}){super(`Number "${a}" is not in safe ${s?`${s*8}-bit ${o?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class Qs extends me{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Lt(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function je(e){return Lt(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function dn(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,o=0;for(let s=0;s<n.length-1&&n[t==="left"?s:n.length-s-1].toString()==="0";s++)o++;return n=t==="left"?n.slice(o):n.slice(0,n.length-o),typeof e=="string"?(n.length===1&&t==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}class ko extends me{constructor({offset:t,position:n,size:o}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${o}).`,{name:"SliceOffsetOutOfBoundsError"})}}class vo extends me{constructor({size:t,targetSize:n,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function Ut(e,{dir:t,size:n=32}={}){return typeof e=="string"?yt(e,{dir:t,size:n}):Xs(e,{dir:t,size:n})}function yt(e,{dir:t,size:n=32}={}){if(n===null)return e;const o=e.replace("0x","");if(o.length>n*2)throw new vo({size:Math.ceil(o.length/2),targetSize:n,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function Xs(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new vo({size:e.length,targetSize:n,type:"bytes"});const o=new Uint8Array(n);for(let s=0;s<n;s++){const a=t==="right";o[a?s:n-s-1]=e[a?s:e.length-s-1]}return o}const Ks=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Rt(e,t={}){return typeof e=="number"||typeof e=="bigint"?de(e,t):typeof e=="string"?Co(e,t):typeof e=="boolean"?To(e,t):ft(e,t)}function To(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(Mt(n,{size:t.size}),Ut(n,{size:t.size})):n}function ft(e,t={}){let n="";for(let s=0;s<e.length;s++)n+=Ks[e[s]];const o=`0x${n}`;return typeof t.size=="number"?(Mt(o,{size:t.size}),Ut(o,{dir:"right",size:t.size})):o}function de(e,t={}){const{signed:n,size:o}=t,s=BigInt(e);let a;o?n?a=(1n<<BigInt(o)*8n-1n)-1n:a=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r=typeof a=="bigint"&&n?-a-1n:0;if(a&&s>a||s<r){const l=typeof e=="bigint"?"n":"";throw new Fn({max:a?`${a}${l}`:void 0,min:`${r}${l}`,signed:n,size:o,value:`${e}${l}`})}const i=`0x${(n&&s<0?(1n<<BigInt(o*8))+BigInt(s):s).toString(16)}`;return o?Ut(i,{size:o}):i}const Zs=new TextEncoder;function Co(e,t={}){const n=Zs.encode(e);return ft(n,t)}const _s=new TextEncoder;function Pn(e,t={}){return typeof e=="number"||typeof e=="bigint"?ea(e,t):typeof e=="boolean"?$s(e,t):Lt(e)?Et(e,t):So(e,t)}function $s(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(Mt(n,{size:t.size}),Ut(n,{size:t.size})):n}const pt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Eo(e){if(e>=pt.zero&&e<=pt.nine)return e-pt.zero;if(e>=pt.A&&e<=pt.F)return e-(pt.A-10);if(e>=pt.a&&e<=pt.f)return e-(pt.a-10)}function Et(e,t={}){let n=e;t.size&&(Mt(n,{size:t.size}),n=Ut(n,{dir:"right",size:t.size}));let o=n.slice(2);o.length%2&&(o=`0${o}`);const s=o.length/2,a=new Uint8Array(s);for(let r=0,i=0;r<s;r++){const l=Eo(o.charCodeAt(i++)),k=Eo(o.charCodeAt(i++));if(l===void 0||k===void 0)throw new me(`Invalid byte sequence ("${o[i-2]}${o[i-1]}" in "${o}").`);a[r]=l*16+k}return a}function ea(e,t){const n=de(e,t);return Et(n)}function So(e,t={}){const n=_s.encode(e);return typeof t.size=="number"?(Mt(n,{size:t.size}),Ut(n,{dir:"right",size:t.size})):n}function Mt(e,{size:t}){if(je(e)>t)throw new Qs({givenSize:je(e),maxSize:t})}function Ht(e,t={}){const{signed:n}=t;t.size&&Mt(e,{size:t.size});const o=BigInt(e);if(!n)return o;const s=(e.length-2)/2,a=(1n<<BigInt(s)*8n-1n)-1n;return o<=a?o:o-BigInt(`0x${"f".padStart(s*2,"f")}`)-1n}function un(e,t={}){const n=Ht(e,t),o=Number(n);if(!Number.isSafeInteger(o))throw new Fn({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return o}function On(e,t){return({exclude:n,format:o})=>({exclude:n,format:(s,a)=>{const r=t(s,a);if(n)for(const i of n)delete r[i];return{...r,...o(s,a)}},type:e})}const xo={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Dn(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?un(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?un(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?xo[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=na(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}const ta=On("transaction",Dn);function na(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function oa(e,t){const n=(e.transactions??[]).map(o=>typeof o=="string"?o:Dn(o));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const sa=On("block",oa);function aa(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}const ra={"0x0":"reverted","0x1":"success"};function ia(e,t){const n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(o=>aa(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?un(e.transactionIndex):null,status:e.status?ra[e.status]:null,type:e.type?xo[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const ca=On("transactionReceipt",ia),la={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function da(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=ua(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(o=>ft(o)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=de(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=de(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=de(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=de(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=de(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=de(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=la[e.type]),typeof e.value<"u"&&(n.value=de(e.value)),n}function ua(e){return e.map(t=>({address:t.address,r:t.r?de(BigInt(t.r)):t.r,s:t.s?de(BigInt(t.s)):t.s,chainId:de(t.chainId),nonce:de(t.nonce),...typeof t.yParity<"u"?{yParity:de(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:de(t.v)}:{}}))}const Wt=2n**256n-1n;function Vt(e){return typeof e[0]=="string"?St(e):fa(e)}function fa(e){let t=0;for(const s of e)t+=s.length;const n=new Uint8Array(t);let o=0;for(const s of e)n.set(s,o),o+=s.length;return n}function St(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}class Io extends me{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class pa extends me{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class ma extends me{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ha={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new ma({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new pa({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Io({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Io({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function No(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(ha);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function xt(e,t="hex"){const n=Bo(e),o=No(new Uint8Array(n.length));return n.encode(o),t==="hex"?ft(o.bytes):o.bytes}function Bo(e){return Array.isArray(e)?ga(e.map(t=>Bo(t))):wa(e)}function ga(e){const t=e.reduce((s,a)=>s+a.length,0),n=Fo(t);return{length:t<=55?1+t:1+n+t,encode(s){t<=55?s.pushByte(192+t):(s.pushByte(247+n),n===1?s.pushUint8(t):n===2?s.pushUint16(t):n===3?s.pushUint24(t):s.pushUint32(t));for(const{encode:a}of e)a(s)}}}function wa(e){const t=typeof e=="string"?Et(e):e,n=Fo(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(s){t.length===1&&t[0]<128?s.pushBytes(t):t.length<=55?(s.pushByte(128+t.length),s.pushBytes(t)):(s.pushByte(183+n),n===1?s.pushUint8(t.length):n===2?s.pushUint16(t.length):n===3?s.pushUint24(t.length):s.pushUint32(t.length),s.pushBytes(t))}}}function Fo(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new me("Length is too large.")}const ba={gwei:9,wei:18},ya={ether:-9,wei:9};function Le(e,t){let n=e.toString();const o=n.startsWith("-");o&&(n=n.slice(1)),n=n.padStart(t,"0");let[s,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,""),`${o?"-":""}${s||"0"}${a?`.${a}`:""}`}function Aa(e,t="wei"){return Le(e,ba[t])}function It(e,t="wei"){return Le(e,ya[t])}function Po(e){const t=Object.entries(e).map(([o,s])=>s===void 0||s===!1?null:[o,s]).filter(Boolean),n=t.reduce((o,[s])=>Math.max(o,s.length),0);return t.map(([o,s])=>` ${`${o}:`.padEnd(n+1)} ${s}`).join(`
79
- `)}class ka extends me{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class va extends me{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Po(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Ta extends me{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Ca(e){if(!e||e.length===0)return[];const t=[];for(const n of e){const{chainId:o,nonce:s,...a}=n,r=n.address;t.push([o?Rt(o):"0x",r,s?Rt(s):"0x",...Zt({},a)])}return t}function Oo(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(a=>Et(a)):e.blobs,s=[];for(const a of o)s.push(Uint8Array.from(t.blobToKzgCommitment(a)));return n==="bytes"?s:s.map(a=>ft(a))}function Do(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(r=>Et(r)):e.blobs,s=typeof e.commitments[0]=="string"?e.commitments.map(r=>Et(r)):e.commitments,a=[];for(let r=0;r<o.length;r++){const i=o[r],l=s[r];a.push(Uint8Array.from(t.computeBlobKzgProof(i,l)))}return n==="bytes"?a:a.map(r=>ft(r))}function Ea(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Lo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function qt(e,...t){if(!Ea(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function fn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Uo(e,t){qt(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function Sa(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Qt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ln(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}const xa=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ia(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Na(e){for(let t=0;t<e.length;t++)e[t]=Ia(e[t]);return e}const Ro=xa?e=>e:Na;function Ba(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Un(e){return typeof e=="string"&&(e=Ba(e)),qt(e),e}class Mo{}function Ho(e){const t=o=>e().update(Un(o)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Fa(e,t,n,o){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,o);const s=BigInt(32),a=BigInt(4294967295),r=Number(n>>s&a),i=Number(n&a),l=o?4:0,k=o?0:4;e.setUint32(t+l,r,o),e.setUint32(t+k,i,o)}function Pa(e,t,n){return e&t^~e&n}function Oa(e,t,n){return e&t^e&n^t&n}class Da extends Mo{constructor(t,n,o,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=o,this.isLE=s,this.buffer=new Uint8Array(t),this.view=Ln(this.buffer)}update(t){fn(this),t=Un(t),qt(t);const{view:n,buffer:o,blockLen:s}=this,a=t.length;for(let r=0;r<a;){const i=Math.min(s-this.pos,a-r);if(i===s){const l=Ln(t);for(;s<=a-r;r+=s)this.process(l,r);continue}o.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){fn(this),Uo(t,this),this.finished=!0;const{buffer:n,view:o,blockLen:s,isLE:a}=this;let{pos:r}=this;n[r++]=128,Qt(this.buffer.subarray(r)),this.padOffset>s-r&&(this.process(o,0),r=0);for(let Y=r;Y<s;Y++)n[Y]=0;Fa(o,s-8,BigInt(this.length*8),a),this.process(o,0);const i=Ln(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const k=l/4,O=this.get();if(k>O.length)throw new Error("_sha2: outputLen bigger than state");for(let Y=0;Y<k;Y++)i.setUint32(4*Y,O[Y],a)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const o=t.slice(0,n);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:o,length:s,finished:a,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=a,t.length=s,t.pos=i,s%n&&t.buffer.set(o),t}clone(){return this._cloneInto()}}const At=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),pn=BigInt(2**32-1),Wo=BigInt(32);function La(e,t=!1){return t?{h:Number(e&pn),l:Number(e>>Wo&pn)}:{h:Number(e>>Wo&pn)|0,l:Number(e&pn)|0}}function Ua(e,t=!1){const n=e.length;let o=new Uint32Array(n),s=new Uint32Array(n);for(let a=0;a<n;a++){const{h:r,l:i}=La(e[a],t);[o[a],s[a]]=[r,i]}return[o,s]}const Ra=(e,t,n)=>e<<n|t>>>32-n,Ma=(e,t,n)=>t<<n|e>>>32-n,Ha=(e,t,n)=>t<<n-32|e>>>64-n,Wa=(e,t,n)=>e<<n-32|t>>>64-n,Va=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),kt=new Uint32Array(64);class Ga extends Da{constructor(t=32){super(64,t,8,!1),this.A=At[0]|0,this.B=At[1]|0,this.C=At[2]|0,this.D=At[3]|0,this.E=At[4]|0,this.F=At[5]|0,this.G=At[6]|0,this.H=At[7]|0}get(){const{A:t,B:n,C:o,D:s,E:a,F:r,G:i,H:l}=this;return[t,n,o,s,a,r,i,l]}set(t,n,o,s,a,r,i,l){this.A=t|0,this.B=n|0,this.C=o|0,this.D=s|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=l|0}process(t,n){for(let Y=0;Y<16;Y++,n+=4)kt[Y]=t.getUint32(n,!1);for(let Y=16;Y<64;Y++){const g=kt[Y-15],A=kt[Y-2],y=rt(g,7)^rt(g,18)^g>>>3,T=rt(A,17)^rt(A,19)^A>>>10;kt[Y]=T+kt[Y-7]+y+kt[Y-16]|0}let{A:o,B:s,C:a,D:r,E:i,F:l,G:k,H:O}=this;for(let Y=0;Y<64;Y++){const g=rt(i,6)^rt(i,11)^rt(i,25),A=O+g+Pa(i,l,k)+Va[Y]+kt[Y]|0,T=(rt(o,2)^rt(o,13)^rt(o,22))+Oa(o,s,a)|0;O=k,k=l,l=i,i=r+A|0,r=a,a=s,s=o,o=A+T|0}o=o+this.A|0,s=s+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,l=l+this.F|0,k=k+this.G|0,O=O+this.H|0,this.set(o,s,a,r,i,l,k,O)}roundClean(){Qt(kt)}destroy(){this.set(0,0,0,0,0,0,0,0),Qt(this.buffer)}}const Ya=Ho(()=>new Ga);function Ja(e,t){return Ya(Lt(e,{strict:!1})?Pn(e):e)}function za(e){const{commitment:t,version:n=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),s=Ja(t);return s.set([n],0),o==="bytes"?s:ft(s)}function ja(e){const{commitments:t,version:n}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),s=[];for(const a of t)s.push(za({commitment:a,to:o,version:n}));return s}const Vo=6,Go=32,Rn=4096,Yo=Go*Rn,Jo=Yo*Vo-1-1*Rn*Vo,zo=1;class qa extends me{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class jo extends me{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Qa extends me{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class Xa extends me{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${zo}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}function Ka(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?Et(e.data):e.data,o=je(n);if(!o)throw new jo;if(o>Jo)throw new qa({maxSize:Jo,size:o});const s=[];let a=!0,r=0;for(;a;){const i=No(new Uint8Array(Yo));let l=0;for(;l<Rn;){const k=n.slice(r,r+(Go-1));if(i.pushByte(0),i.pushBytes(k),k.length<31){i.pushByte(128),a=!1;break}l++,r+=31}s.push(i)}return t==="bytes"?s.map(i=>i.bytes):s.map(i=>ft(i.bytes))}function Za(e){const{data:t,kzg:n,to:o}=e,s=e.blobs??Ka({data:t,to:o}),a=e.commitments??Oo({blobs:s,kzg:n,to:o}),r=e.proofs??Do({blobs:s,commitments:a,kzg:n,to:o}),i=[];for(let l=0;l<s.length;l++)i.push({blob:s[l],commitment:a[l],proof:r[l]});return i}class it extends me{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class mn extends me{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Gt extends me{constructor({cause:t,message:n}={}){const o=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${o?`with reason: ${o}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(Gt,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Gt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class Nt extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${It(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Nt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Mn extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${It(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Mn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Hn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Wn extends me{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
77
+ 选择要操作的代币:`,viewBalancesEmpty:"您的钱包在此链上没有任何代币。",viewBalancesFetchError:"获取余额时遇到错误,请重试。",buttonSendToken:"发送{symbol}",buttonSwapToken:"兑换{symbol}",buttonBuyMoreToken:"购买更多{symbol}",actionSendNativeLabel:"发送原生代币",actionSendNativeDesc:"发送原生代币(ETH、BNB、MATIC 等)到某个地址",actionSendTokenLabel:"发送代币(ERC20)",actionSendTokenDesc:"将 ERC20 代币发送到某个地址",actionSwapTokenLabel:"兑换代币",actionSwapTokenDesc:"将一种代币兑换为另一种代币",actionApproveTokenLabel:"授权代币",actionApproveTokenDesc:"授权某地址使用您的代币",actionWrapNativeLabel:"包装原生代币",actionWrapNativeDesc:"包装原生代币(ETH → WETH)",actionUnwrapNativeLabel:"解包原生代币",actionUnwrapNativeDesc:"解包原生代币(WETH → ETH)",actionSendNftLabel:"发送 NFT",actionSendNftDesc:"将 ERC721 或 ERC1155 NFT 转移到另一个地址",fieldToAddress:"收款地址",fieldAmount:"数量",fieldTokenContract:"代币合约",fieldTokenSymbol:"代币符号",fieldDecimals:"小数位数",fieldTokenIn:"源代币",fieldTokenInSymbol:"源代币符号",fieldTokenOut:"目标代币",fieldTokenOutSymbol:"目标代币符号",fieldTokenInDecimals:"源代币小数位",fieldTokenOutDecimals:"目标代币小数位",fieldSpenderAddress:"授权地址",fieldAmountUnlimited:"数量(留空 = 无限授权)",fieldNftContract:"NFT 合约",fieldTokenId:"Token ID",fieldTokenStandard:"代币标准",fieldNftName:"NFT 名称",formMustBePositiveInteger:"必须是正整数",formAmountExceedsNft:"数量不能超过可用余额 {max}",receivedButtonValue:"已收到:{value}",actionExecutedFor:'操作 "{action}" 已为 {value} 执行',buyTokenHelp:"我来帮您购买 {symbol}。让我展示您可用于交易的代币。",tokenNotFoundOnChain:'在此链上找不到代币 "{symbol}"。以下是您可以购买的热门代币:',swapPreparing:"正在准备您的兑换...",swapConfirmYes:"是",swapChooseFrom:"请选择您要兑换的源代币:",swapChooseTo:"您要兑换 {symbol}。请选择您想要接收的代币:",swapNeedDetails:'我需要更多兑换详情。请指定您要兑换的代币(例如:"兑换 1 ETH 到 USDC")。',viewNftsLoading:"让我展示您的 NFT 收藏!",sendTokenChoose:"您想发送哪种代币?",sendNftChoose:"您想发送哪个 NFT?",swapChooseToken:"您想兑换哪种代币?以下是您当前的余额:",spendable:"可用"}};function wo(e,t){return go[t]?.[e]??go.en[e]??e}function Js(e,t){return e.replace(/\{(\w+)\}/g,(n,o)=>t[o]??`{${o}}`)}const bo=te.createContext(void 0),js=({children:e,initialLanguage:t="en"})=>{const[n,o]=te.useState(t);te.useEffect(()=>{t&&o(t)},[t]);const s=te.useCallback(r=>wo(r,n),[n]),a=te.useCallback((r,i)=>Js(wo(r,n),i),[n]);return P.jsx(bo.Provider,{value:{language:n,setLanguage:o,t:s,ti:a},children:e})},Nn=()=>{const e=te.useContext(bo);if(!e)throw new Error("useLanguage must be used within a LanguageProvider");return e},qs=te.memo(({onClick:e,buttonSize:t=56})=>{const{t:n}=Nn(),o=s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),e())};return P.jsx("button",{className:"chat-button",onClick:e,onKeyDown:o,"aria-label":n("openChat"),title:n("openChatTitle"),type:"button",children:P.jsx("img",{src:zs,width:t,height:t,alt:"Ask AI"})})});function ut(e){const t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(o){return s=>{const a=typeof s=="function"?s(o):s,r={...o,...a};return Object.assign(r,{extend:n(r)})}}return Object.assign(t,{extend:n(t)})}const yo="2.45.1";let Bn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${yo}`};class me extends Error{constructor(t,n={}){const o=n.cause instanceof me?n.cause.details:n.cause?.message?n.cause.message:n.details,s=n.cause instanceof me&&n.cause.docsPath||n.docsPath,a=Bn.getDocsUrl?.({...n,docsPath:s}),r=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...a?[`Docs: ${a}`]:[],...o?[`Details: ${o}`]:[],...Bn.version?[`Version: ${Bn.version}`]:[]].join(`
78
+ `);super(r,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=o,this.docsPath=s,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=yo}walk(t){return Ao(this,t)}}function Ao(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Ao(e.cause,t):t?null:e}class Fn extends me{constructor({max:t,min:n,signed:o,size:s,value:a}){super(`Number "${a}" is not in safe ${s?`${s*8}-bit ${o?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class Qs extends me{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Lt(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function je(e){return Lt(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function dn(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,o=0;for(let s=0;s<n.length-1&&n[t==="left"?s:n.length-s-1].toString()==="0";s++)o++;return n=t==="left"?n.slice(o):n.slice(0,n.length-o),typeof e=="string"?(n.length===1&&t==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}class ko extends me{constructor({offset:t,position:n,size:o}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${o}).`,{name:"SliceOffsetOutOfBoundsError"})}}class vo extends me{constructor({size:t,targetSize:n,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function Ut(e,{dir:t,size:n=32}={}){return typeof e=="string"?yt(e,{dir:t,size:n}):Xs(e,{dir:t,size:n})}function yt(e,{dir:t,size:n=32}={}){if(n===null)return e;const o=e.replace("0x","");if(o.length>n*2)throw new vo({size:Math.ceil(o.length/2),targetSize:n,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function Xs(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new vo({size:e.length,targetSize:n,type:"bytes"});const o=new Uint8Array(n);for(let s=0;s<n;s++){const a=t==="right";o[a?s:n-s-1]=e[a?s:e.length-s-1]}return o}const Ks=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Rt(e,t={}){return typeof e=="number"||typeof e=="bigint"?de(e,t):typeof e=="string"?Co(e,t):typeof e=="boolean"?To(e,t):ft(e,t)}function To(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(Mt(n,{size:t.size}),Ut(n,{size:t.size})):n}function ft(e,t={}){let n="";for(let s=0;s<e.length;s++)n+=Ks[e[s]];const o=`0x${n}`;return typeof t.size=="number"?(Mt(o,{size:t.size}),Ut(o,{dir:"right",size:t.size})):o}function de(e,t={}){const{signed:n,size:o}=t,s=BigInt(e);let a;o?n?a=(1n<<BigInt(o)*8n-1n)-1n:a=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r=typeof a=="bigint"&&n?-a-1n:0;if(a&&s>a||s<r){const l=typeof e=="bigint"?"n":"";throw new Fn({max:a?`${a}${l}`:void 0,min:`${r}${l}`,signed:n,size:o,value:`${e}${l}`})}const i=`0x${(n&&s<0?(1n<<BigInt(o*8))+BigInt(s):s).toString(16)}`;return o?Ut(i,{size:o}):i}const Zs=new TextEncoder;function Co(e,t={}){const n=Zs.encode(e);return ft(n,t)}const _s=new TextEncoder;function Pn(e,t={}){return typeof e=="number"||typeof e=="bigint"?ea(e,t):typeof e=="boolean"?$s(e,t):Lt(e)?Et(e,t):So(e,t)}function $s(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(Mt(n,{size:t.size}),Ut(n,{size:t.size})):n}const pt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Eo(e){if(e>=pt.zero&&e<=pt.nine)return e-pt.zero;if(e>=pt.A&&e<=pt.F)return e-(pt.A-10);if(e>=pt.a&&e<=pt.f)return e-(pt.a-10)}function Et(e,t={}){let n=e;t.size&&(Mt(n,{size:t.size}),n=Ut(n,{dir:"right",size:t.size}));let o=n.slice(2);o.length%2&&(o=`0${o}`);const s=o.length/2,a=new Uint8Array(s);for(let r=0,i=0;r<s;r++){const l=Eo(o.charCodeAt(i++)),k=Eo(o.charCodeAt(i++));if(l===void 0||k===void 0)throw new me(`Invalid byte sequence ("${o[i-2]}${o[i-1]}" in "${o}").`);a[r]=l*16+k}return a}function ea(e,t){const n=de(e,t);return Et(n)}function So(e,t={}){const n=_s.encode(e);return typeof t.size=="number"?(Mt(n,{size:t.size}),Ut(n,{dir:"right",size:t.size})):n}function Mt(e,{size:t}){if(je(e)>t)throw new Qs({givenSize:je(e),maxSize:t})}function Ht(e,t={}){const{signed:n}=t;t.size&&Mt(e,{size:t.size});const o=BigInt(e);if(!n)return o;const s=(e.length-2)/2,a=(1n<<BigInt(s)*8n-1n)-1n;return o<=a?o:o-BigInt(`0x${"f".padStart(s*2,"f")}`)-1n}function un(e,t={}){const n=Ht(e,t),o=Number(n);if(!Number.isSafeInteger(o))throw new Fn({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return o}function Dn(e,t){return({exclude:n,format:o})=>({exclude:n,format:(s,a)=>{const r=t(s,a);if(n)for(const i of n)delete r[i];return{...r,...o(s,a)}},type:e})}const xo={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function On(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?un(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?un(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?xo[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=na(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}const ta=Dn("transaction",On);function na(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function oa(e,t){const n=(e.transactions??[]).map(o=>typeof o=="string"?o:On(o));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const sa=Dn("block",oa);function aa(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}const ra={"0x0":"reverted","0x1":"success"};function ia(e,t){const n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(o=>aa(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?un(e.transactionIndex):null,status:e.status?ra[e.status]:null,type:e.type?xo[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const ca=Dn("transactionReceipt",ia),la={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function da(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=ua(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(o=>ft(o)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=de(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=de(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=de(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=de(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=de(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=de(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=la[e.type]),typeof e.value<"u"&&(n.value=de(e.value)),n}function ua(e){return e.map(t=>({address:t.address,r:t.r?de(BigInt(t.r)):t.r,s:t.s?de(BigInt(t.s)):t.s,chainId:de(t.chainId),nonce:de(t.nonce),...typeof t.yParity<"u"?{yParity:de(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:de(t.v)}:{}}))}const Wt=2n**256n-1n;function Vt(e){return typeof e[0]=="string"?St(e):fa(e)}function fa(e){let t=0;for(const s of e)t+=s.length;const n=new Uint8Array(t);let o=0;for(const s of e)n.set(s,o),o+=s.length;return n}function St(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}class Io extends me{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class pa extends me{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class ma extends me{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ha={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new ma({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new pa({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Io({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Io({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function No(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(ha);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function xt(e,t="hex"){const n=Bo(e),o=No(new Uint8Array(n.length));return n.encode(o),t==="hex"?ft(o.bytes):o.bytes}function Bo(e){return Array.isArray(e)?ga(e.map(t=>Bo(t))):wa(e)}function ga(e){const t=e.reduce((s,a)=>s+a.length,0),n=Fo(t);return{length:t<=55?1+t:1+n+t,encode(s){t<=55?s.pushByte(192+t):(s.pushByte(247+n),n===1?s.pushUint8(t):n===2?s.pushUint16(t):n===3?s.pushUint24(t):s.pushUint32(t));for(const{encode:a}of e)a(s)}}}function wa(e){const t=typeof e=="string"?Et(e):e,n=Fo(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(s){t.length===1&&t[0]<128?s.pushBytes(t):t.length<=55?(s.pushByte(128+t.length),s.pushBytes(t)):(s.pushByte(183+n),n===1?s.pushUint8(t.length):n===2?s.pushUint16(t.length):n===3?s.pushUint24(t.length):s.pushUint32(t.length),s.pushBytes(t))}}}function Fo(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new me("Length is too large.")}const ba={gwei:9,wei:18},ya={ether:-9,wei:9};function Le(e,t){let n=e.toString();const o=n.startsWith("-");o&&(n=n.slice(1)),n=n.padStart(t,"0");let[s,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,""),`${o?"-":""}${s||"0"}${a?`.${a}`:""}`}function Aa(e,t="wei"){return Le(e,ba[t])}function It(e,t="wei"){return Le(e,ya[t])}function Po(e){const t=Object.entries(e).map(([o,s])=>s===void 0||s===!1?null:[o,s]).filter(Boolean),n=t.reduce((o,[s])=>Math.max(o,s.length),0);return t.map(([o,s])=>` ${`${o}:`.padEnd(n+1)} ${s}`).join(`
79
+ `)}class ka extends me{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class va extends me{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Po(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Ta extends me{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Ca(e){if(!e||e.length===0)return[];const t=[];for(const n of e){const{chainId:o,nonce:s,...a}=n,r=n.address;t.push([o?Rt(o):"0x",r,s?Rt(s):"0x",...Zt({},a)])}return t}function Do(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(a=>Et(a)):e.blobs,s=[];for(const a of o)s.push(Uint8Array.from(t.blobToKzgCommitment(a)));return n==="bytes"?s:s.map(a=>ft(a))}function Oo(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(r=>Et(r)):e.blobs,s=typeof e.commitments[0]=="string"?e.commitments.map(r=>Et(r)):e.commitments,a=[];for(let r=0;r<o.length;r++){const i=o[r],l=s[r];a.push(Uint8Array.from(t.computeBlobKzgProof(i,l)))}return n==="bytes"?a:a.map(r=>ft(r))}function Ea(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Lo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function qt(e,...t){if(!Ea(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function fn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Uo(e,t){qt(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function Sa(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Qt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ln(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}const xa=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ia(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Na(e){for(let t=0;t<e.length;t++)e[t]=Ia(e[t]);return e}const Ro=xa?e=>e:Na;function Ba(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Un(e){return typeof e=="string"&&(e=Ba(e)),qt(e),e}class Mo{}function Ho(e){const t=o=>e().update(Un(o)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Fa(e,t,n,o){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,o);const s=BigInt(32),a=BigInt(4294967295),r=Number(n>>s&a),i=Number(n&a),l=o?4:0,k=o?0:4;e.setUint32(t+l,r,o),e.setUint32(t+k,i,o)}function Pa(e,t,n){return e&t^~e&n}function Da(e,t,n){return e&t^e&n^t&n}class Oa extends Mo{constructor(t,n,o,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=o,this.isLE=s,this.buffer=new Uint8Array(t),this.view=Ln(this.buffer)}update(t){fn(this),t=Un(t),qt(t);const{view:n,buffer:o,blockLen:s}=this,a=t.length;for(let r=0;r<a;){const i=Math.min(s-this.pos,a-r);if(i===s){const l=Ln(t);for(;s<=a-r;r+=s)this.process(l,r);continue}o.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){fn(this),Uo(t,this),this.finished=!0;const{buffer:n,view:o,blockLen:s,isLE:a}=this;let{pos:r}=this;n[r++]=128,Qt(this.buffer.subarray(r)),this.padOffset>s-r&&(this.process(o,0),r=0);for(let Y=r;Y<s;Y++)n[Y]=0;Fa(o,s-8,BigInt(this.length*8),a),this.process(o,0);const i=Ln(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const k=l/4,D=this.get();if(k>D.length)throw new Error("_sha2: outputLen bigger than state");for(let Y=0;Y<k;Y++)i.setUint32(4*Y,D[Y],a)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const o=t.slice(0,n);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:o,length:s,finished:a,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=a,t.length=s,t.pos=i,s%n&&t.buffer.set(o),t}clone(){return this._cloneInto()}}const At=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),pn=BigInt(2**32-1),Wo=BigInt(32);function La(e,t=!1){return t?{h:Number(e&pn),l:Number(e>>Wo&pn)}:{h:Number(e>>Wo&pn)|0,l:Number(e&pn)|0}}function Ua(e,t=!1){const n=e.length;let o=new Uint32Array(n),s=new Uint32Array(n);for(let a=0;a<n;a++){const{h:r,l:i}=La(e[a],t);[o[a],s[a]]=[r,i]}return[o,s]}const Ra=(e,t,n)=>e<<n|t>>>32-n,Ma=(e,t,n)=>t<<n|e>>>32-n,Ha=(e,t,n)=>t<<n-32|e>>>64-n,Wa=(e,t,n)=>e<<n-32|t>>>64-n,Va=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),kt=new Uint32Array(64);class Ga extends Oa{constructor(t=32){super(64,t,8,!1),this.A=At[0]|0,this.B=At[1]|0,this.C=At[2]|0,this.D=At[3]|0,this.E=At[4]|0,this.F=At[5]|0,this.G=At[6]|0,this.H=At[7]|0}get(){const{A:t,B:n,C:o,D:s,E:a,F:r,G:i,H:l}=this;return[t,n,o,s,a,r,i,l]}set(t,n,o,s,a,r,i,l){this.A=t|0,this.B=n|0,this.C=o|0,this.D=s|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=l|0}process(t,n){for(let Y=0;Y<16;Y++,n+=4)kt[Y]=t.getUint32(n,!1);for(let Y=16;Y<64;Y++){const g=kt[Y-15],A=kt[Y-2],y=rt(g,7)^rt(g,18)^g>>>3,T=rt(A,17)^rt(A,19)^A>>>10;kt[Y]=T+kt[Y-7]+y+kt[Y-16]|0}let{A:o,B:s,C:a,D:r,E:i,F:l,G:k,H:D}=this;for(let Y=0;Y<64;Y++){const g=rt(i,6)^rt(i,11)^rt(i,25),A=D+g+Pa(i,l,k)+Va[Y]+kt[Y]|0,T=(rt(o,2)^rt(o,13)^rt(o,22))+Da(o,s,a)|0;D=k,k=l,l=i,i=r+A|0,r=a,a=s,s=o,o=A+T|0}o=o+this.A|0,s=s+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,l=l+this.F|0,k=k+this.G|0,D=D+this.H|0,this.set(o,s,a,r,i,l,k,D)}roundClean(){Qt(kt)}destroy(){this.set(0,0,0,0,0,0,0,0),Qt(this.buffer)}}const Ya=Ho(()=>new Ga);function za(e,t){return Ya(Lt(e,{strict:!1})?Pn(e):e)}function Ja(e){const{commitment:t,version:n=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),s=za(t);return s.set([n],0),o==="bytes"?s:ft(s)}function ja(e){const{commitments:t,version:n}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),s=[];for(const a of t)s.push(Ja({commitment:a,to:o,version:n}));return s}const Vo=6,Go=32,Rn=4096,Yo=Go*Rn,zo=Yo*Vo-1-1*Rn*Vo,Jo=1;class qa extends me{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class jo extends me{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Qa extends me{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class Xa extends me{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Jo}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}function Ka(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?Et(e.data):e.data,o=je(n);if(!o)throw new jo;if(o>zo)throw new qa({maxSize:zo,size:o});const s=[];let a=!0,r=0;for(;a;){const i=No(new Uint8Array(Yo));let l=0;for(;l<Rn;){const k=n.slice(r,r+(Go-1));if(i.pushByte(0),i.pushBytes(k),k.length<31){i.pushByte(128),a=!1;break}l++,r+=31}s.push(i)}return t==="bytes"?s.map(i=>i.bytes):s.map(i=>ft(i.bytes))}function Za(e){const{data:t,kzg:n,to:o}=e,s=e.blobs??Ka({data:t,to:o}),a=e.commitments??Do({blobs:s,kzg:n,to:o}),r=e.proofs??Oo({blobs:s,commitments:a,kzg:n,to:o}),i=[];for(let l=0;l<s.length;l++)i.push({blob:s[l],commitment:a[l],proof:r[l]});return i}class it extends me{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class mn extends me{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Gt extends me{constructor({cause:t,message:n}={}){const o=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${o?`with reason: ${o}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(Gt,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Gt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class Nt extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${It(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Nt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Mn extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${It(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Mn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Hn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Wn extends me{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
80
80
  `),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(Wn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Vn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}}Object.defineProperty(Vn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Gn extends me{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
81
- `),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(Gn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Yn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Yn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class Jn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(Jn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class zn extends me{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(zn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class Xt extends me{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:o}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${It(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${o?` = ${It(o)} gwei`:""}).`].join(`
82
- `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(Xt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class qo extends me{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}class Qo extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const o=this.keys().next().value;o&&this.delete(o)}return this}}const _a=BigInt(0),Kt=BigInt(1),$a=BigInt(2),er=BigInt(7),tr=BigInt(256),nr=BigInt(113),Xo=[],Ko=[],Zo=[];for(let e=0,t=Kt,n=1,o=0;e<24;e++){[n,o]=[o,(2*n+3*o)%5],Xo.push(2*(5*o+n)),Ko.push((e+1)*(e+2)/2%64);let s=_a;for(let a=0;a<7;a++)t=(t<<Kt^(t>>er)*nr)%tr,t&$a&&(s^=Kt<<(Kt<<BigInt(a))-Kt);Zo.push(s)}const _o=Ua(Zo,!0),or=_o[0],sr=_o[1],$o=(e,t,n)=>n>32?Ha(e,t,n):Ra(e,t,n),es=(e,t,n)=>n>32?Wa(e,t,n):Ma(e,t,n);function ar(e,t=24){const n=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let r=0;r<10;r++)n[r]=e[r]^e[r+10]^e[r+20]^e[r+30]^e[r+40];for(let r=0;r<10;r+=2){const i=(r+8)%10,l=(r+2)%10,k=n[l],O=n[l+1],Y=$o(k,O,1)^n[i],g=es(k,O,1)^n[i+1];for(let A=0;A<50;A+=10)e[r+A]^=Y,e[r+A+1]^=g}let s=e[2],a=e[3];for(let r=0;r<24;r++){const i=Ko[r],l=$o(s,a,i),k=es(s,a,i),O=Xo[r];s=e[O],a=e[O+1],e[O]=l,e[O+1]=k}for(let r=0;r<50;r+=10){for(let i=0;i<10;i++)n[i]=e[r+i];for(let i=0;i<10;i++)e[r+i]^=~n[(i+2)%10]&n[(i+4)%10]}e[0]^=or[o],e[1]^=sr[o]}Qt(n)}class jn extends Mo{constructor(t,n,o,s=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=o,this.enableXOF=s,this.rounds=a,Lo(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Sa(this.state)}clone(){return this._cloneInto()}keccak(){Ro(this.state32),ar(this.state32,this.rounds),Ro(this.state32),this.posOut=0,this.pos=0}update(t){fn(this),t=Un(t),qt(t);const{blockLen:n,state:o}=this,s=t.length;for(let a=0;a<s;){const r=Math.min(n-this.pos,s-a);for(let i=0;i<r;i++)o[this.pos++]^=t[a++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:o,blockLen:s}=this;t[o]^=n,(n&128)!==0&&o===s-1&&this.keccak(),t[s-1]^=128,this.keccak()}writeInto(t){fn(this,!1),qt(t),this.finish();const n=this.state,{blockLen:o}=this;for(let s=0,a=t.length;s<a;){this.posOut>=o&&this.keccak();const r=Math.min(o-this.posOut,a-s);t.set(n.subarray(this.posOut,this.posOut+r),s),this.posOut+=r,s+=r}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Lo(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Uo(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Qt(this.state)}_cloneInto(t){const{blockLen:n,suffix:o,outputLen:s,rounds:a,enableXOF:r}=this;return t||(t=new jn(n,o,s,r,a)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=o,t.outputLen=s,t.enableXOF=r,t.destroyed=this.destroyed,t}}const rr=(e,t,n)=>Ho(()=>new jn(t,e,n)),ir=rr(1,136,256/8);function ts(e,t){const n=t||"hex",o=ir(Lt(e,{strict:!1})?Pn(e):e);return n==="bytes"?o:Rt(o)}const qn=new Qo(8192);function cr(e,t){if(qn.has(`${e}.${t}`))return qn.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),o=ts(So(n),"bytes"),s=n.split("");for(let r=0;r<40;r+=2)o[r>>1]>>4>=8&&s[r]&&(s[r]=s[r].toUpperCase()),(o[r>>1]&15)>=8&&s[r+1]&&(s[r+1]=s[r+1].toUpperCase());const a=`0x${s.join("")}`;return qn.set(`${e}.${t}`,a),a}const lr=/^0x[a-fA-F0-9]{40}$/,Qn=new Qo(8192);function Me(e,t){const{strict:n=!0}=t??{},o=`${e}.${n}`;if(Qn.has(o))return Qn.get(o);const s=lr.test(e)?e.toLowerCase()===e?!0:n?cr(e)===e:!0:!1;return Qn.set(o,s),s}function Xn(e,t,n,{strict:o}={}){return Lt(e,{strict:!1})?ur(e,t,n,{strict:o}):dr(e,t,n,{strict:o})}function ns(e,t){if(typeof t=="number"&&t>0&&t>je(e)-1)throw new ko({offset:t,position:"start",size:je(e)})}function os(e,t,n){if(typeof t=="number"&&typeof n=="number"&&je(e)!==n-t)throw new ko({offset:n,position:"end",size:je(e)})}function dr(e,t,n,{strict:o}={}){ns(e,t);const s=e.slice(t,n);return o&&os(s,t,n),s}function ur(e,t,n,{strict:o}={}){ns(e,t);const s=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return o&&os(s,t,n),s}function fr(e){const{authorizationList:t}=e;if(t)for(const n of t){const{chainId:o}=n,s=n.address;if(!Me(s))throw new it({address:s});if(o<0)throw new mn({chainId:o})}Kn(e)}function pr(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new jo;for(const n of t){const o=je(n),s=un(Xn(n,0,1));if(o!==32)throw new Qa({hash:n,size:o});if(s!==zo)throw new Xa({hash:n,version:s})}}Kn(e)}function Kn(e){const{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:o,to:s}=e;if(t<=0)throw new mn({chainId:t});if(s&&!Me(s))throw new it({address:s});if(o&&o>Wt)throw new Nt({maxFeePerGas:o});if(n&&o&&n>o)throw new Xt({maxFeePerGas:o,maxPriorityFeePerGas:n})}function mr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:o,maxFeePerGas:s,to:a}=e;if(t<=0)throw new mn({chainId:t});if(a&&!Me(a))throw new it({address:a});if(n||s)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>Wt)throw new Nt({maxFeePerGas:o})}function hr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:o,maxFeePerGas:s,to:a}=e;if(a&&!Me(a))throw new it({address:a});if(typeof t<"u"&&t<=0)throw new mn({chainId:t});if(n||s)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>Wt)throw new Nt({maxFeePerGas:o})}function gr(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new va({transaction:e})}function hn(e){if(!e||e.length===0)return[];const t=[];for(let n=0;n<e.length;n++){const{address:o,storageKeys:s}=e[n];for(let a=0;a<s.length;a++)if(s[a].length-2!==64)throw new Ta({storageKey:s[a]});if(!Me(o,{strict:!1}))throw new it({address:o});t.push([o,s])}return t}function wr(e,t){const n=gr(e);return n==="eip1559"?Ar(e,t):n==="eip2930"?kr(e,t):n==="eip4844"?yr(e,t):n==="eip7702"?br(e,t):vr(e,t)}function br(e,t){const{authorizationList:n,chainId:o,gas:s,nonce:a,to:r,value:i,maxFeePerGas:l,maxPriorityFeePerGas:k,accessList:O,data:Y}=e;fr(e);const g=hn(O),A=Ca(n);return St(["0x04",xt([de(o),a?de(a):"0x",k?de(k):"0x",l?de(l):"0x",s?de(s):"0x",r??"0x",i?de(i):"0x",Y??"0x",g,A,...Zt(e,t)])])}function yr(e,t){const{chainId:n,gas:o,nonce:s,to:a,value:r,maxFeePerBlobGas:i,maxFeePerGas:l,maxPriorityFeePerGas:k,accessList:O,data:Y}=e;pr(e);let g=e.blobVersionedHashes,A=e.sidecars;if(e.blobs&&(typeof g>"u"||typeof A>"u")){const W=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(ge=>ft(ge)),z=e.kzg,he=Oo({blobs:W,kzg:z});if(typeof g>"u"&&(g=ja({commitments:he})),typeof A>"u"){const ge=Do({blobs:W,commitments:he,kzg:z});A=Za({blobs:W,commitments:he,proofs:ge})}}const y=hn(O),T=[de(n),s?de(s):"0x",k?de(k):"0x",l?de(l):"0x",o?de(o):"0x",a??"0x",r?de(r):"0x",Y??"0x",y,i?de(i):"0x",g??[],...Zt(e,t)],B=[],ve=[],N=[];if(A)for(let W=0;W<A.length;W++){const{blob:z,commitment:he,proof:ge}=A[W];B.push(z),ve.push(he),N.push(ge)}return St(["0x03",xt(A?[T,B,ve,N]:T)])}function Ar(e,t){const{chainId:n,gas:o,nonce:s,to:a,value:r,maxFeePerGas:i,maxPriorityFeePerGas:l,accessList:k,data:O}=e;Kn(e);const Y=hn(k),g=[de(n),s?de(s):"0x",l?de(l):"0x",i?de(i):"0x",o?de(o):"0x",a??"0x",r?de(r):"0x",O??"0x",Y,...Zt(e,t)];return St(["0x02",xt(g)])}function kr(e,t){const{chainId:n,gas:o,data:s,nonce:a,to:r,value:i,accessList:l,gasPrice:k}=e;mr(e);const O=hn(l),Y=[de(n),a?de(a):"0x",k?de(k):"0x",o?de(o):"0x",r??"0x",i?de(i):"0x",s??"0x",O,...Zt(e,t)];return St(["0x01",xt(Y)])}function vr(e,t){const{chainId:n=0,gas:o,data:s,nonce:a,to:r,value:i,gasPrice:l}=e;hr(e);let k=[a?de(a):"0x",l?de(l):"0x",o?de(o):"0x",r??"0x",i?de(i):"0x",s??"0x"];if(t){const O=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);const A=27n+(t.v===27n?0n:1n);if(t.v!==A)throw new ka({v:t.v});return A})(),Y=dn(t.r),g=dn(t.s);k=[...k,de(O),Y==="0x00"?"0x":Y,g==="0x00"?"0x":g]}else n>0&&(k=[...k,de(n),"0x","0x"]);return xt(k)}function Zt(e,t){const n=t??e,{v:o,yParity:s}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof o>"u"&&typeof s>"u")return[];const a=dn(n.r),r=dn(n.s);return[typeof s=="number"?s?de(1):"0x":o===0n?"0x":o===1n?de(1):o===27n?"0x":de(1),a==="0x00"?"0x":a,r==="0x00"?"0x":r]}const Tr={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Cr={block:sa({format(e){return{transactions:e.transactions?.map(n=>{if(typeof n=="string")return n;const o=Dn(n);return o.typeHex==="0x7e"&&(o.isSystemTx=n.isSystemTx,o.mint=n.mint?Ht(n.mint):void 0,o.sourceHash=n.sourceHash,o.type="deposit"),o}),stateRoot:e.stateRoot}}}),transaction:ta({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Ht(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:ca({format(e){return{l1GasPrice:e.l1GasPrice?Ht(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Ht(e.l1GasUsed):null,l1Fee:e.l1Fee?Ht(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function Er(e,t){return Ir(e)?xr(e):wr(e,t)}const Sr={transaction:Er};function xr(e){Nr(e);const{sourceHash:t,data:n,from:o,gas:s,isSystemTx:a,mint:r,to:i,value:l}=e,k=[t,o,i??"0x",r?Rt(r):"0x",l?Rt(l):"0x",s?Rt(s):"0x",a?"0x1":"0x",n??"0x"];return St(["0x7e",xt(k)])}function Ir(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Nr(e){const{from:t,to:n}=e;if(t&&!Me(t))throw new it({address:t});if(n&&!Me(n))throw new it({address:n})}const gn={blockTime:2e3,contracts:Tr,formatters:Cr,serializers:Sr},Br=ut({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),Fr=ut({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}}),_t=1,ss=ut({...gn,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...gn.contracts,disputeGameFactory:{[_t]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[_t]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[_t]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[_t]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:_t});({...ss});const Pr=ut({id:56,name:"BNB Smart Chain",blockTime:750,nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://56.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"BscScan",url:"https://bscscan.com",apiUrl:"https://api.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}});function Zn(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}class Or extends me{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
83
- `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}function _n(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Vr(e.type);return`${e.name}(${as(e.inputs,{includeName:t})})`}function as(e,{includeName:t=!1}={}){return e?e.map(n=>Dr(n,{includeName:t})).join(t?", ":","):""}function Dr(e,{includeName:t}){return e.type.startsWith("tuple")?`(${as(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}class Lr extends me{constructor({expectedLength:t,givenLength:n,type:o}){super([`ABI encoding array length mismatch for type ${o}.`,`Expected length: ${t}`,`Given length: ${n}`].join(`
81
+ `),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(Gn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Yn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Yn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class zn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(zn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Jn extends me{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Jn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class Xt extends me{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:o}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${It(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${o?` = ${It(o)} gwei`:""}).`].join(`
82
+ `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(Xt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class qo extends me{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}class Qo extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const o=this.keys().next().value;o&&this.delete(o)}return this}}const _a=BigInt(0),Kt=BigInt(1),$a=BigInt(2),er=BigInt(7),tr=BigInt(256),nr=BigInt(113),Xo=[],Ko=[],Zo=[];for(let e=0,t=Kt,n=1,o=0;e<24;e++){[n,o]=[o,(2*n+3*o)%5],Xo.push(2*(5*o+n)),Ko.push((e+1)*(e+2)/2%64);let s=_a;for(let a=0;a<7;a++)t=(t<<Kt^(t>>er)*nr)%tr,t&$a&&(s^=Kt<<(Kt<<BigInt(a))-Kt);Zo.push(s)}const _o=Ua(Zo,!0),or=_o[0],sr=_o[1],$o=(e,t,n)=>n>32?Ha(e,t,n):Ra(e,t,n),es=(e,t,n)=>n>32?Wa(e,t,n):Ma(e,t,n);function ar(e,t=24){const n=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let r=0;r<10;r++)n[r]=e[r]^e[r+10]^e[r+20]^e[r+30]^e[r+40];for(let r=0;r<10;r+=2){const i=(r+8)%10,l=(r+2)%10,k=n[l],D=n[l+1],Y=$o(k,D,1)^n[i],g=es(k,D,1)^n[i+1];for(let A=0;A<50;A+=10)e[r+A]^=Y,e[r+A+1]^=g}let s=e[2],a=e[3];for(let r=0;r<24;r++){const i=Ko[r],l=$o(s,a,i),k=es(s,a,i),D=Xo[r];s=e[D],a=e[D+1],e[D]=l,e[D+1]=k}for(let r=0;r<50;r+=10){for(let i=0;i<10;i++)n[i]=e[r+i];for(let i=0;i<10;i++)e[r+i]^=~n[(i+2)%10]&n[(i+4)%10]}e[0]^=or[o],e[1]^=sr[o]}Qt(n)}class jn extends Mo{constructor(t,n,o,s=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=o,this.enableXOF=s,this.rounds=a,Lo(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Sa(this.state)}clone(){return this._cloneInto()}keccak(){Ro(this.state32),ar(this.state32,this.rounds),Ro(this.state32),this.posOut=0,this.pos=0}update(t){fn(this),t=Un(t),qt(t);const{blockLen:n,state:o}=this,s=t.length;for(let a=0;a<s;){const r=Math.min(n-this.pos,s-a);for(let i=0;i<r;i++)o[this.pos++]^=t[a++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:o,blockLen:s}=this;t[o]^=n,(n&128)!==0&&o===s-1&&this.keccak(),t[s-1]^=128,this.keccak()}writeInto(t){fn(this,!1),qt(t),this.finish();const n=this.state,{blockLen:o}=this;for(let s=0,a=t.length;s<a;){this.posOut>=o&&this.keccak();const r=Math.min(o-this.posOut,a-s);t.set(n.subarray(this.posOut,this.posOut+r),s),this.posOut+=r,s+=r}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Lo(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Uo(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Qt(this.state)}_cloneInto(t){const{blockLen:n,suffix:o,outputLen:s,rounds:a,enableXOF:r}=this;return t||(t=new jn(n,o,s,r,a)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=o,t.outputLen=s,t.enableXOF=r,t.destroyed=this.destroyed,t}}const rr=(e,t,n)=>Ho(()=>new jn(t,e,n)),ir=rr(1,136,256/8);function ts(e,t){const n=t||"hex",o=ir(Lt(e,{strict:!1})?Pn(e):e);return n==="bytes"?o:Rt(o)}const qn=new Qo(8192);function cr(e,t){if(qn.has(`${e}.${t}`))return qn.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),o=ts(So(n),"bytes"),s=n.split("");for(let r=0;r<40;r+=2)o[r>>1]>>4>=8&&s[r]&&(s[r]=s[r].toUpperCase()),(o[r>>1]&15)>=8&&s[r+1]&&(s[r+1]=s[r+1].toUpperCase());const a=`0x${s.join("")}`;return qn.set(`${e}.${t}`,a),a}const lr=/^0x[a-fA-F0-9]{40}$/,Qn=new Qo(8192);function Me(e,t){const{strict:n=!0}=t??{},o=`${e}.${n}`;if(Qn.has(o))return Qn.get(o);const s=lr.test(e)?e.toLowerCase()===e?!0:n?cr(e)===e:!0:!1;return Qn.set(o,s),s}function Xn(e,t,n,{strict:o}={}){return Lt(e,{strict:!1})?ur(e,t,n,{strict:o}):dr(e,t,n,{strict:o})}function ns(e,t){if(typeof t=="number"&&t>0&&t>je(e)-1)throw new ko({offset:t,position:"start",size:je(e)})}function os(e,t,n){if(typeof t=="number"&&typeof n=="number"&&je(e)!==n-t)throw new ko({offset:n,position:"end",size:je(e)})}function dr(e,t,n,{strict:o}={}){ns(e,t);const s=e.slice(t,n);return o&&os(s,t,n),s}function ur(e,t,n,{strict:o}={}){ns(e,t);const s=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return o&&os(s,t,n),s}function fr(e){const{authorizationList:t}=e;if(t)for(const n of t){const{chainId:o}=n,s=n.address;if(!Me(s))throw new it({address:s});if(o<0)throw new mn({chainId:o})}Kn(e)}function pr(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new jo;for(const n of t){const o=je(n),s=un(Xn(n,0,1));if(o!==32)throw new Qa({hash:n,size:o});if(s!==Jo)throw new Xa({hash:n,version:s})}}Kn(e)}function Kn(e){const{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:o,to:s}=e;if(t<=0)throw new mn({chainId:t});if(s&&!Me(s))throw new it({address:s});if(o&&o>Wt)throw new Nt({maxFeePerGas:o});if(n&&o&&n>o)throw new Xt({maxFeePerGas:o,maxPriorityFeePerGas:n})}function mr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:o,maxFeePerGas:s,to:a}=e;if(t<=0)throw new mn({chainId:t});if(a&&!Me(a))throw new it({address:a});if(n||s)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>Wt)throw new Nt({maxFeePerGas:o})}function hr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:o,maxFeePerGas:s,to:a}=e;if(a&&!Me(a))throw new it({address:a});if(typeof t<"u"&&t<=0)throw new mn({chainId:t});if(n||s)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>Wt)throw new Nt({maxFeePerGas:o})}function gr(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new va({transaction:e})}function hn(e){if(!e||e.length===0)return[];const t=[];for(let n=0;n<e.length;n++){const{address:o,storageKeys:s}=e[n];for(let a=0;a<s.length;a++)if(s[a].length-2!==64)throw new Ta({storageKey:s[a]});if(!Me(o,{strict:!1}))throw new it({address:o});t.push([o,s])}return t}function wr(e,t){const n=gr(e);return n==="eip1559"?Ar(e,t):n==="eip2930"?kr(e,t):n==="eip4844"?yr(e,t):n==="eip7702"?br(e,t):vr(e,t)}function br(e,t){const{authorizationList:n,chainId:o,gas:s,nonce:a,to:r,value:i,maxFeePerGas:l,maxPriorityFeePerGas:k,accessList:D,data:Y}=e;fr(e);const g=hn(D),A=Ca(n);return St(["0x04",xt([de(o),a?de(a):"0x",k?de(k):"0x",l?de(l):"0x",s?de(s):"0x",r??"0x",i?de(i):"0x",Y??"0x",g,A,...Zt(e,t)])])}function yr(e,t){const{chainId:n,gas:o,nonce:s,to:a,value:r,maxFeePerBlobGas:i,maxFeePerGas:l,maxPriorityFeePerGas:k,accessList:D,data:Y}=e;pr(e);let g=e.blobVersionedHashes,A=e.sidecars;if(e.blobs&&(typeof g>"u"||typeof A>"u")){const W=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(ge=>ft(ge)),J=e.kzg,he=Do({blobs:W,kzg:J});if(typeof g>"u"&&(g=ja({commitments:he})),typeof A>"u"){const ge=Oo({blobs:W,commitments:he,kzg:J});A=Za({blobs:W,commitments:he,proofs:ge})}}const y=hn(D),T=[de(n),s?de(s):"0x",k?de(k):"0x",l?de(l):"0x",o?de(o):"0x",a??"0x",r?de(r):"0x",Y??"0x",y,i?de(i):"0x",g??[],...Zt(e,t)],B=[],ve=[],N=[];if(A)for(let W=0;W<A.length;W++){const{blob:J,commitment:he,proof:ge}=A[W];B.push(J),ve.push(he),N.push(ge)}return St(["0x03",xt(A?[T,B,ve,N]:T)])}function Ar(e,t){const{chainId:n,gas:o,nonce:s,to:a,value:r,maxFeePerGas:i,maxPriorityFeePerGas:l,accessList:k,data:D}=e;Kn(e);const Y=hn(k),g=[de(n),s?de(s):"0x",l?de(l):"0x",i?de(i):"0x",o?de(o):"0x",a??"0x",r?de(r):"0x",D??"0x",Y,...Zt(e,t)];return St(["0x02",xt(g)])}function kr(e,t){const{chainId:n,gas:o,data:s,nonce:a,to:r,value:i,accessList:l,gasPrice:k}=e;mr(e);const D=hn(l),Y=[de(n),a?de(a):"0x",k?de(k):"0x",o?de(o):"0x",r??"0x",i?de(i):"0x",s??"0x",D,...Zt(e,t)];return St(["0x01",xt(Y)])}function vr(e,t){const{chainId:n=0,gas:o,data:s,nonce:a,to:r,value:i,gasPrice:l}=e;hr(e);let k=[a?de(a):"0x",l?de(l):"0x",o?de(o):"0x",r??"0x",i?de(i):"0x",s??"0x"];if(t){const D=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);const A=27n+(t.v===27n?0n:1n);if(t.v!==A)throw new ka({v:t.v});return A})(),Y=dn(t.r),g=dn(t.s);k=[...k,de(D),Y==="0x00"?"0x":Y,g==="0x00"?"0x":g]}else n>0&&(k=[...k,de(n),"0x","0x"]);return xt(k)}function Zt(e,t){const n=t??e,{v:o,yParity:s}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof o>"u"&&typeof s>"u")return[];const a=dn(n.r),r=dn(n.s);return[typeof s=="number"?s?de(1):"0x":o===0n?"0x":o===1n?de(1):o===27n?"0x":de(1),a==="0x00"?"0x":a,r==="0x00"?"0x":r]}const Tr={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Cr={block:sa({format(e){return{transactions:e.transactions?.map(n=>{if(typeof n=="string")return n;const o=On(n);return o.typeHex==="0x7e"&&(o.isSystemTx=n.isSystemTx,o.mint=n.mint?Ht(n.mint):void 0,o.sourceHash=n.sourceHash,o.type="deposit"),o}),stateRoot:e.stateRoot}}}),transaction:ta({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Ht(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:ca({format(e){return{l1GasPrice:e.l1GasPrice?Ht(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Ht(e.l1GasUsed):null,l1Fee:e.l1Fee?Ht(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function Er(e,t){return Ir(e)?xr(e):wr(e,t)}const Sr={transaction:Er};function xr(e){Nr(e);const{sourceHash:t,data:n,from:o,gas:s,isSystemTx:a,mint:r,to:i,value:l}=e,k=[t,o,i??"0x",r?Rt(r):"0x",l?Rt(l):"0x",s?Rt(s):"0x",a?"0x1":"0x",n??"0x"];return St(["0x7e",xt(k)])}function Ir(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Nr(e){const{from:t,to:n}=e;if(t&&!Me(t))throw new it({address:t});if(n&&!Me(n))throw new it({address:n})}const gn={blockTime:2e3,contracts:Tr,formatters:Cr,serializers:Sr},Br=ut({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),Fr=ut({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}}),_t=1,ss=ut({...gn,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...gn.contracts,disputeGameFactory:{[_t]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[_t]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[_t]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[_t]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:_t});({...ss});const Pr=ut({id:56,name:"BNB Smart Chain",blockTime:750,nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://56.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"BscScan",url:"https://bscscan.com",apiUrl:"https://api.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}});function Zn(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}class Dr extends me{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
83
+ `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}function _n(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Vr(e.type);return`${e.name}(${as(e.inputs,{includeName:t})})`}function as(e,{includeName:t=!1}={}){return e?e.map(n=>Or(n,{includeName:t})).join(t?", ":","):""}function Or(e,{includeName:t}){return e.type.startsWith("tuple")?`(${as(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}class Lr extends me{constructor({expectedLength:t,givenLength:n,type:o}){super([`ABI encoding array length mismatch for type ${o}.`,`Expected length: ${t}`,`Given length: ${n}`].join(`
84
84
  `),{name:"AbiEncodingArrayLengthMismatchError"})}}class Ur extends me{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${je(n)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class Rr extends me{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${n}`].join(`
85
85
  `),{name:"AbiEncodingLengthMismatchError"})}}class rs extends me{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
86
86
  `),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class Mr extends me{constructor(t,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${_n(t.abiItem)}\`, and`,`\`${n.type}\` in \`${_n(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class Hr extends me{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
87
87
  `),{docsPath:n,name:"InvalidAbiEncodingType"})}}class Wr extends me{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
88
88
  `),{name:"InvalidArrayError"})}}class Vr extends me{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
89
- `),{name:"InvalidDefinitionTypeError"})}}const Gr=e=>ts(Pn(e));function Yr(e){return Gr(e)}function Jr(e,t){return e.exec(t)?.groups}const is=/^tuple(?<array>(\[(\d*)\])*)$/;function $n(e){let t=e.type;if(is.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let s=0;s<n;s++){const a=e.components[s];t+=$n(a),s<n-1&&(t+=", ")}const o=Jr(is,e.type);return t+=`)${o?.array||""}`,$n({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function $t(e){let t="";const n=e.length;for(let o=0;o<n;o++){const s=e[o];t+=$n(s),o!==n-1&&(t+=", ")}return t}function zr(e){return e.type==="function"?`function ${e.name}(${$t(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${$t(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${$t(e.inputs)})`:e.type==="error"?`error ${e.name}(${$t(e.inputs)})`:e.type==="constructor"?`constructor(${$t(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function jr(e){let t=!0,n="",o=0,s="",a=!1;for(let r=0;r<e.length;r++){const i=e[r];if(["(",")",","].includes(i)&&(t=!0),i==="("&&o++,i===")"&&o--,!!t){if(o===0){if(i===" "&&["event","function",""].includes(s))s="";else if(s+=i,i===")"){a=!0;break}continue}if(i===" "){e[r-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}s+=i,n+=i}}if(!a)throw new me("Unable to normalize signature.");return s}const qr=e=>{const t=typeof e=="string"?e:zr(e);return jr(t)};function cs(e){return Yr(qr(e))}const ls=e=>Xn(cs(e),0,4),Qr=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function Xr(e,t){if(e.length!==t.length)throw new Rr({expectedLength:e.length,givenLength:t.length});const n=Kr({params:e,values:t}),o=to(n);return o.length===0?"0x":o}function Kr({params:e,values:t}){const n=[];for(let o=0;o<e.length;o++)n.push(eo({param:e[o],value:t[o]}));return n}function eo({param:e,value:t}){const n=si(e.type);if(n){const[o,s]=n;return _r(t,{length:o,param:{...e,type:s}})}if(e.type==="tuple")return oi(t,{param:e});if(e.type==="address")return Zr(t);if(e.type==="bool")return ei(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const o=e.type.startsWith("int"),[,,s="256"]=Qr.exec(e.type)??[];return ti(t,{signed:o,size:Number(s)})}if(e.type.startsWith("bytes"))return $r(t,{param:e});if(e.type==="string")return ni(t);throw new Hr(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function to(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?t+=32:t+=je(i)}const n=[],o=[];let s=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?(n.push(de(t+s,{size:32})),o.push(i),s+=je(i)):n.push(i)}return Vt([...n,...o])}function Zr(e){if(!Me(e))throw new it({address:e});return{dynamic:!1,encoded:yt(e.toLowerCase())}}function _r(e,{length:t,param:n}){const o=t===null;if(!Array.isArray(e))throw new Wr(e);if(!o&&e.length!==t)throw new Lr({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let s=!1;const a=[];for(let r=0;r<e.length;r++){const i=eo({param:n,value:e[r]});i.dynamic&&(s=!0),a.push(i)}if(o||s){const r=to(a);if(o){const i=de(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Vt([i,r]):i}}if(s)return{dynamic:!0,encoded:r}}return{dynamic:!1,encoded:Vt(a.map(({encoded:r})=>r))}}function $r(e,{param:t}){const[,n]=t.type.split("bytes"),o=je(e);if(!n){let s=e;return o%32!==0&&(s=yt(s,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Vt([yt(de(o,{size:32})),s])}}if(o!==Number.parseInt(n,10))throw new Ur({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:yt(e,{dir:"right"})}}function ei(e){if(typeof e!="boolean")throw new me(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:yt(To(e))}}function ti(e,{signed:t,size:n=256}){if(typeof n=="number"){const o=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-o-1n:0n;if(e>o||e<s)throw new Fn({max:o.toString(),min:s.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:de(e,{size:32,signed:t})}}function ni(e){const t=Co(e),n=Math.ceil(je(t)/32),o=[];for(let s=0;s<n;s++)o.push(yt(Xn(t,s*32,(s+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Vt([yt(de(je(t),{size:32})),...o])}}function oi(e,{param:t}){let n=!1;const o=[];for(let s=0;s<t.components.length;s++){const a=t.components[s],r=Array.isArray(e)?s:a.name,i=eo({param:a,value:e[r]});o.push(i),i.dynamic&&(n=!0)}return{dynamic:n,encoded:n?to(o):Vt(o.map(({encoded:s})=>s))}}function si(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const ai=cs;function ri(e){const{abi:t,args:n=[],name:o}=e,s=Lt(o,{strict:!1}),a=t.filter(i=>s?i.type==="function"?ls(i)===o:i.type==="event"?ai(i)===o:!1:"name"in i&&i.name===o);if(a.length===0)return;if(a.length===1)return a[0];let r;for(const i of a){if(!("inputs"in i))continue;if(!n||n.length===0){if(!i.inputs||i.inputs.length===0)return i;continue}if(!i.inputs||i.inputs.length===0||i.inputs.length!==n.length)continue;if(n.every((k,O)=>{const Y="inputs"in i&&i.inputs[O];return Y?no(k,Y):!1})){if(r&&"inputs"in r&&r.inputs){const k=ds(i.inputs,r.inputs,n);if(k)throw new Mr({abiItem:i,type:k[0]},{abiItem:r,type:k[1]})}r=i}}return r||a[0]}function no(e,t){const n=typeof e,o=t.type;switch(o){case"address":return Me(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((s,a)=>n==="object"&&no(Object.values(e)[a],s)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)?Array.isArray(e)&&e.every(s=>no(s,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ds(e,t,n){for(const o in e){const s=e[o],a=t[o];if(s.type==="tuple"&&a.type==="tuple"&&"components"in s&&"components"in a)return ds(s.components,a.components,n[o]);const r=[s.type,a.type];if(r.includes("address")&&r.includes("bytes20")?!0:r.includes("address")&&r.includes("string")?Me(n[o],{strict:!1}):r.includes("address")&&r.includes("bytes")?Me(n[o],{strict:!1}):!1)return r}}function us(e){return e.reduce((t,{slot:n,value:o})=>`${t} ${n}: ${o}
89
+ `),{name:"InvalidDefinitionTypeError"})}}const Gr=e=>ts(Pn(e));function Yr(e){return Gr(e)}function zr(e,t){return e.exec(t)?.groups}const is=/^tuple(?<array>(\[(\d*)\])*)$/;function $n(e){let t=e.type;if(is.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let s=0;s<n;s++){const a=e.components[s];t+=$n(a),s<n-1&&(t+=", ")}const o=zr(is,e.type);return t+=`)${o?.array||""}`,$n({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function $t(e){let t="";const n=e.length;for(let o=0;o<n;o++){const s=e[o];t+=$n(s),o!==n-1&&(t+=", ")}return t}function Jr(e){return e.type==="function"?`function ${e.name}(${$t(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${$t(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${$t(e.inputs)})`:e.type==="error"?`error ${e.name}(${$t(e.inputs)})`:e.type==="constructor"?`constructor(${$t(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function jr(e){let t=!0,n="",o=0,s="",a=!1;for(let r=0;r<e.length;r++){const i=e[r];if(["(",")",","].includes(i)&&(t=!0),i==="("&&o++,i===")"&&o--,!!t){if(o===0){if(i===" "&&["event","function",""].includes(s))s="";else if(s+=i,i===")"){a=!0;break}continue}if(i===" "){e[r-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}s+=i,n+=i}}if(!a)throw new me("Unable to normalize signature.");return s}const qr=e=>{const t=typeof e=="string"?e:Jr(e);return jr(t)};function cs(e){return Yr(qr(e))}const ls=e=>Xn(cs(e),0,4),Qr=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function Xr(e,t){if(e.length!==t.length)throw new Rr({expectedLength:e.length,givenLength:t.length});const n=Kr({params:e,values:t}),o=to(n);return o.length===0?"0x":o}function Kr({params:e,values:t}){const n=[];for(let o=0;o<e.length;o++)n.push(eo({param:e[o],value:t[o]}));return n}function eo({param:e,value:t}){const n=si(e.type);if(n){const[o,s]=n;return _r(t,{length:o,param:{...e,type:s}})}if(e.type==="tuple")return oi(t,{param:e});if(e.type==="address")return Zr(t);if(e.type==="bool")return ei(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const o=e.type.startsWith("int"),[,,s="256"]=Qr.exec(e.type)??[];return ti(t,{signed:o,size:Number(s)})}if(e.type.startsWith("bytes"))return $r(t,{param:e});if(e.type==="string")return ni(t);throw new Hr(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function to(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?t+=32:t+=je(i)}const n=[],o=[];let s=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?(n.push(de(t+s,{size:32})),o.push(i),s+=je(i)):n.push(i)}return Vt([...n,...o])}function Zr(e){if(!Me(e))throw new it({address:e});return{dynamic:!1,encoded:yt(e.toLowerCase())}}function _r(e,{length:t,param:n}){const o=t===null;if(!Array.isArray(e))throw new Wr(e);if(!o&&e.length!==t)throw new Lr({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let s=!1;const a=[];for(let r=0;r<e.length;r++){const i=eo({param:n,value:e[r]});i.dynamic&&(s=!0),a.push(i)}if(o||s){const r=to(a);if(o){const i=de(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Vt([i,r]):i}}if(s)return{dynamic:!0,encoded:r}}return{dynamic:!1,encoded:Vt(a.map(({encoded:r})=>r))}}function $r(e,{param:t}){const[,n]=t.type.split("bytes"),o=je(e);if(!n){let s=e;return o%32!==0&&(s=yt(s,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Vt([yt(de(o,{size:32})),s])}}if(o!==Number.parseInt(n,10))throw new Ur({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:yt(e,{dir:"right"})}}function ei(e){if(typeof e!="boolean")throw new me(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:yt(To(e))}}function ti(e,{signed:t,size:n=256}){if(typeof n=="number"){const o=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-o-1n:0n;if(e>o||e<s)throw new Fn({max:o.toString(),min:s.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:de(e,{size:32,signed:t})}}function ni(e){const t=Co(e),n=Math.ceil(je(t)/32),o=[];for(let s=0;s<n;s++)o.push(yt(Xn(t,s*32,(s+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Vt([yt(de(je(t),{size:32})),...o])}}function oi(e,{param:t}){let n=!1;const o=[];for(let s=0;s<t.components.length;s++){const a=t.components[s],r=Array.isArray(e)?s:a.name,i=eo({param:a,value:e[r]});o.push(i),i.dynamic&&(n=!0)}return{dynamic:n,encoded:n?to(o):Vt(o.map(({encoded:s})=>s))}}function si(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const ai=cs;function ri(e){const{abi:t,args:n=[],name:o}=e,s=Lt(o,{strict:!1}),a=t.filter(i=>s?i.type==="function"?ls(i)===o:i.type==="event"?ai(i)===o:!1:"name"in i&&i.name===o);if(a.length===0)return;if(a.length===1)return a[0];let r;for(const i of a){if(!("inputs"in i))continue;if(!n||n.length===0){if(!i.inputs||i.inputs.length===0)return i;continue}if(!i.inputs||i.inputs.length===0||i.inputs.length!==n.length)continue;if(n.every((k,D)=>{const Y="inputs"in i&&i.inputs[D];return Y?no(k,Y):!1})){if(r&&"inputs"in r&&r.inputs){const k=ds(i.inputs,r.inputs,n);if(k)throw new Mr({abiItem:i,type:k[0]},{abiItem:r,type:k[1]})}r=i}}return r||a[0]}function no(e,t){const n=typeof e,o=t.type;switch(o){case"address":return Me(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((s,a)=>n==="object"&&no(Object.values(e)[a],s)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)?Array.isArray(e)&&e.every(s=>no(s,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ds(e,t,n){for(const o in e){const s=e[o],a=t[o];if(s.type==="tuple"&&a.type==="tuple"&&"components"in s&&"components"in a)return ds(s.components,a.components,n[o]);const r=[s.type,a.type];if(r.includes("address")&&r.includes("bytes20")?!0:r.includes("address")&&r.includes("string")?Me(n[o],{strict:!1}):r.includes("address")&&r.includes("bytes")?Me(n[o],{strict:!1}):!1)return r}}function us(e){return e.reduce((t,{slot:n,value:o})=>`${t} ${n}: ${o}
90
90
  `,"")}function ii(e){return e.reduce((t,{address:n,...o})=>{let s=`${t} ${n}:
91
91
  `;return o.nonce&&(s+=` nonce: ${o.nonce}
92
92
  `),o.balance&&(s+=` balance: ${o.balance}
@@ -94,15 +94,15 @@ Select a token to interact with:`,viewBalancesEmpty:"You don't have any tokens i
94
94
  `),o.state&&(s+=` state:
95
95
  `,s+=us(o.state)),o.stateDiff&&(s+=` stateDiff:
96
96
  `,s+=us(o.stateDiff)),s},` State Override:
97
- `).slice(0,-1)}class ci extends me{constructor(t,{account:n,docsPath:o,chain:s,data:a,gas:r,gasPrice:i,maxFeePerGas:l,maxPriorityFeePerGas:k,nonce:O,to:Y,value:g,stateOverride:A}){const y=n?Zn(n):void 0;let T=Po({from:y?.address,to:Y,value:typeof g<"u"&&`${Aa(g)} ${s?.nativeCurrency?.symbol||"ETH"}`,data:a,gas:r,gasPrice:typeof i<"u"&&`${It(i)} gwei`,maxFeePerGas:typeof l<"u"&&`${It(l)} gwei`,maxPriorityFeePerGas:typeof k<"u"&&`${It(k)} gwei`,nonce:O});A&&(T+=`
98
- ${ii(A)}`),super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",T].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function li(e,t){const n=(e.details||"").toLowerCase(),o=e instanceof me?e.walk(s=>s?.code===Gt.code):e;return o instanceof me?new Gt({cause:e,message:o.details}):Gt.nodeMessage.test(n)?new Gt({cause:e,message:e.details}):Nt.nodeMessage.test(n)?new Nt({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mn.nodeMessage.test(n)?new Mn({cause:e,maxFeePerGas:t?.maxFeePerGas}):Hn.nodeMessage.test(n)?new Hn({cause:e,nonce:t?.nonce}):Wn.nodeMessage.test(n)?new Wn({cause:e,nonce:t?.nonce}):Vn.nodeMessage.test(n)?new Vn({cause:e,nonce:t?.nonce}):Gn.nodeMessage.test(n)?new Gn({cause:e}):Yn.nodeMessage.test(n)?new Yn({cause:e,gas:t?.gas}):Jn.nodeMessage.test(n)?new Jn({cause:e,gas:t?.gas}):zn.nodeMessage.test(n)?new zn({cause:e}):Xt.nodeMessage.test(n)?new Xt({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new qo({cause:e})}function di(e,{docsPath:t,...n}){const o=(()=>{const s=li(e,n);return s instanceof qo?e:s})();return new ci(o,{docsPath:t,...n})}function ui(e,{format:t}){if(!t)return{};const n={};function o(a){const r=Object.keys(a);for(const i of r)i in e&&(n[i]=e[i]),a[i]&&typeof a[i]=="object"&&!Array.isArray(a[i])&&o(a[i])}const s=t(e||{});return o(s),n}function fi(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:o,to:s}=e,a=t?Zn(t):void 0;if(a&&!Me(a.address))throw new it({address:a.address});if(s&&!Me(s))throw new it({address:s});if(n&&n>Wt)throw new Nt({maxFeePerGas:n});if(o&&n&&o>n)throw new Xt({maxFeePerGas:n,maxPriorityFeePerGas:o})}async function pi(e,t){const{account:n=e.account}=t;if(!n)throw new Or;const o=Zn(n);try{const{accessList:s,blockNumber:a,blockTag:r,data:i,gas:l,gasPrice:k,maxFeePerGas:O,maxPriorityFeePerGas:Y,nonce:g,to:A,value:y,...T}=t,ve=(typeof a=="bigint"?de(a):void 0)||r;fi(t);const N=e.chain?.formatters?.transactionRequest?.format,z=(N||da)({...ui(T,{format:N}),account:o,accessList:s,data:i,gas:l,gasPrice:k,maxFeePerGas:O,maxPriorityFeePerGas:Y,nonce:g,to:A,value:y},"estimateGas"),{baseFeePerGas:he,gasLimit:ge,priorityFeePerGas:xe}=await e.request({method:"linea_estimateGas",params:ve?[z,ve]:[z]});return{baseFeePerGas:BigInt(he),gasLimit:BigInt(ge),priorityFeePerGas:BigInt(xe)}}catch(s){throw di(s,{...t,account:o,chain:e.chain})}}const mi={fees:{estimateFeesPerGas:fs,async maxPriorityFeePerGas({block:e,client:t,request:n}){const o=await fs({block:e,client:t,multiply:s=>s,request:n,type:"eip1559"});return o?.maxPriorityFeePerGas?o.maxPriorityFeePerGas:null}}};async function fs({client:e,multiply:t,request:n,type:o}){try{const s=await pi(e,{...n,account:n?.account}),{priorityFeePerGas:a}=s,i=t(BigInt(s.baseFeePerGas))+a;return o==="legacy"?{gasPrice:i}:{maxFeePerGas:i,maxPriorityFeePerGas:a}}catch{return null}}const hi=ut({...mi,id:59144,name:"Linea Mainnet",blockTime:2e3,nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build",apiUrl:"https://api.lineascan.build/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42},ensRegistry:{address:"0x50130b669B28C339991d8676FA73CF122a121267",blockCreated:6682888},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:22222151}},ensTlds:[".linea.eth"],testnet:!1}),gi=ut({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),en=1,wi=ut({...gn,id:10,name:"OP Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},blockExplorers:{default:{name:"Optimism Explorer",url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io/api"}},contracts:{...gn.contracts,disputeGameFactory:{[en]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[en]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[en]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[en]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:en}),bi=ut({id:137,name:"Polygon",blockTime:2e3,nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://polygon-rpc.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://polygonscan.com",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}}),ps="/docs/contract/encodeFunctionData";function yi(e){const{abi:t,args:n,functionName:o}=e;let s=t[0];if(o){const a=ri({abi:t,args:n,name:o});if(!a)throw new rs(o,{docsPath:ps});s=a}if(s.type!=="function")throw new rs(void 0,{docsPath:ps});return{abi:[s],functionName:ls(_n(s))}}function vt(e){const{args:t}=e,{abi:n,functionName:o}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:yi(e),s=n[0],a=o,r="inputs"in s&&s.inputs?Xr(s.inputs,t??[]):void 0;return St([a,r??"0x"])}const ct={1:{...gi,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"]},10:{...wi,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},56:{...Pr,logo:"data:image/png;base64,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",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"]},137:{...bi,rpcUrls:{default:{http:["https://polygon-bor-rpc.publicnode.com"]}},logo:"data:image/png;base64,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",chainId:137,chainType:"matic",chainTypeMoralis:"polygon",tokenTrendingDefault:["0x7ceb23fd6bc0add59e62ac25578270cff1b9f619","0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6"]},8453:{...ss,logo:"data:image/png;base64,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",chainId:8453,chainType:"base",chainTypeMoralis:"base",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},42161:{...Br,logo:"data:image/png;base64,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",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"]},43114:{...Fr,logo:"data:image/png;base64,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",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"]},59144:{...hi,logo:"data:image/png;base64,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",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"]}},ms=e=>Object.values(ct).find(n=>n.chainTypeMoralis===e)?.chainType||null,Ai=e=>{const t=new Date,n=new Date(t);n.setDate(n.getDate()-1);const o=new Date(e);return o.setHours(0,0,0,0),t.setHours(0,0,0,0),n.setHours(0,0,0,0),o.getTime()===t.getTime()?"Today":o.getTime()===n.getTime()?"Yesterday":o.toLocaleDateString("en-US",{month:"short",day:"numeric",year:o.getFullYear()!==t.getFullYear()?"numeric":void 0})},_e=e=>new Promise(t=>setTimeout(t,e||0)),ki=(e,t=5,n=5)=>(e=e||"",e?.length<=t+n?e:`${e.substr(0,t)}...${e.substr(e.length-n,n)}`),vi=e=>{if(!e)return"";const t=ct[e];return t?t.chainTypeMoralis:""},Ti=e=>{if(!e)return"";const t=ct[e];return t?t.chainType:""},Bt={getItem(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,t){if(!(typeof window>"u"))try{window.localStorage.setItem(e,t)}catch{}},removeItem(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}},get length(){if(typeof window>"u")return 0;try{return window.localStorage.length}catch{return 0}},key(e){if(typeof window>"u")return null;try{return window.localStorage.key(e)}catch{return null}}};class Ci extends me{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function mt(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Ci({value:e});let[n,o="0"]=e.split(".");const s=n.startsWith("-");if(s&&(n=n.slice(1)),o=o.replace(/(0+)$/,""),t===0)Math.round(+`.${o}`)===1&&(n=`${BigInt(n)+1n}`),o="";else if(o.length>t){const[a,r,i]=[o.slice(0,t-1),o.slice(t-1,t),o.slice(t)],l=Math.round(+`${r}.${i}`);l>9?o=`${BigInt(a)+BigInt(1)}0`.padStart(a.length+1,"0"):o=`${a}${l}`,o.length>t&&(o=o.slice(1),n=`${BigInt(n)+1n}`),o=o.slice(0,t)}else o=o.padEnd(t,"0");return BigInt(`${s?"-":""}${n}${o}`)}const Ei="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Ve="0x0000000000000000000000000000000000000000",hs=te.createContext(void 0),oo=()=>{const e=te.useContext(hs);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:ct[e.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:Ti(e.account?.chainId||void 0),chainTypeMoralis:vi(e.account?.chainId||void 0),isChainSupported:!!ct[e.account?.chainId]}},Si=({children:e,initialAccount:t})=>P.jsx(hs.Provider,{value:{account:t||null},children:e}),xi=({address:e,chainId:t})=>{const[n,o]=te.useState(!1),{isChainSupported:s}=oo(),a=te.useCallback(()=>{if(!e)return;const r=e,i=()=>{o(!0),setTimeout(()=>o(!1),2e3)};try{navigator.clipboard.writeText(r).then(i).catch(()=>{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()})}catch{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()}},[e]);return P.jsx(P.Fragment,{children:Me(e||"")&&P.jsxs("div",{className:"chat-user-info",children:[t&&ct[t]?.logo&&P.jsx("div",{className:"user-avatar",children:P.jsx("img",{src:ct[t].logo||"",alt:"Chain",width:20,height:20})}),P.jsx("span",{className:"user-wallet",children:P.jsx("a",{style:{pointerEvents:s?"auto":"none"},href:ct[t]?.blockExplorers?.default?.url+"/address/"+e,target:"_blank",rel:"noopener noreferrer",children:ki(e)||"Not connected"})}),P.jsx("button",{className:"copy-address-btn",onClick:a,"aria-label":"Copy wallet address",type:"button",title:n?"Copied!":"Copy address",children:n?P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:P.jsx("path",{d:"M8.1 15.75H13.23C12.9638 16.4152 12.5041 16.9852 11.9105 17.3863C11.3168 17.7874 10.6165 18.0012 9.9 18H3.6C2.64522 18 1.72955 17.6207 1.05442 16.9456C0.379285 16.2704 0 15.3548 0 14.4V7.2C0.00104929 6.32332 0.321408 5.47704 0.901163 4.81944C1.48092 4.16183 2.28037 3.73792 3.15 3.627V10.8C3.15238 12.1121 3.67466 13.3698 4.60245 14.2975C5.53024 15.2253 6.78791 15.7476 8.1 15.75ZM15.75 3.825H17.658C17.6027 3.74389 17.5393 3.66852 17.469 3.6L14.4 0.531C14.3337 0.460854 14.258 0.400274 14.175 0.351V2.25C14.1769 2.66713 14.3434 3.06664 14.6384 3.3616C14.9334 3.65656 15.3329 3.8231 15.75 3.825ZM15.75 5.175C14.9747 5.17357 14.2315 4.86494 13.6833 4.31671C13.1351 3.76847 12.8264 3.02532 12.825 2.25V0H8.1C7.14522 0 6.22955 0.379285 5.55442 1.05442C4.87928 1.72955 4.5 2.64522 4.5 3.6V10.8C4.5 11.7548 4.87928 12.6704 5.55442 13.3456C6.22955 14.0207 7.14522 14.4 8.1 14.4H14.4C15.3548 14.4 16.2705 14.0207 16.9456 13.3456C17.6207 12.6704 18 11.7548 18 10.8V5.175H15.75Z",fill:"#0B3988"})})})]})})},Ge=[];for(let e=0;e<256;++e)Ge.push((e+256).toString(16).slice(1));function Ii(e,t=0){return(Ge[e[t+0]]+Ge[e[t+1]]+Ge[e[t+2]]+Ge[e[t+3]]+"-"+Ge[e[t+4]]+Ge[e[t+5]]+"-"+Ge[e[t+6]]+Ge[e[t+7]]+"-"+Ge[e[t+8]]+Ge[e[t+9]]+"-"+Ge[e[t+10]]+Ge[e[t+11]]+Ge[e[t+12]]+Ge[e[t+13]]+Ge[e[t+14]]+Ge[e[t+15]]).toLowerCase()}let so;const Ni=new Uint8Array(16);function Bi(){if(!so){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");so=crypto.getRandomValues.bind(crypto)}return so(Ni)}const gs={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Fi(e,t,n){e=e||{};const o=e.random??e.rng?.()??Bi();if(o.length<16)throw new Error("Random bytes length must be >= 16");return o[6]=o[6]&15|64,o[8]=o[8]&63|128,Ii(o)}function ws(e,t,n){return gs.randomUUID&&!e?gs.randomUUID():Fi(e)}const ao="chat_widget_messages",wn=200,Yt=[{id:ws(),text:`**Welcome! 🚀**
99
- You're connected and ready to explore DeFi! I can help you trade, check prices, and analyze your portfolio when you need it.`,sender:"bot",timestamp:new Date}];function Pi(e,t){return e&&t?`${e}_${t}`:""}function bs(e){return e.map(t=>({...t,timestamp:new Date(t.timestamp)}))}function ys(){const e=Bt.getItem(ao);if(!e)return null;try{const t=JSON.parse(e);if(t&&t.owner!==void 0&&Array.isArray(t.messages))return{owner:t.owner,messages:bs(t.messages)};if(Array.isArray(t))return{owner:"",messages:bs(t)}}catch{}return null}function bn(e,t){Bt.setItem(ao,JSON.stringify({owner:e,messages:t}))}function Oi(){const{account:e}=oo(),t=Pi(e?.address,e?.chainId),[n,o]=te.useState(()=>t||"pending"),[s,a]=te.useState(()=>{const g=ys();return t?g&&g.owner===t?g.messages:Yt:g?.messages??Yt});if(n==="pending"&&t){const g=ys();g&&g.owner===t?a(g.messages):bn(t,s),o(t)}else n!=="pending"&&t&&n!==t&&(a(Yt),bn(t,Yt),o(t));te.useEffect(()=>{n!=="pending"&&bn(n,s)},[s,n]),te.useEffect(()=>{const g=[];for(let A=0;A<Bt.length;A++){const y=Bt.key(A);y&&y.startsWith(ao+"_")&&g.push(y)}g.forEach(A=>Bt.removeItem(A))},[]);const r=(g,A,y,T,B)=>{const ve=y?s.find(W=>W.id===y):void 0,N={id:ws(),text:g,sender:A,timestamp:new Date,...ve&&{replyTo:{id:ve.id,text:ve.text,sender:ve.sender}},...T&&{buttons:T},...B&&{actionData:B}};return a(W=>{const z=[...W,N];return z.length>wn?z.slice(z.length-wn):z}),N},i=(g,A)=>{a(y=>y.map(T=>T.id===g&&T.actionData?{...T,actionData:{...T.actionData,status:A}}:T))},l=(g,A)=>{a(y=>y.map(T=>T.id===g?{...T,text:A}:T))},k=g=>s.find(A=>A.id===g),O=te.useCallback(()=>{a(Yt),bn(t,Yt)},[t]),Y=te.useCallback(g=>{a(A=>{const y=A.filter(T=>!g.includes(T.id));return y.length>wn?y.slice(y.length-wn):y})},[]);return{messages:s,setMessages:a,addMessage:r,updateMessageAction:i,updateMessageText:l,getMessageById:k,clearMessages:O,clearMessagesById:Y}}const As=te.createContext(void 0),Di=()=>{const e=te.useContext(As);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e},Li=({children:e,initialConfig:t})=>P.jsx(As.Provider,{value:{config:t||null},children:e});var Ui=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ro=Math.ceil,tt=Math.floor,qe="[BigNumber Error] ",ks=qe+"Number primitive has more than 15 significant digits: ",at=1e14,ye=14,io=9007199254740991,co=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Tt=1e7,He=1e9;function vs(e){var t,n,o,s=N.prototype={constructor:N,toString:null,valueOf:null},a=new N(1),r=20,i=4,l=-7,k=21,O=-1e7,Y=1e7,g=!1,A=1,y=0,T={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},B="0123456789abcdefghijklmnopqrstuvwxyz",ve=!0;function N(c,d){var p,E,u,w,S,h,b,x,I=this;if(!(I instanceof N))return new N(c,d);if(d==null){if(c&&c._isBigNumber===!0){I.s=c.s,!c.c||c.e>Y?I.c=I.e=null:c.e<O?I.c=[I.e=0]:(I.e=c.e,I.c=c.c.slice());return}if((h=typeof c=="number")&&c*0==0){if(I.s=1/c<0?(c=-c,-1):1,c===~~c){for(w=0,S=c;S>=10;S/=10,w++);w>Y?I.c=I.e=null:(I.e=w,I.c=[c]);return}x=String(c)}else{if(!Ui.test(x=String(c)))return o(I,x,h);I.s=x.charCodeAt(0)==45?(x=x.slice(1),-1):1}(w=x.indexOf("."))>-1&&(x=x.replace(".","")),(S=x.search(/e/i))>0?(w<0&&(w=S),w+=+x.slice(S+1),x=x.substring(0,S)):w<0&&(w=x.length)}else{if(Be(d,2,B.length,"Base"),d==10&&ve)return I=new N(c),ge(I,r+I.e+1,i);if(x=String(c),h=typeof c=="number"){if(c*0!=0)return o(I,x,h,d);if(I.s=1/c<0?(x=x.slice(1),-1):1,N.DEBUG&&x.replace(/^0\.0*|\./,"").length>15)throw Error(ks+c)}else I.s=x.charCodeAt(0)===45?(x=x.slice(1),-1):1;for(p=B.slice(0,d),w=S=0,b=x.length;S<b;S++)if(p.indexOf(E=x.charAt(S))<0){if(E=="."){if(S>w){w=b;continue}}else if(!u&&(x==x.toUpperCase()&&(x=x.toLowerCase())||x==x.toLowerCase()&&(x=x.toUpperCase()))){u=!0,S=-1,w=0;continue}return o(I,String(c),h,d)}h=!1,x=n(x,d,10,I.s),(w=x.indexOf("."))>-1?x=x.replace(".",""):w=x.length}for(S=0;x.charCodeAt(S)===48;S++);for(b=x.length;x.charCodeAt(--b)===48;);if(x=x.slice(S,++b)){if(b-=S,h&&N.DEBUG&&b>15&&(c>io||c!==tt(c)))throw Error(ks+I.s*c);if((w=w-S-1)>Y)I.c=I.e=null;else if(w<O)I.c=[I.e=0];else{if(I.e=w,I.c=[],S=(w+1)%ye,w<0&&(S+=ye),S<b){for(S&&I.c.push(+x.slice(0,S)),b-=ye;S<b;)I.c.push(+x.slice(S,S+=ye));S=ye-(x=x.slice(S)).length}else S-=b;for(;S--;x+="0");I.c.push(+x)}}else I.c=[I.e=0]}N.clone=vs,N.ROUND_UP=0,N.ROUND_DOWN=1,N.ROUND_CEIL=2,N.ROUND_FLOOR=3,N.ROUND_HALF_UP=4,N.ROUND_HALF_DOWN=5,N.ROUND_HALF_EVEN=6,N.ROUND_HALF_CEIL=7,N.ROUND_HALF_FLOOR=8,N.EUCLID=9,N.config=N.set=function(c){var d,p;if(c!=null)if(typeof c=="object"){if(c.hasOwnProperty(d="DECIMAL_PLACES")&&(p=c[d],Be(p,0,He,d),r=p),c.hasOwnProperty(d="ROUNDING_MODE")&&(p=c[d],Be(p,0,8,d),i=p),c.hasOwnProperty(d="EXPONENTIAL_AT")&&(p=c[d],p&&p.pop?(Be(p[0],-He,0,d),Be(p[1],0,He,d),l=p[0],k=p[1]):(Be(p,-He,He,d),l=-(k=p<0?-p:p))),c.hasOwnProperty(d="RANGE"))if(p=c[d],p&&p.pop)Be(p[0],-He,-1,d),Be(p[1],1,He,d),O=p[0],Y=p[1];else if(Be(p,-He,He,d),p)O=-(Y=p<0?-p:p);else throw Error(qe+d+" cannot be zero: "+p);if(c.hasOwnProperty(d="CRYPTO"))if(p=c[d],p===!!p)if(p)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))g=p;else throw g=!p,Error(qe+"crypto unavailable");else g=p;else throw Error(qe+d+" not true or false: "+p);if(c.hasOwnProperty(d="MODULO_MODE")&&(p=c[d],Be(p,0,9,d),A=p),c.hasOwnProperty(d="POW_PRECISION")&&(p=c[d],Be(p,0,He,d),y=p),c.hasOwnProperty(d="FORMAT"))if(p=c[d],typeof p=="object")T=p;else throw Error(qe+d+" not an object: "+p);if(c.hasOwnProperty(d="ALPHABET"))if(p=c[d],typeof p=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(p))ve=p.slice(0,10)=="0123456789",B=p;else throw Error(qe+d+" invalid: "+p)}else throw Error(qe+"Object expected: "+c);return{DECIMAL_PLACES:r,ROUNDING_MODE:i,EXPONENTIAL_AT:[l,k],RANGE:[O,Y],CRYPTO:g,MODULO_MODE:A,POW_PRECISION:y,FORMAT:T,ALPHABET:B}},N.isBigNumber=function(c){if(!c||c._isBigNumber!==!0)return!1;if(!N.DEBUG)return!0;var d,p,E=c.c,u=c.e,w=c.s;e:if({}.toString.call(E)=="[object Array]"){if((w===1||w===-1)&&u>=-He&&u<=He&&u===tt(u)){if(E[0]===0){if(u===0&&E.length===1)return!0;break e}if(d=(u+1)%ye,d<1&&(d+=ye),String(E[0]).length==d){for(d=0;d<E.length;d++)if(p=E[d],p<0||p>=at||p!==tt(p))break e;if(p!==0)return!0}}}else if(E===null&&u===null&&(w===null||w===1||w===-1))return!0;throw Error(qe+"Invalid BigNumber: "+c)},N.maximum=N.max=function(){return z(arguments,-1)},N.minimum=N.min=function(){return z(arguments,1)},N.random=(function(){var c=9007199254740992,d=Math.random()*c&2097151?function(){return tt(Math.random()*c)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(p){var E,u,w,S,h,b=0,x=[],I=new N(a);if(p==null?p=r:Be(p,0,He),S=ro(p/ye),g)if(crypto.getRandomValues){for(E=crypto.getRandomValues(new Uint32Array(S*=2));b<S;)h=E[b]*131072+(E[b+1]>>>11),h>=9e15?(u=crypto.getRandomValues(new Uint32Array(2)),E[b]=u[0],E[b+1]=u[1]):(x.push(h%1e14),b+=2);b=S/2}else if(crypto.randomBytes){for(E=crypto.randomBytes(S*=7);b<S;)h=(E[b]&31)*281474976710656+E[b+1]*1099511627776+E[b+2]*4294967296+E[b+3]*16777216+(E[b+4]<<16)+(E[b+5]<<8)+E[b+6],h>=9e15?crypto.randomBytes(7).copy(E,b):(x.push(h%1e14),b+=7);b=S/7}else throw g=!1,Error(qe+"crypto unavailable");if(!g)for(;b<S;)h=d(),h<9e15&&(x[b++]=h%1e14);for(S=x[--b],p%=ye,S&&p&&(h=co[ye-p],x[b]=tt(S/h)*h);x[b]===0;x.pop(),b--);if(b<0)x=[w=0];else{for(w=-1;x[0]===0;x.splice(0,1),w-=ye);for(b=1,h=x[0];h>=10;h/=10,b++);b<ye&&(w-=ye-b)}return I.e=w,I.c=x,I}})(),N.sum=function(){for(var c=1,d=arguments,p=new N(d[0]);c<d.length;)p=p.plus(d[c++]);return p},n=(function(){var c="0123456789";function d(p,E,u,w){for(var S,h=[0],b,x=0,I=p.length;x<I;){for(b=h.length;b--;h[b]*=E);for(h[0]+=w.indexOf(p.charAt(x++)),S=0;S<h.length;S++)h[S]>u-1&&(h[S+1]==null&&(h[S+1]=0),h[S+1]+=h[S]/u|0,h[S]%=u)}return h.reverse()}return function(p,E,u,w,S){var h,b,x,I,F,Q,ae,ue,Ce=p.indexOf("."),Te=r,q=i;for(Ce>=0&&(I=y,y=0,p=p.replace(".",""),ue=new N(E),Q=ue.pow(p.length-Ce),y=I,ue.c=d(ht(ot(Q.c),Q.e,"0"),10,u,c),ue.e=ue.c.length),ae=d(p,E,u,S?(h=B,c):(h=c,B)),x=I=ae.length;ae[--I]==0;ae.pop());if(!ae[0])return h.charAt(0);if(Ce<0?--x:(Q.c=ae,Q.e=x,Q.s=w,Q=t(Q,ue,Te,q,u),ae=Q.c,F=Q.r,x=Q.e),b=x+Te+1,Ce=ae[b],I=u/2,F=F||b<0||ae[b+1]!=null,F=q<4?(Ce!=null||F)&&(q==0||q==(Q.s<0?3:2)):Ce>I||Ce==I&&(q==4||F||q==6&&ae[b-1]&1||q==(Q.s<0?8:7)),b<1||!ae[0])p=F?ht(h.charAt(1),-Te,h.charAt(0)):h.charAt(0);else{if(ae.length=b,F)for(--u;++ae[--b]>u;)ae[b]=0,b||(++x,ae=[1].concat(ae));for(I=ae.length;!ae[--I];);for(Ce=0,p="";Ce<=I;p+=h.charAt(ae[Ce++]));p=ht(p,x,h.charAt(0))}return p}})(),t=(function(){function c(E,u,w){var S,h,b,x,I=0,F=E.length,Q=u%Tt,ae=u/Tt|0;for(E=E.slice();F--;)b=E[F]%Tt,x=E[F]/Tt|0,S=ae*b+x*Q,h=Q*b+S%Tt*Tt+I,I=(h/w|0)+(S/Tt|0)+ae*x,E[F]=h%w;return I&&(E=[I].concat(E)),E}function d(E,u,w,S){var h,b;if(w!=S)b=w>S?1:-1;else for(h=b=0;h<w;h++)if(E[h]!=u[h]){b=E[h]>u[h]?1:-1;break}return b}function p(E,u,w,S){for(var h=0;w--;)E[w]-=h,h=E[w]<u[w]?1:0,E[w]=h*S+E[w]-u[w];for(;!E[0]&&E.length>1;E.splice(0,1));}return function(E,u,w,S,h){var b,x,I,F,Q,ae,ue,Ce,Te,q,Ae,Ne,Ye,Xe,Ke,We,$e,Fe=E.s==u.s?1:-1,Pe=E.c,Ee=u.c;if(!Pe||!Pe[0]||!Ee||!Ee[0])return new N(!E.s||!u.s||(Pe?Ee&&Pe[0]==Ee[0]:!Ee)?NaN:Pe&&Pe[0]==0||!Ee?Fe*0:Fe/0);for(Ce=new N(Fe),Te=Ce.c=[],x=E.e-u.e,Fe=w+x+1,h||(h=at,x=nt(E.e/ye)-nt(u.e/ye),Fe=Fe/ye|0),I=0;Ee[I]==(Pe[I]||0);I++);if(Ee[I]>(Pe[I]||0)&&x--,Fe<0)Te.push(1),F=!0;else{for(Xe=Pe.length,We=Ee.length,I=0,Fe+=2,Q=tt(h/(Ee[0]+1)),Q>1&&(Ee=c(Ee,Q,h),Pe=c(Pe,Q,h),We=Ee.length,Xe=Pe.length),Ye=We,q=Pe.slice(0,We),Ae=q.length;Ae<We;q[Ae++]=0);$e=Ee.slice(),$e=[0].concat($e),Ke=Ee[0],Ee[1]>=h/2&&Ke++;do{if(Q=0,b=d(Ee,q,We,Ae),b<0){if(Ne=q[0],We!=Ae&&(Ne=Ne*h+(q[1]||0)),Q=tt(Ne/Ke),Q>1)for(Q>=h&&(Q=h-1),ae=c(Ee,Q,h),ue=ae.length,Ae=q.length;d(ae,q,ue,Ae)==1;)Q--,p(ae,We<ue?$e:Ee,ue,h),ue=ae.length,b=1;else Q==0&&(b=Q=1),ae=Ee.slice(),ue=ae.length;if(ue<Ae&&(ae=[0].concat(ae)),p(q,ae,Ae,h),Ae=q.length,b==-1)for(;d(Ee,q,We,Ae)<1;)Q++,p(q,We<Ae?$e:Ee,Ae,h),Ae=q.length}else b===0&&(Q++,q=[0]);Te[I++]=Q,q[0]?q[Ae++]=Pe[Ye]||0:(q=[Pe[Ye]],Ae=1)}while((Ye++<Xe||q[0]!=null)&&Fe--);F=q[0]!=null,Te[0]||Te.splice(0,1)}if(h==at){for(I=1,Fe=Te[0];Fe>=10;Fe/=10,I++);ge(Ce,w+(Ce.e=I+x*ye-1)+1,S,F)}else Ce.e=x,Ce.r=+F;return Ce}})();function W(c,d,p,E){var u,w,S,h,b;if(p==null?p=i:Be(p,0,8),!c.c)return c.toString();if(u=c.c[0],S=c.e,d==null)b=ot(c.c),b=E==1||E==2&&(S<=l||S>=k)?An(b,S):ht(b,S,"0");else if(c=ge(new N(c),d,p),w=c.e,b=ot(c.c),h=b.length,E==1||E==2&&(d<=w||w<=l)){for(;h<d;b+="0",h++);b=An(b,w)}else if(d-=S+(E===2&&w>S),b=ht(b,w,"0"),w+1>h){if(--d>0)for(b+=".";d--;b+="0");}else if(d+=w-h,d>0)for(w+1==h&&(b+=".");d--;b+="0");return c.s<0&&u?"-"+b:b}function z(c,d){for(var p,E,u=1,w=new N(c[0]);u<c.length;u++)E=new N(c[u]),(!E.s||(p=Ft(w,E))===d||p===0&&w.s===d)&&(w=E);return w}function he(c,d,p){for(var E=1,u=d.length;!d[--u];d.pop());for(u=d[0];u>=10;u/=10,E++);return(p=E+p*ye-1)>Y?c.c=c.e=null:p<O?c.c=[c.e=0]:(c.e=p,c.c=d),c}o=(function(){var c=/^(-?)0([xbo])(?=\w[\w.]*$)/i,d=/^([^.]+)\.$/,p=/^\.([^.]+)$/,E=/^-?(Infinity|NaN)$/,u=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(w,S,h,b){var x,I=h?S:S.replace(u,"");if(E.test(I))w.s=isNaN(I)?null:I<0?-1:1;else{if(!h&&(I=I.replace(c,function(F,Q,ae){return x=(ae=ae.toLowerCase())=="x"?16:ae=="b"?2:8,!b||b==x?Q:F}),b&&(x=b,I=I.replace(d,"$1").replace(p,"0.$1")),S!=I))return new N(I,x);if(N.DEBUG)throw Error(qe+"Not a"+(b?" base "+b:"")+" number: "+S);w.s=null}w.c=w.e=null}})();function ge(c,d,p,E){var u,w,S,h,b,x,I,F=c.c,Q=co;if(F){e:{for(u=1,h=F[0];h>=10;h/=10,u++);if(w=d-u,w<0)w+=ye,S=d,b=F[x=0],I=tt(b/Q[u-S-1]%10);else if(x=ro((w+1)/ye),x>=F.length)if(E){for(;F.length<=x;F.push(0));b=I=0,u=1,w%=ye,S=w-ye+1}else break e;else{for(b=h=F[x],u=1;h>=10;h/=10,u++);w%=ye,S=w-ye+u,I=S<0?0:tt(b/Q[u-S-1]%10)}if(E=E||d<0||F[x+1]!=null||(S<0?b:b%Q[u-S-1]),E=p<4?(I||E)&&(p==0||p==(c.s<0?3:2)):I>5||I==5&&(p==4||E||p==6&&(w>0?S>0?b/Q[u-S]:0:F[x-1])%10&1||p==(c.s<0?8:7)),d<1||!F[0])return F.length=0,E?(d-=c.e+1,F[0]=Q[(ye-d%ye)%ye],c.e=-d||0):F[0]=c.e=0,c;if(w==0?(F.length=x,h=1,x--):(F.length=x+1,h=Q[ye-w],F[x]=S>0?tt(b/Q[u-S]%Q[S])*h:0),E)for(;;)if(x==0){for(w=1,S=F[0];S>=10;S/=10,w++);for(S=F[0]+=h,h=1;S>=10;S/=10,h++);w!=h&&(c.e++,F[0]==at&&(F[0]=1));break}else{if(F[x]+=h,F[x]!=at)break;F[x--]=0,h=1}for(w=F.length;F[--w]===0;F.pop());}c.e>Y?c.c=c.e=null:c.e<O&&(c.c=[c.e=0])}return c}function xe(c){var d,p=c.e;return p===null?c.toString():(d=ot(c.c),d=p<=l||p>=k?An(d,p):ht(d,p,"0"),c.s<0?"-"+d:d)}return s.absoluteValue=s.abs=function(){var c=new N(this);return c.s<0&&(c.s=1),c},s.comparedTo=function(c,d){return Ft(this,new N(c,d))},s.decimalPlaces=s.dp=function(c,d){var p,E,u,w=this;if(c!=null)return Be(c,0,He),d==null?d=i:Be(d,0,8),ge(new N(w),c+w.e+1,d);if(!(p=w.c))return null;if(E=((u=p.length-1)-nt(this.e/ye))*ye,u=p[u])for(;u%10==0;u/=10,E--);return E<0&&(E=0),E},s.dividedBy=s.div=function(c,d){return t(this,new N(c,d),r,i)},s.dividedToIntegerBy=s.idiv=function(c,d){return t(this,new N(c,d),0,1)},s.exponentiatedBy=s.pow=function(c,d){var p,E,u,w,S,h,b,x,I,F=this;if(c=new N(c),c.c&&!c.isInteger())throw Error(qe+"Exponent not an integer: "+xe(c));if(d!=null&&(d=new N(d)),h=c.e>14,!F.c||!F.c[0]||F.c[0]==1&&!F.e&&F.c.length==1||!c.c||!c.c[0])return I=new N(Math.pow(+xe(F),h?c.s*(2-yn(c)):+xe(c))),d?I.mod(d):I;if(b=c.s<0,d){if(d.c?!d.c[0]:!d.s)return new N(NaN);E=!b&&F.isInteger()&&d.isInteger(),E&&(F=F.mod(d))}else{if(c.e>9&&(F.e>0||F.e<-1||(F.e==0?F.c[0]>1||h&&F.c[1]>=24e7:F.c[0]<8e13||h&&F.c[0]<=9999975e7)))return w=F.s<0&&yn(c)?-0:0,F.e>-1&&(w=1/w),new N(b?1/w:w);y&&(w=ro(y/ye+2))}for(h?(p=new N(.5),b&&(c.s=1),x=yn(c)):(u=Math.abs(+xe(c)),x=u%2),I=new N(a);;){if(x){if(I=I.times(F),!I.c)break;w?I.c.length>w&&(I.c.length=w):E&&(I=I.mod(d))}if(u){if(u=tt(u/2),u===0)break;x=u%2}else if(c=c.times(p),ge(c,c.e+1,1),c.e>14)x=yn(c);else{if(u=+xe(c),u===0)break;x=u%2}F=F.times(F),w?F.c&&F.c.length>w&&(F.c.length=w):E&&(F=F.mod(d))}return E?I:(b&&(I=a.div(I)),d?I.mod(d):w?ge(I,y,i,S):I)},s.integerValue=function(c){var d=new N(this);return c==null?c=i:Be(c,0,8),ge(d,d.e+1,c)},s.isEqualTo=s.eq=function(c,d){return Ft(this,new N(c,d))===0},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(c,d){return Ft(this,new N(c,d))>0},s.isGreaterThanOrEqualTo=s.gte=function(c,d){return(d=Ft(this,new N(c,d)))===1||d===0},s.isInteger=function(){return!!this.c&&nt(this.e/ye)>this.c.length-2},s.isLessThan=s.lt=function(c,d){return Ft(this,new N(c,d))<0},s.isLessThanOrEqualTo=s.lte=function(c,d){return(d=Ft(this,new N(c,d)))===-1||d===0},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&this.c[0]==0},s.minus=function(c,d){var p,E,u,w,S=this,h=S.s;if(c=new N(c,d),d=c.s,!h||!d)return new N(NaN);if(h!=d)return c.s=-d,S.plus(c);var b=S.e/ye,x=c.e/ye,I=S.c,F=c.c;if(!b||!x){if(!I||!F)return I?(c.s=-d,c):new N(F?S:NaN);if(!I[0]||!F[0])return F[0]?(c.s=-d,c):new N(I[0]?S:i==3?-0:0)}if(b=nt(b),x=nt(x),I=I.slice(),h=b-x){for((w=h<0)?(h=-h,u=I):(x=b,u=F),u.reverse(),d=h;d--;u.push(0));u.reverse()}else for(E=(w=(h=I.length)<(d=F.length))?h:d,h=d=0;d<E;d++)if(I[d]!=F[d]){w=I[d]<F[d];break}if(w&&(u=I,I=F,F=u,c.s=-c.s),d=(E=F.length)-(p=I.length),d>0)for(;d--;I[p++]=0);for(d=at-1;E>h;){if(I[--E]<F[E]){for(p=E;p&&!I[--p];I[p]=d);--I[p],I[E]+=at}I[E]-=F[E]}for(;I[0]==0;I.splice(0,1),--x);return I[0]?he(c,I,x):(c.s=i==3?-1:1,c.c=[c.e=0],c)},s.modulo=s.mod=function(c,d){var p,E,u=this;return c=new N(c,d),!u.c||!c.s||c.c&&!c.c[0]?new N(NaN):!c.c||u.c&&!u.c[0]?new N(u):(A==9?(E=c.s,c.s=1,p=t(u,c,0,3),c.s=E,p.s*=E):p=t(u,c,0,A),c=u.minus(p.times(c)),!c.c[0]&&A==1&&(c.s=u.s),c)},s.multipliedBy=s.times=function(c,d){var p,E,u,w,S,h,b,x,I,F,Q,ae,ue,Ce,Te,q=this,Ae=q.c,Ne=(c=new N(c,d)).c;if(!Ae||!Ne||!Ae[0]||!Ne[0])return!q.s||!c.s||Ae&&!Ae[0]&&!Ne||Ne&&!Ne[0]&&!Ae?c.c=c.e=c.s=null:(c.s*=q.s,!Ae||!Ne?c.c=c.e=null:(c.c=[0],c.e=0)),c;for(E=nt(q.e/ye)+nt(c.e/ye),c.s*=q.s,b=Ae.length,F=Ne.length,b<F&&(ue=Ae,Ae=Ne,Ne=ue,u=b,b=F,F=u),u=b+F,ue=[];u--;ue.push(0));for(Ce=at,Te=Tt,u=F;--u>=0;){for(p=0,Q=Ne[u]%Te,ae=Ne[u]/Te|0,S=b,w=u+S;w>u;)x=Ae[--S]%Te,I=Ae[S]/Te|0,h=ae*x+I*Q,x=Q*x+h%Te*Te+ue[w]+p,p=(x/Ce|0)+(h/Te|0)+ae*I,ue[w--]=x%Ce;ue[w]=p}return p?++E:ue.splice(0,1),he(c,ue,E)},s.negated=function(){var c=new N(this);return c.s=-c.s||null,c},s.plus=function(c,d){var p,E=this,u=E.s;if(c=new N(c,d),d=c.s,!u||!d)return new N(NaN);if(u!=d)return c.s=-d,E.minus(c);var w=E.e/ye,S=c.e/ye,h=E.c,b=c.c;if(!w||!S){if(!h||!b)return new N(u/0);if(!h[0]||!b[0])return b[0]?c:new N(h[0]?E:u*0)}if(w=nt(w),S=nt(S),h=h.slice(),u=w-S){for(u>0?(S=w,p=b):(u=-u,p=h),p.reverse();u--;p.push(0));p.reverse()}for(u=h.length,d=b.length,u-d<0&&(p=b,b=h,h=p,d=u),u=0;d;)u=(h[--d]=h[d]+b[d]+u)/at|0,h[d]=at===h[d]?0:h[d]%at;return u&&(h=[u].concat(h),++S),he(c,h,S)},s.precision=s.sd=function(c,d){var p,E,u,w=this;if(c!=null&&c!==!!c)return Be(c,1,He),d==null?d=i:Be(d,0,8),ge(new N(w),c,d);if(!(p=w.c))return null;if(u=p.length-1,E=u*ye+1,u=p[u]){for(;u%10==0;u/=10,E--);for(u=p[0];u>=10;u/=10,E++);}return c&&w.e+1>E&&(E=w.e+1),E},s.shiftedBy=function(c){return Be(c,-io,io),this.times("1e"+c)},s.squareRoot=s.sqrt=function(){var c,d,p,E,u,w=this,S=w.c,h=w.s,b=w.e,x=r+4,I=new N("0.5");if(h!==1||!S||!S[0])return new N(!h||h<0&&(!S||S[0])?NaN:S?w:1/0);if(h=Math.sqrt(+xe(w)),h==0||h==1/0?(d=ot(S),(d.length+b)%2==0&&(d+="0"),h=Math.sqrt(+d),b=nt((b+1)/2)-(b<0||b%2),h==1/0?d="5e"+b:(d=h.toExponential(),d=d.slice(0,d.indexOf("e")+1)+b),p=new N(d)):p=new N(h+""),p.c[0]){for(b=p.e,h=b+x,h<3&&(h=0);;)if(u=p,p=I.times(u.plus(t(w,u,x,1))),ot(u.c).slice(0,h)===(d=ot(p.c)).slice(0,h))if(p.e<b&&--h,d=d.slice(h-3,h+1),d=="9999"||!E&&d=="4999"){if(!E&&(ge(u,u.e+r+2,0),u.times(u).eq(w))){p=u;break}x+=4,h+=4,E=1}else{(!+d||!+d.slice(1)&&d.charAt(0)=="5")&&(ge(p,p.e+r+2,1),c=!p.times(p).eq(w));break}}return ge(p,p.e+r+1,i,c)},s.toExponential=function(c,d){return c!=null&&(Be(c,0,He),c++),W(this,c,d,1)},s.toFixed=function(c,d){return c!=null&&(Be(c,0,He),c=c+this.e+1),W(this,c,d)},s.toFormat=function(c,d,p){var E,u=this;if(p==null)c!=null&&d&&typeof d=="object"?(p=d,d=null):c&&typeof c=="object"?(p=c,c=d=null):p=T;else if(typeof p!="object")throw Error(qe+"Argument not an object: "+p);if(E=u.toFixed(c,d),u.c){var w,S=E.split("."),h=+p.groupSize,b=+p.secondaryGroupSize,x=p.groupSeparator||"",I=S[0],F=S[1],Q=u.s<0,ae=Q?I.slice(1):I,ue=ae.length;if(b&&(w=h,h=b,b=w,ue-=w),h>0&&ue>0){for(w=ue%h||h,I=ae.substr(0,w);w<ue;w+=h)I+=x+ae.substr(w,h);b>0&&(I+=x+ae.slice(w)),Q&&(I="-"+I)}E=F?I+(p.decimalSeparator||"")+((b=+p.fractionGroupSize)?F.replace(new RegExp("\\d{"+b+"}\\B","g"),"$&"+(p.fractionGroupSeparator||"")):F):I}return(p.prefix||"")+E+(p.suffix||"")},s.toFraction=function(c){var d,p,E,u,w,S,h,b,x,I,F,Q,ae=this,ue=ae.c;if(c!=null&&(h=new N(c),!h.isInteger()&&(h.c||h.s!==1)||h.lt(a)))throw Error(qe+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+xe(h));if(!ue)return new N(ae);for(d=new N(a),x=p=new N(a),E=b=new N(a),Q=ot(ue),w=d.e=Q.length-ae.e-1,d.c[0]=co[(S=w%ye)<0?ye+S:S],c=!c||h.comparedTo(d)>0?w>0?d:x:h,S=Y,Y=1/0,h=new N(Q),b.c[0]=0;I=t(h,d,0,1),u=p.plus(I.times(E)),u.comparedTo(c)!=1;)p=E,E=u,x=b.plus(I.times(u=x)),b=u,d=h.minus(I.times(u=d)),h=u;return u=t(c.minus(p),E,0,1),b=b.plus(u.times(x)),p=p.plus(u.times(E)),b.s=x.s=ae.s,w=w*2,F=t(x,E,w,i).minus(ae).abs().comparedTo(t(b,p,w,i).minus(ae).abs())<1?[x,E]:[b,p],Y=S,F},s.toNumber=function(){return+xe(this)},s.toPrecision=function(c,d){return c!=null&&Be(c,1,He),W(this,c,d,2)},s.toString=function(c){var d,p=this,E=p.s,u=p.e;return u===null?E?(d="Infinity",E<0&&(d="-"+d)):d="NaN":(c==null?d=u<=l||u>=k?An(ot(p.c),u):ht(ot(p.c),u,"0"):c===10&&ve?(p=ge(new N(p),r+u+1,i),d=ht(ot(p.c),p.e,"0")):(Be(c,2,B.length,"Base"),d=n(ht(ot(p.c),u,"0"),10,c,E,!0)),E<0&&p.c[0]&&(d="-"+d)),d},s.valueOf=s.toJSON=function(){return xe(this)},s._isBigNumber=!0,s[Symbol.toStringTag]="BigNumber",s[Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,e!=null&&N.set(e),N}function nt(e){var t=e|0;return e>0||e===t?t:t-1}function ot(e){for(var t,n,o=1,s=e.length,a=e[0]+"";o<s;){for(t=e[o++]+"",n=ye-t.length;n--;t="0"+t);a+=t}for(s=a.length;a.charCodeAt(--s)===48;);return a.slice(0,s+1||1)}function Ft(e,t){var n,o,s=e.c,a=t.c,r=e.s,i=t.s,l=e.e,k=t.e;if(!r||!i)return null;if(n=s&&!s[0],o=a&&!a[0],n||o)return n?o?0:-i:r;if(r!=i)return r;if(n=r<0,o=l==k,!s||!a)return o?0:!s^n?1:-1;if(!o)return l>k^n?1:-1;for(i=(l=s.length)<(k=a.length)?l:k,r=0;r<i;r++)if(s[r]!=a[r])return s[r]>a[r]^n?1:-1;return l==k?0:l>k^n?1:-1}function Be(e,t,n,o){if(e<t||e>n||e!==tt(e))throw Error(qe+(o||"Argument")+(typeof e=="number"?e<t||e>n?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yn(e){var t=e.c.length-1;return nt(e.e/ye)==t&&e.c[t]%2!=0}function An(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function ht(e,t,n){var o,s;if(t<0){for(s=n+".";++t;s+=n);e=s+e}else if(o=e.length,++t>o){for(s=n,t-=o;--t;s+=n);e+=s}else t<o&&(e=e.slice(0,t)+"."+e.slice(t));return e}var ie=vs();class Jt{baseUrl;constructor(t){this.baseUrl=t}buildUrl(t,n){const o=new URL(t,this.baseUrl);return n&&Object.entries(n).forEach(([s,a])=>{a!=null&&o.searchParams.append(s,String(a))}),o.toString()}async get(t,n={}){const o=this.buildUrl(t,n.query),s=await fetch(o,{method:"GET",headers:n.headers||{}});if(!s.ok){let r=null;try{r=await s.json()}catch{try{const l=await s.text();l&&(r={message:l})}catch{}}const i=new Error(r?.message||r?.errorMessage||`HTTP ${s.status}: ${s.statusText}`);throw i.status=s.status,i.statusText=s.statusText,r&&(i.data=r),i}return{data:await s.json(),status:s.status}}async post(t,n,o={}){const s=this.buildUrl(t,o.query),a=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json",...o.headers},body:JSON.stringify(n)});if(!a.ok){let i=null;try{i=await a.json()}catch{try{const k=await a.text();k&&(i={message:k})}catch{}}const l=new Error(i?.message||i?.errorMessage||`HTTP ${a.status}: ${a.statusText}`);throw l.status=a.status,l.statusText=a.statusText,i&&(l.data=i),l}return{data:await a.json(),status:a.status}}}const Ri=.01,Ts=new Jt("https://wallet-api.pantograph.app"),Mi="https://deep-index.moralis.io";function tn(){return"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJub25jZSI6ImY4NmY0Yzc2LTA3MDQtNGEwZS04YTA0LWUwODllOGQxMGZjZCIsIm9yZ0lkIjoiMzk0MDAyIiwidXNlcklkIjoiNDA0ODUzIiwidHlwZUlkIjoiYjQyODExOTQtOGQ0Yi00NjkxLTlhZjItNjU4ODE2NzExYmRjIiwidHlwZSI6IlBST0pFQ1QiLCJpYXQiOjE3MTY4NjQyNTYsImV4cCI6NDg3MjYyNDI1Nn0.V8crfBIBardAnZkc05FD0hQIJBeZxMqvzRnYExVtnF8"}function nn(e){return{"X-API-Key":e,Accept:"application/json"}}const on=new Jt(Mi);async function Qe(e){const{address:t,chain:n="base",token_addresses:o,exclude_spam:s,exclude_unverified_contracts:a}=e;if(!t)throw new Error("Address is required");try{const r=tn(),i={chain:n,exclude_spam:s??!1,exclude_unverified_contracts:a??!1};o&&(i.token_addresses=o);const k=(await on.get(`/api/v2.2/wallets/${encodeURIComponent(t)}/tokens`,{query:i,headers:nn(r)})).data;if(k?.result?.length>0){k.result=k.result.filter(O=>new ie(O?.balance||0).gt(0)),k.result=k.result.map(O=>({...O,token_address:O.token_address===Ei?Ve:O.token_address}));try{if(k.result.length>0){const O=ms(n)??n,Y=k.result.map(A=>A.token_address),g=await Ts.get(`/keyrings/tokens/${O}/v2`,{query:{addresses:Y.join(",")}});if(Array.isArray(g.data)){const A=new Map;for(const y of g.data)y.address&&y.price!=null&&A.set(y.address.toLowerCase(),parseFloat(String(y.price)));k.result=k.result.map(y=>{const T=A.get(y.token_address.toLowerCase());if(T==null)return y;const B=ie(y.balance_formatted||"0").multipliedBy(T).toNumber();return{...y,usd_price:T,usd_value:B}}),k.result=k.result.filter(y=>y.usd_value==null||new ie(y.usd_value).gte(Ri))}}}catch(O){console.warn("⚠️ Failed to fetch Pantograph prices:",O)}}return{success:!0,data:k}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching token balances:",i),{success:!1,error:i}}}async function Cs(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Token address is required");try{const o=ms(n)??n,s=await Ts.get(`/keyrings/tokens/${o}/v2`,{query:{addresses:t}}),a=t===Ve,i=(Array.isArray(s.data)?s.data:[]).find(y=>y.address?.toLowerCase()===t.toLowerCase()||a&&y.address==="")??null;if(i)return{success:!0,data:{token_address:i.address??t,name:i.name??"",symbol:i.symbol??"",decimals:i.decimals!=null?Number(i.decimals):18,logo:i.icon_image||i.logo,thumbnail:i.icon_image||i.logo,usd_price:i.price!=null?parseFloat(i.price):void 0,usd_price_24hr_percent_change:i.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:i.price_change_24h??void 0}};console.warn("⚠️ Pantograph returned no result, falling back to Moralis API");const l=tn(),[k,O]=await Promise.allSettled([on.get("/api/v2.2/erc20/metadata",{query:{chain:n,addresses:[t]},headers:nn(l)}),on.get(`/api/v2.2/erc20/${encodeURIComponent(t)}/price`,{query:{chain:n,include:"percent_change"},headers:nn(l)})]),Y=k.status==="fulfilled"?k.value.data:[];if(!Y||Y.length===0)return{success:!1,error:"Token metadata not found"};const g=Y[0],A=O.status==="fulfilled"?O.value.data:void 0;return{success:!0,data:{token_address:g.token_address,name:g.name,symbol:g.symbol,decimals:g.decimals,logo:g.logo||g.thumbnail,thumbnail:g.thumbnail,usd_price:A?.usdPrice??void 0,usd_price_24hr_percent_change:A?.["24hrPercentChange"]?parseFloat(A["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:A?.usdPriceChange24hr??void 0}}}catch(o){const s=o instanceof Error?o.message:"Unknown error";return console.error("❌ Error fetching token metadata:",s),{success:!1,error:s}}}async function Hi(e){const{prompt:t,model:n="gpt-4.1-mini",stream:o=!1,systemPrompt:s}=e;if(!t)throw new Error("Prompt is required");try{const a=tn(),r=new Jt("https://cortex-api.moralis.io"),i=s?`${s}
97
+ `).slice(0,-1)}class ci extends me{constructor(t,{account:n,docsPath:o,chain:s,data:a,gas:r,gasPrice:i,maxFeePerGas:l,maxPriorityFeePerGas:k,nonce:D,to:Y,value:g,stateOverride:A}){const y=n?Zn(n):void 0;let T=Po({from:y?.address,to:Y,value:typeof g<"u"&&`${Aa(g)} ${s?.nativeCurrency?.symbol||"ETH"}`,data:a,gas:r,gasPrice:typeof i<"u"&&`${It(i)} gwei`,maxFeePerGas:typeof l<"u"&&`${It(l)} gwei`,maxPriorityFeePerGas:typeof k<"u"&&`${It(k)} gwei`,nonce:D});A&&(T+=`
98
+ ${ii(A)}`),super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",T].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function li(e,t){const n=(e.details||"").toLowerCase(),o=e instanceof me?e.walk(s=>s?.code===Gt.code):e;return o instanceof me?new Gt({cause:e,message:o.details}):Gt.nodeMessage.test(n)?new Gt({cause:e,message:e.details}):Nt.nodeMessage.test(n)?new Nt({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mn.nodeMessage.test(n)?new Mn({cause:e,maxFeePerGas:t?.maxFeePerGas}):Hn.nodeMessage.test(n)?new Hn({cause:e,nonce:t?.nonce}):Wn.nodeMessage.test(n)?new Wn({cause:e,nonce:t?.nonce}):Vn.nodeMessage.test(n)?new Vn({cause:e,nonce:t?.nonce}):Gn.nodeMessage.test(n)?new Gn({cause:e}):Yn.nodeMessage.test(n)?new Yn({cause:e,gas:t?.gas}):zn.nodeMessage.test(n)?new zn({cause:e,gas:t?.gas}):Jn.nodeMessage.test(n)?new Jn({cause:e}):Xt.nodeMessage.test(n)?new Xt({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new qo({cause:e})}function di(e,{docsPath:t,...n}){const o=(()=>{const s=li(e,n);return s instanceof qo?e:s})();return new ci(o,{docsPath:t,...n})}function ui(e,{format:t}){if(!t)return{};const n={};function o(a){const r=Object.keys(a);for(const i of r)i in e&&(n[i]=e[i]),a[i]&&typeof a[i]=="object"&&!Array.isArray(a[i])&&o(a[i])}const s=t(e||{});return o(s),n}function fi(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:o,to:s}=e,a=t?Zn(t):void 0;if(a&&!Me(a.address))throw new it({address:a.address});if(s&&!Me(s))throw new it({address:s});if(n&&n>Wt)throw new Nt({maxFeePerGas:n});if(o&&n&&o>n)throw new Xt({maxFeePerGas:n,maxPriorityFeePerGas:o})}async function pi(e,t){const{account:n=e.account}=t;if(!n)throw new Dr;const o=Zn(n);try{const{accessList:s,blockNumber:a,blockTag:r,data:i,gas:l,gasPrice:k,maxFeePerGas:D,maxPriorityFeePerGas:Y,nonce:g,to:A,value:y,...T}=t,ve=(typeof a=="bigint"?de(a):void 0)||r;fi(t);const N=e.chain?.formatters?.transactionRequest?.format,J=(N||da)({...ui(T,{format:N}),account:o,accessList:s,data:i,gas:l,gasPrice:k,maxFeePerGas:D,maxPriorityFeePerGas:Y,nonce:g,to:A,value:y},"estimateGas"),{baseFeePerGas:he,gasLimit:ge,priorityFeePerGas:xe}=await e.request({method:"linea_estimateGas",params:ve?[J,ve]:[J]});return{baseFeePerGas:BigInt(he),gasLimit:BigInt(ge),priorityFeePerGas:BigInt(xe)}}catch(s){throw di(s,{...t,account:o,chain:e.chain})}}const mi={fees:{estimateFeesPerGas:fs,async maxPriorityFeePerGas({block:e,client:t,request:n}){const o=await fs({block:e,client:t,multiply:s=>s,request:n,type:"eip1559"});return o?.maxPriorityFeePerGas?o.maxPriorityFeePerGas:null}}};async function fs({client:e,multiply:t,request:n,type:o}){try{const s=await pi(e,{...n,account:n?.account}),{priorityFeePerGas:a}=s,i=t(BigInt(s.baseFeePerGas))+a;return o==="legacy"?{gasPrice:i}:{maxFeePerGas:i,maxPriorityFeePerGas:a}}catch{return null}}const hi=ut({...mi,id:59144,name:"Linea Mainnet",blockTime:2e3,nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build",apiUrl:"https://api.lineascan.build/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42},ensRegistry:{address:"0x50130b669B28C339991d8676FA73CF122a121267",blockCreated:6682888},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:22222151}},ensTlds:[".linea.eth"],testnet:!1}),gi=ut({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),en=1,wi=ut({...gn,id:10,name:"OP Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},blockExplorers:{default:{name:"Optimism Explorer",url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io/api"}},contracts:{...gn.contracts,disputeGameFactory:{[en]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[en]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[en]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[en]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:en}),bi=ut({id:137,name:"Polygon",blockTime:2e3,nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://polygon-rpc.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://polygonscan.com",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}}),ps="/docs/contract/encodeFunctionData";function yi(e){const{abi:t,args:n,functionName:o}=e;let s=t[0];if(o){const a=ri({abi:t,args:n,name:o});if(!a)throw new rs(o,{docsPath:ps});s=a}if(s.type!=="function")throw new rs(void 0,{docsPath:ps});return{abi:[s],functionName:ls(_n(s))}}function vt(e){const{args:t}=e,{abi:n,functionName:o}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:yi(e),s=n[0],a=o,r="inputs"in s&&s.inputs?Xr(s.inputs,t??[]):void 0;return St([a,r??"0x"])}const ct={1:{...gi,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"]},10:{...wi,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},56:{...Pr,logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACcRJREFUeAHlnU2IHMcVgF9V9+iPWTMbSJyIEGmTgwOJtR3QIZegWYgVmUBWOoQEQmIZcsjNziEHX6KNIaccvL75EIh0yCEnaQOJ7ZVhxxfjg8GzBoNtsLW66GBjdrVrS5Zmusr1eqbGPbszPdX1273+YFczy/z09KdXr+p1TRWBirN9PWnBCWjHETsFfVgASk6JP5/mAC1CoAVc/OQhsMM57BCArew+45sQw60+p5vwGXTnL3V3oMIQqBjbLyen4wZbJowkDKAtDvA0WARFCZldQvmNHqOb8+e7XagQlRCyfTNpxym7yClZti1gFsNI6vQIuTb/RLcDgQkmBJuiuMmeAU4uirsJVIBMDuUrvR59ff7J7hYEwLuQ7fUkiRm7DBF56kD7XyHEibnaS8nffIvxJiTLDRH/l7jZhhrhW4xzIdg0RU12hXDyLNQYX2KcCtl77QzmiJUqN01lkDmm+fN3roEjnAipa/NUgk4/JU+7iBYKlsGoiGP+NhxeGYgYqPK3775yxnozbC1CDkuuKAshfLX5xDt/BktYEYJNVCPi13lFxhO+wdwiEv6SjSbMWMhQxgb3PMLOc+QHf8r+ffjhSxAKW1KMhGSDPMI3QvaiUMaR7w+FfPRSUCkCUdQkS02D+pi2kKrJkNRdipaQqsqQ1FlKaSHZGAO7tRWVIamCFDFW+UnZnFJqHCITeNVlZI8Tj5HJPhAtPFd4zso8qZSQKvSmVGSMHh9YCp4rMYC8nl31VERZyO7NMy/UScboeeEjJWmIAbPqg5WEYDkk5AhcV8bo+aEjRZw71TLLzKQeOombysgTONErJfmZEZJVbQ+BjOz1wkZKa1gBL6RQyO7645chUNXWtozR64aV0p7VdE1tskLWqFzJyBOw+drpf04Wps0PmxohEWUrh1VG9j7hIqVV1OuaGCHDK363wDO+ZOQJFSkiwS9MSvATIwSjAzwTQkb2voEiZVqCPxAhIaIjlIw8ISKlD6IbvK8AeSBCfEeHDRm9O//NfoyOI0CkUJwwuI+xCPEdHbZkPHj3r9ntoz96HhonfwUmeI6UAz2usQiJorQNnrAtA8HbNYuUFj3BxsYldPwOVS6CmeBChqRuUiJClvP3R0JEc9X2Me5wKUNSJyk4U2fvZtKW90dCRDK/DI7xIUNSJyksZRfl7ZEQSsg5cAg5dhIa3/sdmKAqQ2JDCh4ziefAJRH9qtnKhGz/L0lcN1f8iztw/60/Au/vgQ5lZUhMpOCxmhyz8vuIcy8v9WZCokbqZcYh23tf6wPqypDoSJEy8Jh9QMmg2cqEEE6XwRNlpZjKkJSR4lsGIpqtRfx3IIT4nZOrKsWWDImKlBAyhrTxF9neSFpxj29DAOjcY3D87D8nJk3bMvJMG9EHlJEhRu3zFL6wGx3xt5aUHzstUsrKQLH4o8qkSNGRUeazqnCkCecojZk1IdhnP7b4QvY/UJX9UnRkYJThj64UHRlHf/x89lltjlP6KVuInvv9o78lQH4KhuQHfZE4MeT4SUg/2VB6Ln/4KaSfvgGQPoQH7/0dVMk3eYQehfjbF7LXwddTAY8Pn/vgg3+UltH4zqDJi+bPZiXadPstMIVzeJ/srS/iWWuDAdNG4C7zwLT84zoP5GXksVEl5pyvGX/HsKgcgomzTPOlSlFnAP9WtvlSZZoMxEaZhRByipqM0FVqU7alFMmQuJBSJENiKoVgOT5b4kiDMoVCW1JUZEhsSlGRITGRgktOUZ1ZiTpVW1MpZWRIbEgpI0NiIKVVOoeYlNB1pejIkJhI0ZEh0ZVSPqlz+Ppg+lk1nl9aiEn3TrcbrFslRky6wSalezxHeK7KQnGNQiiJjhTTMYmOFBtjEh0pujIEOxQXjAQNykixNUAsI8XmALGMFAMZ2O3dofgLNFGRYnu0riLFxWhdRYqJDESknC3s9m6BAUVSXJVOiqS4LJ0USTGVIaGM8NtgyCQpOlXbo4/9Rfnxk6RoVW3Fe5qW7m3JYIxvRs/94dEfimrvBTBEVjujb5zVLqFj5VSnSoxVXmAPtUroje/+Wq9KLI4Tq9q2ZCAin/+H7L76+EVC6HWwRPzNJegrnlBk0qBPRyiiW0JHdC9Q9T9W/6wzIWTp63kJd8oIvBKXcOeXujsczBK7DrPKIa5K90XlEJel+1mI5moLZ8HTwR3+OnhEtTZlW4pKbSqcFL6JvwelEwreFqQvWyi0JaVMoTCEFAqDPJ4JYX16AzygW7U1laJTtfUtpUcgi5DRN6h21xdvudyZAD/giZ/932jisk6iNymhI5jo7735G+D374ArMH888ovNBbw9qvZy4GvgEPxgvdv/BhPKRoqpDASP2aUMRNSvOqPboxup+2bLxswMVSk2ZNgc9BXBCRktXT72pc+99UVckdr5PF8bMzSKmq9aycg1V8jYBSrG3TZbEpeRUicZiLggtTJ+Pwc7Qld1Lljp4EJK3WQgPQZjY8ADKzncXT+zKqw9A56w1XzhJ6mbDNyTpHl+8+l9fxsHv94WN7LdDbxRgXURvctAJi1Ac2CSw/wvs7U3OuCR0GvshpCB0aG8GhBuVgKeCSUlhAwEt0+a9PeJQgbm+IvgGd9SQsmYFh3I1HlZ/QZd8dXjyuNLSigZOO6YFh3IVCF4nYQVPNElrqWEkoHguKNoqdiZ6/ba+EKPLi56XyFlCDpz5zcLv5g4cyppluADNF2I7UgJKYMPFlKe2VmaKQTDK1TThdiSEjgycL6V0qaUyvuH7IkRPHgcwe/HpPkKLQMYeXHuQldp7Xfl2e9Zrwv8Xerdj26khJaBvSpVGYiyEOx1iTbwEuf+Z6hIykqpgoyUkVKrC9RzyyOF5iu4DJHEU9dbHiH4BoQL64F6XsisSKmEDNDb01Brlzbks/Uk4aF3apsQKZWR4XPbPEnVpNRdBmIkBMGcElG+QUjA/alyO32GQibwoFuvSqogJSgcun1GLlVic+I8oQePQRCDvv59WJm2QUtZrApB7r6SPEsjfiVkXvEB5gsshzQvdFfBItaFIMNF/XF/jDYcTjpYKLTRRO3HiRDJ7npyWWS7K4clt7iKijzG62UV8cj57lXseXDOr0HdEbki/ZwsuJSBOI2QPIOeGFshhDwF9cJZ8zQJb0IkdRCDTRNh/Bqh9GrTYJCng3chkkxMJJJ+tXJMFzhZ69+DVVvd2LIEE5JnD/cuybbLIOd8y8EvvIpoWANOb8w92e1AYCohJA/WxxhAQoAvi3JEYlvQYD0R6HAg3TiFteOecoMqlROyH9wcPj4GCUSwCIwtwHDR+uHinS1cODL/eD5YTGdnuKjOFjB+Gyi9JeTeTu9BJ1RTpMqXLiNpVjp6y9MAAAAASUVORK5CYII=",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"]},137:{...bi,rpcUrls:{default:{http:["https://polygon-bor-rpc.publicnode.com"]}},logo:"data:image/png;base64,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",chainId:137,chainType:"matic",chainTypeMoralis:"polygon",tokenTrendingDefault:["0x7ceb23fd6bc0add59e62ac25578270cff1b9f619","0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6"]},8453:{...ss,logo:"data:image/png;base64,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",chainId:8453,chainType:"base",chainTypeMoralis:"base",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},42161:{...Br,logo:"data:image/png;base64,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",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"]},43114:{...Fr,logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAABkCAYAAACfIP5qAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACQJJREFUeAHtnc9zk0UYx7+7Kdo2VePFghfC4J14xhlecEY8oni2cNUDqDNypOgfABzkautZpN7kYPty8B7uOoYZHQoX6ghtEfI+7vMmb0iTvHl/7e67KfnM0JTkTfI23zz7fHf32X0FJoD7nlcPUGkcAA4HoAYkaiDU1UM1of6R+td/vLpvS923pX5rQdBWQHRvhuSfbbTv7gLNI76/BYcRcJCHntcAKicCSZ4geIMfugaa6i9vikD4Adp3Dvl+Cw7hjCgqGjwS4kwFYsmACEk0JYkVFUk/uyBQqaL86Xm1eSkvqKboYglCxCB8FZ0ri/6vqyiJUkThqBBCXFZv78FdVD6CT0FwxXb0WBVlQsQYRmDFpjhWRGH3pMT4fuLE6IMdnfpxbXF9/QoMY1QUN3NGYVqCxLLJnGNMlE5TJVV0hP2J/YfBJs2IKA+99y8Egq5h/9MiCs4rYXxoRKso+yF35EEILOvMNdpE4V54IOQt7NfmKgmBtZ0gOK9jCEeLKH9775+ZEfT9PkrmeeHm7GTRPFNYlAeet0RCrmBKRGFhJArwwDt1eSrIECqvyg3Or8hJ7khxxWHNnz2LmaNH0X6wid1fbqvbB3CE3BGTSxTOIRVBt1AytW++wavvHe/9v725iUdffDnxwmRuvjgsOamjZKpLS3sEYSoHD+L1S5fgENyU3eKRjSxPyiRKpx8iN8p2WZXFRVTPfjzysVcax8ImzSEac1JezfKETKIIR/ohHCViYSH28YWlTyHHPG4dwrlN79TFtIenFoWdlrppoGQ4SuY+PD32GBZsLiaSSkPgameaO5lUonSmarEMB6h9+22q46qqCWMBXSJImV8SReEX6Y72ls7s6dOYeedoqmM5WhxL+ky9KuXlpIMSRZnrvEgdDsC5Iguc9F85dgwuEai5JW55xh0zVpSwV6peBA7AyZ0tb1Ze+/xzuIZqeca6MTn+ycKJZmucBU6CmzvHLDLTGOfGYkW5750658q8SJIFTsI5i4xwDuZyXNKX454EB0hjgZNw0SJzB3xWypHRMlKUTpS4kdzTWuAkFjgnOWaRJeHCqGgZKYoQtAQHyGKB0+CaRY6LliFROnbNjVyS1QIn4aJFFoShABiOFCHOwQHyWuAkHLTI9cF+yx5Rwt47ROlNVxELnAQ3h9wsuoTggsU+9ogyC3kGDlDUAicx55ooBK8/4e8RxYUEr8MCJ3FAo3nQQZjw+wKiJ0pHqfITvC4LPA7hWEeSIdCwKPOoeCgZ3RY4Dnr8GK5REeJE9HtPlEAEpecT3RY4jv/u3oVrcBMWubCeKMp1lWrgTVngUWz/eBMuIiDDmclQlG7mL22q16QFHmTn9m0nI4UJQB7fhqLMljz3btoC9/Nk9Qe4SpRXQlGisCnlRCxY4AiOEi7Yc5VuXqmHoqiwqaMkbFhghsVwOUoiDgDHQlGkQClJ3pYFZlgQl6Mk4hnkm133JeooAVsWmMXgpmtCqEeWuA7L2LTAk9BsRQjgsMxafKwD2xZ4gqKE8/ubcraEYu2pBY5HCvlGoZVceZgECyyr1XAhUhlz+gJBbQaWsTVPntcCv3r8ON649HUvknd+uY3HN24gsDSISRA1q5HCFpjnyW2QxwJzZPQLwnBUVz+14xIjrIriugXm+ftRuW7+k7MWCy5Ey5oorltgjuLB5Xr92Cy4kLvhBphmCZP76Q9gg7wWOCmKbdYkSxs7j7oeJWnPz0pNMlGv+WrBEK5bYD6/tLmO843ppK9Giu91RaEWDOG6BeYoyYLppM878IWiEOEeDOC6BeY+SZ4ozipkFghBszvJJZowgPsW+DPkgb9opqoseYfxTqQodaAZm8n93+9uICv8oRY5PxNJn5suNl6hKKwONGLbAj/97bdMz8mS3GNfQwmqeyESdVusUJSuLW5BE/vFAie+jua1+kR0h29fFOMR/QwN2LTA2zdv5rLAus5P/1r9wOefPVEqkD40YNMCb9/8CVnRXaihayES55No19aeKNto+wJUqHfvugU2VajxuhpZLkq723QxPVE4r1DBhO+6BTZ1fpyfqkWNA15sard3lJhE7rzCg3UuW2DT5oOTfhGLvA30Pvs9ouwgWMnThHHCm7dYCJHHApu26IXW6hNW+geG94jCD7QJmTfW5+EKly3wgUbDyvnljRbVed/zmQ9NcqlIWUNGKgftFBg8WV3NVQhhy3xwtIiFKrJBrcG98odE6RxAPjLwrGl+acHz33/H45zlQjbOj+EvTHsz206vgmh58L6R08GqZ5lpM31e72Gy4I07iY++/Ap5CdekWBAmuwGh1qLvD6WL2H2JN0+e3Mi6MHWu2w8QVT0Ddc//+AO76gPVVd6j+/wi+Dz5i8nRnAUSuHJofX158P5YUboXpdnAFENQa4fo3VHT8bHVLHlyy5T0cC6Jq48YW2KUNbdMScvoXBIxVhSOFjV6fB1TtKK+7CfHPZ5YjPcUbNnMFVa8bASg60kXJEgUJRyoJDqPKRqg1tMR/ZJBUpWtTpsxPXCzlab4MXUt8dv+xkX1skaqXl4Gwj5JyuuoZCrwVkp/NM0v2QnzyIhOYhyZRGGlpRKm6AzlywU10+SRfjIvhXjL95sqv3yBKSmgFrcuWYvoc18oTQ3DnHPlahFuEgqS60JpuRcNqTdbIcK0xz+S/IIwhS++OY2YQYoJwhReXscRIyiYJv8QahYVhNGy5lENrq2p5P/uy2yXCbS6o0EQZnrpcw3ETVblRasoEfe9U8uuXOrDLGH+OD9Y+FAUI6Iw3ajZKGvbKtNwL/3pmImqIhgTJWL/RY2Z6OjH+OYGh/z1ZaLgiPpDMhf5uQS7S+6X8by6SUE672WRvzyvMSPE1UkyAixGQOL6LoJrNvYc6LxnCXQvnKM6neVfFiSOMsR48d4lEl5HEoJzzglnDAGRLyHXnqC9aluMiFJF6edF9JQgkBKCIO4oT7Wio/NXFGdE6adzNerKCeJtxgV5vDEZ9NJSXXAlBO6o5mmtrIiIw0lRBmGR1AdYF6gcfo7gSLiPMqEGIWqq7a8NihY6JYgtFQHqwxZN1af4p7OBQ9Di5emuiTDI/4Da9NgV2sBcAAAAAElFTkSuQmCC",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"]},59144:{...hi,logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGEAAABkCAYAAACWy14QAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABydJREFUeAHtnT1MHEcUxx8HEuAGYxdOY+fcpbBl6CJR+NI5FAR3oQJ6irhBiiiAKoEmRkIKXQgN7gwUyB1HgZLOh0SND2iSgs+GS3GQ/3+ZPR3H3bIfsx+3Nz9p2b1jl4/5z7z3Zm7mTZsklIcAp2x7e3vf9fV1H657cPD8sOqo5owH7i3y3NbWdoDzl6urq12cC2dAEkqbJAQWOgo8h0LM4eVruSlwnRR4QJx8uVzehiZFSQixisCCz2Qyoyj4YRROTiIEvzOP372cBEFiEQFln0OhT+OwzUus2IIcHx//KTEQqQiPHz8eg40ejbrWe6CIv20majEiEYGFj9o2jcusNAeRihGqCFVmJyfNSSRihCKCcris+T9JCkArXsPxLiwH3i6aYe2HAH/hMicpAa3hGxxj3d3d/11eXv4tmtEmAmv/gwcPfsEfu4SXXZI++D+9gRDZzs7O3VKppK3zp8UcofyzqP0fRX8HK6kUEeV9p8s8ZSQgEKAPAmxJ6whAWOk+I+obFg0EMkcQYBR/zAdcfiWtB83TjzBPAj+xLQHwLYISYFnSaf+9kAsqhC8RqgQw3BBICM8i0A4iAvoghlp8C+FJBDphCMAoqNVNUCNyCF+LCF93vTzkOkRVYSijoKwYnDhT4WvB7QOuQ1QjgGs4ZPORldbtA65EePTo0W9iBPBCFmb7D7c33+sTOAyN069i8AREyMJRn7sZa3L0CcYPBIb+of++4Q1HcwQBZsQIEISHbsxSQ3OkwtHfxRAIN2apoTmCM/4iphXogmbpeaO5T3XNkXLGWUkhIyMjsrGxIfv7+4KPLa0zX/P9Z8+eSUgwbG34KWPdlpDGVvDy5UtZWVlxLOjDw0OZn5+X1dVVCYGGreGOT1CtYExSBAVYX1+XJ0+eON7X09Mjg4ODtOOys7MjmunCz+XHo/nab9xpCWlrBaz5FMCrqRkaGgpDiLqt4ZZP4If0kjIzNDk56cvWLy4uSgjQN4zVvnlLhHo3NDM0L3S4fqBwAwMDopvr6+sfat+riKAGnEYlRQQtRPoH3XAinLI4FSoicFq6pIynT59KEMIKWWFxbk0Q6LAv1ERd0Qn/Ccbg99HXF85EDZqjOJ93gBan0m+wRODErbDmiwatjUE4OjqSIJyfn0tIsMhzCJLyfGGZozSaIrK5uSlBCPq8EzBJuco1v3CljKQQ1mS/sT57zyH0EyqgzF/b17ZjfiUpZW5uTvzAoQsKERZqlZJFRq2STO0URtbmqakpT89QAI4hhQyL3ip3toTUzyFdWlpyLQTvnZiYkCjg8mCeW0IEwsLt7++3anlt1GP7Do4XeW01QVDrs6UDXjorLQJtvF3LX7x4YfUDKABD2RDD0YZAhCzPHbj4WncnrRnY29uTuEG5WwERzVHs64hbnQw/iBZDrGRgjkxLiBm2BCNCzARes2YIjhEhARgREoARIQEYERKAESEBGBESADtric2S2Cqws2ZEiBmaIyNCzFAETwufDfqwXYFpCfFyIwJ8guuV5wa9oOwtK5Qpl8tGhJi4urr6zDPNUVEMcXHTEtSqEdMaoufMTkJi95gDpQ8zeAeRUaXiWyIwnb0YIgVlvm5fWyLAOefFEClwynn72lqfQOPU29ubjyundVxrGC4uLuKa9FWsTkrVUfWN9bhEKBTiiQs4JTKqeafV1Jr/6qHsZTOiGg0wRQvVrysimFA1GmpNEcnU3DArhlBBGc/UvndLBC5k4/4yYggFtf3Yeu37mTo3xrK5TytAh1wvy8sdEXDPslLMoBk45Lrmvu4H/cY3hMJso4SEDVeHoPO21cQbEiUKWhYcDTe9yDg8aFqDJhgROaXlbJgNslQqFbu7u3tx+a0YfKP6BeNO9zhO/oIjmTG96GDQDN13j6MIDKfwQ96KwS+zbjY/ujdXtjFL/mCn9/T0dNzNva7moiqzZMaVXKKiIVcCEE+bWCBk3TKrPe9HZXwsur3f9axs/lD6B+OonYEA4143wfO0pw78wz9dXV3/ojWkMj+SBmbhB96LRzzvLgUhCp2dnQdGiDvMnpyczIgPfO2zZoS4g28BiO8dB5UQnEH2BmK08pZfgQQggdO72HuvtVrUxABFbZS9LAHRthVwK4Wvqh/w1steak5oWTjIkAxRwXNcLkjKUVvF9+sSgGjdHv7y8vITHTYu+9KWuITmB//Tz6hs7+APS6IRrSIQOmz0JTiRjONNqcivx3EgHN9DgE8SAqHmXWt2p61sP53vmoRIJMnvIMYYhJhuFjGU6VnAEMT7RjtC6STSDIRJFyPqwreJJQ0kM6arXUsSsWmGsvmzdhb3qIk1F6favSSH2jca9cwOFjx+53bUtb4eiUmIqnJ2s4UMo4BeVSf01kQRh1Xw5XJ5Le6CryaxWWmrEqm/gjDPmURXbjYUzTo9pz7vKOK+A9RyblfG8a1Ckgq9lv8B/ms5OCQW+c4AAAAASUVORK5CYII=",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"]}},ms=e=>Object.values(ct).find(n=>n.chainTypeMoralis===e)?.chainType||null,Ai=e=>{const t=new Date,n=new Date(t);n.setDate(n.getDate()-1);const o=new Date(e);return o.setHours(0,0,0,0),t.setHours(0,0,0,0),n.setHours(0,0,0,0),o.getTime()===t.getTime()?"Today":o.getTime()===n.getTime()?"Yesterday":o.toLocaleDateString("en-US",{month:"short",day:"numeric",year:o.getFullYear()!==t.getFullYear()?"numeric":void 0})},_e=e=>new Promise(t=>setTimeout(t,e||0)),ki=(e,t=5,n=5)=>(e=e||"",e?.length<=t+n?e:`${e.substr(0,t)}...${e.substr(e.length-n,n)}`),vi=e=>{if(!e)return"";const t=ct[e];return t?t.chainTypeMoralis:""},Ti=e=>{if(!e)return"";const t=ct[e];return t?t.chainType:""},Bt={getItem(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,t){if(!(typeof window>"u"))try{window.localStorage.setItem(e,t)}catch{}},removeItem(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}},get length(){if(typeof window>"u")return 0;try{return window.localStorage.length}catch{return 0}},key(e){if(typeof window>"u")return null;try{return window.localStorage.key(e)}catch{return null}}};class Ci extends me{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function mt(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Ci({value:e});let[n,o="0"]=e.split(".");const s=n.startsWith("-");if(s&&(n=n.slice(1)),o=o.replace(/(0+)$/,""),t===0)Math.round(+`.${o}`)===1&&(n=`${BigInt(n)+1n}`),o="";else if(o.length>t){const[a,r,i]=[o.slice(0,t-1),o.slice(t-1,t),o.slice(t)],l=Math.round(+`${r}.${i}`);l>9?o=`${BigInt(a)+BigInt(1)}0`.padStart(a.length+1,"0"):o=`${a}${l}`,o.length>t&&(o=o.slice(1),n=`${BigInt(n)+1n}`),o=o.slice(0,t)}else o=o.padEnd(t,"0");return BigInt(`${s?"-":""}${n}${o}`)}const Ei="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Ve="0x0000000000000000000000000000000000000000",hs=te.createContext(void 0),oo=()=>{const e=te.useContext(hs);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:ct[e.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:Ti(e.account?.chainId||void 0),chainTypeMoralis:vi(e.account?.chainId||void 0),isChainSupported:!!ct[e.account?.chainId]}},Si=({children:e,initialAccount:t})=>P.jsx(hs.Provider,{value:{account:t||null},children:e}),xi=({address:e,chainId:t})=>{const[n,o]=te.useState(!1),{isChainSupported:s}=oo(),a=te.useCallback(()=>{if(!e)return;const r=e,i=()=>{o(!0),setTimeout(()=>o(!1),2e3)};try{navigator.clipboard.writeText(r).then(i).catch(()=>{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()})}catch{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()}},[e]);return P.jsx(P.Fragment,{children:Me(e||"")&&P.jsxs("div",{className:"chat-user-info",children:[t&&ct[t]?.logo&&P.jsx("div",{className:"user-avatar",children:P.jsx("img",{src:ct[t].logo||"",alt:"Chain",width:20,height:20})}),P.jsx("span",{className:"user-wallet",children:P.jsx("a",{style:{pointerEvents:s?"auto":"none"},href:ct[t]?.blockExplorers?.default?.url+"/address/"+e,target:"_blank",rel:"noopener noreferrer",children:ki(e)||"Not connected"})}),P.jsx("button",{className:"copy-address-btn",onClick:a,"aria-label":"Copy wallet address",type:"button",title:n?"Copied!":"Copy address",children:n?P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:P.jsx("path",{d:"M8.1 15.75H13.23C12.9638 16.4152 12.5041 16.9852 11.9105 17.3863C11.3168 17.7874 10.6165 18.0012 9.9 18H3.6C2.64522 18 1.72955 17.6207 1.05442 16.9456C0.379285 16.2704 0 15.3548 0 14.4V7.2C0.00104929 6.32332 0.321408 5.47704 0.901163 4.81944C1.48092 4.16183 2.28037 3.73792 3.15 3.627V10.8C3.15238 12.1121 3.67466 13.3698 4.60245 14.2975C5.53024 15.2253 6.78791 15.7476 8.1 15.75ZM15.75 3.825H17.658C17.6027 3.74389 17.5393 3.66852 17.469 3.6L14.4 0.531C14.3337 0.460854 14.258 0.400274 14.175 0.351V2.25C14.1769 2.66713 14.3434 3.06664 14.6384 3.3616C14.9334 3.65656 15.3329 3.8231 15.75 3.825ZM15.75 5.175C14.9747 5.17357 14.2315 4.86494 13.6833 4.31671C13.1351 3.76847 12.8264 3.02532 12.825 2.25V0H8.1C7.14522 0 6.22955 0.379285 5.55442 1.05442C4.87928 1.72955 4.5 2.64522 4.5 3.6V10.8C4.5 11.7548 4.87928 12.6704 5.55442 13.3456C6.22955 14.0207 7.14522 14.4 8.1 14.4H14.4C15.3548 14.4 16.2705 14.0207 16.9456 13.3456C17.6207 12.6704 18 11.7548 18 10.8V5.175H15.75Z",fill:"#0B3988"})})})]})})},Ge=[];for(let e=0;e<256;++e)Ge.push((e+256).toString(16).slice(1));function Ii(e,t=0){return(Ge[e[t+0]]+Ge[e[t+1]]+Ge[e[t+2]]+Ge[e[t+3]]+"-"+Ge[e[t+4]]+Ge[e[t+5]]+"-"+Ge[e[t+6]]+Ge[e[t+7]]+"-"+Ge[e[t+8]]+Ge[e[t+9]]+"-"+Ge[e[t+10]]+Ge[e[t+11]]+Ge[e[t+12]]+Ge[e[t+13]]+Ge[e[t+14]]+Ge[e[t+15]]).toLowerCase()}let so;const Ni=new Uint8Array(16);function Bi(){if(!so){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");so=crypto.getRandomValues.bind(crypto)}return so(Ni)}const gs={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Fi(e,t,n){e=e||{};const o=e.random??e.rng?.()??Bi();if(o.length<16)throw new Error("Random bytes length must be >= 16");return o[6]=o[6]&15|64,o[8]=o[8]&63|128,Ii(o)}function ws(e,t,n){return gs.randomUUID&&!e?gs.randomUUID():Fi(e)}const ao="chat_widget_messages",wn=200,Yt=[{id:ws(),text:`**Welcome! 🚀**
99
+ You're connected and ready to explore DeFi! I can help you trade, check prices, and analyze your portfolio when you need it.`,sender:"bot",timestamp:new Date}];function Pi(e,t){return e&&t?`${e}_${t}`:""}function bs(e){return e.map(t=>({...t,timestamp:new Date(t.timestamp)}))}function ys(){const e=Bt.getItem(ao);if(!e)return null;try{const t=JSON.parse(e);if(t&&t.owner!==void 0&&Array.isArray(t.messages))return{owner:t.owner,messages:bs(t.messages)};if(Array.isArray(t))return{owner:"",messages:bs(t)}}catch{}return null}function bn(e,t){Bt.setItem(ao,JSON.stringify({owner:e,messages:t}))}function Di(){const{account:e}=oo(),t=Pi(e?.address,e?.chainId),[n,o]=te.useState(()=>t||"pending"),[s,a]=te.useState(()=>{const g=ys();return t?g&&g.owner===t?g.messages:Yt:g?.messages??Yt});if(n==="pending"&&t){const g=ys();g&&g.owner===t?a(g.messages):bn(t,s),o(t)}else n!=="pending"&&t&&n!==t&&(a(Yt),bn(t,Yt),o(t));te.useEffect(()=>{n!=="pending"&&bn(n,s)},[s,n]),te.useEffect(()=>{const g=[];for(let A=0;A<Bt.length;A++){const y=Bt.key(A);y&&y.startsWith(ao+"_")&&g.push(y)}g.forEach(A=>Bt.removeItem(A))},[]);const r=(g,A,y,T,B)=>{const ve=y?s.find(W=>W.id===y):void 0,N={id:ws(),text:g,sender:A,timestamp:new Date,...ve&&{replyTo:{id:ve.id,text:ve.text,sender:ve.sender}},...T&&{buttons:T},...B&&{actionData:B}};return a(W=>{const J=[...W,N];return J.length>wn?J.slice(J.length-wn):J}),N},i=(g,A)=>{a(y=>y.map(T=>T.id===g&&T.actionData?{...T,actionData:{...T.actionData,status:A}}:T))},l=(g,A)=>{a(y=>y.map(T=>T.id===g?{...T,text:A}:T))},k=g=>s.find(A=>A.id===g),D=te.useCallback(()=>{a(Yt),bn(t,Yt)},[t]),Y=te.useCallback(g=>{a(A=>{const y=A.filter(T=>!g.includes(T.id));return y.length>wn?y.slice(y.length-wn):y})},[]);return{messages:s,setMessages:a,addMessage:r,updateMessageAction:i,updateMessageText:l,getMessageById:k,clearMessages:D,clearMessagesById:Y}}const As=te.createContext(void 0),Oi=()=>{const e=te.useContext(As);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e},Li=({children:e,initialConfig:t})=>P.jsx(As.Provider,{value:{config:t||null},children:e});var Ui=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ro=Math.ceil,tt=Math.floor,qe="[BigNumber Error] ",ks=qe+"Number primitive has more than 15 significant digits: ",at=1e14,ye=14,io=9007199254740991,co=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Tt=1e7,He=1e9;function vs(e){var t,n,o,s=N.prototype={constructor:N,toString:null,valueOf:null},a=new N(1),r=20,i=4,l=-7,k=21,D=-1e7,Y=1e7,g=!1,A=1,y=0,T={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},B="0123456789abcdefghijklmnopqrstuvwxyz",ve=!0;function N(c,d){var p,E,u,w,S,h,b,x,I=this;if(!(I instanceof N))return new N(c,d);if(d==null){if(c&&c._isBigNumber===!0){I.s=c.s,!c.c||c.e>Y?I.c=I.e=null:c.e<D?I.c=[I.e=0]:(I.e=c.e,I.c=c.c.slice());return}if((h=typeof c=="number")&&c*0==0){if(I.s=1/c<0?(c=-c,-1):1,c===~~c){for(w=0,S=c;S>=10;S/=10,w++);w>Y?I.c=I.e=null:(I.e=w,I.c=[c]);return}x=String(c)}else{if(!Ui.test(x=String(c)))return o(I,x,h);I.s=x.charCodeAt(0)==45?(x=x.slice(1),-1):1}(w=x.indexOf("."))>-1&&(x=x.replace(".","")),(S=x.search(/e/i))>0?(w<0&&(w=S),w+=+x.slice(S+1),x=x.substring(0,S)):w<0&&(w=x.length)}else{if(Be(d,2,B.length,"Base"),d==10&&ve)return I=new N(c),ge(I,r+I.e+1,i);if(x=String(c),h=typeof c=="number"){if(c*0!=0)return o(I,x,h,d);if(I.s=1/c<0?(x=x.slice(1),-1):1,N.DEBUG&&x.replace(/^0\.0*|\./,"").length>15)throw Error(ks+c)}else I.s=x.charCodeAt(0)===45?(x=x.slice(1),-1):1;for(p=B.slice(0,d),w=S=0,b=x.length;S<b;S++)if(p.indexOf(E=x.charAt(S))<0){if(E=="."){if(S>w){w=b;continue}}else if(!u&&(x==x.toUpperCase()&&(x=x.toLowerCase())||x==x.toLowerCase()&&(x=x.toUpperCase()))){u=!0,S=-1,w=0;continue}return o(I,String(c),h,d)}h=!1,x=n(x,d,10,I.s),(w=x.indexOf("."))>-1?x=x.replace(".",""):w=x.length}for(S=0;x.charCodeAt(S)===48;S++);for(b=x.length;x.charCodeAt(--b)===48;);if(x=x.slice(S,++b)){if(b-=S,h&&N.DEBUG&&b>15&&(c>io||c!==tt(c)))throw Error(ks+I.s*c);if((w=w-S-1)>Y)I.c=I.e=null;else if(w<D)I.c=[I.e=0];else{if(I.e=w,I.c=[],S=(w+1)%ye,w<0&&(S+=ye),S<b){for(S&&I.c.push(+x.slice(0,S)),b-=ye;S<b;)I.c.push(+x.slice(S,S+=ye));S=ye-(x=x.slice(S)).length}else S-=b;for(;S--;x+="0");I.c.push(+x)}}else I.c=[I.e=0]}N.clone=vs,N.ROUND_UP=0,N.ROUND_DOWN=1,N.ROUND_CEIL=2,N.ROUND_FLOOR=3,N.ROUND_HALF_UP=4,N.ROUND_HALF_DOWN=5,N.ROUND_HALF_EVEN=6,N.ROUND_HALF_CEIL=7,N.ROUND_HALF_FLOOR=8,N.EUCLID=9,N.config=N.set=function(c){var d,p;if(c!=null)if(typeof c=="object"){if(c.hasOwnProperty(d="DECIMAL_PLACES")&&(p=c[d],Be(p,0,He,d),r=p),c.hasOwnProperty(d="ROUNDING_MODE")&&(p=c[d],Be(p,0,8,d),i=p),c.hasOwnProperty(d="EXPONENTIAL_AT")&&(p=c[d],p&&p.pop?(Be(p[0],-He,0,d),Be(p[1],0,He,d),l=p[0],k=p[1]):(Be(p,-He,He,d),l=-(k=p<0?-p:p))),c.hasOwnProperty(d="RANGE"))if(p=c[d],p&&p.pop)Be(p[0],-He,-1,d),Be(p[1],1,He,d),D=p[0],Y=p[1];else if(Be(p,-He,He,d),p)D=-(Y=p<0?-p:p);else throw Error(qe+d+" cannot be zero: "+p);if(c.hasOwnProperty(d="CRYPTO"))if(p=c[d],p===!!p)if(p)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))g=p;else throw g=!p,Error(qe+"crypto unavailable");else g=p;else throw Error(qe+d+" not true or false: "+p);if(c.hasOwnProperty(d="MODULO_MODE")&&(p=c[d],Be(p,0,9,d),A=p),c.hasOwnProperty(d="POW_PRECISION")&&(p=c[d],Be(p,0,He,d),y=p),c.hasOwnProperty(d="FORMAT"))if(p=c[d],typeof p=="object")T=p;else throw Error(qe+d+" not an object: "+p);if(c.hasOwnProperty(d="ALPHABET"))if(p=c[d],typeof p=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(p))ve=p.slice(0,10)=="0123456789",B=p;else throw Error(qe+d+" invalid: "+p)}else throw Error(qe+"Object expected: "+c);return{DECIMAL_PLACES:r,ROUNDING_MODE:i,EXPONENTIAL_AT:[l,k],RANGE:[D,Y],CRYPTO:g,MODULO_MODE:A,POW_PRECISION:y,FORMAT:T,ALPHABET:B}},N.isBigNumber=function(c){if(!c||c._isBigNumber!==!0)return!1;if(!N.DEBUG)return!0;var d,p,E=c.c,u=c.e,w=c.s;e:if({}.toString.call(E)=="[object Array]"){if((w===1||w===-1)&&u>=-He&&u<=He&&u===tt(u)){if(E[0]===0){if(u===0&&E.length===1)return!0;break e}if(d=(u+1)%ye,d<1&&(d+=ye),String(E[0]).length==d){for(d=0;d<E.length;d++)if(p=E[d],p<0||p>=at||p!==tt(p))break e;if(p!==0)return!0}}}else if(E===null&&u===null&&(w===null||w===1||w===-1))return!0;throw Error(qe+"Invalid BigNumber: "+c)},N.maximum=N.max=function(){return J(arguments,-1)},N.minimum=N.min=function(){return J(arguments,1)},N.random=(function(){var c=9007199254740992,d=Math.random()*c&2097151?function(){return tt(Math.random()*c)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(p){var E,u,w,S,h,b=0,x=[],I=new N(a);if(p==null?p=r:Be(p,0,He),S=ro(p/ye),g)if(crypto.getRandomValues){for(E=crypto.getRandomValues(new Uint32Array(S*=2));b<S;)h=E[b]*131072+(E[b+1]>>>11),h>=9e15?(u=crypto.getRandomValues(new Uint32Array(2)),E[b]=u[0],E[b+1]=u[1]):(x.push(h%1e14),b+=2);b=S/2}else if(crypto.randomBytes){for(E=crypto.randomBytes(S*=7);b<S;)h=(E[b]&31)*281474976710656+E[b+1]*1099511627776+E[b+2]*4294967296+E[b+3]*16777216+(E[b+4]<<16)+(E[b+5]<<8)+E[b+6],h>=9e15?crypto.randomBytes(7).copy(E,b):(x.push(h%1e14),b+=7);b=S/7}else throw g=!1,Error(qe+"crypto unavailable");if(!g)for(;b<S;)h=d(),h<9e15&&(x[b++]=h%1e14);for(S=x[--b],p%=ye,S&&p&&(h=co[ye-p],x[b]=tt(S/h)*h);x[b]===0;x.pop(),b--);if(b<0)x=[w=0];else{for(w=-1;x[0]===0;x.splice(0,1),w-=ye);for(b=1,h=x[0];h>=10;h/=10,b++);b<ye&&(w-=ye-b)}return I.e=w,I.c=x,I}})(),N.sum=function(){for(var c=1,d=arguments,p=new N(d[0]);c<d.length;)p=p.plus(d[c++]);return p},n=(function(){var c="0123456789";function d(p,E,u,w){for(var S,h=[0],b,x=0,I=p.length;x<I;){for(b=h.length;b--;h[b]*=E);for(h[0]+=w.indexOf(p.charAt(x++)),S=0;S<h.length;S++)h[S]>u-1&&(h[S+1]==null&&(h[S+1]=0),h[S+1]+=h[S]/u|0,h[S]%=u)}return h.reverse()}return function(p,E,u,w,S){var h,b,x,I,F,Q,ae,ue,Ce=p.indexOf("."),Te=r,q=i;for(Ce>=0&&(I=y,y=0,p=p.replace(".",""),ue=new N(E),Q=ue.pow(p.length-Ce),y=I,ue.c=d(ht(ot(Q.c),Q.e,"0"),10,u,c),ue.e=ue.c.length),ae=d(p,E,u,S?(h=B,c):(h=c,B)),x=I=ae.length;ae[--I]==0;ae.pop());if(!ae[0])return h.charAt(0);if(Ce<0?--x:(Q.c=ae,Q.e=x,Q.s=w,Q=t(Q,ue,Te,q,u),ae=Q.c,F=Q.r,x=Q.e),b=x+Te+1,Ce=ae[b],I=u/2,F=F||b<0||ae[b+1]!=null,F=q<4?(Ce!=null||F)&&(q==0||q==(Q.s<0?3:2)):Ce>I||Ce==I&&(q==4||F||q==6&&ae[b-1]&1||q==(Q.s<0?8:7)),b<1||!ae[0])p=F?ht(h.charAt(1),-Te,h.charAt(0)):h.charAt(0);else{if(ae.length=b,F)for(--u;++ae[--b]>u;)ae[b]=0,b||(++x,ae=[1].concat(ae));for(I=ae.length;!ae[--I];);for(Ce=0,p="";Ce<=I;p+=h.charAt(ae[Ce++]));p=ht(p,x,h.charAt(0))}return p}})(),t=(function(){function c(E,u,w){var S,h,b,x,I=0,F=E.length,Q=u%Tt,ae=u/Tt|0;for(E=E.slice();F--;)b=E[F]%Tt,x=E[F]/Tt|0,S=ae*b+x*Q,h=Q*b+S%Tt*Tt+I,I=(h/w|0)+(S/Tt|0)+ae*x,E[F]=h%w;return I&&(E=[I].concat(E)),E}function d(E,u,w,S){var h,b;if(w!=S)b=w>S?1:-1;else for(h=b=0;h<w;h++)if(E[h]!=u[h]){b=E[h]>u[h]?1:-1;break}return b}function p(E,u,w,S){for(var h=0;w--;)E[w]-=h,h=E[w]<u[w]?1:0,E[w]=h*S+E[w]-u[w];for(;!E[0]&&E.length>1;E.splice(0,1));}return function(E,u,w,S,h){var b,x,I,F,Q,ae,ue,Ce,Te,q,Ae,Ne,Ye,Xe,Ke,We,$e,Fe=E.s==u.s?1:-1,Pe=E.c,Ee=u.c;if(!Pe||!Pe[0]||!Ee||!Ee[0])return new N(!E.s||!u.s||(Pe?Ee&&Pe[0]==Ee[0]:!Ee)?NaN:Pe&&Pe[0]==0||!Ee?Fe*0:Fe/0);for(Ce=new N(Fe),Te=Ce.c=[],x=E.e-u.e,Fe=w+x+1,h||(h=at,x=nt(E.e/ye)-nt(u.e/ye),Fe=Fe/ye|0),I=0;Ee[I]==(Pe[I]||0);I++);if(Ee[I]>(Pe[I]||0)&&x--,Fe<0)Te.push(1),F=!0;else{for(Xe=Pe.length,We=Ee.length,I=0,Fe+=2,Q=tt(h/(Ee[0]+1)),Q>1&&(Ee=c(Ee,Q,h),Pe=c(Pe,Q,h),We=Ee.length,Xe=Pe.length),Ye=We,q=Pe.slice(0,We),Ae=q.length;Ae<We;q[Ae++]=0);$e=Ee.slice(),$e=[0].concat($e),Ke=Ee[0],Ee[1]>=h/2&&Ke++;do{if(Q=0,b=d(Ee,q,We,Ae),b<0){if(Ne=q[0],We!=Ae&&(Ne=Ne*h+(q[1]||0)),Q=tt(Ne/Ke),Q>1)for(Q>=h&&(Q=h-1),ae=c(Ee,Q,h),ue=ae.length,Ae=q.length;d(ae,q,ue,Ae)==1;)Q--,p(ae,We<ue?$e:Ee,ue,h),ue=ae.length,b=1;else Q==0&&(b=Q=1),ae=Ee.slice(),ue=ae.length;if(ue<Ae&&(ae=[0].concat(ae)),p(q,ae,Ae,h),Ae=q.length,b==-1)for(;d(Ee,q,We,Ae)<1;)Q++,p(q,We<Ae?$e:Ee,Ae,h),Ae=q.length}else b===0&&(Q++,q=[0]);Te[I++]=Q,q[0]?q[Ae++]=Pe[Ye]||0:(q=[Pe[Ye]],Ae=1)}while((Ye++<Xe||q[0]!=null)&&Fe--);F=q[0]!=null,Te[0]||Te.splice(0,1)}if(h==at){for(I=1,Fe=Te[0];Fe>=10;Fe/=10,I++);ge(Ce,w+(Ce.e=I+x*ye-1)+1,S,F)}else Ce.e=x,Ce.r=+F;return Ce}})();function W(c,d,p,E){var u,w,S,h,b;if(p==null?p=i:Be(p,0,8),!c.c)return c.toString();if(u=c.c[0],S=c.e,d==null)b=ot(c.c),b=E==1||E==2&&(S<=l||S>=k)?An(b,S):ht(b,S,"0");else if(c=ge(new N(c),d,p),w=c.e,b=ot(c.c),h=b.length,E==1||E==2&&(d<=w||w<=l)){for(;h<d;b+="0",h++);b=An(b,w)}else if(d-=S+(E===2&&w>S),b=ht(b,w,"0"),w+1>h){if(--d>0)for(b+=".";d--;b+="0");}else if(d+=w-h,d>0)for(w+1==h&&(b+=".");d--;b+="0");return c.s<0&&u?"-"+b:b}function J(c,d){for(var p,E,u=1,w=new N(c[0]);u<c.length;u++)E=new N(c[u]),(!E.s||(p=Ft(w,E))===d||p===0&&w.s===d)&&(w=E);return w}function he(c,d,p){for(var E=1,u=d.length;!d[--u];d.pop());for(u=d[0];u>=10;u/=10,E++);return(p=E+p*ye-1)>Y?c.c=c.e=null:p<D?c.c=[c.e=0]:(c.e=p,c.c=d),c}o=(function(){var c=/^(-?)0([xbo])(?=\w[\w.]*$)/i,d=/^([^.]+)\.$/,p=/^\.([^.]+)$/,E=/^-?(Infinity|NaN)$/,u=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(w,S,h,b){var x,I=h?S:S.replace(u,"");if(E.test(I))w.s=isNaN(I)?null:I<0?-1:1;else{if(!h&&(I=I.replace(c,function(F,Q,ae){return x=(ae=ae.toLowerCase())=="x"?16:ae=="b"?2:8,!b||b==x?Q:F}),b&&(x=b,I=I.replace(d,"$1").replace(p,"0.$1")),S!=I))return new N(I,x);if(N.DEBUG)throw Error(qe+"Not a"+(b?" base "+b:"")+" number: "+S);w.s=null}w.c=w.e=null}})();function ge(c,d,p,E){var u,w,S,h,b,x,I,F=c.c,Q=co;if(F){e:{for(u=1,h=F[0];h>=10;h/=10,u++);if(w=d-u,w<0)w+=ye,S=d,b=F[x=0],I=tt(b/Q[u-S-1]%10);else if(x=ro((w+1)/ye),x>=F.length)if(E){for(;F.length<=x;F.push(0));b=I=0,u=1,w%=ye,S=w-ye+1}else break e;else{for(b=h=F[x],u=1;h>=10;h/=10,u++);w%=ye,S=w-ye+u,I=S<0?0:tt(b/Q[u-S-1]%10)}if(E=E||d<0||F[x+1]!=null||(S<0?b:b%Q[u-S-1]),E=p<4?(I||E)&&(p==0||p==(c.s<0?3:2)):I>5||I==5&&(p==4||E||p==6&&(w>0?S>0?b/Q[u-S]:0:F[x-1])%10&1||p==(c.s<0?8:7)),d<1||!F[0])return F.length=0,E?(d-=c.e+1,F[0]=Q[(ye-d%ye)%ye],c.e=-d||0):F[0]=c.e=0,c;if(w==0?(F.length=x,h=1,x--):(F.length=x+1,h=Q[ye-w],F[x]=S>0?tt(b/Q[u-S]%Q[S])*h:0),E)for(;;)if(x==0){for(w=1,S=F[0];S>=10;S/=10,w++);for(S=F[0]+=h,h=1;S>=10;S/=10,h++);w!=h&&(c.e++,F[0]==at&&(F[0]=1));break}else{if(F[x]+=h,F[x]!=at)break;F[x--]=0,h=1}for(w=F.length;F[--w]===0;F.pop());}c.e>Y?c.c=c.e=null:c.e<D&&(c.c=[c.e=0])}return c}function xe(c){var d,p=c.e;return p===null?c.toString():(d=ot(c.c),d=p<=l||p>=k?An(d,p):ht(d,p,"0"),c.s<0?"-"+d:d)}return s.absoluteValue=s.abs=function(){var c=new N(this);return c.s<0&&(c.s=1),c},s.comparedTo=function(c,d){return Ft(this,new N(c,d))},s.decimalPlaces=s.dp=function(c,d){var p,E,u,w=this;if(c!=null)return Be(c,0,He),d==null?d=i:Be(d,0,8),ge(new N(w),c+w.e+1,d);if(!(p=w.c))return null;if(E=((u=p.length-1)-nt(this.e/ye))*ye,u=p[u])for(;u%10==0;u/=10,E--);return E<0&&(E=0),E},s.dividedBy=s.div=function(c,d){return t(this,new N(c,d),r,i)},s.dividedToIntegerBy=s.idiv=function(c,d){return t(this,new N(c,d),0,1)},s.exponentiatedBy=s.pow=function(c,d){var p,E,u,w,S,h,b,x,I,F=this;if(c=new N(c),c.c&&!c.isInteger())throw Error(qe+"Exponent not an integer: "+xe(c));if(d!=null&&(d=new N(d)),h=c.e>14,!F.c||!F.c[0]||F.c[0]==1&&!F.e&&F.c.length==1||!c.c||!c.c[0])return I=new N(Math.pow(+xe(F),h?c.s*(2-yn(c)):+xe(c))),d?I.mod(d):I;if(b=c.s<0,d){if(d.c?!d.c[0]:!d.s)return new N(NaN);E=!b&&F.isInteger()&&d.isInteger(),E&&(F=F.mod(d))}else{if(c.e>9&&(F.e>0||F.e<-1||(F.e==0?F.c[0]>1||h&&F.c[1]>=24e7:F.c[0]<8e13||h&&F.c[0]<=9999975e7)))return w=F.s<0&&yn(c)?-0:0,F.e>-1&&(w=1/w),new N(b?1/w:w);y&&(w=ro(y/ye+2))}for(h?(p=new N(.5),b&&(c.s=1),x=yn(c)):(u=Math.abs(+xe(c)),x=u%2),I=new N(a);;){if(x){if(I=I.times(F),!I.c)break;w?I.c.length>w&&(I.c.length=w):E&&(I=I.mod(d))}if(u){if(u=tt(u/2),u===0)break;x=u%2}else if(c=c.times(p),ge(c,c.e+1,1),c.e>14)x=yn(c);else{if(u=+xe(c),u===0)break;x=u%2}F=F.times(F),w?F.c&&F.c.length>w&&(F.c.length=w):E&&(F=F.mod(d))}return E?I:(b&&(I=a.div(I)),d?I.mod(d):w?ge(I,y,i,S):I)},s.integerValue=function(c){var d=new N(this);return c==null?c=i:Be(c,0,8),ge(d,d.e+1,c)},s.isEqualTo=s.eq=function(c,d){return Ft(this,new N(c,d))===0},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(c,d){return Ft(this,new N(c,d))>0},s.isGreaterThanOrEqualTo=s.gte=function(c,d){return(d=Ft(this,new N(c,d)))===1||d===0},s.isInteger=function(){return!!this.c&&nt(this.e/ye)>this.c.length-2},s.isLessThan=s.lt=function(c,d){return Ft(this,new N(c,d))<0},s.isLessThanOrEqualTo=s.lte=function(c,d){return(d=Ft(this,new N(c,d)))===-1||d===0},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&this.c[0]==0},s.minus=function(c,d){var p,E,u,w,S=this,h=S.s;if(c=new N(c,d),d=c.s,!h||!d)return new N(NaN);if(h!=d)return c.s=-d,S.plus(c);var b=S.e/ye,x=c.e/ye,I=S.c,F=c.c;if(!b||!x){if(!I||!F)return I?(c.s=-d,c):new N(F?S:NaN);if(!I[0]||!F[0])return F[0]?(c.s=-d,c):new N(I[0]?S:i==3?-0:0)}if(b=nt(b),x=nt(x),I=I.slice(),h=b-x){for((w=h<0)?(h=-h,u=I):(x=b,u=F),u.reverse(),d=h;d--;u.push(0));u.reverse()}else for(E=(w=(h=I.length)<(d=F.length))?h:d,h=d=0;d<E;d++)if(I[d]!=F[d]){w=I[d]<F[d];break}if(w&&(u=I,I=F,F=u,c.s=-c.s),d=(E=F.length)-(p=I.length),d>0)for(;d--;I[p++]=0);for(d=at-1;E>h;){if(I[--E]<F[E]){for(p=E;p&&!I[--p];I[p]=d);--I[p],I[E]+=at}I[E]-=F[E]}for(;I[0]==0;I.splice(0,1),--x);return I[0]?he(c,I,x):(c.s=i==3?-1:1,c.c=[c.e=0],c)},s.modulo=s.mod=function(c,d){var p,E,u=this;return c=new N(c,d),!u.c||!c.s||c.c&&!c.c[0]?new N(NaN):!c.c||u.c&&!u.c[0]?new N(u):(A==9?(E=c.s,c.s=1,p=t(u,c,0,3),c.s=E,p.s*=E):p=t(u,c,0,A),c=u.minus(p.times(c)),!c.c[0]&&A==1&&(c.s=u.s),c)},s.multipliedBy=s.times=function(c,d){var p,E,u,w,S,h,b,x,I,F,Q,ae,ue,Ce,Te,q=this,Ae=q.c,Ne=(c=new N(c,d)).c;if(!Ae||!Ne||!Ae[0]||!Ne[0])return!q.s||!c.s||Ae&&!Ae[0]&&!Ne||Ne&&!Ne[0]&&!Ae?c.c=c.e=c.s=null:(c.s*=q.s,!Ae||!Ne?c.c=c.e=null:(c.c=[0],c.e=0)),c;for(E=nt(q.e/ye)+nt(c.e/ye),c.s*=q.s,b=Ae.length,F=Ne.length,b<F&&(ue=Ae,Ae=Ne,Ne=ue,u=b,b=F,F=u),u=b+F,ue=[];u--;ue.push(0));for(Ce=at,Te=Tt,u=F;--u>=0;){for(p=0,Q=Ne[u]%Te,ae=Ne[u]/Te|0,S=b,w=u+S;w>u;)x=Ae[--S]%Te,I=Ae[S]/Te|0,h=ae*x+I*Q,x=Q*x+h%Te*Te+ue[w]+p,p=(x/Ce|0)+(h/Te|0)+ae*I,ue[w--]=x%Ce;ue[w]=p}return p?++E:ue.splice(0,1),he(c,ue,E)},s.negated=function(){var c=new N(this);return c.s=-c.s||null,c},s.plus=function(c,d){var p,E=this,u=E.s;if(c=new N(c,d),d=c.s,!u||!d)return new N(NaN);if(u!=d)return c.s=-d,E.minus(c);var w=E.e/ye,S=c.e/ye,h=E.c,b=c.c;if(!w||!S){if(!h||!b)return new N(u/0);if(!h[0]||!b[0])return b[0]?c:new N(h[0]?E:u*0)}if(w=nt(w),S=nt(S),h=h.slice(),u=w-S){for(u>0?(S=w,p=b):(u=-u,p=h),p.reverse();u--;p.push(0));p.reverse()}for(u=h.length,d=b.length,u-d<0&&(p=b,b=h,h=p,d=u),u=0;d;)u=(h[--d]=h[d]+b[d]+u)/at|0,h[d]=at===h[d]?0:h[d]%at;return u&&(h=[u].concat(h),++S),he(c,h,S)},s.precision=s.sd=function(c,d){var p,E,u,w=this;if(c!=null&&c!==!!c)return Be(c,1,He),d==null?d=i:Be(d,0,8),ge(new N(w),c,d);if(!(p=w.c))return null;if(u=p.length-1,E=u*ye+1,u=p[u]){for(;u%10==0;u/=10,E--);for(u=p[0];u>=10;u/=10,E++);}return c&&w.e+1>E&&(E=w.e+1),E},s.shiftedBy=function(c){return Be(c,-io,io),this.times("1e"+c)},s.squareRoot=s.sqrt=function(){var c,d,p,E,u,w=this,S=w.c,h=w.s,b=w.e,x=r+4,I=new N("0.5");if(h!==1||!S||!S[0])return new N(!h||h<0&&(!S||S[0])?NaN:S?w:1/0);if(h=Math.sqrt(+xe(w)),h==0||h==1/0?(d=ot(S),(d.length+b)%2==0&&(d+="0"),h=Math.sqrt(+d),b=nt((b+1)/2)-(b<0||b%2),h==1/0?d="5e"+b:(d=h.toExponential(),d=d.slice(0,d.indexOf("e")+1)+b),p=new N(d)):p=new N(h+""),p.c[0]){for(b=p.e,h=b+x,h<3&&(h=0);;)if(u=p,p=I.times(u.plus(t(w,u,x,1))),ot(u.c).slice(0,h)===(d=ot(p.c)).slice(0,h))if(p.e<b&&--h,d=d.slice(h-3,h+1),d=="9999"||!E&&d=="4999"){if(!E&&(ge(u,u.e+r+2,0),u.times(u).eq(w))){p=u;break}x+=4,h+=4,E=1}else{(!+d||!+d.slice(1)&&d.charAt(0)=="5")&&(ge(p,p.e+r+2,1),c=!p.times(p).eq(w));break}}return ge(p,p.e+r+1,i,c)},s.toExponential=function(c,d){return c!=null&&(Be(c,0,He),c++),W(this,c,d,1)},s.toFixed=function(c,d){return c!=null&&(Be(c,0,He),c=c+this.e+1),W(this,c,d)},s.toFormat=function(c,d,p){var E,u=this;if(p==null)c!=null&&d&&typeof d=="object"?(p=d,d=null):c&&typeof c=="object"?(p=c,c=d=null):p=T;else if(typeof p!="object")throw Error(qe+"Argument not an object: "+p);if(E=u.toFixed(c,d),u.c){var w,S=E.split("."),h=+p.groupSize,b=+p.secondaryGroupSize,x=p.groupSeparator||"",I=S[0],F=S[1],Q=u.s<0,ae=Q?I.slice(1):I,ue=ae.length;if(b&&(w=h,h=b,b=w,ue-=w),h>0&&ue>0){for(w=ue%h||h,I=ae.substr(0,w);w<ue;w+=h)I+=x+ae.substr(w,h);b>0&&(I+=x+ae.slice(w)),Q&&(I="-"+I)}E=F?I+(p.decimalSeparator||"")+((b=+p.fractionGroupSize)?F.replace(new RegExp("\\d{"+b+"}\\B","g"),"$&"+(p.fractionGroupSeparator||"")):F):I}return(p.prefix||"")+E+(p.suffix||"")},s.toFraction=function(c){var d,p,E,u,w,S,h,b,x,I,F,Q,ae=this,ue=ae.c;if(c!=null&&(h=new N(c),!h.isInteger()&&(h.c||h.s!==1)||h.lt(a)))throw Error(qe+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+xe(h));if(!ue)return new N(ae);for(d=new N(a),x=p=new N(a),E=b=new N(a),Q=ot(ue),w=d.e=Q.length-ae.e-1,d.c[0]=co[(S=w%ye)<0?ye+S:S],c=!c||h.comparedTo(d)>0?w>0?d:x:h,S=Y,Y=1/0,h=new N(Q),b.c[0]=0;I=t(h,d,0,1),u=p.plus(I.times(E)),u.comparedTo(c)!=1;)p=E,E=u,x=b.plus(I.times(u=x)),b=u,d=h.minus(I.times(u=d)),h=u;return u=t(c.minus(p),E,0,1),b=b.plus(u.times(x)),p=p.plus(u.times(E)),b.s=x.s=ae.s,w=w*2,F=t(x,E,w,i).minus(ae).abs().comparedTo(t(b,p,w,i).minus(ae).abs())<1?[x,E]:[b,p],Y=S,F},s.toNumber=function(){return+xe(this)},s.toPrecision=function(c,d){return c!=null&&Be(c,1,He),W(this,c,d,2)},s.toString=function(c){var d,p=this,E=p.s,u=p.e;return u===null?E?(d="Infinity",E<0&&(d="-"+d)):d="NaN":(c==null?d=u<=l||u>=k?An(ot(p.c),u):ht(ot(p.c),u,"0"):c===10&&ve?(p=ge(new N(p),r+u+1,i),d=ht(ot(p.c),p.e,"0")):(Be(c,2,B.length,"Base"),d=n(ht(ot(p.c),u,"0"),10,c,E,!0)),E<0&&p.c[0]&&(d="-"+d)),d},s.valueOf=s.toJSON=function(){return xe(this)},s._isBigNumber=!0,s[Symbol.toStringTag]="BigNumber",s[Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,e!=null&&N.set(e),N}function nt(e){var t=e|0;return e>0||e===t?t:t-1}function ot(e){for(var t,n,o=1,s=e.length,a=e[0]+"";o<s;){for(t=e[o++]+"",n=ye-t.length;n--;t="0"+t);a+=t}for(s=a.length;a.charCodeAt(--s)===48;);return a.slice(0,s+1||1)}function Ft(e,t){var n,o,s=e.c,a=t.c,r=e.s,i=t.s,l=e.e,k=t.e;if(!r||!i)return null;if(n=s&&!s[0],o=a&&!a[0],n||o)return n?o?0:-i:r;if(r!=i)return r;if(n=r<0,o=l==k,!s||!a)return o?0:!s^n?1:-1;if(!o)return l>k^n?1:-1;for(i=(l=s.length)<(k=a.length)?l:k,r=0;r<i;r++)if(s[r]!=a[r])return s[r]>a[r]^n?1:-1;return l==k?0:l>k^n?1:-1}function Be(e,t,n,o){if(e<t||e>n||e!==tt(e))throw Error(qe+(o||"Argument")+(typeof e=="number"?e<t||e>n?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yn(e){var t=e.c.length-1;return nt(e.e/ye)==t&&e.c[t]%2!=0}function An(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function ht(e,t,n){var o,s;if(t<0){for(s=n+".";++t;s+=n);e=s+e}else if(o=e.length,++t>o){for(s=n,t-=o;--t;s+=n);e+=s}else t<o&&(e=e.slice(0,t)+"."+e.slice(t));return e}var ie=vs();class zt{baseUrl;constructor(t){this.baseUrl=t}buildUrl(t,n){const o=new URL(t,this.baseUrl);return n&&Object.entries(n).forEach(([s,a])=>{a!=null&&o.searchParams.append(s,String(a))}),o.toString()}async get(t,n={}){const o=this.buildUrl(t,n.query),s=await fetch(o,{method:"GET",headers:n.headers||{}});if(!s.ok){let r=null;try{r=await s.json()}catch{try{const l=await s.text();l&&(r={message:l})}catch{}}const i=new Error(r?.message||r?.errorMessage||`HTTP ${s.status}: ${s.statusText}`);throw i.status=s.status,i.statusText=s.statusText,r&&(i.data=r),i}return{data:await s.json(),status:s.status}}async post(t,n,o={}){const s=this.buildUrl(t,o.query),a=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json",...o.headers},body:JSON.stringify(n)});if(!a.ok){let i=null;try{i=await a.json()}catch{try{const k=await a.text();k&&(i={message:k})}catch{}}const l=new Error(i?.message||i?.errorMessage||`HTTP ${a.status}: ${a.statusText}`);throw l.status=a.status,l.statusText=a.statusText,i&&(l.data=i),l}return{data:await a.json(),status:a.status}}}const Ri=.01,Ts=new zt("https://wallet-api.pantograph.app"),Mi="https://deep-index.moralis.io";function tn(){return"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJub25jZSI6ImY4NmY0Yzc2LTA3MDQtNGEwZS04YTA0LWUwODllOGQxMGZjZCIsIm9yZ0lkIjoiMzk0MDAyIiwidXNlcklkIjoiNDA0ODUzIiwidHlwZUlkIjoiYjQyODExOTQtOGQ0Yi00NjkxLTlhZjItNjU4ODE2NzExYmRjIiwidHlwZSI6IlBST0pFQ1QiLCJpYXQiOjE3MTY4NjQyNTYsImV4cCI6NDg3MjYyNDI1Nn0.V8crfBIBardAnZkc05FD0hQIJBeZxMqvzRnYExVtnF8"}function nn(e){return{"X-API-Key":e,Accept:"application/json"}}const on=new zt(Mi);async function Qe(e){const{address:t,chain:n="base",token_addresses:o,exclude_spam:s,exclude_unverified_contracts:a}=e;if(!t)throw new Error("Address is required");try{const r=tn(),i={chain:n,exclude_spam:s??!1,exclude_unverified_contracts:a??!1};o&&(i.token_addresses=o);const k=(await on.get(`/api/v2.2/wallets/${encodeURIComponent(t)}/tokens`,{query:i,headers:nn(r)})).data;if(k?.result?.length>0){k.result=k.result.filter(D=>new ie(D?.balance||0).gt(0)),k.result=k.result.map(D=>({...D,token_address:D.token_address===Ei?Ve:D.token_address}));try{if(k.result.length>0){const D=ms(n)??n,Y=k.result.map(A=>A.token_address),g=await Ts.get(`/keyrings/tokens/${D}/v2`,{query:{addresses:Y.join(",")}});if(Array.isArray(g.data)){const A=new Map;for(const y of g.data)y.address&&y.price!=null&&A.set(y.address.toLowerCase(),parseFloat(String(y.price)));k.result=k.result.map(y=>{const T=A.get(y.token_address.toLowerCase());if(T==null)return y;const B=ie(y.balance_formatted||"0").multipliedBy(T).toNumber();return{...y,usd_price:T,usd_value:B}}),k.result=k.result.filter(y=>y.usd_value==null||new ie(y.usd_value).gte(Ri))}}}catch(D){console.warn("⚠️ Failed to fetch Pantograph prices:",D)}}return{success:!0,data:k}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching token balances:",i),{success:!1,error:i}}}async function Cs(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Token address is required");try{const o=ms(n)??n,s=await Ts.get(`/keyrings/tokens/${o}/v2`,{query:{addresses:t}}),a=t===Ve,i=(Array.isArray(s.data)?s.data:[]).find(y=>y.address?.toLowerCase()===t.toLowerCase()||a&&y.address==="")??null;if(i)return{success:!0,data:{token_address:i.address??t,name:i.name??"",symbol:i.symbol??"",decimals:i.decimals!=null?Number(i.decimals):18,logo:i.icon_image||i.logo,thumbnail:i.icon_image||i.logo,usd_price:i.price!=null?parseFloat(i.price):void 0,usd_price_24hr_percent_change:i.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:i.price_change_24h??void 0}};console.warn("⚠️ Pantograph returned no result, falling back to Moralis API");const l=tn(),[k,D]=await Promise.allSettled([on.get("/api/v2.2/erc20/metadata",{query:{chain:n,addresses:[t]},headers:nn(l)}),on.get(`/api/v2.2/erc20/${encodeURIComponent(t)}/price`,{query:{chain:n,include:"percent_change"},headers:nn(l)})]),Y=k.status==="fulfilled"?k.value.data:[];if(!Y||Y.length===0)return{success:!1,error:"Token metadata not found"};const g=Y[0],A=D.status==="fulfilled"?D.value.data:void 0;return{success:!0,data:{token_address:g.token_address,name:g.name,symbol:g.symbol,decimals:g.decimals,logo:g.logo||g.thumbnail,thumbnail:g.thumbnail,usd_price:A?.usdPrice??void 0,usd_price_24hr_percent_change:A?.["24hrPercentChange"]?parseFloat(A["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:A?.usdPriceChange24hr??void 0}}}catch(o){const s=o instanceof Error?o.message:"Unknown error";return console.error("❌ Error fetching token metadata:",s),{success:!1,error:s}}}async function Hi(e){const{prompt:t,model:n="gpt-4.1-mini",stream:o=!1,systemPrompt:s}=e;if(!t)throw new Error("Prompt is required");try{const a=tn(),r=new zt("https://cortex-api.moralis.io"),i=s?`${s}
100
100
 
101
101
  ---
102
102
 
103
- User: ${t}`:t;return{success:!0,data:(await r.post("/chat",{prompt:i,model:n,stream:o},{headers:{"X-API-Key":a,Accept:"application/json","Content-Type":"application/json"}})).data}}catch(a){const r=a instanceof Error?a.message:"Unknown error";return console.error("❌ Error chatting with Cortex AI:",r),{success:!1,error:r}}}async function Wi(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Contract address is required");try{const o=tn();return{success:!0,data:(await on.get(`/api/v2.2/nft/${encodeURIComponent(t)}/metadata`,{query:{chain:n},headers:nn(o)})).data}}catch(o){const s=o instanceof Error?o.message:"Unknown error";return console.error("❌ Error fetching NFT contract metadata:",s),{success:!1,error:s}}}async function kn(e){const{address:t,chain:n="base",limit:o=100,exclude_spam:s=!0,cursor:a}=e;if(!t)throw new Error("Address is required");try{const r=tn(),i={chain:n,format:"decimal",limit:o,exclude_spam:s,media_items:!0,normalizeMetadata:!0};return a&&(i.cursor=a),{success:!0,data:(await on.get(`/api/v2.2/${encodeURIComponent(t)}/nft`,{query:i,headers:nn(r)})).data}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching NFTs:",i),{success:!1,error:i}}}const Vi="data:image/png;base64,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",Gi="data:image/svg+xml,%3csvg%20width='36'%20height='36'%20viewBox='0%200%2036%2036'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='36'%20height='36'%20rx='18'%20fill='%232358B2'/%3e%3cmask%20id='mask0_1924_16177'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='11'%20y='10'%20width='17'%20height='16'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='url(%23pattern0_1924_16177)'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1924_16177)'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cpattern%20id='pattern0_1924_16177'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_1924_16177'%20transform='scale(0.00195312)'/%3e%3c/pattern%3e%3cimage%20id='image0_1924_16177'%20width='512'%20height='512'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,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'/%3e%3c/defs%3e%3c/svg%3e";class Yi extends Jt{constructor(){super("https://wallet-api.pantograph.app")}async getTokensDetails(t,n="base"){try{if(!t||!Array.isArray(t)||t.length===0)throw new Error("Addresses must be a non-empty array");const o=t.join(","),s=await this.get(`/keyrings/tokens/${n}/v2`,{query:{addresses:o}});return Array.isArray(s.data)&&(s.data=s.data.filter((a,r,i)=>r===i.findIndex(l=>l.address.toLowerCase()===a.address.toLowerCase())),Array.isArray(t)&&t.length>0&&(s.data=s.data.filter(a=>t.some(r=>r.toLowerCase()===a.address.toLowerCase())),s.data.sort((a,r)=>t.findIndex(i=>i.toLowerCase()===a.address.toLowerCase())-t.findIndex(i=>i.toLowerCase()===r.address.toLowerCase())))),s}catch(o){throw console.error("❌ Error getting tokens details:",o instanceof Error?o.message:o),o}}async getTokenDetail(t,n="base"){try{if(!t)throw new Error("Address is required");const o=await this.getTokensDetails([t],n);return{data:o.data[0]||null,status:o.status}}catch(o){throw console.error(`❌ Error getting token detail for ${t}:`,o instanceof Error?o.message:o),o}}async getTopGainers(t="base",n="24h",o=3){try{return await this.get(`/token-list/top-gainers/${t}`,{query:{duration:n,limit:o}})}catch(s){throw console.error("❌ Error getting top gainers:",s instanceof Error?s.message:s),s}}}const st=new Yi,Ji="https://dln.debridge.finance",zi=new Jt(Ji);async function lo(e){const{chainId:t,tokenIn:n,tokenInAmount:o,tokenOut:s,accesstoken:a,slippage:r="auto",tokenOutRecipient:i}=e;if(!t||!n||!o||!s)throw new Error("Missing required parameters: chainId, tokenIn, tokenInAmount, tokenOut");try{const O=(await(await fetch("https://exchange-api.keyring.app/admin/setting?configs=others",{method:"GET"})).json())?.others||{},Y=O?.AFFILIATE_FEE_PERENT,g=O?.AFFILIATE_FEE_RECIPIENT,A=await zi.get("/v1.0/chain/transaction",{query:{chainId:String(t),tokenIn:n,tokenInAmount:o,tokenOut:s,slippage:String(r),tokenOutRecipient:i,accesstoken:a,affiliateFeePercent:Y,affiliateFeeRecipient:g}});if(A.data?.error)throw new Error(`DeBridge API Error: ${A.data.error}`);return console.log("✅ Quote retrieved successfully"),{success:!0,data:A.data}}catch(l){let k=l instanceof Error?l.message:"Unknown error";const O=l;O.data?.errorMessage?k=O.data.errorMessage:O.response?.data?.errorMessage?k=O.response.data.errorMessage:O.data?.message?k=O.data.message:O.response?.data?.message&&(k=O.response.data.message);const Y=O.status||O.response?.status||O.statusCode||O.data?.status;return console.error("📋 Error details:",{errorMessage:k,errorCode:O.data?.errorCode,errorId:O.data?.errorId,status:Y,reqId:O.data?.reqId,fullError:{message:O.message,status:O.status,statusCode:O.statusCode}}),{success:!1,error:l instanceof Error?l.message:"Unknown error",status:Y,errorMessage:k,errorCode:O.data?.errorCode,errorId:O.data?.errorId}}}const ji="data:image/svg+xml,%3csvg%20width='180'%20height='180'%20viewBox='0%200%20180%20180'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M102.392%20118.157L102.417%20109.35L89.7594%20102.042C89.5768%20101.937%2089.3953%20101.826%2089.2149%20101.71L89.1861%20101.692C89.012%20101.581%2088.839%20101.47%2088.666%20101.346C88.6061%20101.305%2088.5473%20101.262%2088.4874%20101.22C88.3765%20101.139%2088.259%20101.057%2088.1459%20100.972C88.0749%20100.919%2088.0051%20100.861%2087.9352%20100.811C87.8321%20100.733%2087.73%20100.653%2087.6291%20100.571C87.5552%20100.51%2087.4813%20100.449%2087.4073%20100.387C87.3098%20100.306%2087.2125%20100.224%2087.1157%20100.141C87.0418%20100.075%2086.9678%20100.009%2086.8939%2099.9421C86.7985%2099.8578%2086.7039%2099.772%2086.61%2099.6848C86.5346%2099.6149%2086.4592%2099.5462%2086.3882%2099.4752C86.2929%2099.3843%2086.1986%2099.2922%2086.1044%2099.2002C86.0356%2099.1325%2085.9657%2099.0649%2085.897%2098.9961C85.7983%2098.8963%2085.7007%2098.7954%2085.6031%2098.6934C85.541%2098.628%2085.4778%2098.5637%2085.4168%2098.4982C85.3059%2098.3763%2085.195%2098.2521%2085.0786%2098.1267L84.9533%2097.9881C84.7995%2097.8137%2084.648%2097.6366%2084.4986%2097.457C84.4643%2097.4159%2084.4321%2097.3738%2084.3977%2097.3328C84.2868%2097.1919%2084.1671%2097.05%2084.054%2096.9069C83.9172%2096.7325%2083.7826%2096.5558%2083.6503%2096.3769L83.5827%2096.2881C83.3675%2095.9965%2083.1591%2095.6971%2082.955%2095.3943L82.8441%2095.228C82.5876%2094.8421%2082.341%2094.4495%2082.1045%2094.0503L82.0135%2093.8984C81.8487%2093.616%2081.6886%2093.3306%2081.5334%2093.0423C81.4768%2092.937%2081.4225%2092.8316%2081.3681%2092.7263C81.3138%2092.6209%2081.2572%2092.5045%2081.1952%2092.3936C81.1164%2092.2361%2081.0399%2092.0787%2080.9634%2091.9201C80.939%2091.8691%2080.9135%2091.8181%2080.8891%2091.7671C80.793%2091.5623%2080.6995%2091.3564%2080.6085%2091.1494C80.5852%2091.095%2080.562%2091.0385%2080.5398%2090.9875C80.4732%2090.8337%2080.4082%2090.6792%2080.3446%2090.524L80.2592%2090.3121C80.2008%2090.1643%2080.1435%2090.0164%2080.0873%2089.8686C80.0629%2089.8043%2080.0385%2089.7388%2080.0141%2089.6745C79.9454%2089.486%2079.8789%2089.2971%2079.8145%2089.1079L79.789%2089.0347C79.7151%2088.8218%2079.6471%2088.6088%2079.585%2088.3959C79.5639%2088.3283%2079.5451%2088.2606%2079.5262%2088.193C79.483%2088.0444%2079.4397%2087.8958%2079.3998%2087.7494C79.3776%2087.6685%2079.3566%2087.5875%2079.3355%2087.5066C79.3%2087.3691%2079.2656%2087.2319%2079.2324%2087.0952C79.2131%2087.0138%2079.1943%2086.9325%2079.1758%2086.8512C79.1436%2086.7104%2079.1137%2086.5695%2079.0849%2086.4298C79.0693%2086.3555%2079.0538%2086.2801%2079.0394%2086.208C79.0047%2086.0276%2078.9725%2085.848%2078.9429%2085.6691C78.9429%2085.638%2078.9318%2085.607%2078.9274%2085.5759C78.8941%2085.366%2078.8646%2085.1564%2078.8387%2084.9472C78.832%2084.8906%2078.8265%2084.8363%2078.8198%2084.7775C78.8028%2084.6259%2078.7873%2084.4748%2078.7733%2084.3239C78.7666%2084.253%2078.7622%2084.182%2078.7566%2084.1121C78.7455%2083.9702%2078.7378%2083.8294%2078.7311%2083.6885C78.7311%2083.622%2078.7245%2083.5544%2078.7222%2083.4878C78.7156%2083.2882%2078.71%2083.0897%2078.7112%2082.8934L78.7466%2069.3645L77.6377%2068.7258L71.9567%2065.45C70.7912%2064.7503%2069.5073%2064.2703%2068.1686%2064.0339V64.0417C68.1597%2064.1105%2068.1542%2064.1825%2068.1464%2064.2513C68.1387%2064.32%2068.1298%2064.4021%2068.1231%2064.4797C68.1231%2064.5119%2068.1165%2064.5418%2068.1132%2064.574C68.1043%2064.676%2068.0999%2064.7802%2068.0943%2064.8845C68.0943%2064.941%2068.0865%2064.9954%2068.0843%2065.0541V65.0952C68.0769%2065.2704%2068.0729%2065.4482%2068.0721%2065.6286V65.6607L68.0078%2089.1023C68.0078%2089.2679%2068.01%2089.4339%2068.0145%2089.6002C68.0145%2089.6324%2068.0145%2089.6634%2068.0145%2089.6956C68.0145%2089.7632%2068.0211%2089.832%2068.0244%2089.8996C68.0278%2089.9673%2068.03%2090.056%2068.0355%2090.1347C68.0355%2090.1957%2068.0455%2090.2578%2068.05%2090.3199C68.0544%2090.382%2068.061%2090.463%2068.0677%2090.535C68.0677%2090.5805%2068.0743%2090.6271%2068.0788%2090.6725C68.0888%2090.7757%2068.1021%2090.8799%2068.1132%2090.9842C68.1198%2091.0418%2068.1254%2091.095%2068.132%2091.1583L68.1387%2091.2137C68.1623%2091.3985%2068.1886%2091.5833%2068.2174%2091.7682V91.7837C68.2174%2091.8147%2068.2285%2091.8469%2068.234%2091.8779C68.2584%2092.0277%2068.2839%2092.1774%2068.3117%2092.3282C68.3172%2092.357%2068.3239%2092.3858%2068.3294%2092.4147C68.3438%2092.4901%2068.3604%2092.5655%2068.376%2092.6365C68.3915%2092.7074%2068.4104%2092.8128%2068.4292%2092.9004C68.4403%2092.9525%2068.4536%2093.0046%2068.4658%2093.0556C68.4843%2093.1362%2068.5031%2093.2172%2068.5224%2093.2985C68.5368%2093.3595%2068.5501%2093.4205%2068.5645%2093.4803C68.5789%2093.5402%2068.6055%2093.6345%2068.6255%2093.711C68.6454%2093.7875%2068.6676%2093.8729%2068.6887%2093.9527C68.6998%2093.9916%2068.7087%2094.0304%2068.7186%2094.0636C68.7486%2094.1745%2068.7818%2094.2854%2068.8151%2094.3963C68.8351%2094.464%2068.8539%2094.5316%2068.8739%2094.5993L68.8894%2094.6547C68.9478%2094.8462%2069.0092%2095.0376%2069.0735%2095.2291V95.2391L69.099%2095.3123C69.1533%2095.4731%2069.2099%2095.6339%2069.2676%2095.7947C69.2775%2095.8224%2069.2886%2095.8501%2069.2986%2095.8778C69.3219%2095.9422%2069.3463%2096.0054%2069.3707%2096.0697C69.4039%2096.1595%2069.4372%2096.2482%2069.4716%2096.338C69.4949%2096.3979%2069.5193%2096.4567%2069.5437%2096.5166L69.628%2096.7262C69.649%2096.7761%2069.6679%2096.8271%2069.6889%2096.877C69.7322%2096.9812%2069.7777%2097.0855%2069.8231%2097.1897C69.8464%2097.244%2069.8686%2097.3006%2069.893%2097.3516L69.9174%2097.4082C69.9972%2097.5878%2070.0789%2097.7671%2070.1625%2097.946L70.1735%2097.9704C70.1979%2098.0214%2070.2234%2098.0724%2070.2478%2098.1234C70.3133%2098.2598%2070.3776%2098.3973%2070.4452%2098.5326L70.4785%2098.5969C70.5351%2098.7078%2070.5894%2098.8187%2070.6515%2098.9296C70.6981%2099.0194%2070.7424%2099.1093%2070.7901%2099.198L70.8167%2099.2456C70.9712%2099.534%2071.1313%2099.8193%2071.2969%20100.102C71.3113%20100.126%2071.3235%20100.151%2071.3379%20100.175C71.3523%20100.199%2071.3723%20100.227%2071.3878%20100.254C71.6244%20100.653%2071.8709%20101.045%2072.1275%20101.431C72.1419%20101.452%2072.1541%20101.475%2072.1685%20101.497C72.1829%20101.519%2072.2173%20101.564%2072.2406%20101.6C72.4446%20101.902%2072.652%20102.201%2072.8682%20102.493L72.9314%20102.575C73.0645%20102.754%2073.1994%20102.931%2073.3362%20103.107L73.3595%20103.137C73.4704%20103.272%2073.5746%20103.405%2073.6833%20103.537L73.7798%20103.656L73.7875%20103.665C73.9287%20103.835%2074.0718%20104.002%2074.2167%20104.167L74.2344%20104.187L74.3597%20104.326C74.4551%20104.437%2074.5516%20104.541%2074.6481%20104.646L74.698%20104.698C74.7601%20104.764%2074.8222%20104.828%2074.8843%20104.893C74.9464%20104.959%2075.0284%20105.046%2075.106%20105.122L75.1814%20105.197C75.2502%20105.266%2075.319%20105.334%2075.3888%20105.401C75.4587%20105.469%2075.5108%20105.524%2075.5729%20105.583L75.6727%20105.676C75.747%20105.747%2075.8224%20105.817%2075.8945%20105.886C75.9488%20105.936%2076.0054%20105.987%2076.0564%20106.036L76.1784%20106.146L76.4002%20106.345C76.4478%20106.386%2076.4944%20106.429%2076.5432%20106.469C76.592%20106.509%2076.643%20106.55%2076.6918%20106.59L76.9136%20106.774C76.9535%20106.806%2076.9923%20106.84%2077.0322%20106.872C77.0943%20106.921%2077.1576%20106.967%2077.2197%20107.015C77.2818%20107.062%2077.3594%20107.126%2077.4292%20107.174L77.5168%20107.241C77.6011%20107.303%2077.6876%20107.362%2077.7719%20107.423C77.8307%20107.465%2077.8894%20107.508%2077.9493%20107.549L77.997%20107.584C78.1523%20107.69%2078.3086%20107.794%2078.4661%20107.894L78.4905%20107.91C78.6357%20108.002%2078.7821%20108.092%2078.9341%20108.178L79.0449%20108.241L98.4999%20119.478C98.6175%20119.546%2098.7346%20119.611%2098.8515%20119.674L98.9867%20119.744L99.1653%20119.836C99.2119%20119.859%2099.2584%20119.885%2099.3039%20119.908C99.3793%20119.946%2099.4547%20119.979%2099.5257%20120.019L99.6832%20120.093L99.7464%20120.123C99.8942%20120.19%20100.042%20120.252%20100.19%20120.311L100.208%20120.317C100.35%20120.374%20100.492%20120.428%20100.633%20120.477L100.693%20120.497L100.856%20120.55C100.93%20120.575%20101.004%20120.6%20101.078%20120.622L101.189%20120.655L101.385%20120.709C101.434%20120.722%20101.484%20120.738%20101.532%20120.75C101.579%20120.762%20101.643%20120.773%20101.693%20120.785L101.888%20120.829L101.986%20120.851L102.085%20120.867C102.158%20120.553%20102.219%20120.227%20102.266%20119.886C102.346%20119.313%20102.388%20118.736%20102.392%20118.157Z'%20fill='url(%23paint0_linear_302_6100)'/%3e%3cpath%20d='M91.4307%2064.3019L78.0005%2056.5472L75.8214%2055.2885L71.9957%2053.0796C59.9427%2046.1222%2050.1032%2051.73%2050.0633%2065.5794L50.0001%2087.9076C49.9613%20101.769%2059.7365%20118.694%2071.7894%20125.652L91.2244%20136.872C103.276%20143.831%20113.117%20138.227%20113.156%20124.373L113.183%20114.546V113.668L113.217%20102.041C113.259%2088.1926%20103.482%2071.2604%2091.4307%2064.3019ZM102.419%20108.881V109.349L102.395%20118.156C102.394%20118.733%20102.355%20119.309%20102.278%20119.881C102.232%20120.222%20102.167%20120.547%20102.097%20120.863C100.943%20125.853%2096.5184%20127.534%2091.2621%20124.5L71.8249%20113.283C65.708%20109.753%2060.7478%20101.16%2060.7678%2094.1275L60.831%2071.7949C60.8454%2066.777%2063.3948%2063.8927%2067.0787%2063.9382C67.4454%2063.9447%2067.8112%2063.9777%2068.1732%2064.0369C69.5103%2064.2737%2070.7927%2064.7537%2071.9568%2065.453L77.6312%2068.7232L78.7401%2069.3619L91.3974%2076.6697C97.512%2080.205%20102.476%2088.7947%20102.452%2095.8275L102.419%20108.881Z'%20fill='url(%23paint1_linear_302_6100)'/%3e%3cpath%20d='M129.993%2090.9695C129.993%2090.9063%20129.987%2090.842%20129.985%2090.7788C129.985%2090.648%20129.972%2090.516%20129.966%2090.3851C129.958%2090.2288%20129.953%2090.0746%20129.944%2089.9172C129.936%2089.7952%20129.924%2089.671%20129.914%2089.5479C129.904%2089.4248%20129.892%2089.2707%20129.88%2089.1309C129.873%2089.04%20129.867%2088.9491%20129.858%2088.8582C129.838%2088.6519%20129.813%2088.4445%20129.789%2088.2383C129.776%2088.1274%20129.766%2088.0165%20129.752%2087.9056C129.752%2087.869%20129.744%2087.8324%20129.739%2087.7947C129.694%2087.431%20129.642%2087.0658%20129.583%2086.6991L129.578%2086.6669C129.568%2086.6037%20129.555%2086.5405%20129.544%2086.4773C129.497%2086.1845%20129.448%2085.8918%20129.392%2085.5979C129.381%2085.5391%20129.368%2085.4815%20129.357%2085.4227C129.328%2085.2752%20129.297%2085.1277%20129.267%2084.9791C129.232%2084.805%20129.199%2084.632%20129.156%2084.459C129.134%2084.3559%20129.107%2084.2528%20129.084%2084.1497C129.048%2083.99%20129.011%2083.8303%20128.973%2083.6706C128.944%2083.5519%20128.92%2083.4333%20128.89%2083.3146C128.852%2083.1627%20128.809%2083.0097%20128.77%2082.8566C128.731%2082.7036%20128.688%2082.5395%20128.645%2082.3809C128.625%2082.3055%20128.606%2082.2301%20128.585%2082.1591C128.524%2081.9373%20128.458%2081.7222%20128.393%2081.5038C128.354%2081.3729%20128.318%2081.2409%20128.282%2081.1101C128.271%2081.0746%20128.262%2081.0391%20128.251%2080.9992C128.135%2080.6214%20128.014%2080.244%20127.889%2079.867L127.881%2079.8448C127.863%2079.7927%20127.844%2079.7417%20127.827%2079.6896C127.716%2079.3768%20127.613%2079.063%20127.494%2078.7503C127.474%2078.6948%20127.452%2078.6394%20127.432%2078.584C127.385%2078.4564%20127.336%2078.3289%20127.288%2078.2014C127.222%2078.0273%20127.159%2077.8532%20127.091%2077.6791C127.046%2077.5615%20126.997%2077.4451%20126.949%2077.3275C126.894%2077.1886%20126.838%2077.0499%20126.782%2076.9117C126.742%2076.813%20126.704%2076.7143%20126.663%2076.6167C126.577%2076.4094%20126.487%2076.2042%20126.398%2075.9979C126.353%2075.8871%20126.308%2075.7861%20126.262%2075.6797L126.215%2075.5688C126.059%2075.2147%20125.898%2074.8617%20125.733%2074.5098L125.711%2074.4632C125.661%2074.3523%20125.608%2074.2525%20125.558%2074.146C125.431%2073.881%20125.305%2073.616%20125.174%2073.3532C125.153%2073.311%20125.13%2073.2689%20125.109%2073.2256C124.998%2073.0038%20124.887%2072.7821%20124.768%2072.5669C124.677%2072.3906%20124.589%2072.2143%20124.495%2072.0391C124.478%2072.0069%20124.459%2071.9759%20124.441%2071.9426C124.136%2071.3756%20123.821%2070.8137%20123.495%2070.257C123.467%2070.2094%20123.443%2070.1617%20123.415%2070.114C123.333%2069.9743%20123.247%2069.8379%20123.164%2069.6992C123.024%2069.4675%20122.885%2069.2357%20122.742%2069.0062C122.618%2068.8066%20122.492%2068.6092%20122.365%2068.4118C122.22%2068.19%20122.076%2067.9604%20121.927%2067.7364C121.877%2067.6599%20121.829%2067.5823%20121.778%2067.5069C121.727%2067.4315%20121.682%2067.3727%20121.635%2067.304C121.233%2066.7085%20120.824%2066.1196%20120.4%2065.5441L120.395%2065.5352C120.354%2065.4787%20120.309%2065.4243%20120.268%2065.3689C120.006%2065.017%20119.741%2064.6688%20119.472%2064.3243L119.425%2064.2633C119.215%2063.996%20119%2063.7343%20118.786%2063.4715C118.722%2063.395%20118.661%2063.3163%20118.598%2063.2398L118.584%2063.222C118.306%2062.8879%20118.024%2062.5581%20117.739%2062.2328L117.702%2062.1929C117.621%2062.0998%20117.537%2062.0111%20117.455%2061.919C117.266%2061.7083%20117.078%2061.4954%20116.886%2061.2892L116.788%2061.1871C116.666%2061.0563%20116.542%2060.9288%20116.418%2060.799C116.276%2060.6504%20116.135%2060.4985%20115.991%2060.3554C115.942%2060.3055%20115.891%2060.2579%20115.841%2060.208C115.706%2060.0716%20115.57%2059.9385%20115.433%2059.8043C115.297%2059.6701%20115.193%2059.5626%20115.071%2059.445C115.005%2059.3829%20114.939%2059.323%20114.873%2059.2609C114.726%2059.1212%20114.577%2058.9837%20114.43%2058.8473C114.319%2058.7497%20114.219%2058.6488%20114.112%2058.5523C114.034%2058.4814%20113.953%2058.4137%20113.873%2058.3427C113.725%2058.2104%20113.575%2058.0796%20113.424%2057.9502C113.33%2057.8692%20113.238%2057.7849%20113.142%2057.7051C113.047%2057.6253%20112.946%2057.5465%20112.848%2057.4656C112.7%2057.3443%20112.553%2057.2242%20112.405%2057.1052C112.326%2057.042%20112.248%2056.9754%20112.169%2056.9122C112.045%2056.8157%20111.921%2056.7248%20111.798%2056.6294C111.675%2056.5341%20111.523%2056.4176%20111.386%2056.3145C111.328%2056.2713%20111.275%2056.2258%20111.213%2056.1826C111.045%2056.0595%20110.88%2055.943%20110.707%2055.8233C110.596%2055.7412%20110.476%2055.6569%20110.36%2055.5771L110.265%2055.5094C109.958%2055.2995%20109.651%2055.0958%20109.341%2054.8984H109.334L109.288%2054.8696C109%2054.6877%20108.711%2054.5092%20108.42%2054.3384L108.206%2054.2142L88.7824%2042.9941C88.551%2042.8603%2088.3204%2042.7313%2088.0904%2042.6071C88.0017%2042.5594%2087.9141%2042.5162%2087.8254%2042.4696L87.4717%2042.2866C87.3807%2042.24%2087.2887%2042.1901%2087.1989%2042.1447C87.0492%2042.0704%2086.9017%2042.0049%2086.7553%2041.9351C86.6511%2041.8863%2086.5479%2041.8353%2086.4448%2041.7887L86.3195%2041.7299C86.0238%2041.5991%2085.7332%2041.476%2085.4479%2041.3607L85.4035%2041.344C85.1252%2041.2331%2084.8491%2041.1289%2084.5729%2041.0313L84.4465%2040.9847C84.3356%2040.9481%2084.2336%2040.9149%2084.1271%2040.8805C83.9819%2040.8328%2083.8366%2040.7818%2083.6924%2040.7385C83.6159%2040.7153%2083.5405%2040.6975%2083.464%2040.6753C83.3354%2040.6376%2083.2078%2040.6033%2083.0792%2040.5644C82.9827%2040.5389%2082.8851%2040.5079%2082.7898%2040.4846C82.6944%2040.4613%2082.5802%2040.4436%2082.4737%2040.4192C82.3462%2040.3903%2082.2176%2040.3604%2082.0912%2040.3327C82.0268%2040.3194%2081.9603%2040.3016%2081.896%2040.2894C81.7729%2040.265%2081.6531%2040.2506%2081.53%2040.2295C81.3826%2040.204%2081.234%2040.1774%2081.0865%2040.1564C81.0388%2040.1508%2080.9878%2040.1397%2080.939%2040.1331C80.8148%2040.1109%2080.6928%2040.1109%2080.5697%2040.0954C80.4122%2040.0776%2080.2548%2040.0599%2080.0995%2040.0477C80.0563%2040.0477%2080.0108%2040.0377%2079.9676%2040.0344C79.8567%2040.0266%2079.7558%2040.0288%2079.6482%2040.0233C79.4608%2040.0144%2079.2756%2040.0067%2079.0893%2040C79.0394%2040%2078.9884%2040%2078.9385%2040C78.8575%2040%2078.7799%2040.01%2078.699%2040.0111C78.4661%2040.0111%2078.2354%2040.0266%2078.0081%2040.0432C77.9405%2040.0432%2077.8706%2040.0432%2077.8041%2040.0532C77.7054%2040.0621%2077.61%2040.0765%2077.5124%2040.0876L77.3017%2040.1109C77.0455%2040.1453%2076.7916%2040.1841%2076.5421%2040.2351L76.5144%2040.244C76.4401%2040.2595%2076.368%2040.2794%2076.2926%2040.2961C76.0897%2040.3415%2075.8878%2040.3892%2075.6904%2040.4447C75.5895%2040.4735%2075.4919%2040.5068%2075.3921%2040.5389C75.2646%2040.5789%2075.1349%2040.6143%2075.0085%2040.6598C74.9752%2040.6709%2074.9441%2040.6875%2074.912%2040.6986C74.7146%2040.7707%2074.5239%2040.8517%2074.332%2040.9348C74.2389%2040.9747%2074.1435%2041.0113%2074.0526%2041.0535C73.7731%2041.1843%2073.4981%2041.3252%2073.2331%2041.4793L62.5375%2047.6893C62.8036%2047.5351%2063.0775%2047.3943%2063.3559%2047.2635C63.4479%2047.2202%2063.5433%2047.1847%2063.6364%2047.1437C63.8272%2047.0605%2064.019%2046.9796%2064.2153%2046.9075C64.3727%2046.8498%2064.5335%2046.7966%2064.6954%2046.7478C64.7952%2046.7168%2064.8928%2046.6824%2064.9937%2046.6536C65.1911%2046.5981%2065.3941%2046.5504%2065.5959%2046.505C65.6691%2046.4883%2065.7412%2046.4684%2065.8177%2046.4528C66.0761%2046.4007%2066.3389%2046.3586%2066.605%2046.3231C66.6749%2046.3142%2066.7458%2046.3065%2066.8157%2046.2987C66.9798%2046.2798%2067.1484%2046.2665%2067.3114%2046.2543C67.5387%2046.2366%2067.7694%2046.2266%2068.0023%2046.2211C68.132%2046.2211%2068.2606%2046.2133%2068.3915%2046.2144C68.5756%2046.2144%2068.763%2046.2244%2068.946%2046.2333C69.0957%2046.2399%2069.2454%2046.2455%2069.3973%2046.2577C69.5492%2046.2699%2069.71%2046.2887%2069.8675%2046.3054C70.0249%2046.322%2070.2112%2046.3431%2070.3865%2046.3675C70.5328%2046.3885%2070.6803%2046.4151%2070.83%2046.4406C71.0163%2046.4728%2071.2026%2046.505%2071.3911%2046.5449C71.5176%2046.5715%2071.6462%2046.6003%2071.7737%2046.6303C71.9748%2046.6768%2072.177%2046.7271%2072.3803%2046.7811C72.5078%2046.8155%2072.6365%2046.8498%2072.764%2046.892C72.9858%2046.9552%2073.2076%2047.025%2073.4293%2047.0971C73.5402%2047.1315%2073.6411%2047.1648%2073.7476%2047.2014C74.0625%2047.3123%2074.3786%2047.4231%2074.698%2047.5529L74.7423%2047.5695C75.075%2047.7026%2075.4077%2047.8479%2075.7403%2047.9998C75.8435%2048.0464%2075.9466%2048.0974%2076.0508%2048.1462C76.2896%2048.2585%2076.5295%2048.3757%2076.7705%2048.4977C76.8881%2048.5576%2077.006%2048.6186%2077.1243%2048.6807C77.4414%2048.8481%2077.7597%2049.0189%2078.0802%2049.2041L97.5219%2060.4253C97.8834%2060.6338%2098.2427%2060.8515%2098.5997%2061.0785L98.6507%2061.1095C98.9945%2061.3313%2099.3361%2061.5531%2099.6754%2061.7915C99.7918%2061.8724%2099.9072%2061.9567%20100.022%2062.0388C100.244%2062.1996%20100.476%2062.3626%20100.701%2062.53C100.839%2062.6332%20100.975%2062.7385%20101.113%2062.8439C101.316%2062.9999%20101.518%2063.1588%20101.72%2063.3207C101.868%2063.439%20102.016%2063.5588%20102.164%2063.68C102.357%2063.8397%20102.549%2064.0016%20102.739%2064.1657C102.887%2064.2951%20103.035%2064.4256%20103.183%2064.5572C103.37%2064.7228%20103.555%2064.8909%20103.737%2065.0617C103.886%2065.1981%20104.035%2065.3356%20104.181%2065.4753C104.369%2065.6539%20104.557%2065.8357%20104.743%2066.0187C104.878%2066.1518%20105.015%2066.2849%20105.149%2066.4202C105.343%2066.6153%20105.534%2066.8149%20105.726%2067.0145C105.85%2067.1443%20105.974%2067.2718%20106.097%2067.4038C106.319%2067.6433%20106.541%2067.8884%20106.763%2068.1334C106.845%2068.2255%20106.929%2068.3153%20107.011%2068.4085C107.313%2068.7522%20107.612%2069.1015%20107.907%2069.4564C107.97%2069.5329%20108.031%2069.6116%20108.094%2069.6882C108.325%2069.9698%20108.556%2070.2526%20108.781%2070.5409C109.05%2070.8847%20109.315%2071.2329%20109.576%2071.5855C109.619%2071.6443%20109.665%2071.6964%20109.709%2071.7607C110.133%2072.3363%20110.543%2072.9251%20110.944%2073.5195C111.042%2073.6637%20111.141%2073.8078%20111.236%2073.9531C111.383%2074.1749%20111.529%2074.4022%20111.674%2074.6284C111.8%2074.8258%20111.927%2075.0232%20112.051%2075.2228C112.194%2075.4524%20112.333%2075.6841%20112.472%2075.9159C112.583%2076.1011%20112.694%2076.2863%20112.805%2076.4703C113.13%2077.027%20113.446%2077.5893%20113.751%2078.157C113.862%2078.3633%20113.973%2078.5706%20114.076%2078.7769C114.179%2078.9832%20114.307%2079.2205%20114.417%2079.4423C114.57%2079.7472%20114.72%2080.0544%20114.867%2080.3616C114.918%2080.4725%20114.97%2080.5723%20115.02%2080.6787C115.209%2081.0816%20115.394%2081.4882%20115.574%2081.8985C115.621%2082.0094%20115.666%2082.1126%20115.712%2082.2201C115.842%2082.5232%20115.97%2082.8274%20116.095%2083.1328C116.152%2083.2718%20116.208%2083.4104%20116.263%2083.5486C116.379%2083.8399%20116.49%2084.1315%20116.595%2084.4236C116.643%2084.5511%20116.692%2084.6786%20116.74%2084.8061C116.874%2085.1758%20117.004%2085.5454%20117.129%2085.9151C117.147%2085.9661%20117.165%2086.0182%20117.183%2086.0692C117.324%2086.4891%20117.457%2086.909%20117.585%2087.3289C117.624%2087.4609%20117.661%2087.5929%20117.695%2087.7248C117.782%2088.0176%20117.866%2088.3103%20117.945%2088.6031C117.988%2088.7628%20118.029%2088.9225%20118.071%2089.0833C118.142%2089.3531%20118.209%2089.6229%20118.273%2089.8928C118.312%2090.0532%20118.349%2090.2133%20118.384%2090.3729C118.447%2090.6494%20118.506%2090.9259%20118.561%2091.2024C118.591%2091.3499%20118.622%2091.4974%20118.651%2091.646C118.719%2091.9986%20118.782%2092.3502%20118.839%2092.7006C118.849%2092.7638%20118.862%2092.827%20118.872%2092.8902C118.938%2093.3042%20118.996%2093.7167%20119.046%2094.1278C119.061%2094.2387%20119.07%2094.3496%20119.084%2094.4604C119.118%2094.7562%20119.148%2095.0537%20119.175%2095.3531C119.187%2095.4929%20119.198%2095.6315%20119.208%2095.7701C119.229%2096.0495%20119.246%2096.3279%20119.259%2096.6051C119.266%2096.7371%20119.272%2096.869%20119.278%2097.001C119.292%2097.3936%20119.301%2097.7839%20119.3%2098.172L119.237%20120.505C119.237%20120.912%20119.225%20121.31%20119.207%20121.702C119.207%20121.813%20119.192%20121.924%20119.187%20122.035C119.171%20122.304%20119.154%20122.572%20119.129%20122.835C119.116%20122.986%20119.099%20123.135%20119.083%20123.285C119.058%20123.507%20119.033%20123.728%20119.003%20123.95C118.981%20124.11%20118.957%20124.266%20118.932%20124.423C118.9%20124.624%20118.866%20124.822%20118.829%20125.018C118.795%20125.193%20118.761%20125.367%20118.725%20125.538C118.688%20125.71%20118.648%20125.884%20118.605%20126.06C118.556%20126.262%20118.504%20126.461%20118.449%20126.657C118.406%20126.811%20118.363%20126.964%20118.316%20127.115C118.244%20127.349%20118.168%20127.577%20118.088%20127.804C118.044%20127.928%20118.001%20128.053%20117.956%20128.175C117.811%20128.557%20117.657%20128.928%20117.488%20129.284C117.357%20129.561%20117.221%20129.832%20117.077%20130.092C117.061%20130.121%20117.042%20130.148%20117.027%20130.177C116.895%20130.412%20116.758%20130.64%20116.616%20130.862C116.582%20130.915%20116.545%20130.966%20116.506%20131.02C116.386%20131.199%20116.263%20131.375%20116.136%20131.546C116.084%20131.616%20116.031%20131.686%20115.978%20131.755C115.855%20131.913%20115.729%20132.067%20115.6%20132.216C115.552%20132.273%20115.504%20132.327%20115.455%20132.385C115.279%20132.582%20115.097%20132.774%20114.91%20132.956C114.881%20132.983%20114.85%20133.01%20114.821%20133.038C114.66%20133.191%20114.495%20133.339%20114.327%20133.481C114.264%20133.533%20114.2%20133.584%20114.137%20133.635C113.989%20133.753%20113.841%20133.866%20113.693%20133.975C113.63%20134.02%20113.568%20134.067%20113.504%20134.11C113.292%20134.255%20113.077%20134.395%20112.855%20134.524L123.549%20128.314C123.771%20128.185%20123.986%20128.045%20124.199%20127.9C124.264%20127.857%20124.326%20127.81%20124.388%20127.765C124.539%20127.656%20124.687%20127.543%20124.831%20127.425C124.895%20127.374%20124.959%20127.323%20125.021%20127.271C125.19%20127.129%20125.356%20126.982%20125.518%20126.828C125.547%20126.801%20125.577%20126.776%20125.604%20126.748C125.792%20126.566%20125.974%20126.374%20126.15%20126.177C126.199%20126.121%20126.246%20126.066%20126.295%20126.007C126.424%20125.859%20126.55%20125.706%20126.673%20125.546C126.727%20125.477%20126.784%20125.407%20126.832%20125.337C126.958%20125.167%20127.081%20124.991%20127.2%20124.812C127.236%20124.759%20127.272%20124.707%20127.311%20124.653L127.344%20124.604C127.475%20124.399%20127.598%20124.186%20127.72%20123.971C127.737%20123.941%20127.756%20123.915%20127.772%20123.885C127.911%20123.633%20128.044%20123.375%20128.17%20123.108L128.184%20123.076C128.352%20122.72%20128.506%20122.349%20128.652%20121.967C128.665%20121.933%20128.68%20121.902%20128.694%20121.868C128.726%20121.78%20128.753%20121.686%20128.784%20121.597C128.863%20121.375%20128.941%20121.141%20129.013%20120.907C129.033%20120.843%20129.056%20120.783%20129.075%20120.719C129.101%20120.632%20129.121%20120.539%20129.145%20120.451C129.2%20120.255%20129.252%20120.056%20129.301%20119.854C129.321%20119.769%20129.347%20119.691%20129.366%20119.605C129.385%20119.52%20129.401%20119.423%20129.42%20119.334C129.457%20119.161%20129.492%20118.987%20129.525%20118.811C129.543%20118.719%20129.564%20118.631%20129.581%20118.537C129.598%20118.444%20129.612%20118.323%20129.629%20118.218C129.653%20118.062%20129.677%20117.904%20129.7%20117.745C129.711%20117.661%20129.726%20117.582%20129.736%20117.497C129.753%20117.362%20129.764%20117.221%20129.779%20117.085C129.795%20116.948%20129.813%20116.785%20129.826%20116.632C129.832%20116.57%20129.84%20116.51%20129.845%20116.448C129.861%20116.249%20129.87%20116.041%20129.883%20115.837C129.889%20115.726%20129.898%20115.615%20129.904%20115.505C129.904%20115.477%20129.904%20115.45%20129.904%20115.422C129.918%20115.077%20129.927%20114.726%20129.928%20114.37V114.308L129.991%2091.9753C130.002%2091.6331%20130.003%2091.2978%20129.993%2090.9695Z'%20fill='%230B0E11'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_302_6100'%20x1='68.0078'%20y1='92.449'%20x2='102.417'%20y2='92.449'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23313131'/%3e%3cstop%20offset='1'%20stop-color='%230B0E11'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_302_6100'%20x1='50.0001'%20y1='94.977'%20x2='113.22'%20y2='94.977'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%234E4E4E'/%3e%3cstop%20offset='1'%20stop-color='%230B0E11'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";function Ct(e){const t=[],n=/!\[([^\]]*)\]\(([^)]+)\)|\[([^\]]*)\]\(([^)]+)\)|(https?:\/\/[^\s<>]+)|\*\*(.+?)\*\*|__(.+?)__|\*(.+?)\*|_(.+?)_|~~(.+?)~~|`([^`]+)`/g;let o=0,s;for(;(s=n.exec(e))!==null;)s.index>o&&t.push(e.slice(o,s.index)),s[1]!==void 0||s[2]!==void 0?t.push(P.jsx("img",{src:s[2],alt:s[1],className:"mc-image",onError:a=>{const r=a.target;r.src=ji}},s.index)):s[3]!==void 0?t.push(P.jsx("a",{href:s[4],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:s[3]},s.index)):s[5]!==void 0?t.push(P.jsx("a",{href:s[5],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:s[5]},s.index)):s[6]!==void 0?t.push(P.jsx("strong",{children:Ct(s[6])},s.index)):s[7]!==void 0?t.push(P.jsx("strong",{children:Ct(s[7])},s.index)):s[8]!==void 0?t.push(P.jsx("em",{children:Ct(s[8])},s.index)):s[9]!==void 0?t.push(P.jsx("em",{children:Ct(s[9])},s.index)):s[10]!==void 0?t.push(P.jsx("del",{children:Ct(s[10])},s.index)):s[11]!==void 0&&t.push(P.jsx("code",{className:"mc-inline-code",children:s[11]},s.index)),o=s.index+s[0].length;return o<e.length&&t.push(e.slice(o)),t.length>0?t:[e]}const qi=({content:e})=>{const t=e.split(`
103
+ User: ${t}`:t;return{success:!0,data:(await r.post("/chat",{prompt:i,model:n,stream:o},{headers:{"X-API-Key":a,Accept:"application/json","Content-Type":"application/json"}})).data}}catch(a){const r=a instanceof Error?a.message:"Unknown error";return console.error("❌ Error chatting with Cortex AI:",r),{success:!1,error:r}}}async function Wi(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Contract address is required");try{const o=tn();return{success:!0,data:(await on.get(`/api/v2.2/nft/${encodeURIComponent(t)}/metadata`,{query:{chain:n},headers:nn(o)})).data}}catch(o){const s=o instanceof Error?o.message:"Unknown error";return console.error("❌ Error fetching NFT contract metadata:",s),{success:!1,error:s}}}async function kn(e){const{address:t,chain:n="base",limit:o=100,exclude_spam:s=!0,cursor:a}=e;if(!t)throw new Error("Address is required");try{const r=tn(),i={chain:n,format:"decimal",limit:o,exclude_spam:s,media_items:!0,normalizeMetadata:!0};return a&&(i.cursor=a),{success:!0,data:(await on.get(`/api/v2.2/${encodeURIComponent(t)}/nft`,{query:i,headers:nn(r)})).data}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching NFTs:",i),{success:!1,error:i}}}const Vi="data:image/png;base64,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",Gi="data:image/svg+xml,%3csvg%20width='36'%20height='36'%20viewBox='0%200%2036%2036'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='36'%20height='36'%20rx='18'%20fill='%232358B2'/%3e%3cmask%20id='mask0_1924_16177'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='11'%20y='10'%20width='17'%20height='16'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='url(%23pattern0_1924_16177)'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1924_16177)'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cpattern%20id='pattern0_1924_16177'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_1924_16177'%20transform='scale(0.00195312)'/%3e%3c/pattern%3e%3cimage%20id='image0_1924_16177'%20width='512'%20height='512'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,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'/%3e%3c/defs%3e%3c/svg%3e";class Yi extends zt{constructor(){super("https://wallet-api.pantograph.app")}async getTokensDetails(t,n="base"){try{if(!t||!Array.isArray(t)||t.length===0)throw new Error("Addresses must be a non-empty array");const o=t.join(","),s=await this.get(`/keyrings/tokens/${n}/v2`,{query:{addresses:o}});return Array.isArray(s.data)&&(s.data=s.data.filter((a,r,i)=>r===i.findIndex(l=>l.address.toLowerCase()===a.address.toLowerCase())),Array.isArray(t)&&t.length>0&&(s.data=s.data.filter(a=>t.some(r=>r.toLowerCase()===a.address.toLowerCase())),s.data.sort((a,r)=>t.findIndex(i=>i.toLowerCase()===a.address.toLowerCase())-t.findIndex(i=>i.toLowerCase()===r.address.toLowerCase())))),s}catch(o){throw console.error("❌ Error getting tokens details:",o instanceof Error?o.message:o),o}}async getTokenDetail(t,n="base"){try{if(!t)throw new Error("Address is required");const o=await this.getTokensDetails([t],n);return{data:o.data[0]||null,status:o.status}}catch(o){throw console.error(`❌ Error getting token detail for ${t}:`,o instanceof Error?o.message:o),o}}async getTopGainers(t="base",n="24h",o=3){try{return await this.get(`/token-list/top-gainers/${t}`,{query:{duration:n,limit:o}})}catch(s){throw console.error("❌ Error getting top gainers:",s instanceof Error?s.message:s),s}}}const st=new Yi,zi="https://dln.debridge.finance",Ji=new zt(zi);async function lo(e){const{chainId:t,tokenIn:n,tokenInAmount:o,tokenOut:s,accesstoken:a,slippage:r="auto",tokenOutRecipient:i}=e;if(!t||!n||!o||!s)throw new Error("Missing required parameters: chainId, tokenIn, tokenInAmount, tokenOut");try{const D=(await(await fetch("https://exchange-api.keyring.app/admin/setting?configs=others",{method:"GET"})).json())?.others||{},Y=D?.AFFILIATE_FEE_PERENT,g=D?.AFFILIATE_FEE_RECIPIENT,A=await Ji.get("/v1.0/chain/transaction",{query:{chainId:String(t),tokenIn:n,tokenInAmount:o,tokenOut:s,slippage:String(r),tokenOutRecipient:i,accesstoken:a,affiliateFeePercent:Y,affiliateFeeRecipient:g}});if(A.data?.error)throw new Error(`DeBridge API Error: ${A.data.error}`);return console.log("✅ Quote retrieved successfully"),{success:!0,data:A.data}}catch(l){let k=l instanceof Error?l.message:"Unknown error";const D=l;D.data?.errorMessage?k=D.data.errorMessage:D.response?.data?.errorMessage?k=D.response.data.errorMessage:D.data?.message?k=D.data.message:D.response?.data?.message&&(k=D.response.data.message);const Y=D.status||D.response?.status||D.statusCode||D.data?.status;return console.error("📋 Error details:",{errorMessage:k,errorCode:D.data?.errorCode,errorId:D.data?.errorId,status:Y,reqId:D.data?.reqId,fullError:{message:D.message,status:D.status,statusCode:D.statusCode}}),{success:!1,error:l instanceof Error?l.message:"Unknown error",status:Y,errorMessage:k,errorCode:D.data?.errorCode,errorId:D.data?.errorId}}}const ji="data:image/svg+xml,%3csvg%20width='180'%20height='180'%20viewBox='0%200%20180%20180'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M102.392%20118.157L102.417%20109.35L89.7594%20102.042C89.5768%20101.937%2089.3953%20101.826%2089.2149%20101.71L89.1861%20101.692C89.012%20101.581%2088.839%20101.47%2088.666%20101.346C88.6061%20101.305%2088.5473%20101.262%2088.4874%20101.22C88.3765%20101.139%2088.259%20101.057%2088.1459%20100.972C88.0749%20100.919%2088.0051%20100.861%2087.9352%20100.811C87.8321%20100.733%2087.73%20100.653%2087.6291%20100.571C87.5552%20100.51%2087.4813%20100.449%2087.4073%20100.387C87.3098%20100.306%2087.2125%20100.224%2087.1157%20100.141C87.0418%20100.075%2086.9678%20100.009%2086.8939%2099.9421C86.7985%2099.8578%2086.7039%2099.772%2086.61%2099.6848C86.5346%2099.6149%2086.4592%2099.5462%2086.3882%2099.4752C86.2929%2099.3843%2086.1986%2099.2922%2086.1044%2099.2002C86.0356%2099.1325%2085.9657%2099.0649%2085.897%2098.9961C85.7983%2098.8963%2085.7007%2098.7954%2085.6031%2098.6934C85.541%2098.628%2085.4778%2098.5637%2085.4168%2098.4982C85.3059%2098.3763%2085.195%2098.2521%2085.0786%2098.1267L84.9533%2097.9881C84.7995%2097.8137%2084.648%2097.6366%2084.4986%2097.457C84.4643%2097.4159%2084.4321%2097.3738%2084.3977%2097.3328C84.2868%2097.1919%2084.1671%2097.05%2084.054%2096.9069C83.9172%2096.7325%2083.7826%2096.5558%2083.6503%2096.3769L83.5827%2096.2881C83.3675%2095.9965%2083.1591%2095.6971%2082.955%2095.3943L82.8441%2095.228C82.5876%2094.8421%2082.341%2094.4495%2082.1045%2094.0503L82.0135%2093.8984C81.8487%2093.616%2081.6886%2093.3306%2081.5334%2093.0423C81.4768%2092.937%2081.4225%2092.8316%2081.3681%2092.7263C81.3138%2092.6209%2081.2572%2092.5045%2081.1952%2092.3936C81.1164%2092.2361%2081.0399%2092.0787%2080.9634%2091.9201C80.939%2091.8691%2080.9135%2091.8181%2080.8891%2091.7671C80.793%2091.5623%2080.6995%2091.3564%2080.6085%2091.1494C80.5852%2091.095%2080.562%2091.0385%2080.5398%2090.9875C80.4732%2090.8337%2080.4082%2090.6792%2080.3446%2090.524L80.2592%2090.3121C80.2008%2090.1643%2080.1435%2090.0164%2080.0873%2089.8686C80.0629%2089.8043%2080.0385%2089.7388%2080.0141%2089.6745C79.9454%2089.486%2079.8789%2089.2971%2079.8145%2089.1079L79.789%2089.0347C79.7151%2088.8218%2079.6471%2088.6088%2079.585%2088.3959C79.5639%2088.3283%2079.5451%2088.2606%2079.5262%2088.193C79.483%2088.0444%2079.4397%2087.8958%2079.3998%2087.7494C79.3776%2087.6685%2079.3566%2087.5875%2079.3355%2087.5066C79.3%2087.3691%2079.2656%2087.2319%2079.2324%2087.0952C79.2131%2087.0138%2079.1943%2086.9325%2079.1758%2086.8512C79.1436%2086.7104%2079.1137%2086.5695%2079.0849%2086.4298C79.0693%2086.3555%2079.0538%2086.2801%2079.0394%2086.208C79.0047%2086.0276%2078.9725%2085.848%2078.9429%2085.6691C78.9429%2085.638%2078.9318%2085.607%2078.9274%2085.5759C78.8941%2085.366%2078.8646%2085.1564%2078.8387%2084.9472C78.832%2084.8906%2078.8265%2084.8363%2078.8198%2084.7775C78.8028%2084.6259%2078.7873%2084.4748%2078.7733%2084.3239C78.7666%2084.253%2078.7622%2084.182%2078.7566%2084.1121C78.7455%2083.9702%2078.7378%2083.8294%2078.7311%2083.6885C78.7311%2083.622%2078.7245%2083.5544%2078.7222%2083.4878C78.7156%2083.2882%2078.71%2083.0897%2078.7112%2082.8934L78.7466%2069.3645L77.6377%2068.7258L71.9567%2065.45C70.7912%2064.7503%2069.5073%2064.2703%2068.1686%2064.0339V64.0417C68.1597%2064.1105%2068.1542%2064.1825%2068.1464%2064.2513C68.1387%2064.32%2068.1298%2064.4021%2068.1231%2064.4797C68.1231%2064.5119%2068.1165%2064.5418%2068.1132%2064.574C68.1043%2064.676%2068.0999%2064.7802%2068.0943%2064.8845C68.0943%2064.941%2068.0865%2064.9954%2068.0843%2065.0541V65.0952C68.0769%2065.2704%2068.0729%2065.4482%2068.0721%2065.6286V65.6607L68.0078%2089.1023C68.0078%2089.2679%2068.01%2089.4339%2068.0145%2089.6002C68.0145%2089.6324%2068.0145%2089.6634%2068.0145%2089.6956C68.0145%2089.7632%2068.0211%2089.832%2068.0244%2089.8996C68.0278%2089.9673%2068.03%2090.056%2068.0355%2090.1347C68.0355%2090.1957%2068.0455%2090.2578%2068.05%2090.3199C68.0544%2090.382%2068.061%2090.463%2068.0677%2090.535C68.0677%2090.5805%2068.0743%2090.6271%2068.0788%2090.6725C68.0888%2090.7757%2068.1021%2090.8799%2068.1132%2090.9842C68.1198%2091.0418%2068.1254%2091.095%2068.132%2091.1583L68.1387%2091.2137C68.1623%2091.3985%2068.1886%2091.5833%2068.2174%2091.7682V91.7837C68.2174%2091.8147%2068.2285%2091.8469%2068.234%2091.8779C68.2584%2092.0277%2068.2839%2092.1774%2068.3117%2092.3282C68.3172%2092.357%2068.3239%2092.3858%2068.3294%2092.4147C68.3438%2092.4901%2068.3604%2092.5655%2068.376%2092.6365C68.3915%2092.7074%2068.4104%2092.8128%2068.4292%2092.9004C68.4403%2092.9525%2068.4536%2093.0046%2068.4658%2093.0556C68.4843%2093.1362%2068.5031%2093.2172%2068.5224%2093.2985C68.5368%2093.3595%2068.5501%2093.4205%2068.5645%2093.4803C68.5789%2093.5402%2068.6055%2093.6345%2068.6255%2093.711C68.6454%2093.7875%2068.6676%2093.8729%2068.6887%2093.9527C68.6998%2093.9916%2068.7087%2094.0304%2068.7186%2094.0636C68.7486%2094.1745%2068.7818%2094.2854%2068.8151%2094.3963C68.8351%2094.464%2068.8539%2094.5316%2068.8739%2094.5993L68.8894%2094.6547C68.9478%2094.8462%2069.0092%2095.0376%2069.0735%2095.2291V95.2391L69.099%2095.3123C69.1533%2095.4731%2069.2099%2095.6339%2069.2676%2095.7947C69.2775%2095.8224%2069.2886%2095.8501%2069.2986%2095.8778C69.3219%2095.9422%2069.3463%2096.0054%2069.3707%2096.0697C69.4039%2096.1595%2069.4372%2096.2482%2069.4716%2096.338C69.4949%2096.3979%2069.5193%2096.4567%2069.5437%2096.5166L69.628%2096.7262C69.649%2096.7761%2069.6679%2096.8271%2069.6889%2096.877C69.7322%2096.9812%2069.7777%2097.0855%2069.8231%2097.1897C69.8464%2097.244%2069.8686%2097.3006%2069.893%2097.3516L69.9174%2097.4082C69.9972%2097.5878%2070.0789%2097.7671%2070.1625%2097.946L70.1735%2097.9704C70.1979%2098.0214%2070.2234%2098.0724%2070.2478%2098.1234C70.3133%2098.2598%2070.3776%2098.3973%2070.4452%2098.5326L70.4785%2098.5969C70.5351%2098.7078%2070.5894%2098.8187%2070.6515%2098.9296C70.6981%2099.0194%2070.7424%2099.1093%2070.7901%2099.198L70.8167%2099.2456C70.9712%2099.534%2071.1313%2099.8193%2071.2969%20100.102C71.3113%20100.126%2071.3235%20100.151%2071.3379%20100.175C71.3523%20100.199%2071.3723%20100.227%2071.3878%20100.254C71.6244%20100.653%2071.8709%20101.045%2072.1275%20101.431C72.1419%20101.452%2072.1541%20101.475%2072.1685%20101.497C72.1829%20101.519%2072.2173%20101.564%2072.2406%20101.6C72.4446%20101.902%2072.652%20102.201%2072.8682%20102.493L72.9314%20102.575C73.0645%20102.754%2073.1994%20102.931%2073.3362%20103.107L73.3595%20103.137C73.4704%20103.272%2073.5746%20103.405%2073.6833%20103.537L73.7798%20103.656L73.7875%20103.665C73.9287%20103.835%2074.0718%20104.002%2074.2167%20104.167L74.2344%20104.187L74.3597%20104.326C74.4551%20104.437%2074.5516%20104.541%2074.6481%20104.646L74.698%20104.698C74.7601%20104.764%2074.8222%20104.828%2074.8843%20104.893C74.9464%20104.959%2075.0284%20105.046%2075.106%20105.122L75.1814%20105.197C75.2502%20105.266%2075.319%20105.334%2075.3888%20105.401C75.4587%20105.469%2075.5108%20105.524%2075.5729%20105.583L75.6727%20105.676C75.747%20105.747%2075.8224%20105.817%2075.8945%20105.886C75.9488%20105.936%2076.0054%20105.987%2076.0564%20106.036L76.1784%20106.146L76.4002%20106.345C76.4478%20106.386%2076.4944%20106.429%2076.5432%20106.469C76.592%20106.509%2076.643%20106.55%2076.6918%20106.59L76.9136%20106.774C76.9535%20106.806%2076.9923%20106.84%2077.0322%20106.872C77.0943%20106.921%2077.1576%20106.967%2077.2197%20107.015C77.2818%20107.062%2077.3594%20107.126%2077.4292%20107.174L77.5168%20107.241C77.6011%20107.303%2077.6876%20107.362%2077.7719%20107.423C77.8307%20107.465%2077.8894%20107.508%2077.9493%20107.549L77.997%20107.584C78.1523%20107.69%2078.3086%20107.794%2078.4661%20107.894L78.4905%20107.91C78.6357%20108.002%2078.7821%20108.092%2078.9341%20108.178L79.0449%20108.241L98.4999%20119.478C98.6175%20119.546%2098.7346%20119.611%2098.8515%20119.674L98.9867%20119.744L99.1653%20119.836C99.2119%20119.859%2099.2584%20119.885%2099.3039%20119.908C99.3793%20119.946%2099.4547%20119.979%2099.5257%20120.019L99.6832%20120.093L99.7464%20120.123C99.8942%20120.19%20100.042%20120.252%20100.19%20120.311L100.208%20120.317C100.35%20120.374%20100.492%20120.428%20100.633%20120.477L100.693%20120.497L100.856%20120.55C100.93%20120.575%20101.004%20120.6%20101.078%20120.622L101.189%20120.655L101.385%20120.709C101.434%20120.722%20101.484%20120.738%20101.532%20120.75C101.579%20120.762%20101.643%20120.773%20101.693%20120.785L101.888%20120.829L101.986%20120.851L102.085%20120.867C102.158%20120.553%20102.219%20120.227%20102.266%20119.886C102.346%20119.313%20102.388%20118.736%20102.392%20118.157Z'%20fill='url(%23paint0_linear_302_6100)'/%3e%3cpath%20d='M91.4307%2064.3019L78.0005%2056.5472L75.8214%2055.2885L71.9957%2053.0796C59.9427%2046.1222%2050.1032%2051.73%2050.0633%2065.5794L50.0001%2087.9076C49.9613%20101.769%2059.7365%20118.694%2071.7894%20125.652L91.2244%20136.872C103.276%20143.831%20113.117%20138.227%20113.156%20124.373L113.183%20114.546V113.668L113.217%20102.041C113.259%2088.1926%20103.482%2071.2604%2091.4307%2064.3019ZM102.419%20108.881V109.349L102.395%20118.156C102.394%20118.733%20102.355%20119.309%20102.278%20119.881C102.232%20120.222%20102.167%20120.547%20102.097%20120.863C100.943%20125.853%2096.5184%20127.534%2091.2621%20124.5L71.8249%20113.283C65.708%20109.753%2060.7478%20101.16%2060.7678%2094.1275L60.831%2071.7949C60.8454%2066.777%2063.3948%2063.8927%2067.0787%2063.9382C67.4454%2063.9447%2067.8112%2063.9777%2068.1732%2064.0369C69.5103%2064.2737%2070.7927%2064.7537%2071.9568%2065.453L77.6312%2068.7232L78.7401%2069.3619L91.3974%2076.6697C97.512%2080.205%20102.476%2088.7947%20102.452%2095.8275L102.419%20108.881Z'%20fill='url(%23paint1_linear_302_6100)'/%3e%3cpath%20d='M129.993%2090.9695C129.993%2090.9063%20129.987%2090.842%20129.985%2090.7788C129.985%2090.648%20129.972%2090.516%20129.966%2090.3851C129.958%2090.2288%20129.953%2090.0746%20129.944%2089.9172C129.936%2089.7952%20129.924%2089.671%20129.914%2089.5479C129.904%2089.4248%20129.892%2089.2707%20129.88%2089.1309C129.873%2089.04%20129.867%2088.9491%20129.858%2088.8582C129.838%2088.6519%20129.813%2088.4445%20129.789%2088.2383C129.776%2088.1274%20129.766%2088.0165%20129.752%2087.9056C129.752%2087.869%20129.744%2087.8324%20129.739%2087.7947C129.694%2087.431%20129.642%2087.0658%20129.583%2086.6991L129.578%2086.6669C129.568%2086.6037%20129.555%2086.5405%20129.544%2086.4773C129.497%2086.1845%20129.448%2085.8918%20129.392%2085.5979C129.381%2085.5391%20129.368%2085.4815%20129.357%2085.4227C129.328%2085.2752%20129.297%2085.1277%20129.267%2084.9791C129.232%2084.805%20129.199%2084.632%20129.156%2084.459C129.134%2084.3559%20129.107%2084.2528%20129.084%2084.1497C129.048%2083.99%20129.011%2083.8303%20128.973%2083.6706C128.944%2083.5519%20128.92%2083.4333%20128.89%2083.3146C128.852%2083.1627%20128.809%2083.0097%20128.77%2082.8566C128.731%2082.7036%20128.688%2082.5395%20128.645%2082.3809C128.625%2082.3055%20128.606%2082.2301%20128.585%2082.1591C128.524%2081.9373%20128.458%2081.7222%20128.393%2081.5038C128.354%2081.3729%20128.318%2081.2409%20128.282%2081.1101C128.271%2081.0746%20128.262%2081.0391%20128.251%2080.9992C128.135%2080.6214%20128.014%2080.244%20127.889%2079.867L127.881%2079.8448C127.863%2079.7927%20127.844%2079.7417%20127.827%2079.6896C127.716%2079.3768%20127.613%2079.063%20127.494%2078.7503C127.474%2078.6948%20127.452%2078.6394%20127.432%2078.584C127.385%2078.4564%20127.336%2078.3289%20127.288%2078.2014C127.222%2078.0273%20127.159%2077.8532%20127.091%2077.6791C127.046%2077.5615%20126.997%2077.4451%20126.949%2077.3275C126.894%2077.1886%20126.838%2077.0499%20126.782%2076.9117C126.742%2076.813%20126.704%2076.7143%20126.663%2076.6167C126.577%2076.4094%20126.487%2076.2042%20126.398%2075.9979C126.353%2075.8871%20126.308%2075.7861%20126.262%2075.6797L126.215%2075.5688C126.059%2075.2147%20125.898%2074.8617%20125.733%2074.5098L125.711%2074.4632C125.661%2074.3523%20125.608%2074.2525%20125.558%2074.146C125.431%2073.881%20125.305%2073.616%20125.174%2073.3532C125.153%2073.311%20125.13%2073.2689%20125.109%2073.2256C124.998%2073.0038%20124.887%2072.7821%20124.768%2072.5669C124.677%2072.3906%20124.589%2072.2143%20124.495%2072.0391C124.478%2072.0069%20124.459%2071.9759%20124.441%2071.9426C124.136%2071.3756%20123.821%2070.8137%20123.495%2070.257C123.467%2070.2094%20123.443%2070.1617%20123.415%2070.114C123.333%2069.9743%20123.247%2069.8379%20123.164%2069.6992C123.024%2069.4675%20122.885%2069.2357%20122.742%2069.0062C122.618%2068.8066%20122.492%2068.6092%20122.365%2068.4118C122.22%2068.19%20122.076%2067.9604%20121.927%2067.7364C121.877%2067.6599%20121.829%2067.5823%20121.778%2067.5069C121.727%2067.4315%20121.682%2067.3727%20121.635%2067.304C121.233%2066.7085%20120.824%2066.1196%20120.4%2065.5441L120.395%2065.5352C120.354%2065.4787%20120.309%2065.4243%20120.268%2065.3689C120.006%2065.017%20119.741%2064.6688%20119.472%2064.3243L119.425%2064.2633C119.215%2063.996%20119%2063.7343%20118.786%2063.4715C118.722%2063.395%20118.661%2063.3163%20118.598%2063.2398L118.584%2063.222C118.306%2062.8879%20118.024%2062.5581%20117.739%2062.2328L117.702%2062.1929C117.621%2062.0998%20117.537%2062.0111%20117.455%2061.919C117.266%2061.7083%20117.078%2061.4954%20116.886%2061.2892L116.788%2061.1871C116.666%2061.0563%20116.542%2060.9288%20116.418%2060.799C116.276%2060.6504%20116.135%2060.4985%20115.991%2060.3554C115.942%2060.3055%20115.891%2060.2579%20115.841%2060.208C115.706%2060.0716%20115.57%2059.9385%20115.433%2059.8043C115.297%2059.6701%20115.193%2059.5626%20115.071%2059.445C115.005%2059.3829%20114.939%2059.323%20114.873%2059.2609C114.726%2059.1212%20114.577%2058.9837%20114.43%2058.8473C114.319%2058.7497%20114.219%2058.6488%20114.112%2058.5523C114.034%2058.4814%20113.953%2058.4137%20113.873%2058.3427C113.725%2058.2104%20113.575%2058.0796%20113.424%2057.9502C113.33%2057.8692%20113.238%2057.7849%20113.142%2057.7051C113.047%2057.6253%20112.946%2057.5465%20112.848%2057.4656C112.7%2057.3443%20112.553%2057.2242%20112.405%2057.1052C112.326%2057.042%20112.248%2056.9754%20112.169%2056.9122C112.045%2056.8157%20111.921%2056.7248%20111.798%2056.6294C111.675%2056.5341%20111.523%2056.4176%20111.386%2056.3145C111.328%2056.2713%20111.275%2056.2258%20111.213%2056.1826C111.045%2056.0595%20110.88%2055.943%20110.707%2055.8233C110.596%2055.7412%20110.476%2055.6569%20110.36%2055.5771L110.265%2055.5094C109.958%2055.2995%20109.651%2055.0958%20109.341%2054.8984H109.334L109.288%2054.8696C109%2054.6877%20108.711%2054.5092%20108.42%2054.3384L108.206%2054.2142L88.7824%2042.9941C88.551%2042.8603%2088.3204%2042.7313%2088.0904%2042.6071C88.0017%2042.5594%2087.9141%2042.5162%2087.8254%2042.4696L87.4717%2042.2866C87.3807%2042.24%2087.2887%2042.1901%2087.1989%2042.1447C87.0492%2042.0704%2086.9017%2042.0049%2086.7553%2041.9351C86.6511%2041.8863%2086.5479%2041.8353%2086.4448%2041.7887L86.3195%2041.7299C86.0238%2041.5991%2085.7332%2041.476%2085.4479%2041.3607L85.4035%2041.344C85.1252%2041.2331%2084.8491%2041.1289%2084.5729%2041.0313L84.4465%2040.9847C84.3356%2040.9481%2084.2336%2040.9149%2084.1271%2040.8805C83.9819%2040.8328%2083.8366%2040.7818%2083.6924%2040.7385C83.6159%2040.7153%2083.5405%2040.6975%2083.464%2040.6753C83.3354%2040.6376%2083.2078%2040.6033%2083.0792%2040.5644C82.9827%2040.5389%2082.8851%2040.5079%2082.7898%2040.4846C82.6944%2040.4613%2082.5802%2040.4436%2082.4737%2040.4192C82.3462%2040.3903%2082.2176%2040.3604%2082.0912%2040.3327C82.0268%2040.3194%2081.9603%2040.3016%2081.896%2040.2894C81.7729%2040.265%2081.6531%2040.2506%2081.53%2040.2295C81.3826%2040.204%2081.234%2040.1774%2081.0865%2040.1564C81.0388%2040.1508%2080.9878%2040.1397%2080.939%2040.1331C80.8148%2040.1109%2080.6928%2040.1109%2080.5697%2040.0954C80.4122%2040.0776%2080.2548%2040.0599%2080.0995%2040.0477C80.0563%2040.0477%2080.0108%2040.0377%2079.9676%2040.0344C79.8567%2040.0266%2079.7558%2040.0288%2079.6482%2040.0233C79.4608%2040.0144%2079.2756%2040.0067%2079.0893%2040C79.0394%2040%2078.9884%2040%2078.9385%2040C78.8575%2040%2078.7799%2040.01%2078.699%2040.0111C78.4661%2040.0111%2078.2354%2040.0266%2078.0081%2040.0432C77.9405%2040.0432%2077.8706%2040.0432%2077.8041%2040.0532C77.7054%2040.0621%2077.61%2040.0765%2077.5124%2040.0876L77.3017%2040.1109C77.0455%2040.1453%2076.7916%2040.1841%2076.5421%2040.2351L76.5144%2040.244C76.4401%2040.2595%2076.368%2040.2794%2076.2926%2040.2961C76.0897%2040.3415%2075.8878%2040.3892%2075.6904%2040.4447C75.5895%2040.4735%2075.4919%2040.5068%2075.3921%2040.5389C75.2646%2040.5789%2075.1349%2040.6143%2075.0085%2040.6598C74.9752%2040.6709%2074.9441%2040.6875%2074.912%2040.6986C74.7146%2040.7707%2074.5239%2040.8517%2074.332%2040.9348C74.2389%2040.9747%2074.1435%2041.0113%2074.0526%2041.0535C73.7731%2041.1843%2073.4981%2041.3252%2073.2331%2041.4793L62.5375%2047.6893C62.8036%2047.5351%2063.0775%2047.3943%2063.3559%2047.2635C63.4479%2047.2202%2063.5433%2047.1847%2063.6364%2047.1437C63.8272%2047.0605%2064.019%2046.9796%2064.2153%2046.9075C64.3727%2046.8498%2064.5335%2046.7966%2064.6954%2046.7478C64.7952%2046.7168%2064.8928%2046.6824%2064.9937%2046.6536C65.1911%2046.5981%2065.3941%2046.5504%2065.5959%2046.505C65.6691%2046.4883%2065.7412%2046.4684%2065.8177%2046.4528C66.0761%2046.4007%2066.3389%2046.3586%2066.605%2046.3231C66.6749%2046.3142%2066.7458%2046.3065%2066.8157%2046.2987C66.9798%2046.2798%2067.1484%2046.2665%2067.3114%2046.2543C67.5387%2046.2366%2067.7694%2046.2266%2068.0023%2046.2211C68.132%2046.2211%2068.2606%2046.2133%2068.3915%2046.2144C68.5756%2046.2144%2068.763%2046.2244%2068.946%2046.2333C69.0957%2046.2399%2069.2454%2046.2455%2069.3973%2046.2577C69.5492%2046.2699%2069.71%2046.2887%2069.8675%2046.3054C70.0249%2046.322%2070.2112%2046.3431%2070.3865%2046.3675C70.5328%2046.3885%2070.6803%2046.4151%2070.83%2046.4406C71.0163%2046.4728%2071.2026%2046.505%2071.3911%2046.5449C71.5176%2046.5715%2071.6462%2046.6003%2071.7737%2046.6303C71.9748%2046.6768%2072.177%2046.7271%2072.3803%2046.7811C72.5078%2046.8155%2072.6365%2046.8498%2072.764%2046.892C72.9858%2046.9552%2073.2076%2047.025%2073.4293%2047.0971C73.5402%2047.1315%2073.6411%2047.1648%2073.7476%2047.2014C74.0625%2047.3123%2074.3786%2047.4231%2074.698%2047.5529L74.7423%2047.5695C75.075%2047.7026%2075.4077%2047.8479%2075.7403%2047.9998C75.8435%2048.0464%2075.9466%2048.0974%2076.0508%2048.1462C76.2896%2048.2585%2076.5295%2048.3757%2076.7705%2048.4977C76.8881%2048.5576%2077.006%2048.6186%2077.1243%2048.6807C77.4414%2048.8481%2077.7597%2049.0189%2078.0802%2049.2041L97.5219%2060.4253C97.8834%2060.6338%2098.2427%2060.8515%2098.5997%2061.0785L98.6507%2061.1095C98.9945%2061.3313%2099.3361%2061.5531%2099.6754%2061.7915C99.7918%2061.8724%2099.9072%2061.9567%20100.022%2062.0388C100.244%2062.1996%20100.476%2062.3626%20100.701%2062.53C100.839%2062.6332%20100.975%2062.7385%20101.113%2062.8439C101.316%2062.9999%20101.518%2063.1588%20101.72%2063.3207C101.868%2063.439%20102.016%2063.5588%20102.164%2063.68C102.357%2063.8397%20102.549%2064.0016%20102.739%2064.1657C102.887%2064.2951%20103.035%2064.4256%20103.183%2064.5572C103.37%2064.7228%20103.555%2064.8909%20103.737%2065.0617C103.886%2065.1981%20104.035%2065.3356%20104.181%2065.4753C104.369%2065.6539%20104.557%2065.8357%20104.743%2066.0187C104.878%2066.1518%20105.015%2066.2849%20105.149%2066.4202C105.343%2066.6153%20105.534%2066.8149%20105.726%2067.0145C105.85%2067.1443%20105.974%2067.2718%20106.097%2067.4038C106.319%2067.6433%20106.541%2067.8884%20106.763%2068.1334C106.845%2068.2255%20106.929%2068.3153%20107.011%2068.4085C107.313%2068.7522%20107.612%2069.1015%20107.907%2069.4564C107.97%2069.5329%20108.031%2069.6116%20108.094%2069.6882C108.325%2069.9698%20108.556%2070.2526%20108.781%2070.5409C109.05%2070.8847%20109.315%2071.2329%20109.576%2071.5855C109.619%2071.6443%20109.665%2071.6964%20109.709%2071.7607C110.133%2072.3363%20110.543%2072.9251%20110.944%2073.5195C111.042%2073.6637%20111.141%2073.8078%20111.236%2073.9531C111.383%2074.1749%20111.529%2074.4022%20111.674%2074.6284C111.8%2074.8258%20111.927%2075.0232%20112.051%2075.2228C112.194%2075.4524%20112.333%2075.6841%20112.472%2075.9159C112.583%2076.1011%20112.694%2076.2863%20112.805%2076.4703C113.13%2077.027%20113.446%2077.5893%20113.751%2078.157C113.862%2078.3633%20113.973%2078.5706%20114.076%2078.7769C114.179%2078.9832%20114.307%2079.2205%20114.417%2079.4423C114.57%2079.7472%20114.72%2080.0544%20114.867%2080.3616C114.918%2080.4725%20114.97%2080.5723%20115.02%2080.6787C115.209%2081.0816%20115.394%2081.4882%20115.574%2081.8985C115.621%2082.0094%20115.666%2082.1126%20115.712%2082.2201C115.842%2082.5232%20115.97%2082.8274%20116.095%2083.1328C116.152%2083.2718%20116.208%2083.4104%20116.263%2083.5486C116.379%2083.8399%20116.49%2084.1315%20116.595%2084.4236C116.643%2084.5511%20116.692%2084.6786%20116.74%2084.8061C116.874%2085.1758%20117.004%2085.5454%20117.129%2085.9151C117.147%2085.9661%20117.165%2086.0182%20117.183%2086.0692C117.324%2086.4891%20117.457%2086.909%20117.585%2087.3289C117.624%2087.4609%20117.661%2087.5929%20117.695%2087.7248C117.782%2088.0176%20117.866%2088.3103%20117.945%2088.6031C117.988%2088.7628%20118.029%2088.9225%20118.071%2089.0833C118.142%2089.3531%20118.209%2089.6229%20118.273%2089.8928C118.312%2090.0532%20118.349%2090.2133%20118.384%2090.3729C118.447%2090.6494%20118.506%2090.9259%20118.561%2091.2024C118.591%2091.3499%20118.622%2091.4974%20118.651%2091.646C118.719%2091.9986%20118.782%2092.3502%20118.839%2092.7006C118.849%2092.7638%20118.862%2092.827%20118.872%2092.8902C118.938%2093.3042%20118.996%2093.7167%20119.046%2094.1278C119.061%2094.2387%20119.07%2094.3496%20119.084%2094.4604C119.118%2094.7562%20119.148%2095.0537%20119.175%2095.3531C119.187%2095.4929%20119.198%2095.6315%20119.208%2095.7701C119.229%2096.0495%20119.246%2096.3279%20119.259%2096.6051C119.266%2096.7371%20119.272%2096.869%20119.278%2097.001C119.292%2097.3936%20119.301%2097.7839%20119.3%2098.172L119.237%20120.505C119.237%20120.912%20119.225%20121.31%20119.207%20121.702C119.207%20121.813%20119.192%20121.924%20119.187%20122.035C119.171%20122.304%20119.154%20122.572%20119.129%20122.835C119.116%20122.986%20119.099%20123.135%20119.083%20123.285C119.058%20123.507%20119.033%20123.728%20119.003%20123.95C118.981%20124.11%20118.957%20124.266%20118.932%20124.423C118.9%20124.624%20118.866%20124.822%20118.829%20125.018C118.795%20125.193%20118.761%20125.367%20118.725%20125.538C118.688%20125.71%20118.648%20125.884%20118.605%20126.06C118.556%20126.262%20118.504%20126.461%20118.449%20126.657C118.406%20126.811%20118.363%20126.964%20118.316%20127.115C118.244%20127.349%20118.168%20127.577%20118.088%20127.804C118.044%20127.928%20118.001%20128.053%20117.956%20128.175C117.811%20128.557%20117.657%20128.928%20117.488%20129.284C117.357%20129.561%20117.221%20129.832%20117.077%20130.092C117.061%20130.121%20117.042%20130.148%20117.027%20130.177C116.895%20130.412%20116.758%20130.64%20116.616%20130.862C116.582%20130.915%20116.545%20130.966%20116.506%20131.02C116.386%20131.199%20116.263%20131.375%20116.136%20131.546C116.084%20131.616%20116.031%20131.686%20115.978%20131.755C115.855%20131.913%20115.729%20132.067%20115.6%20132.216C115.552%20132.273%20115.504%20132.327%20115.455%20132.385C115.279%20132.582%20115.097%20132.774%20114.91%20132.956C114.881%20132.983%20114.85%20133.01%20114.821%20133.038C114.66%20133.191%20114.495%20133.339%20114.327%20133.481C114.264%20133.533%20114.2%20133.584%20114.137%20133.635C113.989%20133.753%20113.841%20133.866%20113.693%20133.975C113.63%20134.02%20113.568%20134.067%20113.504%20134.11C113.292%20134.255%20113.077%20134.395%20112.855%20134.524L123.549%20128.314C123.771%20128.185%20123.986%20128.045%20124.199%20127.9C124.264%20127.857%20124.326%20127.81%20124.388%20127.765C124.539%20127.656%20124.687%20127.543%20124.831%20127.425C124.895%20127.374%20124.959%20127.323%20125.021%20127.271C125.19%20127.129%20125.356%20126.982%20125.518%20126.828C125.547%20126.801%20125.577%20126.776%20125.604%20126.748C125.792%20126.566%20125.974%20126.374%20126.15%20126.177C126.199%20126.121%20126.246%20126.066%20126.295%20126.007C126.424%20125.859%20126.55%20125.706%20126.673%20125.546C126.727%20125.477%20126.784%20125.407%20126.832%20125.337C126.958%20125.167%20127.081%20124.991%20127.2%20124.812C127.236%20124.759%20127.272%20124.707%20127.311%20124.653L127.344%20124.604C127.475%20124.399%20127.598%20124.186%20127.72%20123.971C127.737%20123.941%20127.756%20123.915%20127.772%20123.885C127.911%20123.633%20128.044%20123.375%20128.17%20123.108L128.184%20123.076C128.352%20122.72%20128.506%20122.349%20128.652%20121.967C128.665%20121.933%20128.68%20121.902%20128.694%20121.868C128.726%20121.78%20128.753%20121.686%20128.784%20121.597C128.863%20121.375%20128.941%20121.141%20129.013%20120.907C129.033%20120.843%20129.056%20120.783%20129.075%20120.719C129.101%20120.632%20129.121%20120.539%20129.145%20120.451C129.2%20120.255%20129.252%20120.056%20129.301%20119.854C129.321%20119.769%20129.347%20119.691%20129.366%20119.605C129.385%20119.52%20129.401%20119.423%20129.42%20119.334C129.457%20119.161%20129.492%20118.987%20129.525%20118.811C129.543%20118.719%20129.564%20118.631%20129.581%20118.537C129.598%20118.444%20129.612%20118.323%20129.629%20118.218C129.653%20118.062%20129.677%20117.904%20129.7%20117.745C129.711%20117.661%20129.726%20117.582%20129.736%20117.497C129.753%20117.362%20129.764%20117.221%20129.779%20117.085C129.795%20116.948%20129.813%20116.785%20129.826%20116.632C129.832%20116.57%20129.84%20116.51%20129.845%20116.448C129.861%20116.249%20129.87%20116.041%20129.883%20115.837C129.889%20115.726%20129.898%20115.615%20129.904%20115.505C129.904%20115.477%20129.904%20115.45%20129.904%20115.422C129.918%20115.077%20129.927%20114.726%20129.928%20114.37V114.308L129.991%2091.9753C130.002%2091.6331%20130.003%2091.2978%20129.993%2090.9695Z'%20fill='%230B0E11'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_302_6100'%20x1='68.0078'%20y1='92.449'%20x2='102.417'%20y2='92.449'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23313131'/%3e%3cstop%20offset='1'%20stop-color='%230B0E11'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_302_6100'%20x1='50.0001'%20y1='94.977'%20x2='113.22'%20y2='94.977'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%234E4E4E'/%3e%3cstop%20offset='1'%20stop-color='%230B0E11'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";function Ct(e){const t=[],n=/!\[([^\]]*)\]\(([^)]+)\)|\[([^\]]*)\]\(([^)]+)\)|(https?:\/\/[^\s<>]+)|\*\*(.+?)\*\*|__(.+?)__|\*(.+?)\*|_(.+?)_|~~(.+?)~~|`([^`]+)`/g;let o=0,s;for(;(s=n.exec(e))!==null;)s.index>o&&t.push(e.slice(o,s.index)),s[1]!==void 0||s[2]!==void 0?t.push(P.jsx("img",{src:s[2],alt:s[1],className:"mc-image",onError:a=>{const r=a.target;r.src=ji}},s.index)):s[3]!==void 0?t.push(P.jsx("a",{href:s[4],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:s[3]},s.index)):s[5]!==void 0?t.push(P.jsx("a",{href:s[5],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:s[5]},s.index)):s[6]!==void 0?t.push(P.jsx("strong",{children:Ct(s[6])},s.index)):s[7]!==void 0?t.push(P.jsx("strong",{children:Ct(s[7])},s.index)):s[8]!==void 0?t.push(P.jsx("em",{children:Ct(s[8])},s.index)):s[9]!==void 0?t.push(P.jsx("em",{children:Ct(s[9])},s.index)):s[10]!==void 0?t.push(P.jsx("del",{children:Ct(s[10])},s.index)):s[11]!==void 0&&t.push(P.jsx("code",{className:"mc-inline-code",children:s[11]},s.index)),o=s.index+s[0].length;return o<e.length&&t.push(e.slice(o)),t.length>0?t:[e]}const qi=({content:e})=>{const t=e.split(`
104
104
  `),n=[];let o=0;for(;o<t.length;){const s=t[o];if(s.trimStart().startsWith("```")){const r=s.trimStart().slice(3)?.trim(),i=[];for(o++;o<t.length&&!t[o].trimStart().startsWith("```");)i.push(t[o]),o++;n.push(P.jsxs("div",{className:"mc-codeblock",children:[r&&P.jsx("div",{className:"mc-codeblock-lang",children:r}),P.jsx("pre",{children:P.jsx("code",{children:i.join(`
105
- `)})})]},`code-${o}`)),o++;continue}if(/^(\s*[-*_]\s*){3,}$/.test(s)){n.push(P.jsx("hr",{className:"mc-hr"},`hr-${o}`)),o++;continue}const a=s.match(/^(#{1,3})\s+(.+)/);if(a){const r=a[1].length,i=a[2];n.push(P.jsx("div",{className:`mc-heading mc-h${r}`,children:Ct(i)},`h-${o}`)),o++;continue}if(s.trimStart().startsWith("> ")){const r=[];for(;o<t.length&&t[o].trimStart().startsWith("> ");)r.push(t[o].replace(/^\s*>\s?/,"")),o++;n.push(P.jsx("div",{className:"mc-blockquote",children:r.map((i,l)=>P.jsx("div",{children:Ct(i)},l))},`bq-${o}`));continue}if(s?.trim()===""){n.push(P.jsx("div",{className:"mc-empty-line"},`empty-${o}`)),o++;continue}n.push(P.jsx("div",{className:"mc-line",children:Ct(s)},`line-${o}`)),o++}return P.jsx("div",{className:"message-content",children:n})},Qi={send_native:{label:"actionSendNativeLabel",description:"actionSendNativeDesc",fields:[{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_token:{label:"actionSendTokenLabel",description:"actionSendTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},swap_token:{label:"actionSwapTokenLabel",description:"actionSwapTokenDesc",fields:[{key:"token_in",label:"fieldTokenIn",type:"address",placeholder:"0x... or native",required:!0,editable:!1},{key:"token_in_symbol",label:"fieldTokenInSymbol",type:"text",placeholder:"e.g. ETH",required:!1,editable:!1},{key:"token_out",label:"fieldTokenOut",type:"address",placeholder:"0x...",required:!0,editable:!1},{key:"token_out_symbol",label:"fieldTokenOutSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"token_in_decimals",label:"fieldTokenInDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"token_out_decimals",label:"fieldTokenOutDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},approve_token:{label:"actionApproveTokenLabel",description:"actionApproveTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"spender_address",label:"fieldSpenderAddress",type:"address",placeholder:"0x... spender contract",required:!0,validation:"address",editable:!1},{key:"amount",label:"fieldAmountUnlimited",type:"amount",placeholder:"0.0 or leave empty for max",required:!1,validation:"amount"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},wrap_native:{label:"actionWrapNativeLabel",description:"actionWrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},unwrap_native:{label:"actionUnwrapNativeLabel",description:"actionUnwrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_nft:{label:"actionSendNftLabel",description:"actionSendNftDesc",fields:[{key:"contract_address",label:"fieldNftContract",type:"address",placeholder:"0x... NFT contract",required:!0,validation:"address",editable:!1},{key:"token_id",label:"fieldTokenId",type:"text",placeholder:"e.g. 1234",required:!0,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"token_standard",label:"fieldTokenStandard",type:"text",placeholder:"ERC721 or ERC1155",required:!0,editable:!1},{key:"amount",label:"fieldAmount",type:"text",placeholder:"1",required:!0},{key:"maxAmount",label:"fieldMaxAmount",type:"text",placeholder:"",required:!1,editable:!1,hidden:!0},{key:"nft_name",label:"fieldNftName",type:"text",placeholder:"e.g. Bored Ape #1234",required:!1,editable:!1}]}};function Xi(e){return Me(e)}function uo(e){if(!e||e?.trim()==="")return!1;const t=parseFloat(e);return!isNaN(t)&&t>0}const Ki=({action:e,initialValues:t,onSubmit:n,onCancel:o,isSubmitting:s=!1,tokenInfo:a,nftInfo:r})=>{const{t:i,ti:l}=Nn(),k=Qi[e],[O,Y]=te.useState(()=>{if(!k)return{};const N={};return k.fields.forEach(W=>{N[W.key]=t[W.key]||""}),N}),[g]=te.useState(()=>["send_native","send_token","swap_token"].includes(e)&&!a&&O.contract_address?i("formTokenNotFound"):null),[A,y]=te.useState(()=>{const N={};if(["send_native","send_token","swap_token"].includes(e)&&a){const z=parseFloat(a.balanceFormatted||"0");if(z<=0)N.amount=l("formNoBalance",{symbol:a.symbol??""});else{const he=t.amount?.trim();he&&uo(he)&&parseFloat(he)>z&&(N.amount=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}}return N}),T=te.useCallback((N,W)=>{Y(z=>({...z,[N]:W})),A[N]&&y(z=>{const he={...z};return delete he[N],he})},[A]),B=te.useCallback(()=>{if(!k)return!1;const N={};if(k.fields.forEach(W=>{const z=O[W.key]?.trim()||"";if(W.required&&!z&&!(e==="send_nft"&&W.key==="amount")){N[W.key]=l("formFieldRequired",{field:i(W.label)});return}if(z){if(W.validation==="address"&&!Xi(z)&&(N[W.key]=i("formInvalidAddress")),W.validation==="amount"&&!uo(z)&&(N[W.key]=i("formMustBePositive")),W.key==="amount"&&z&&uo(z)&&a?.balanceFormatted){const he=parseFloat(z),ge=parseFloat(a.balanceFormatted);he>ge&&(N[W.key]=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}W.validation==="positive_number"&&(isNaN(Number(z))||Number(z)<0)&&(N[W.key]=i("formMustBeValidNumber"))}}),e==="send_nft"&&O.token_standard?.toUpperCase()==="ERC1155"){const W=O.amount?.trim();if(!W)N.amount=l("formFieldRequired",{field:i("fieldAmount")});else if(!/^\d+$/.test(W)||parseInt(W,10)<1)N.amount=i("formMustBePositiveInteger");else{const z=parseInt(t.maxAmount||"0",10);z>0&&parseInt(W,10)>z&&(N.amount=l("formAmountExceedsNft",{max:String(z)}))}}return y(N),Object.keys(N).length===0},[k,O,a,e,t,i,l]),ve=te.useCallback(()=>{B()&&n(e,O)},[B,n,e,O]);return k?P.jsxs("div",{className:"action-form",children:[P.jsx("div",{className:"action-form-title",children:P.jsx("span",{children:i(k.label)})}),g&&P.jsxs("div",{className:"action-form-general-error",children:["⚠️ ",g]}),a&&P.jsx("div",{className:"action-form-token-info",children:P.jsxs("div",{className:"token-info-row",children:[a.logo&&P.jsx("img",{src:a.logo,alt:a.symbol,className:"token-info-logo",width:20,height:20}),P.jsxs("div",{className:"token-info-details",children:[P.jsxs("span",{className:"token-info-name",children:[a.name," (",a.symbol,")"]}),P.jsxs("span",{className:"token-info-balance",children:[i("spendable"),": ",ie(a.balanceFormatted).decimalPlaces(8,ie.ROUND_DOWN).toFormat()," ",a.symbol,a.usdValue!==void 0&&P.jsxs("span",{className:"token-info-usd",children:[" ","≈ $",a.usdValue.toFixed(2)]})]})]})]})}),r?.image&&P.jsx("div",{className:"action-form-nft-info",children:P.jsx("img",{src:r.image,alt:r.name,className:"nft-info-image",onError:N=>{N.target.style.display="none"}})}),P.jsx("div",{className:"action-form-fields",children:k.fields.map(N=>N.hidden||N.key==="amount"&&e==="send_nft"&&O.token_standard?.toUpperCase()!=="ERC1155"?null:P.jsxs("div",{className:"action-form-field",children:[P.jsxs("div",{className:"action-form-field-header",children:[P.jsxs("div",{className:"action-form-field-label",children:[i(N.label),N.required&&" *"]}),N.key==="amount"&&a&&e!=="send_nft"&&P.jsxs("div",{className:"action-form-pct-btns",children:[[25,50,75].map(W=>P.jsxs("button",{type:"button",className:"action-form-pct-btn",onClick:()=>T("amount",(parseFloat(a.balanceFormatted)*W/100).toString()),disabled:s,children:[W,"%"]},W)),P.jsx("button",{type:"button",className:"action-form-pct-btn action-form-max-btn",onClick:()=>T("amount",a.balanceFormatted),disabled:s,children:"MAX"})]})]}),(()=>{const W=N.editable===!1&&!!t[N.key],z=s||W,he=[A[N.key]?"error":"",W?"readonly":""].filter(Boolean).join(" ");return N.type==="address"?P.jsx("textarea",{rows:2,placeholder:N.placeholder,value:O[N.key]||"",onChange:ge=>T(N.key,ge.target.value),className:he,disabled:z}):P.jsx("input",{type:N.type==="number"?"number":"text",placeholder:N.placeholder,value:O[N.key]||"",onChange:ge=>T(N.key,ge.target.value),className:he,disabled:z})})(),A[N.key]&&P.jsx("span",{className:"field-error",children:A[N.key]})]},N.key))}),P.jsxs("div",{className:"action-form-actions",children:[P.jsx("button",{className:"message-button",onClick:o,type:"button",disabled:s,children:i("formCancel")}),P.jsx("button",{className:"message-button",onClick:ve,type:"button",disabled:s,children:i(s?"formProcessing":"formExecute")})]})]}):null},Zi=({scrollContainerRef:e,threshold:t=200})=>{const[n,o]=te.useState(!1);te.useEffect(()=>{const a=e.current;if(!a)return;const r=()=>{const{scrollTop:i,scrollHeight:l,clientHeight:k}=a,O=l-i-k;o(O>t)};return a.addEventListener("scroll",r,{passive:!0}),r(),()=>{a.removeEventListener("scroll",r)}},[e,t]);const s=()=>{e.current?.scrollTo({top:e.current.scrollHeight,behavior:"smooth"})};return n?P.jsx("button",{className:"scroll-to-bottom-btn",onClick:s,"aria-label":"Scroll to bottom",type:"button",children:P.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",children:P.jsx("path",{d:"M9 3V15M9 15L4 10M9 15L14 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}):null};function _i(e){const{walletAddress:t,chainName:n,chainId:o,nativeSymbol:s,walletTokens:a,walletNfts:r}=e;if(!t)return`You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.
105
+ `)})})]},`code-${o}`)),o++;continue}if(/^(\s*[-*_]\s*){3,}$/.test(s)){n.push(P.jsx("hr",{className:"mc-hr"},`hr-${o}`)),o++;continue}const a=s.match(/^(#{1,3})\s+(.+)/);if(a){const r=a[1].length,i=a[2];n.push(P.jsx("div",{className:`mc-heading mc-h${r}`,children:Ct(i)},`h-${o}`)),o++;continue}if(s.trimStart().startsWith("> ")){const r=[];for(;o<t.length&&t[o].trimStart().startsWith("> ");)r.push(t[o].replace(/^\s*>\s?/,"")),o++;n.push(P.jsx("div",{className:"mc-blockquote",children:r.map((i,l)=>P.jsx("div",{children:Ct(i)},l))},`bq-${o}`));continue}if(s?.trim()===""){n.push(P.jsx("div",{className:"mc-empty-line"},`empty-${o}`)),o++;continue}n.push(P.jsx("div",{className:"mc-line",children:Ct(s)},`line-${o}`)),o++}return P.jsx("div",{className:"message-content",children:n})},Qi={send_native:{label:"actionSendNativeLabel",description:"actionSendNativeDesc",fields:[{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_token:{label:"actionSendTokenLabel",description:"actionSendTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},swap_token:{label:"actionSwapTokenLabel",description:"actionSwapTokenDesc",fields:[{key:"token_in",label:"fieldTokenIn",type:"address",placeholder:"0x... or native",required:!0,editable:!1},{key:"token_in_symbol",label:"fieldTokenInSymbol",type:"text",placeholder:"e.g. ETH",required:!1,editable:!1},{key:"token_out",label:"fieldTokenOut",type:"address",placeholder:"0x...",required:!0,editable:!1},{key:"token_out_symbol",label:"fieldTokenOutSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"token_in_decimals",label:"fieldTokenInDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"token_out_decimals",label:"fieldTokenOutDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},approve_token:{label:"actionApproveTokenLabel",description:"actionApproveTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"spender_address",label:"fieldSpenderAddress",type:"address",placeholder:"0x... spender contract",required:!0,validation:"address",editable:!1},{key:"amount",label:"fieldAmountUnlimited",type:"amount",placeholder:"0.0 or leave empty for max",required:!1,validation:"amount"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},wrap_native:{label:"actionWrapNativeLabel",description:"actionWrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},unwrap_native:{label:"actionUnwrapNativeLabel",description:"actionUnwrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_nft:{label:"actionSendNftLabel",description:"actionSendNftDesc",fields:[{key:"contract_address",label:"fieldNftContract",type:"address",placeholder:"0x... NFT contract",required:!0,validation:"address",editable:!1},{key:"token_id",label:"fieldTokenId",type:"text",placeholder:"e.g. 1234",required:!0,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"token_standard",label:"fieldTokenStandard",type:"text",placeholder:"ERC721 or ERC1155",required:!0,editable:!1},{key:"amount",label:"fieldAmount",type:"text",placeholder:"1",required:!0},{key:"maxAmount",label:"fieldMaxAmount",type:"text",placeholder:"",required:!1,editable:!1,hidden:!0},{key:"nft_name",label:"fieldNftName",type:"text",placeholder:"e.g. Bored Ape #1234",required:!1,editable:!1}]}};function Xi(e){return Me(e)}function uo(e){if(!e||e?.trim()==="")return!1;const t=parseFloat(e);return!isNaN(t)&&t>0}const Ki=({action:e,initialValues:t,onSubmit:n,onCancel:o,isSubmitting:s=!1,tokenInfo:a,nftInfo:r})=>{const{t:i,ti:l}=Nn(),k=Qi[e],[D,Y]=te.useState(()=>{if(!k)return{};const N={};return k.fields.forEach(W=>{N[W.key]=t[W.key]||""}),N}),[g]=te.useState(()=>["send_native","send_token","swap_token"].includes(e)&&!a&&D.contract_address?i("formTokenNotFound"):null),[A,y]=te.useState(()=>{const N={};if(["send_native","send_token","swap_token"].includes(e)&&a){const J=parseFloat(a.balanceFormatted||"0");if(J<=0)N.amount=l("formNoBalance",{symbol:a.symbol??""});else{const he=t.amount?.trim();he&&uo(he)&&parseFloat(he)>J&&(N.amount=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}}return N}),T=te.useCallback((N,W)=>{Y(J=>({...J,[N]:W})),A[N]&&y(J=>{const he={...J};return delete he[N],he})},[A]),B=te.useCallback(()=>{if(!k)return!1;const N={};if(k.fields.forEach(W=>{const J=D[W.key]?.trim()||"";if(W.required&&!J&&!(e==="send_nft"&&W.key==="amount")){N[W.key]=l("formFieldRequired",{field:i(W.label)});return}if(J){if(W.validation==="address"&&!Xi(J)&&(N[W.key]=i("formInvalidAddress")),W.validation==="amount"&&!uo(J)&&(N[W.key]=i("formMustBePositive")),W.key==="amount"&&J&&uo(J)&&a?.balanceFormatted){const he=parseFloat(J),ge=parseFloat(a.balanceFormatted);he>ge&&(N[W.key]=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}W.validation==="positive_number"&&(isNaN(Number(J))||Number(J)<0)&&(N[W.key]=i("formMustBeValidNumber"))}}),e==="send_nft"&&D.token_standard?.toUpperCase()==="ERC1155"){const W=D.amount?.trim();if(!W)N.amount=l("formFieldRequired",{field:i("fieldAmount")});else if(!/^\d+$/.test(W)||parseInt(W,10)<1)N.amount=i("formMustBePositiveInteger");else{const J=parseInt(t.maxAmount||"0",10);J>0&&parseInt(W,10)>J&&(N.amount=l("formAmountExceedsNft",{max:String(J)}))}}return y(N),Object.keys(N).length===0},[k,D,a,e,t,i,l]),ve=te.useCallback(()=>{B()&&n(e,D)},[B,n,e,D]);return k?P.jsxs("div",{className:"action-form",children:[P.jsx("div",{className:"action-form-title",children:P.jsx("span",{children:i(k.label)})}),g&&P.jsxs("div",{className:"action-form-general-error",children:["⚠️ ",g]}),a&&P.jsx("div",{className:"action-form-token-info",children:P.jsxs("div",{className:"token-info-row",children:[a.logo&&P.jsx("img",{src:a.logo,alt:a.symbol,className:"token-info-logo",width:20,height:20}),P.jsxs("div",{className:"token-info-details",children:[P.jsxs("span",{className:"token-info-name",children:[a.name," (",a.symbol,")"]}),P.jsxs("span",{className:"token-info-balance",children:[i("spendable"),": ",ie(a.balanceFormatted).decimalPlaces(8,ie.ROUND_DOWN).toFormat()," ",a.symbol,a.usdValue!==void 0&&P.jsxs("span",{className:"token-info-usd",children:[" ","≈ $",a.usdValue.toFixed(2)]})]})]})]})}),r?.image&&P.jsx("div",{className:"action-form-nft-info",children:P.jsx("img",{src:r.image,alt:r.name,className:"nft-info-image",onError:N=>{N.target.style.display="none"}})}),P.jsx("div",{className:"action-form-fields",children:k.fields.map(N=>N.hidden||N.key==="amount"&&e==="send_nft"&&D.token_standard?.toUpperCase()!=="ERC1155"?null:P.jsxs("div",{className:"action-form-field",children:[P.jsxs("div",{className:"action-form-field-header",children:[P.jsxs("div",{className:"action-form-field-label",children:[i(N.label),N.required&&" *"]}),N.key==="amount"&&a&&e!=="send_nft"&&P.jsxs("div",{className:"action-form-pct-btns",children:[[25,50,75].map(W=>P.jsxs("button",{type:"button",className:"action-form-pct-btn",onClick:()=>T("amount",(parseFloat(a.balanceFormatted)*W/100).toString()),disabled:s,children:[W,"%"]},W)),P.jsx("button",{type:"button",className:"action-form-pct-btn action-form-max-btn",onClick:()=>T("amount",a.balanceFormatted),disabled:s,children:"MAX"})]})]}),(()=>{const W=N.editable===!1&&!!t[N.key],J=s||W,he=[A[N.key]?"error":"",W?"readonly":""].filter(Boolean).join(" ");return N.type==="address"?P.jsx("textarea",{rows:2,placeholder:N.placeholder,value:D[N.key]||"",onChange:ge=>T(N.key,ge.target.value),className:he,disabled:J}):P.jsx("input",{type:N.type==="number"?"number":"text",placeholder:N.placeholder,value:D[N.key]||"",onChange:ge=>T(N.key,ge.target.value),className:he,disabled:J})})(),A[N.key]&&P.jsx("span",{className:"field-error",children:A[N.key]})]},N.key))}),P.jsxs("div",{className:"action-form-actions",children:[P.jsx("button",{className:"message-button",onClick:o,type:"button",disabled:s,children:i("formCancel")}),P.jsx("button",{className:"message-button",onClick:ve,type:"button",disabled:s,children:i(s?"formProcessing":"formExecute")})]})]}):null},Zi=({scrollContainerRef:e,threshold:t=200})=>{const[n,o]=te.useState(!1);te.useEffect(()=>{const a=e.current;if(!a)return;const r=()=>{const{scrollTop:i,scrollHeight:l,clientHeight:k}=a,D=l-i-k;o(D>t)};return a.addEventListener("scroll",r,{passive:!0}),r(),()=>{a.removeEventListener("scroll",r)}},[e,t]);const s=()=>{e.current?.scrollTo({top:e.current.scrollHeight,behavior:"smooth"})};return n?P.jsx("button",{className:"scroll-to-bottom-btn",onClick:s,"aria-label":"Scroll to bottom",type:"button",children:P.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",children:P.jsx("path",{d:"M9 3V15M9 15L4 10M9 15L14 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}):null};function _i(e){const{walletAddress:t,chainName:n,chainId:o,nativeSymbol:s,walletTokens:a,walletNfts:r}=e;if(!t)return`You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.
106
106
  The user is currently NOT connected to any wallet.
107
107
 
108
108
  ## YOUR ROLE:
@@ -160,12 +160,12 @@ Always respond with a valid JSON object:
160
160
  - ALWAYS respond with raw JSON only, never wrap in \`\`\`json code blocks
161
161
  - **CRITICAL - LANGUAGE**: Always respond in the SAME language the user writes in. English → English. Vietnamese → Vietnamese. NEVER use Chinese or any other language unless the user wrote in that language.`;const i=a&&a.length>0?`
162
162
  ## USER'S CURRENT WALLET BALANCE:
163
- ${a.map(k=>{const O=k.usd_value!==void 0?` (~$${k.usd_value.toFixed(2)})`:"";return`- ${k.name} (${k.symbol}): ${k.balance_formatted}${O}${k.native_token?" [native]":` [${k.token_address}]`}`}).join(`
163
+ ${a.map(k=>{const D=k.usd_value!==void 0?` (~$${k.usd_value.toFixed(2)})`:"";return`- ${k.name} (${k.symbol}): ${k.balance_formatted}${D}${k.native_token?" [native]":` [${k.token_address}]`}`}).join(`
164
164
  `)}
165
165
  Use this balance data to accurately answer balance questions and to pre-fill token parameters in actions (contract_address, decimals, symbol). NEVER ask the user to provide token info that is already available above.
166
166
  `:"",l=r&&r.length>0?`
167
167
  ## USER'S NFT COLLECTION:
168
- ${r.map(k=>{const O=k.contract_type==="ERC1155"?` (x${k.amount})`:"";return`- ${k.name}${O} | ${k.contract_type} | contract: ${k.token_address} | tokenId: ${k.token_id}`}).join(`
168
+ ${r.map(k=>{const D=k.contract_type==="ERC1155"?` (x${k.amount})`:"";return`- ${k.name}${D} | ${k.contract_type} | contract: ${k.token_address} | tokenId: ${k.token_id}`}).join(`
169
169
  `)}
170
170
  When the user wants to send an NFT by name, use this data to fill contract_address, token_id, token_standard, and nft_name accurately. NEVER guess or fabricate NFT contract addresses.
171
171
  `:"";return`You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.
@@ -400,8 +400,8 @@ User: "do it again but with 2 ETH"
400
400
  Response: {"action":"swap_token","message":"<friendly explanation>","parameters":{"token_in":"native","token_in_symbol":"${s}","token_in_decimals":"18","token_out":"<actual USDC address on current chain>","token_out_symbol":"USDC","token_out_decimals":"6","amount":"2"}}
401
401
 
402
402
  User: "swap token" or "I want to swap" or "đổi token" (no specific tokens mentioned)
403
- Response: {"action":"swap_token","message":"<friendly explanation, e.g. Which token would you like to swap?>","parameters":{"token_in":"","token_in_symbol":"","token_in_decimals":"","token_out":"","token_out_symbol":"","token_out_decimals":"","amount":""}}`}const Es={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},vn=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"approve",type:"function",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"allowance",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]}],Ss=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],$i=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],ec=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];function sn(e,t){return t||ct[e]?.rpcUrls?.default?.http?.[0]}function tc(e){const{action:t,parameters:n,fromAddress:o,chainId:s}=e;switch(t){case"send_native":return nc(n,o,s);case"send_token":return oc(n,o,s);case"approve_token":return sc(n,o,s);case"wrap_native":return ac(n,o,s);case"unwrap_native":return rc(n,o,s);case"send_nft":return cc(n,o,s);default:throw new Error(`Action "${t}" does not produce a transaction`)}}function nc(e,t,n){const{to_address:o,amount:s}=e;if(!o)throw new Error("Recipient address is required");if(!s)throw new Error("Amount is required");const a=mt(s,18).toString();return{from:t,to:o,data:"0x",value:a,chainId:n,description:`Send ${s} native token to ${o}`}}function oc(e,t,n){const{contract_address:o,to_address:s,amount:a,decimals:r,token_symbol:i}=e;if(!o)throw new Error("Token contract address is required");if(!s)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const l=parseInt(r)||18,k=mt(a,l),O=vt({abi:vn,functionName:"transfer",args:[s,k]});return{from:t,to:o,data:O,value:"0",chainId:n,description:`Send ${a} ${i||"tokens"} to ${s}`}}function sc(e,t,n){const{contract_address:o,spender_address:s,amount:a,token_symbol:r}=e;if(!o)throw new Error("Token contract address is required");if(!s)throw new Error("Spender address is required");const i=a&&a?.trim()!==""?mt(a,18):Wt,l=vt({abi:vn,functionName:"approve",args:[s,i]});return{from:t,to:o,data:l,value:"0",chainId:n,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${s}`}}function ac(e,t,n){const{amount:o}=e;if(!o)throw new Error("Amount is required");const s=Es[n];if(!s)throw new Error(`WETH not supported on chain ${n}`);const a=mt(o,18).toString(),r=vt({abi:Ss,functionName:"deposit"});return{from:t,to:s,data:r,value:a,chainId:n,description:`Wrap ${o} native token`}}function rc(e,t,n){const{amount:o}=e;if(!o)throw new Error("Amount is required");const s=Es[n];if(!s)throw new Error(`WETH not supported on chain ${n}`);const a=mt(o,18),r=vt({abi:Ss,functionName:"withdraw",args:[a]});return{from:t,to:s,data:r,value:"0",chainId:n,description:`Unwrap ${o} WETH`}}function ic(e){return["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(e)}async function fo(e){const{transactionHash:t,chainId:n,pollingInterval:o=3e3,timeout:s=12e4,rpcUrl:a}=e,r=sn(n,a);if(!r)throw new Error(`No RPC endpoint for chain ${n}`);const i=Date.now();for(;Date.now()-i<s;){try{const k=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[t]})})).json();if(k.result){const O=k.result;return{status:O.status==="0x1"?"success":"fail",blockNumber:O.blockNumber,gasUsed:O.gasUsed,effectiveGasPrice:O.effectiveGasPrice}}}catch(l){console.warn("eth_getTransactionReceipt poll error:",l)}await new Promise(l=>setTimeout(l,o))}throw new Error(`Transaction ${t} was not mined within ${s/1e3}s`)}async function po(e){const{tokenAddress:t,ownerAddress:n,spenderAddress:o,chainId:s,rpcUrl:a}=e,r=sn(s,a);if(!r)return console.warn(`No RPC endpoint for chain ${s}, assuming no allowance`),BigInt(0);try{const i=vt({abi:vn,functionName:"allowance",args:[n,o]}),k=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:t,data:i},"latest"]})})).json();return k.result&&k.result!=="0x"?BigInt(k.result):BigInt(0)}catch(i){return console.warn("checkAllowance failed:",i),BigInt(0)}}function Tn(e){const{tokenAddress:t,spenderAddress:n,fromAddress:o,chainId:s,tokenSymbol:a}=e,r=vt({abi:vn,functionName:"approve",args:[n,Wt]});return{from:o,to:t,data:r,value:"0",chainId:s,description:`Approve ${a||"token"} for swap`}}function cc(e,t,n){const{contract_address:o,token_id:s,to_address:a,token_standard:r,amount:i,nft_name:l}=e;if(!o)throw new Error("NFT contract address is required");if(!s)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const k=(r||"ERC721").toUpperCase(),O=BigInt(s);let Y,g;if(k==="ERC1155"){const A=BigInt(i||"1");Y=vt({abi:ec,functionName:"safeTransferFrom",args:[t,a,O,A,"0x"]}),g=`Send ${A>1n?A.toString()+"x ":""}${l||"NFT"} (ERC1155 #${s}) to ${a}`}else Y=vt({abi:$i,functionName:"safeTransferFrom",args:[t,a,O]}),g=`Send ${l||"NFT"} (ERC721 #${s}) to ${a}`;return{from:t,to:o,data:Y,value:"0",chainId:n,description:g}}async function Cn(e){const{address:t,chainId:n,rpcUrl:o}=e,s=sn(n,o);if(!s)return console.warn(`No RPC endpoint for chain ${n}`),new ie(0);try{const r=await(await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[t,"latest"]})})).json();return r.result&&r.result!=="0x"?new ie(BigInt(r.result).toString()):new ie(0)}catch(a){return console.warn("getNativeBalance failed:",a),new ie(0)}}async function an(e){const{from:t,to:n,data:o,value:s,chainId:a,rpcUrl:r}=e,i=sn(a,r);if(!i)return console.warn(`No RPC endpoint for chain ${a}`),new ie(0);try{const[l,k]=await Promise.all([fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:t,to:n,data:o,...s&&s!=="0"?{value:s}:{}}]})}),fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[O,Y]=await Promise.all([l.json(),k.json()]),g=O.result?new ie(BigInt(O.result).toString()):new ie(0),A=Y.result?new ie(BigInt(Y.result).toString()):new ie(0);return g.times(A).times(1.1)}catch(l){return console.warn("estimateTransactionFee failed:",l),new ie(0)}}async function mo(e){const{chainId:t,rpcUrl:n}=e,o=sn(t,n);if(!o)return console.warn(`No RPC endpoint for chain ${t}`),new ie(0);try{const a=await(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})})).json();return a.result&&a.result!=="0x"?new ie(BigInt(a.result).toString()):new ie(0)}catch(s){return console.warn("getGasPrice failed:",s),new ie(0)}}var se={},rn={exports:{}},lc=rn.exports,xs;function dc(){return xs||(xs=1,(function(e,t){(function(n,o){var s="1.0.41",a="",r="?",i="function",l="undefined",k="object",O="string",Y="major",g="model",A="name",y="type",T="vendor",B="version",ve="architecture",N="console",W="mobile",z="tablet",he="smarttv",ge="wearable",xe="embedded",c=500,d="Amazon",p="Apple",E="ASUS",u="BlackBerry",w="Browser",S="Chrome",h="Edge",b="Firefox",x="Google",I="Honor",F="Huawei",Q="Lenovo",ae="LG",ue="Microsoft",Ce="Motorola",Te="Nvidia",q="OnePlus",Ae="Opera",Ne="OPPO",Ye="Samsung",Xe="Sharp",Ke="Sony",We="Xiaomi",$e="Zebra",Fe="Facebook",Pe="Chromium OS",Ee="Mac OS",Pt=" Browser",Ot=function(U,v){var D={};for(var ee in U)v[ee]&&v[ee].length%2===0?D[ee]=v[ee].concat(U[ee]):D[ee]=U[ee];return D},gt=function(U){for(var v={},D=0;D<U.length;D++)v[U[D].toUpperCase()]=U[D];return v},wt=function(U,v){return typeof U===O?lt(v).indexOf(lt(U))!==-1:!1},lt=function(U){return U.toLowerCase()},R=function(U){return typeof U===O?U.replace(/[^\d\.]/g,a).split(".")[0]:o},X=function(U,v){if(typeof U===O)return U=U.replace(/^\s\s*/,a),typeof v===l?U:U.substring(0,c)},G=function(U,v){for(var D=0,ee,ne,fe,ce,M,j;D<v.length&&!M;){var oe=v[D],H=v[D+1];for(ee=ne=0;ee<oe.length&&!M&&oe[ee];)if(M=oe[ee++].exec(U),M)for(fe=0;fe<H.length;fe++)j=M[++ne],ce=H[fe],typeof ce===k&&ce.length>0?ce.length===2?typeof ce[1]==i?this[ce[0]]=ce[1].call(this,j):this[ce[0]]=ce[1]:ce.length===3?typeof ce[1]===i&&!(ce[1].exec&&ce[1].test)?this[ce[0]]=j?ce[1].call(this,j,ce[2]):o:this[ce[0]]=j?j.replace(ce[1],ce[2]):o:ce.length===4&&(this[ce[0]]=j?ce[3].call(this,j.replace(ce[1],ce[2])):o):this[ce]=j||o;D+=2}},Z=function(U,v){for(var D in v)if(typeof v[D]===k&&v[D].length>0){for(var ee=0;ee<v[D].length;ee++)if(wt(v[D][ee],U))return D===r?o:D}else if(wt(v[D],U))return D===r?o:D;return v.hasOwnProperty("*")?v["*"]:U},_={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},K={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},J={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[B,[A,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[B,[A,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[A,B],[/opios[\/ ]+([\w\.]+)/i],[B,[A,Ae+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[B,[A,Ae+" GX"]],[/\bopr\/([\w\.]+)/i],[B,[A,Ae]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[B,[A,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[B,[A,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[A,B],[/quark(?:pc)?\/([-\w\.]+)/i],[B,[A,"Quark"]],[/\bddg\/([\w\.]+)/i],[B,[A,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[B,[A,"UC"+w]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[B,[A,"WeChat"]],[/konqueror\/([\w\.]+)/i],[B,[A,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[B,[A,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[B,[A,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[B,[A,"Smart Lenovo "+w]],[/(avast|avg)\/([\w\.]+)/i],[[A,/(.+)/,"$1 Secure "+w],B],[/\bfocus\/([\w\.]+)/i],[B,[A,b+" Focus"]],[/\bopt\/([\w\.]+)/i],[B,[A,Ae+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[B,[A,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[B,[A,"Dolphin"]],[/coast\/([\w\.]+)/i],[B,[A,Ae+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[B,[A,"MIUI"+Pt]],[/fxios\/([\w\.-]+)/i],[B,[A,b]],[/\bqihoobrowser\/?([\w\.]*)/i],[B,[A,"360"]],[/\b(qq)\/([\w\.]+)/i],[[A,/(.+)/,"$1Browser"],B],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[A,/(.+)/,"$1"+Pt],B],[/samsungbrowser\/([\w\.]+)/i],[B,[A,Ye+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[B,[A,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[A,"Sogou Mobile"],B],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[A,B],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[A],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[B,A],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[A,Fe],B],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[A,B],[/\bgsa\/([\w\.]+) .*safari\//i],[B,[A,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[B,[A,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[B,[A,S+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[A,S+" WebView"],B],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[B,[A,"Android "+w]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[A,B],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[B,[A,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[B,A],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[A,[B,Z,_]],[/(webkit|khtml)\/([\w\.]+)/i],[A,B],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[A,"Netscape"],B],[/(wolvic|librewolf)\/([\w\.]+)/i],[A,B],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[B,[A,b+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[A,[B,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[A,[B,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[ve,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[ve,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[ve,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[ve,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[ve,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[ve,/ower/,a,lt]],[/ sun4\w[;\)]/i],[[ve,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[ve,lt]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[g,[T,Ye],[y,z]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[g,[T,Ye],[y,W]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[g,[T,p],[y,W]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[g,[T,p],[y,z]],[/(macintosh);/i],[g,[T,p]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[g,[T,Xe],[y,W]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[g,[T,I],[y,z]],[/honor([-\w ]+)[;\)]/i],[g,[T,I],[y,W]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[g,[T,F],[y,z]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[g,[T,F],[y,W]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[g,/_/g," "],[T,We],[y,z]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[g,/_/g," "],[T,We],[y,W]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[g,[T,Ne],[y,W]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[g,[T,Z,{OnePlus:["304","403","203"],"*":Ne}],[y,z]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[g,[T,"Vivo"],[y,W]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[g,[T,"Realme"],[y,W]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[g,[T,Ce],[y,W]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[g,[T,Ce],[y,z]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[g,[T,ae],[y,z]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[g,[T,ae],[y,W]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[g,[T,Q],[y,z]],[/(nokia) (t[12][01])/i],[T,g,[y,z]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[g,/_/g," "],[y,W],[T,"Nokia"]],[/(pixel (c|tablet))\b/i],[g,[T,x],[y,z]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[g,[T,x],[y,W]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[g,[T,Ke],[y,W]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[g,"Xperia Tablet"],[T,Ke],[y,z]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[g,[T,q],[y,W]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[g,[T,d],[y,z]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[g,/(.+)/g,"Fire Phone $1"],[T,d],[y,W]],[/(playbook);[-\w\),; ]+(rim)/i],[g,T,[y,z]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[g,[T,u],[y,W]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[g,[T,E],[y,z]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[g,[T,E],[y,W]],[/(nexus 9)/i],[g,[T,"HTC"],[y,z]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[T,[g,/_/g," "],[y,W]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[g,[T,"TCL"],[y,z]],[/(itel) ((\w+))/i],[[T,lt],g,[y,Z,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[g,[T,"Acer"],[y,z]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[g,[T,"Meizu"],[y,W]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[g,[T,"Ulefone"],[y,W]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[g,[T,"Energizer"],[y,W]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[g,[T,"Cat"],[y,W]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[g,[T,"Smartfren"],[y,W]],[/droid.+; (a(?:015|06[35]|142p?))/i],[g,[T,"Nothing"],[y,W]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[g,[T,"Archos"],[y,z]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[g,[T,"Archos"],[y,W]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[T,g,[y,z]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[T,g,[y,W]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[T,g,[y,z]],[/(surface duo)/i],[g,[T,ue],[y,z]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[g,[T,"Fairphone"],[y,W]],[/(u304aa)/i],[g,[T,"AT&T"],[y,W]],[/\bsie-(\w*)/i],[g,[T,"Siemens"],[y,W]],[/\b(rct\w+) b/i],[g,[T,"RCA"],[y,z]],[/\b(venue[\d ]{2,7}) b/i],[g,[T,"Dell"],[y,z]],[/\b(q(?:mv|ta)\w+) b/i],[g,[T,"Verizon"],[y,z]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[g,[T,"Barnes & Noble"],[y,z]],[/\b(tm\d{3}\w+) b/i],[g,[T,"NuVision"],[y,z]],[/\b(k88) b/i],[g,[T,"ZTE"],[y,z]],[/\b(nx\d{3}j) b/i],[g,[T,"ZTE"],[y,W]],[/\b(gen\d{3}) b.+49h/i],[g,[T,"Swiss"],[y,W]],[/\b(zur\d{3}) b/i],[g,[T,"Swiss"],[y,z]],[/\b((zeki)?tb.*\b) b/i],[g,[T,"Zeki"],[y,z]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[T,"Dragon Touch"],g,[y,z]],[/\b(ns-?\w{0,9}) b/i],[g,[T,"Insignia"],[y,z]],[/\b((nxa|next)-?\w{0,9}) b/i],[g,[T,"NextBook"],[y,z]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[T,"Voice"],g,[y,W]],[/\b(lvtel\-)?(v1[12]) b/i],[[T,"LvTel"],g,[y,W]],[/\b(ph-1) /i],[g,[T,"Essential"],[y,W]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[g,[T,"Envizen"],[y,z]],[/\b(trio[-\w\. ]+) b/i],[g,[T,"MachSpeed"],[y,z]],[/\btu_(1491) b/i],[g,[T,"Rotor"],[y,z]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[g,[T,Te],[y,z]],[/(sprint) (\w+)/i],[T,g,[y,W]],[/(kin\.[onetw]{3})/i],[[g,/\./g," "],[T,ue],[y,W]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[g,[T,$e],[y,z]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[g,[T,$e],[y,W]],[/smart-tv.+(samsung)/i],[T,[y,he]],[/hbbtv.+maple;(\d+)/i],[[g,/^/,"SmartTV"],[T,Ye],[y,he]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[T,ae],[y,he]],[/(apple) ?tv/i],[T,[g,p+" TV"],[y,he]],[/crkey/i],[[g,S+"cast"],[T,x],[y,he]],[/droid.+aft(\w+)( bui|\))/i],[g,[T,d],[y,he]],[/(shield \w+ tv)/i],[g,[T,Te],[y,he]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[g,[T,Xe],[y,he]],[/(bravia[\w ]+)( bui|\))/i],[g,[T,Ke],[y,he]],[/(mi(tv|box)-?\w+) bui/i],[g,[T,We],[y,he]],[/Hbbtv.*(technisat) (.*);/i],[T,g,[y,he]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[T,X],[g,X],[y,he]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[g,[y,he]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[y,he]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[T,g,[y,N]],[/droid.+; (shield)( bui|\))/i],[g,[T,Te],[y,N]],[/(playstation \w+)/i],[g,[T,Ke],[y,N]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[g,[T,ue],[y,N]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[g,[T,Ye],[y,ge]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[T,g,[y,ge]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[g,[T,Ne],[y,ge]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[g,[T,p],[y,ge]],[/(opwwe\d{3})/i],[g,[T,q],[y,ge]],[/(moto 360)/i],[g,[T,Ce],[y,ge]],[/(smartwatch 3)/i],[g,[T,Ke],[y,ge]],[/(g watch r)/i],[g,[T,ae],[y,ge]],[/droid.+; (wt63?0{2,3})\)/i],[g,[T,$e],[y,ge]],[/droid.+; (glass) \d/i],[g,[T,x],[y,ge]],[/(pico) (4|neo3(?: link|pro)?)/i],[T,g,[y,ge]],[/; (quest( \d| pro)?)/i],[g,[T,Fe],[y,ge]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[T,[y,xe]],[/(aeobc)\b/i],[g,[T,d],[y,xe]],[/(homepod).+mac os/i],[g,[T,p],[y,xe]],[/windows iot/i],[[y,xe]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[g,[y,W]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[g,[y,z]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[y,z]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[y,W]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[g,[T,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[B,[A,h+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[A,B],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[B,[A,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[A,B],[/ladybird\//i],[[A,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[B,A]],os:[[/microsoft (windows) (vista|xp)/i],[A,B],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[A,[B,Z,K]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[B,Z,K],[A,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[B,/_/g,"."],[A,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[A,Ee],[B,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[B,A],[/(ubuntu) ([\w\.]+) like android/i],[[A,/(.+)/,"$1 Touch"],B],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[A,B],[/\(bb(10);/i],[B,[A,u]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[B,[A,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[B,[A,b+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[B,[A,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[B,[A,"watchOS"]],[/crkey\/([\d\.]+)/i],[B,[A,S+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[A,Pe],B],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[A,B],[/(sunos) ?([\w\.\d]*)/i],[[A,"Solaris"],B],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[A,B]]},$=function(U,v){if(typeof U===k&&(v=U,U=o),!(this instanceof $))return new $(U,v).getResult();var D=typeof n!==l&&n.navigator?n.navigator:o,ee=U||(D&&D.userAgent?D.userAgent:a),ne=D&&D.userAgentData?D.userAgentData:o,fe=v?Ot(J,v):J,ce=D&&D.userAgent==ee;return this.getBrowser=function(){var M={};return M[A]=o,M[B]=o,G.call(M,ee,fe.browser),M[Y]=R(M[B]),ce&&D&&D.brave&&typeof D.brave.isBrave==i&&(M[A]="Brave"),M},this.getCPU=function(){var M={};return M[ve]=o,G.call(M,ee,fe.cpu),M},this.getDevice=function(){var M={};return M[T]=o,M[g]=o,M[y]=o,G.call(M,ee,fe.device),ce&&!M[y]&&ne&&ne.mobile&&(M[y]=W),ce&&M[g]=="Macintosh"&&D&&typeof D.standalone!==l&&D.maxTouchPoints&&D.maxTouchPoints>2&&(M[g]="iPad",M[y]=z),M},this.getEngine=function(){var M={};return M[A]=o,M[B]=o,G.call(M,ee,fe.engine),M},this.getOS=function(){var M={};return M[A]=o,M[B]=o,G.call(M,ee,fe.os),ce&&!M[A]&&ne&&ne.platform&&ne.platform!="Unknown"&&(M[A]=ne.platform.replace(/chrome os/i,Pe).replace(/macos/i,Ee)),M},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return ee},this.setUA=function(M){return ee=typeof M===O&&M.length>c?X(M,c):M,this},this.setUA(ee),this};$.VERSION=s,$.BROWSER=gt([A,B,Y]),$.CPU=gt([ve]),$.DEVICE=gt([g,T,y,N,W,he,z,ge,xe]),$.ENGINE=$.OS=gt([A,B]),e.exports&&(t=e.exports=$),t.UAParser=$;var pe=typeof n!==l&&(n.jQuery||n.Zepto);if(pe&&!pe.ua){var re=new $;pe.ua=re.getResult(),pe.ua.get=function(){return re.getUA()},pe.ua.set=function(U){re.setUA(U);var v=re.getResult();for(var D in v)pe.ua[D]=v[D]}}})(typeof window=="object"?window:lc)})(rn,rn.exports)),rn.exports}var Is;function uc(){if(Is)return se;Is=1,Object.defineProperty(se,"__esModule",{value:!0});function e(C){return C&&typeof C=="object"&&"default"in C?C.default:C}var t=te,n=e(t),o=dc(),s=new o,a=s.getBrowser(),r=s.getCPU(),i=s.getDevice(),l=s.getEngine(),k=s.getOS(),O=s.getUA(),Y=function(f){return s.setUA(f)},g=function(f){if(!f){console.error("No userAgent string was provided");return}var m=new o(f);return{UA:m,browser:m.getBrowser(),cpu:m.getCPU(),device:m.getDevice(),engine:m.getEngine(),os:m.getOS(),ua:m.getUA(),setUserAgent:function(V){return m.setUA(V)}}},A=Object.freeze({ClientUAInstance:s,browser:a,cpu:r,device:i,engine:l,os:k,ua:O,setUa:Y,parseUserAgent:g});function y(C,f){var m=Object.keys(C);if(Object.getOwnPropertySymbols){var L=Object.getOwnPropertySymbols(C);f&&(L=L.filter(function(V){return Object.getOwnPropertyDescriptor(C,V).enumerable})),m.push.apply(m,L)}return m}function T(C){for(var f=1;f<arguments.length;f++){var m=arguments[f]!=null?arguments[f]:{};f%2?y(Object(m),!0).forEach(function(L){z(C,L,m[L])}):Object.getOwnPropertyDescriptors?Object.defineProperties(C,Object.getOwnPropertyDescriptors(m)):y(Object(m)).forEach(function(L){Object.defineProperty(C,L,Object.getOwnPropertyDescriptor(m,L))})}return C}function B(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?B=function(f){return typeof f}:B=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},B(C)}function ve(C,f){if(!(C instanceof f))throw new TypeError("Cannot call a class as a function")}function N(C,f){for(var m=0;m<f.length;m++){var L=f[m];L.enumerable=L.enumerable||!1,L.configurable=!0,"value"in L&&(L.writable=!0),Object.defineProperty(C,L.key,L)}}function W(C,f,m){return f&&N(C.prototype,f),C}function z(C,f,m){return f in C?Object.defineProperty(C,f,{value:m,enumerable:!0,configurable:!0,writable:!0}):C[f]=m,C}function he(){return he=Object.assign||function(C){for(var f=1;f<arguments.length;f++){var m=arguments[f];for(var L in m)Object.prototype.hasOwnProperty.call(m,L)&&(C[L]=m[L])}return C},he.apply(this,arguments)}function ge(C,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(f&&f.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),f&&c(C,f)}function xe(C){return xe=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},xe(C)}function c(C,f){return c=Object.setPrototypeOf||function(L,V){return L.__proto__=V,L},c(C,f)}function d(C,f){if(C==null)return{};var m={},L=Object.keys(C),V,ke;for(ke=0;ke<L.length;ke++)V=L[ke],!(f.indexOf(V)>=0)&&(m[V]=C[V]);return m}function p(C,f){if(C==null)return{};var m=d(C,f),L,V;if(Object.getOwnPropertySymbols){var ke=Object.getOwnPropertySymbols(C);for(V=0;V<ke.length;V++)L=ke[V],!(f.indexOf(L)>=0)&&Object.prototype.propertyIsEnumerable.call(C,L)&&(m[L]=C[L])}return m}function E(C){if(C===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C}function u(C,f){if(f&&(typeof f=="object"||typeof f=="function"))return f;if(f!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return E(C)}function w(C,f){return S(C)||h(C,f)||b(C,f)||I()}function S(C){if(Array.isArray(C))return C}function h(C,f){var m=C==null?null:typeof Symbol<"u"&&C[Symbol.iterator]||C["@@iterator"];if(m!=null){var L=[],V=!0,ke=!1,Re,Ze;try{for(m=m.call(C);!(V=(Re=m.next()).done)&&(L.push(Re.value),!(f&&L.length===f));V=!0);}catch(In){ke=!0,Ze=In}finally{try{!V&&m.return!=null&&m.return()}finally{if(ke)throw Ze}}return L}}function b(C,f){if(C){if(typeof C=="string")return x(C,f);var m=Object.prototype.toString.call(C).slice(8,-1);if(m==="Object"&&C.constructor&&(m=C.constructor.name),m==="Map"||m==="Set")return Array.from(C);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return x(C,f)}}function x(C,f){(f==null||f>C.length)&&(f=C.length);for(var m=0,L=new Array(f);m<f;m++)L[m]=C[m];return L}function I(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
404
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var F={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},Q={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},ae={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},ue={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},Ce=function(f){switch(f){case F.Mobile:return{isMobile:!0};case F.Tablet:return{isTablet:!0};case F.SmartTv:return{isSmartTV:!0};case F.Console:return{isConsole:!0};case F.Wearable:return{isWearable:!0};case F.Browser:return{isBrowser:!0};case F.Embedded:return{isEmbedded:!0};default:return ue}},Te=function(f){return Y(f)},q=function(f){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return f||m},Ae=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},Ne=function(f){var m=Ae();return m&&m.platform&&(m.platform.indexOf(f)!==-1||m.platform==="MacIntel"&&m.maxTouchPoints>1&&!window.MSStream)},Ye=function(f,m,L,V,ke){return{isBrowser:f,browserMajorVersion:q(m.major),browserFullVersion:q(m.version),browserName:q(m.name),engineName:q(L.name),engineVersion:q(L.version),osName:q(V.name),osVersion:q(V.version),userAgent:q(ke)}},Xe=function(f,m,L,V){return T({},f,{vendor:q(m.vendor),model:q(m.model),os:q(L.name),osVersion:q(L.version),ua:q(V)})},Ke=function(f,m,L,V){return{isSmartTV:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(V)}},We=function(f,m,L,V){return{isConsole:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(V)}},$e=function(f,m,L,V){return{isWearable:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(V)}},Fe=function(f,m,L,V,ke){return{isEmbedded:f,vendor:q(m.vendor),model:q(m.model),engineName:q(L.name),engineVersion:q(L.version),osName:q(V.name),osVersion:q(V.version),userAgent:q(ke)}};function Pe(C){var f=C?g(C):A,m=f.device,L=f.browser,V=f.engine,ke=f.os,Re=f.ua,Ze=Ce(m.type),In=Ze.isBrowser,ul=Ze.isMobile,fl=Ze.isTablet,Ws=Ze.isSmartTV,Vs=Ze.isConsole,Gs=Ze.isWearable,Ys=Ze.isEmbedded;if(In)return Ye(In,L,V,ke,Re);if(Ws)return Ke(Ws,V,ke,Re);if(Vs)return We(Vs,V,ke,Re);if(ul||fl)return Xe(Ze,m,ke,Re);if(Gs)return $e(Gs,V,ke,Re);if(Ys)return Fe(Ys,m,V,ke,Re)}var Ee=function(f){var m=f.type;return m===F.Mobile},Pt=function(f){var m=f.type;return m===F.Tablet},Ot=function(f){var m=f.type;return m===F.Mobile||m===F.Tablet},gt=function(f){var m=f.type;return m===F.SmartTv},wt=function(f){var m=f.type;return m===F.Browser},lt=function(f){var m=f.type;return m===F.Wearable},R=function(f){var m=f.type;return m===F.Console},X=function(f){var m=f.type;return m===F.Embedded},G=function(f){var m=f.vendor;return q(m)},Z=function(f){var m=f.model;return q(m)},_=function(f){var m=f.type;return q(m,"browser")},K=function(f){var m=f.name;return m===ae.Android},J=function(f){var m=f.name;return m===ae.Windows},$=function(f){var m=f.name;return m===ae.MAC_OS},pe=function(f){var m=f.name;return m===ae.WindowsPhone},re=function(f){var m=f.name;return m===ae.IOS},U=function(f){var m=f.version;return q(m)},v=function(f){var m=f.name;return q(m)},D=function(f){var m=f.name;return m===Q.Chrome},ee=function(f){var m=f.name;return m===Q.Firefox},ne=function(f){var m=f.name;return m===Q.Chromium},fe=function(f){var m=f.name;return m===Q.Edge},ce=function(f){var m=f.name;return m===Q.Yandex},M=function(f){var m=f.name;return m===Q.Safari||m===Q.MobileSafari},j=function(f){var m=f.name;return m===Q.MobileSafari},oe=function(f){var m=f.name;return m===Q.Opera},H=function(f){var m=f.name;return m===Q.InternetExplorer||m===Q.Ie},be=function(f){var m=f.name;return m===Q.MIUI},we=function(f){var m=f.name;return m===Q.SamsungBrowser},le=function(f){var m=f.version;return q(m)},Se=function(f){var m=f.major;return q(m)},Oe=function(f){var m=f.name;return q(m)},Ie=function(f){var m=f.name;return q(m)},De=function(f){var m=f.version;return q(m)},et=function(){var f=Ae(),m=f&&f.userAgent&&f.userAgent.toLowerCase();return typeof m=="string"?/electron/.test(m):!1},Je=function(f){return typeof f=="string"&&f.indexOf("Edg/")!==-1},dt=function(){var f=Ae();return f&&(/iPad|iPhone|iPod/.test(f.platform)||f.platform==="MacIntel"&&f.maxTouchPoints>1)&&!window.MSStream},ze=function(){return Ne("iPad")},Dt=function(){return Ne("iPhone")},cn=function(){return Ne("iPod")},ln=function(f){return q(f)};function jt(C){var f=C||A,m=f.device,L=f.browser,V=f.os,ke=f.engine,Re=f.ua;return{isSmartTV:gt(m),isConsole:R(m),isWearable:lt(m),isEmbedded:X(m),isMobileSafari:j(L)||ze(),isChromium:ne(L),isMobile:Ot(m)||ze(),isMobileOnly:Ee(m),isTablet:Pt(m)||ze(),isBrowser:wt(m),isDesktop:wt(m),isAndroid:K(V),isWinPhone:pe(V),isIOS:re(V)||ze(),isChrome:D(L),isFirefox:ee(L),isSafari:M(L),isOpera:oe(L),isIE:H(L),osVersion:U(V),osName:v(V),fullBrowserVersion:le(L),browserVersion:Se(L),browserName:Oe(L),mobileVendor:G(m),mobileModel:Z(m),engineName:Ie(ke),engineVersion:De(ke),getUA:ln(Re),isEdge:fe(L)||Je(Re),isYandex:ce(L),deviceType:_(m),isIOS13:dt(),isIPad13:ze(),isIPhone13:Dt(),isIPod13:cn(),isElectron:et(),isEdgeChromium:Je(Re),isLegacyEdge:fe(L)&&!Je(Re),isWindows:J(V),isMacOs:$(V),isMIUI:be(L),isSamsungBrowser:we(L)}}var Ue=gt(i),En=R(i),Sn=lt(i),wc=X(i),bc=j(a)||ze(),yc=ne(a),xn=Ot(i)||ze(),Ps=Ee(i),Os=Pt(i)||ze(),Ds=wt(i),Ac=wt(i),Ls=K(k),Us=pe(k),Rs=re(k)||ze(),kc=D(a),vc=ee(a),Tc=M(a),Cc=oe(a),Ms=H(a),Ec=U(k),Sc=v(k),xc=le(a),Ic=Se(a),Nc=Oe(a),Bc=G(i),Fc=Z(i),Pc=Ie(l),Oc=De(l),Dc=ln(O),Lc=fe(a)||Je(O),Uc=ce(a),Rc=_(i),Mc=dt(),Hc=ze(),Wc=Dt(),Vc=cn(),Gc=et(),Yc=Je(O),Jc=fe(a)&&!Je(O),zc=J(k),jc=$(k),qc=be(a),Qc=we(a),Xc=function(f){if(!f||typeof f!="string"){console.error("No valid user agent string was provided");return}var m=g(f),L=m.device,V=m.browser,ke=m.os,Re=m.engine,Ze=m.ua;return jt({device:L,browser:V,os:ke,engine:Re,ua:Ze})},Kc=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ls?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},Zc=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ds?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},_c=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ms?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},$c=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Rs?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},el=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return xn?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},tl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Os?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},nl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Us?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},ol=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var V=p(f,["renderWithFragment","children","viewClassName","style"]);return Ps?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},sl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ue?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},al=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return En?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},rl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Sn?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},il=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var V=f.condition,ke=p(f,["renderWithFragment","children","viewClassName","style","condition"]);return V?m?n.createElement(t.Fragment,null,L):n.createElement("div",ke,L):null};function cl(C){return(function(f){ge(m,f);function m(L){var V;return ve(this,m),V=u(this,xe(m).call(this,L)),V.isEventListenerAdded=!1,V.handleOrientationChange=V.handleOrientationChange.bind(E(V)),V.onOrientationChange=V.onOrientationChange.bind(E(V)),V.onPageLoad=V.onPageLoad.bind(E(V)),V.state={isLandscape:!1,isPortrait:!1},V}return W(m,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var V=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:V===0,isLandscape:V===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":B(window))!==void 0&&xn&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return n.createElement(C,he({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),m})(n.Component)}function ll(){var C=t.useState(function(){var ke=window.innerWidth>window.innerHeight?90:0;return{isPortrait:ke===0,isLandscape:ke===90,orientation:ke===0?"portrait":"landscape"}}),f=w(C,2),m=f[0],L=f[1],V=t.useCallback(function(){var ke=window.innerWidth>window.innerHeight?90:0,Re={isPortrait:ke===0,isLandscape:ke===90,orientation:ke===0?"portrait":"landscape"};m.orientation!==Re.orientation&&L(Re)},[m.orientation]);return t.useEffect(function(){return(typeof window>"u"?"undefined":B(window))!==void 0&&xn&&(V(),window.addEventListener("load",V,!1),window.addEventListener("resize",V,!1)),function(){window.removeEventListener("resize",V,!1),window.removeEventListener("load",V,!1)}},[V]),m}function Hs(C){var f=C||window.navigator.userAgent;return g(f)}function dl(C){var f=C||window.navigator.userAgent,m=Hs(f),L=jt(m);return[L,m]}return se.AndroidView=Kc,se.BrowserTypes=Q,se.BrowserView=Zc,se.ConsoleView=al,se.CustomView=il,se.IEView=_c,se.IOSView=$c,se.MobileOnlyView=ol,se.MobileView=el,se.OsTypes=ae,se.SmartTVView=sl,se.TabletView=tl,se.WearableView=rl,se.WinPhoneView=nl,se.browserName=Nc,se.browserVersion=Ic,se.deviceDetect=Pe,se.deviceType=Rc,se.engineName=Pc,se.engineVersion=Oc,se.fullBrowserVersion=xc,se.getSelectorsByUserAgent=Xc,se.getUA=Dc,se.isAndroid=Ls,se.isBrowser=Ds,se.isChrome=kc,se.isChromium=yc,se.isConsole=En,se.isDesktop=Ac,se.isEdge=Lc,se.isEdgeChromium=Yc,se.isElectron=Gc,se.isEmbedded=wc,se.isFirefox=vc,se.isIE=Ms,se.isIOS=Rs,se.isIOS13=Mc,se.isIPad13=Hc,se.isIPhone13=Wc,se.isIPod13=Vc,se.isLegacyEdge=Jc,se.isMIUI=qc,se.isMacOs=jc,se.isMobile=xn,se.isMobileOnly=Ps,se.isMobileSafari=bc,se.isOpera=Cc,se.isSafari=Tc,se.isSamsungBrowser=Qc,se.isSmartTV=Ue,se.isTablet=Os,se.isWearable=Sn,se.isWinPhone=Us,se.isWindows=zc,se.isYandex=Uc,se.mobileModel=Fc,se.mobileVendor=Bc,se.osName=Sc,se.osVersion=Ec,se.parseUserAgent=g,se.setUserAgent=Te,se.useDeviceData=Hs,se.useDeviceSelectors=dl,se.useMobileOrientation=ll,se.withOrientationChange=cl,se}var zt=uc();const fc=void 0,Ns=["AIzaSyCcjTkMquc7DNzqQYOXEFj7qoEypnCdUOs","AIzaSyDWJj9ufkN-39vkT6_qvnAu9s_3BECbdcM","AIzaSyAkSIDm0sT0uenqN6EgznNl7qGHSG3B22Y","AIzaSyCRFoHCgxndYwAELqLjxzzYaTBM_cZr0bU","AIzaSyBgvuw0AhP0eeCF3iw0LLsHHAXSfnBbbHY","AIzaSyAfMPuSqrl14vw1fYkhzC-D5CNf78nXjfU","AIzaSyC0EVYjl81EVo_RwKpDE6jhTbTK-cO1n4U","AIzaSyAmHgpfmkBJVM9dUUXQ81ZCJvTjbdbFP54","AIzaSyDD2tujUZ7FpgJ4-gn8BNzYkVSrrAc4nC8","AIzaSyAQkB8-XZj7IpnWnVWJRrFUontxaWcYts4"],Bs={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:fc,url:"https://generativelanguage.googleapis.com"};class pc extends Jt{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(Bs.url)}getApiKey(){let t="";const n=localStorage.getItem("index_api_key_gemini");return n&&(this.indexApiKey=Number(n),this.indexApiKey++),this.indexApiKey>=Ns.length&&(this.indexApiKey=0),t=Ns[this.indexApiKey],localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),t}getUrl(t,n){return`/v1beta/models/${n||"gemini-2.5-flash"}:${t}`}async generateContent(t,n){try{const o=`
403
+ Response: {"action":"swap_token","message":"<friendly explanation, e.g. Which token would you like to swap?>","parameters":{"token_in":"","token_in_symbol":"","token_in_decimals":"","token_out":"","token_out_symbol":"","token_out_decimals":"","amount":""}}`}const Es={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},vn=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"approve",type:"function",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"allowance",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]}],Ss=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],$i=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],ec=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];function sn(e,t){return t||ct[e]?.rpcUrls?.default?.http?.[0]}function tc(e){const{action:t,parameters:n,fromAddress:o,chainId:s}=e;switch(t){case"send_native":return nc(n,o,s);case"send_token":return oc(n,o,s);case"approve_token":return sc(n,o,s);case"wrap_native":return ac(n,o,s);case"unwrap_native":return rc(n,o,s);case"send_nft":return cc(n,o,s);default:throw new Error(`Action "${t}" does not produce a transaction`)}}function nc(e,t,n){const{to_address:o,amount:s}=e;if(!o)throw new Error("Recipient address is required");if(!s)throw new Error("Amount is required");const a=mt(s,18).toString();return{from:t,to:o,data:"0x",value:a,chainId:n,description:`Send ${s} native token to ${o}`}}function oc(e,t,n){const{contract_address:o,to_address:s,amount:a,decimals:r,token_symbol:i}=e;if(!o)throw new Error("Token contract address is required");if(!s)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const l=parseInt(r)||18,k=mt(a,l),D=vt({abi:vn,functionName:"transfer",args:[s,k]});return{from:t,to:o,data:D,value:"0",chainId:n,description:`Send ${a} ${i||"tokens"} to ${s}`}}function sc(e,t,n){const{contract_address:o,spender_address:s,amount:a,token_symbol:r}=e;if(!o)throw new Error("Token contract address is required");if(!s)throw new Error("Spender address is required");const i=a&&a?.trim()!==""?mt(a,18):Wt,l=vt({abi:vn,functionName:"approve",args:[s,i]});return{from:t,to:o,data:l,value:"0",chainId:n,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${s}`}}function ac(e,t,n){const{amount:o}=e;if(!o)throw new Error("Amount is required");const s=Es[n];if(!s)throw new Error(`WETH not supported on chain ${n}`);const a=mt(o,18).toString(),r=vt({abi:Ss,functionName:"deposit"});return{from:t,to:s,data:r,value:a,chainId:n,description:`Wrap ${o} native token`}}function rc(e,t,n){const{amount:o}=e;if(!o)throw new Error("Amount is required");const s=Es[n];if(!s)throw new Error(`WETH not supported on chain ${n}`);const a=mt(o,18),r=vt({abi:Ss,functionName:"withdraw",args:[a]});return{from:t,to:s,data:r,value:"0",chainId:n,description:`Unwrap ${o} WETH`}}function ic(e){return["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(e)}async function fo(e){const{transactionHash:t,chainId:n,pollingInterval:o=3e3,timeout:s=12e4,rpcUrl:a}=e,r=sn(n,a);if(!r)throw new Error(`No RPC endpoint for chain ${n}`);const i=Date.now();for(;Date.now()-i<s;){try{const k=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[t]})})).json();if(k.result){const D=k.result;return{status:D.status==="0x1"?"success":"fail",blockNumber:D.blockNumber,gasUsed:D.gasUsed,effectiveGasPrice:D.effectiveGasPrice}}}catch(l){console.warn("eth_getTransactionReceipt poll error:",l)}await new Promise(l=>setTimeout(l,o))}throw new Error(`Transaction ${t} was not mined within ${s/1e3}s`)}async function po(e){const{tokenAddress:t,ownerAddress:n,spenderAddress:o,chainId:s,rpcUrl:a}=e,r=sn(s,a);if(!r)return console.warn(`No RPC endpoint for chain ${s}, assuming no allowance`),BigInt(0);try{const i=vt({abi:vn,functionName:"allowance",args:[n,o]}),k=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:t,data:i},"latest"]})})).json();return k.result&&k.result!=="0x"?BigInt(k.result):BigInt(0)}catch(i){return console.warn("checkAllowance failed:",i),BigInt(0)}}function Tn(e){const{tokenAddress:t,spenderAddress:n,fromAddress:o,chainId:s,tokenSymbol:a}=e,r=vt({abi:vn,functionName:"approve",args:[n,Wt]});return{from:o,to:t,data:r,value:"0",chainId:s,description:`Approve ${a||"token"} for swap`}}function cc(e,t,n){const{contract_address:o,token_id:s,to_address:a,token_standard:r,amount:i,nft_name:l}=e;if(!o)throw new Error("NFT contract address is required");if(!s)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const k=(r||"ERC721").toUpperCase(),D=BigInt(s);let Y,g;if(k==="ERC1155"){const A=BigInt(i||"1");Y=vt({abi:ec,functionName:"safeTransferFrom",args:[t,a,D,A,"0x"]}),g=`Send ${A>1n?A.toString()+"x ":""}${l||"NFT"} (ERC1155 #${s}) to ${a}`}else Y=vt({abi:$i,functionName:"safeTransferFrom",args:[t,a,D]}),g=`Send ${l||"NFT"} (ERC721 #${s}) to ${a}`;return{from:t,to:o,data:Y,value:"0",chainId:n,description:g}}async function Cn(e){const{address:t,chainId:n,rpcUrl:o}=e,s=sn(n,o);if(!s)return console.warn(`No RPC endpoint for chain ${n}`),new ie(0);try{const r=await(await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[t,"latest"]})})).json();return r.result&&r.result!=="0x"?new ie(BigInt(r.result).toString()):new ie(0)}catch(a){return console.warn("getNativeBalance failed:",a),new ie(0)}}async function an(e){const{from:t,to:n,data:o,value:s,chainId:a,rpcUrl:r}=e,i=sn(a,r);if(!i)return console.warn(`No RPC endpoint for chain ${a}`),new ie(0);try{const[l,k]=await Promise.all([fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:t,to:n,data:o,...s&&s!=="0"?{value:s}:{}}]})}),fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[D,Y]=await Promise.all([l.json(),k.json()]),g=D.result?new ie(BigInt(D.result).toString()):new ie(0),A=Y.result?new ie(BigInt(Y.result).toString()):new ie(0);return g.times(A).times(1.1)}catch(l){return console.warn("estimateTransactionFee failed:",l),new ie(0)}}async function mo(e){const{chainId:t,rpcUrl:n}=e,o=sn(t,n);if(!o)return console.warn(`No RPC endpoint for chain ${t}`),new ie(0);try{const a=await(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})})).json();return a.result&&a.result!=="0x"?new ie(BigInt(a.result).toString()):new ie(0)}catch(s){return console.warn("getGasPrice failed:",s),new ie(0)}}var se={},rn={exports:{}},lc=rn.exports,xs;function dc(){return xs||(xs=1,(function(e,t){(function(n,o){var s="1.0.41",a="",r="?",i="function",l="undefined",k="object",D="string",Y="major",g="model",A="name",y="type",T="vendor",B="version",ve="architecture",N="console",W="mobile",J="tablet",he="smarttv",ge="wearable",xe="embedded",c=500,d="Amazon",p="Apple",E="ASUS",u="BlackBerry",w="Browser",S="Chrome",h="Edge",b="Firefox",x="Google",I="Honor",F="Huawei",Q="Lenovo",ae="LG",ue="Microsoft",Ce="Motorola",Te="Nvidia",q="OnePlus",Ae="Opera",Ne="OPPO",Ye="Samsung",Xe="Sharp",Ke="Sony",We="Xiaomi",$e="Zebra",Fe="Facebook",Pe="Chromium OS",Ee="Mac OS",Pt=" Browser",Dt=function(U,v){var O={};for(var ee in U)v[ee]&&v[ee].length%2===0?O[ee]=v[ee].concat(U[ee]):O[ee]=U[ee];return O},gt=function(U){for(var v={},O=0;O<U.length;O++)v[U[O].toUpperCase()]=U[O];return v},wt=function(U,v){return typeof U===D?lt(v).indexOf(lt(U))!==-1:!1},lt=function(U){return U.toLowerCase()},R=function(U){return typeof U===D?U.replace(/[^\d\.]/g,a).split(".")[0]:o},X=function(U,v){if(typeof U===D)return U=U.replace(/^\s\s*/,a),typeof v===l?U:U.substring(0,c)},G=function(U,v){for(var O=0,ee,ne,fe,ce,M,j;O<v.length&&!M;){var oe=v[O],H=v[O+1];for(ee=ne=0;ee<oe.length&&!M&&oe[ee];)if(M=oe[ee++].exec(U),M)for(fe=0;fe<H.length;fe++)j=M[++ne],ce=H[fe],typeof ce===k&&ce.length>0?ce.length===2?typeof ce[1]==i?this[ce[0]]=ce[1].call(this,j):this[ce[0]]=ce[1]:ce.length===3?typeof ce[1]===i&&!(ce[1].exec&&ce[1].test)?this[ce[0]]=j?ce[1].call(this,j,ce[2]):o:this[ce[0]]=j?j.replace(ce[1],ce[2]):o:ce.length===4&&(this[ce[0]]=j?ce[3].call(this,j.replace(ce[1],ce[2])):o):this[ce]=j||o;O+=2}},Z=function(U,v){for(var O in v)if(typeof v[O]===k&&v[O].length>0){for(var ee=0;ee<v[O].length;ee++)if(wt(v[O][ee],U))return O===r?o:O}else if(wt(v[O],U))return O===r?o:O;return v.hasOwnProperty("*")?v["*"]:U},_={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},K={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},z={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[B,[A,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[B,[A,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[A,B],[/opios[\/ ]+([\w\.]+)/i],[B,[A,Ae+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[B,[A,Ae+" GX"]],[/\bopr\/([\w\.]+)/i],[B,[A,Ae]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[B,[A,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[B,[A,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[A,B],[/quark(?:pc)?\/([-\w\.]+)/i],[B,[A,"Quark"]],[/\bddg\/([\w\.]+)/i],[B,[A,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[B,[A,"UC"+w]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[B,[A,"WeChat"]],[/konqueror\/([\w\.]+)/i],[B,[A,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[B,[A,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[B,[A,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[B,[A,"Smart Lenovo "+w]],[/(avast|avg)\/([\w\.]+)/i],[[A,/(.+)/,"$1 Secure "+w],B],[/\bfocus\/([\w\.]+)/i],[B,[A,b+" Focus"]],[/\bopt\/([\w\.]+)/i],[B,[A,Ae+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[B,[A,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[B,[A,"Dolphin"]],[/coast\/([\w\.]+)/i],[B,[A,Ae+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[B,[A,"MIUI"+Pt]],[/fxios\/([\w\.-]+)/i],[B,[A,b]],[/\bqihoobrowser\/?([\w\.]*)/i],[B,[A,"360"]],[/\b(qq)\/([\w\.]+)/i],[[A,/(.+)/,"$1Browser"],B],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[A,/(.+)/,"$1"+Pt],B],[/samsungbrowser\/([\w\.]+)/i],[B,[A,Ye+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[B,[A,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[A,"Sogou Mobile"],B],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[A,B],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[A],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[B,A],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[A,Fe],B],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[A,B],[/\bgsa\/([\w\.]+) .*safari\//i],[B,[A,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[B,[A,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[B,[A,S+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[A,S+" WebView"],B],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[B,[A,"Android "+w]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[A,B],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[B,[A,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[B,A],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[A,[B,Z,_]],[/(webkit|khtml)\/([\w\.]+)/i],[A,B],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[A,"Netscape"],B],[/(wolvic|librewolf)\/([\w\.]+)/i],[A,B],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[B,[A,b+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[A,[B,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[A,[B,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[ve,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[ve,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[ve,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[ve,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[ve,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[ve,/ower/,a,lt]],[/ sun4\w[;\)]/i],[[ve,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[ve,lt]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[g,[T,Ye],[y,J]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[g,[T,Ye],[y,W]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[g,[T,p],[y,W]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[g,[T,p],[y,J]],[/(macintosh);/i],[g,[T,p]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[g,[T,Xe],[y,W]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[g,[T,I],[y,J]],[/honor([-\w ]+)[;\)]/i],[g,[T,I],[y,W]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[g,[T,F],[y,J]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[g,[T,F],[y,W]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[g,/_/g," "],[T,We],[y,J]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[g,/_/g," "],[T,We],[y,W]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[g,[T,Ne],[y,W]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[g,[T,Z,{OnePlus:["304","403","203"],"*":Ne}],[y,J]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[g,[T,"Vivo"],[y,W]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[g,[T,"Realme"],[y,W]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[g,[T,Ce],[y,W]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[g,[T,Ce],[y,J]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[g,[T,ae],[y,J]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[g,[T,ae],[y,W]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[g,[T,Q],[y,J]],[/(nokia) (t[12][01])/i],[T,g,[y,J]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[g,/_/g," "],[y,W],[T,"Nokia"]],[/(pixel (c|tablet))\b/i],[g,[T,x],[y,J]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[g,[T,x],[y,W]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[g,[T,Ke],[y,W]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[g,"Xperia Tablet"],[T,Ke],[y,J]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[g,[T,q],[y,W]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[g,[T,d],[y,J]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[g,/(.+)/g,"Fire Phone $1"],[T,d],[y,W]],[/(playbook);[-\w\),; ]+(rim)/i],[g,T,[y,J]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[g,[T,u],[y,W]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[g,[T,E],[y,J]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[g,[T,E],[y,W]],[/(nexus 9)/i],[g,[T,"HTC"],[y,J]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[T,[g,/_/g," "],[y,W]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[g,[T,"TCL"],[y,J]],[/(itel) ((\w+))/i],[[T,lt],g,[y,Z,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[g,[T,"Acer"],[y,J]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[g,[T,"Meizu"],[y,W]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[g,[T,"Ulefone"],[y,W]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[g,[T,"Energizer"],[y,W]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[g,[T,"Cat"],[y,W]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[g,[T,"Smartfren"],[y,W]],[/droid.+; (a(?:015|06[35]|142p?))/i],[g,[T,"Nothing"],[y,W]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[g,[T,"Archos"],[y,J]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[g,[T,"Archos"],[y,W]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[T,g,[y,J]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[T,g,[y,W]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[T,g,[y,J]],[/(surface duo)/i],[g,[T,ue],[y,J]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[g,[T,"Fairphone"],[y,W]],[/(u304aa)/i],[g,[T,"AT&T"],[y,W]],[/\bsie-(\w*)/i],[g,[T,"Siemens"],[y,W]],[/\b(rct\w+) b/i],[g,[T,"RCA"],[y,J]],[/\b(venue[\d ]{2,7}) b/i],[g,[T,"Dell"],[y,J]],[/\b(q(?:mv|ta)\w+) b/i],[g,[T,"Verizon"],[y,J]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[g,[T,"Barnes & Noble"],[y,J]],[/\b(tm\d{3}\w+) b/i],[g,[T,"NuVision"],[y,J]],[/\b(k88) b/i],[g,[T,"ZTE"],[y,J]],[/\b(nx\d{3}j) b/i],[g,[T,"ZTE"],[y,W]],[/\b(gen\d{3}) b.+49h/i],[g,[T,"Swiss"],[y,W]],[/\b(zur\d{3}) b/i],[g,[T,"Swiss"],[y,J]],[/\b((zeki)?tb.*\b) b/i],[g,[T,"Zeki"],[y,J]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[T,"Dragon Touch"],g,[y,J]],[/\b(ns-?\w{0,9}) b/i],[g,[T,"Insignia"],[y,J]],[/\b((nxa|next)-?\w{0,9}) b/i],[g,[T,"NextBook"],[y,J]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[T,"Voice"],g,[y,W]],[/\b(lvtel\-)?(v1[12]) b/i],[[T,"LvTel"],g,[y,W]],[/\b(ph-1) /i],[g,[T,"Essential"],[y,W]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[g,[T,"Envizen"],[y,J]],[/\b(trio[-\w\. ]+) b/i],[g,[T,"MachSpeed"],[y,J]],[/\btu_(1491) b/i],[g,[T,"Rotor"],[y,J]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[g,[T,Te],[y,J]],[/(sprint) (\w+)/i],[T,g,[y,W]],[/(kin\.[onetw]{3})/i],[[g,/\./g," "],[T,ue],[y,W]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[g,[T,$e],[y,J]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[g,[T,$e],[y,W]],[/smart-tv.+(samsung)/i],[T,[y,he]],[/hbbtv.+maple;(\d+)/i],[[g,/^/,"SmartTV"],[T,Ye],[y,he]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[T,ae],[y,he]],[/(apple) ?tv/i],[T,[g,p+" TV"],[y,he]],[/crkey/i],[[g,S+"cast"],[T,x],[y,he]],[/droid.+aft(\w+)( bui|\))/i],[g,[T,d],[y,he]],[/(shield \w+ tv)/i],[g,[T,Te],[y,he]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[g,[T,Xe],[y,he]],[/(bravia[\w ]+)( bui|\))/i],[g,[T,Ke],[y,he]],[/(mi(tv|box)-?\w+) bui/i],[g,[T,We],[y,he]],[/Hbbtv.*(technisat) (.*);/i],[T,g,[y,he]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[T,X],[g,X],[y,he]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[g,[y,he]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[y,he]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[T,g,[y,N]],[/droid.+; (shield)( bui|\))/i],[g,[T,Te],[y,N]],[/(playstation \w+)/i],[g,[T,Ke],[y,N]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[g,[T,ue],[y,N]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[g,[T,Ye],[y,ge]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[T,g,[y,ge]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[g,[T,Ne],[y,ge]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[g,[T,p],[y,ge]],[/(opwwe\d{3})/i],[g,[T,q],[y,ge]],[/(moto 360)/i],[g,[T,Ce],[y,ge]],[/(smartwatch 3)/i],[g,[T,Ke],[y,ge]],[/(g watch r)/i],[g,[T,ae],[y,ge]],[/droid.+; (wt63?0{2,3})\)/i],[g,[T,$e],[y,ge]],[/droid.+; (glass) \d/i],[g,[T,x],[y,ge]],[/(pico) (4|neo3(?: link|pro)?)/i],[T,g,[y,ge]],[/; (quest( \d| pro)?)/i],[g,[T,Fe],[y,ge]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[T,[y,xe]],[/(aeobc)\b/i],[g,[T,d],[y,xe]],[/(homepod).+mac os/i],[g,[T,p],[y,xe]],[/windows iot/i],[[y,xe]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[g,[y,W]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[g,[y,J]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[y,J]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[y,W]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[g,[T,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[B,[A,h+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[A,B],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[B,[A,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[A,B],[/ladybird\//i],[[A,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[B,A]],os:[[/microsoft (windows) (vista|xp)/i],[A,B],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[A,[B,Z,K]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[B,Z,K],[A,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[B,/_/g,"."],[A,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[A,Ee],[B,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[B,A],[/(ubuntu) ([\w\.]+) like android/i],[[A,/(.+)/,"$1 Touch"],B],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[A,B],[/\(bb(10);/i],[B,[A,u]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[B,[A,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[B,[A,b+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[B,[A,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[B,[A,"watchOS"]],[/crkey\/([\d\.]+)/i],[B,[A,S+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[A,Pe],B],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[A,B],[/(sunos) ?([\w\.\d]*)/i],[[A,"Solaris"],B],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[A,B]]},$=function(U,v){if(typeof U===k&&(v=U,U=o),!(this instanceof $))return new $(U,v).getResult();var O=typeof n!==l&&n.navigator?n.navigator:o,ee=U||(O&&O.userAgent?O.userAgent:a),ne=O&&O.userAgentData?O.userAgentData:o,fe=v?Dt(z,v):z,ce=O&&O.userAgent==ee;return this.getBrowser=function(){var M={};return M[A]=o,M[B]=o,G.call(M,ee,fe.browser),M[Y]=R(M[B]),ce&&O&&O.brave&&typeof O.brave.isBrave==i&&(M[A]="Brave"),M},this.getCPU=function(){var M={};return M[ve]=o,G.call(M,ee,fe.cpu),M},this.getDevice=function(){var M={};return M[T]=o,M[g]=o,M[y]=o,G.call(M,ee,fe.device),ce&&!M[y]&&ne&&ne.mobile&&(M[y]=W),ce&&M[g]=="Macintosh"&&O&&typeof O.standalone!==l&&O.maxTouchPoints&&O.maxTouchPoints>2&&(M[g]="iPad",M[y]=J),M},this.getEngine=function(){var M={};return M[A]=o,M[B]=o,G.call(M,ee,fe.engine),M},this.getOS=function(){var M={};return M[A]=o,M[B]=o,G.call(M,ee,fe.os),ce&&!M[A]&&ne&&ne.platform&&ne.platform!="Unknown"&&(M[A]=ne.platform.replace(/chrome os/i,Pe).replace(/macos/i,Ee)),M},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return ee},this.setUA=function(M){return ee=typeof M===D&&M.length>c?X(M,c):M,this},this.setUA(ee),this};$.VERSION=s,$.BROWSER=gt([A,B,Y]),$.CPU=gt([ve]),$.DEVICE=gt([g,T,y,N,W,he,J,ge,xe]),$.ENGINE=$.OS=gt([A,B]),e.exports&&(t=e.exports=$),t.UAParser=$;var pe=typeof n!==l&&(n.jQuery||n.Zepto);if(pe&&!pe.ua){var re=new $;pe.ua=re.getResult(),pe.ua.get=function(){return re.getUA()},pe.ua.set=function(U){re.setUA(U);var v=re.getResult();for(var O in v)pe.ua[O]=v[O]}}})(typeof window=="object"?window:lc)})(rn,rn.exports)),rn.exports}var Is;function uc(){if(Is)return se;Is=1,Object.defineProperty(se,"__esModule",{value:!0});function e(C){return C&&typeof C=="object"&&"default"in C?C.default:C}var t=te,n=e(t),o=dc(),s=new o,a=s.getBrowser(),r=s.getCPU(),i=s.getDevice(),l=s.getEngine(),k=s.getOS(),D=s.getUA(),Y=function(f){return s.setUA(f)},g=function(f){if(!f){console.error("No userAgent string was provided");return}var m=new o(f);return{UA:m,browser:m.getBrowser(),cpu:m.getCPU(),device:m.getDevice(),engine:m.getEngine(),os:m.getOS(),ua:m.getUA(),setUserAgent:function(V){return m.setUA(V)}}},A=Object.freeze({ClientUAInstance:s,browser:a,cpu:r,device:i,engine:l,os:k,ua:D,setUa:Y,parseUserAgent:g});function y(C,f){var m=Object.keys(C);if(Object.getOwnPropertySymbols){var L=Object.getOwnPropertySymbols(C);f&&(L=L.filter(function(V){return Object.getOwnPropertyDescriptor(C,V).enumerable})),m.push.apply(m,L)}return m}function T(C){for(var f=1;f<arguments.length;f++){var m=arguments[f]!=null?arguments[f]:{};f%2?y(Object(m),!0).forEach(function(L){J(C,L,m[L])}):Object.getOwnPropertyDescriptors?Object.defineProperties(C,Object.getOwnPropertyDescriptors(m)):y(Object(m)).forEach(function(L){Object.defineProperty(C,L,Object.getOwnPropertyDescriptor(m,L))})}return C}function B(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?B=function(f){return typeof f}:B=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},B(C)}function ve(C,f){if(!(C instanceof f))throw new TypeError("Cannot call a class as a function")}function N(C,f){for(var m=0;m<f.length;m++){var L=f[m];L.enumerable=L.enumerable||!1,L.configurable=!0,"value"in L&&(L.writable=!0),Object.defineProperty(C,L.key,L)}}function W(C,f,m){return f&&N(C.prototype,f),C}function J(C,f,m){return f in C?Object.defineProperty(C,f,{value:m,enumerable:!0,configurable:!0,writable:!0}):C[f]=m,C}function he(){return he=Object.assign||function(C){for(var f=1;f<arguments.length;f++){var m=arguments[f];for(var L in m)Object.prototype.hasOwnProperty.call(m,L)&&(C[L]=m[L])}return C},he.apply(this,arguments)}function ge(C,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(f&&f.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),f&&c(C,f)}function xe(C){return xe=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},xe(C)}function c(C,f){return c=Object.setPrototypeOf||function(L,V){return L.__proto__=V,L},c(C,f)}function d(C,f){if(C==null)return{};var m={},L=Object.keys(C),V,ke;for(ke=0;ke<L.length;ke++)V=L[ke],!(f.indexOf(V)>=0)&&(m[V]=C[V]);return m}function p(C,f){if(C==null)return{};var m=d(C,f),L,V;if(Object.getOwnPropertySymbols){var ke=Object.getOwnPropertySymbols(C);for(V=0;V<ke.length;V++)L=ke[V],!(f.indexOf(L)>=0)&&Object.prototype.propertyIsEnumerable.call(C,L)&&(m[L]=C[L])}return m}function E(C){if(C===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C}function u(C,f){if(f&&(typeof f=="object"||typeof f=="function"))return f;if(f!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return E(C)}function w(C,f){return S(C)||h(C,f)||b(C,f)||I()}function S(C){if(Array.isArray(C))return C}function h(C,f){var m=C==null?null:typeof Symbol<"u"&&C[Symbol.iterator]||C["@@iterator"];if(m!=null){var L=[],V=!0,ke=!1,Re,Ze;try{for(m=m.call(C);!(V=(Re=m.next()).done)&&(L.push(Re.value),!(f&&L.length===f));V=!0);}catch(In){ke=!0,Ze=In}finally{try{!V&&m.return!=null&&m.return()}finally{if(ke)throw Ze}}return L}}function b(C,f){if(C){if(typeof C=="string")return x(C,f);var m=Object.prototype.toString.call(C).slice(8,-1);if(m==="Object"&&C.constructor&&(m=C.constructor.name),m==="Map"||m==="Set")return Array.from(C);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return x(C,f)}}function x(C,f){(f==null||f>C.length)&&(f=C.length);for(var m=0,L=new Array(f);m<f;m++)L[m]=C[m];return L}function I(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
404
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var F={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},Q={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},ae={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},ue={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},Ce=function(f){switch(f){case F.Mobile:return{isMobile:!0};case F.Tablet:return{isTablet:!0};case F.SmartTv:return{isSmartTV:!0};case F.Console:return{isConsole:!0};case F.Wearable:return{isWearable:!0};case F.Browser:return{isBrowser:!0};case F.Embedded:return{isEmbedded:!0};default:return ue}},Te=function(f){return Y(f)},q=function(f){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return f||m},Ae=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},Ne=function(f){var m=Ae();return m&&m.platform&&(m.platform.indexOf(f)!==-1||m.platform==="MacIntel"&&m.maxTouchPoints>1&&!window.MSStream)},Ye=function(f,m,L,V,ke){return{isBrowser:f,browserMajorVersion:q(m.major),browserFullVersion:q(m.version),browserName:q(m.name),engineName:q(L.name),engineVersion:q(L.version),osName:q(V.name),osVersion:q(V.version),userAgent:q(ke)}},Xe=function(f,m,L,V){return T({},f,{vendor:q(m.vendor),model:q(m.model),os:q(L.name),osVersion:q(L.version),ua:q(V)})},Ke=function(f,m,L,V){return{isSmartTV:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(V)}},We=function(f,m,L,V){return{isConsole:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(V)}},$e=function(f,m,L,V){return{isWearable:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(V)}},Fe=function(f,m,L,V,ke){return{isEmbedded:f,vendor:q(m.vendor),model:q(m.model),engineName:q(L.name),engineVersion:q(L.version),osName:q(V.name),osVersion:q(V.version),userAgent:q(ke)}};function Pe(C){var f=C?g(C):A,m=f.device,L=f.browser,V=f.engine,ke=f.os,Re=f.ua,Ze=Ce(m.type),In=Ze.isBrowser,ul=Ze.isMobile,fl=Ze.isTablet,Ws=Ze.isSmartTV,Vs=Ze.isConsole,Gs=Ze.isWearable,Ys=Ze.isEmbedded;if(In)return Ye(In,L,V,ke,Re);if(Ws)return Ke(Ws,V,ke,Re);if(Vs)return We(Vs,V,ke,Re);if(ul||fl)return Xe(Ze,m,ke,Re);if(Gs)return $e(Gs,V,ke,Re);if(Ys)return Fe(Ys,m,V,ke,Re)}var Ee=function(f){var m=f.type;return m===F.Mobile},Pt=function(f){var m=f.type;return m===F.Tablet},Dt=function(f){var m=f.type;return m===F.Mobile||m===F.Tablet},gt=function(f){var m=f.type;return m===F.SmartTv},wt=function(f){var m=f.type;return m===F.Browser},lt=function(f){var m=f.type;return m===F.Wearable},R=function(f){var m=f.type;return m===F.Console},X=function(f){var m=f.type;return m===F.Embedded},G=function(f){var m=f.vendor;return q(m)},Z=function(f){var m=f.model;return q(m)},_=function(f){var m=f.type;return q(m,"browser")},K=function(f){var m=f.name;return m===ae.Android},z=function(f){var m=f.name;return m===ae.Windows},$=function(f){var m=f.name;return m===ae.MAC_OS},pe=function(f){var m=f.name;return m===ae.WindowsPhone},re=function(f){var m=f.name;return m===ae.IOS},U=function(f){var m=f.version;return q(m)},v=function(f){var m=f.name;return q(m)},O=function(f){var m=f.name;return m===Q.Chrome},ee=function(f){var m=f.name;return m===Q.Firefox},ne=function(f){var m=f.name;return m===Q.Chromium},fe=function(f){var m=f.name;return m===Q.Edge},ce=function(f){var m=f.name;return m===Q.Yandex},M=function(f){var m=f.name;return m===Q.Safari||m===Q.MobileSafari},j=function(f){var m=f.name;return m===Q.MobileSafari},oe=function(f){var m=f.name;return m===Q.Opera},H=function(f){var m=f.name;return m===Q.InternetExplorer||m===Q.Ie},be=function(f){var m=f.name;return m===Q.MIUI},we=function(f){var m=f.name;return m===Q.SamsungBrowser},le=function(f){var m=f.version;return q(m)},Se=function(f){var m=f.major;return q(m)},De=function(f){var m=f.name;return q(m)},Ie=function(f){var m=f.name;return q(m)},Oe=function(f){var m=f.version;return q(m)},et=function(){var f=Ae(),m=f&&f.userAgent&&f.userAgent.toLowerCase();return typeof m=="string"?/electron/.test(m):!1},ze=function(f){return typeof f=="string"&&f.indexOf("Edg/")!==-1},dt=function(){var f=Ae();return f&&(/iPad|iPhone|iPod/.test(f.platform)||f.platform==="MacIntel"&&f.maxTouchPoints>1)&&!window.MSStream},Je=function(){return Ne("iPad")},Ot=function(){return Ne("iPhone")},cn=function(){return Ne("iPod")},ln=function(f){return q(f)};function jt(C){var f=C||A,m=f.device,L=f.browser,V=f.os,ke=f.engine,Re=f.ua;return{isSmartTV:gt(m),isConsole:R(m),isWearable:lt(m),isEmbedded:X(m),isMobileSafari:j(L)||Je(),isChromium:ne(L),isMobile:Dt(m)||Je(),isMobileOnly:Ee(m),isTablet:Pt(m)||Je(),isBrowser:wt(m),isDesktop:wt(m),isAndroid:K(V),isWinPhone:pe(V),isIOS:re(V)||Je(),isChrome:O(L),isFirefox:ee(L),isSafari:M(L),isOpera:oe(L),isIE:H(L),osVersion:U(V),osName:v(V),fullBrowserVersion:le(L),browserVersion:Se(L),browserName:De(L),mobileVendor:G(m),mobileModel:Z(m),engineName:Ie(ke),engineVersion:Oe(ke),getUA:ln(Re),isEdge:fe(L)||ze(Re),isYandex:ce(L),deviceType:_(m),isIOS13:dt(),isIPad13:Je(),isIPhone13:Ot(),isIPod13:cn(),isElectron:et(),isEdgeChromium:ze(Re),isLegacyEdge:fe(L)&&!ze(Re),isWindows:z(V),isMacOs:$(V),isMIUI:be(L),isSamsungBrowser:we(L)}}var Ue=gt(i),En=R(i),Sn=lt(i),wc=X(i),bc=j(a)||Je(),yc=ne(a),xn=Dt(i)||Je(),Ps=Ee(i),Ds=Pt(i)||Je(),Os=wt(i),Ac=wt(i),Ls=K(k),Us=pe(k),Rs=re(k)||Je(),kc=O(a),vc=ee(a),Tc=M(a),Cc=oe(a),Ms=H(a),Ec=U(k),Sc=v(k),xc=le(a),Ic=Se(a),Nc=De(a),Bc=G(i),Fc=Z(i),Pc=Ie(l),Dc=Oe(l),Oc=ln(D),Lc=fe(a)||ze(D),Uc=ce(a),Rc=_(i),Mc=dt(),Hc=Je(),Wc=Ot(),Vc=cn(),Gc=et(),Yc=ze(D),zc=fe(a)&&!ze(D),Jc=z(k),jc=$(k),qc=be(a),Qc=we(a),Xc=function(f){if(!f||typeof f!="string"){console.error("No valid user agent string was provided");return}var m=g(f),L=m.device,V=m.browser,ke=m.os,Re=m.engine,Ze=m.ua;return jt({device:L,browser:V,os:ke,engine:Re,ua:Ze})},Kc=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ls?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},Zc=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Os?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},_c=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ms?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},$c=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Rs?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},el=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return xn?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},tl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ds?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},nl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Us?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},ol=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var V=p(f,["renderWithFragment","children","viewClassName","style"]);return Ps?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},sl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Ue?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},al=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return En?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},rl=function(f){var m=f.renderWithFragment,L=f.children,V=p(f,["renderWithFragment","children"]);return Sn?m?n.createElement(t.Fragment,null,L):n.createElement("div",V,L):null},il=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var V=f.condition,ke=p(f,["renderWithFragment","children","viewClassName","style","condition"]);return V?m?n.createElement(t.Fragment,null,L):n.createElement("div",ke,L):null};function cl(C){return(function(f){ge(m,f);function m(L){var V;return ve(this,m),V=u(this,xe(m).call(this,L)),V.isEventListenerAdded=!1,V.handleOrientationChange=V.handleOrientationChange.bind(E(V)),V.onOrientationChange=V.onOrientationChange.bind(E(V)),V.onPageLoad=V.onPageLoad.bind(E(V)),V.state={isLandscape:!1,isPortrait:!1},V}return W(m,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var V=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:V===0,isLandscape:V===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":B(window))!==void 0&&xn&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return n.createElement(C,he({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),m})(n.Component)}function ll(){var C=t.useState(function(){var ke=window.innerWidth>window.innerHeight?90:0;return{isPortrait:ke===0,isLandscape:ke===90,orientation:ke===0?"portrait":"landscape"}}),f=w(C,2),m=f[0],L=f[1],V=t.useCallback(function(){var ke=window.innerWidth>window.innerHeight?90:0,Re={isPortrait:ke===0,isLandscape:ke===90,orientation:ke===0?"portrait":"landscape"};m.orientation!==Re.orientation&&L(Re)},[m.orientation]);return t.useEffect(function(){return(typeof window>"u"?"undefined":B(window))!==void 0&&xn&&(V(),window.addEventListener("load",V,!1),window.addEventListener("resize",V,!1)),function(){window.removeEventListener("resize",V,!1),window.removeEventListener("load",V,!1)}},[V]),m}function Hs(C){var f=C||window.navigator.userAgent;return g(f)}function dl(C){var f=C||window.navigator.userAgent,m=Hs(f),L=jt(m);return[L,m]}return se.AndroidView=Kc,se.BrowserTypes=Q,se.BrowserView=Zc,se.ConsoleView=al,se.CustomView=il,se.IEView=_c,se.IOSView=$c,se.MobileOnlyView=ol,se.MobileView=el,se.OsTypes=ae,se.SmartTVView=sl,se.TabletView=tl,se.WearableView=rl,se.WinPhoneView=nl,se.browserName=Nc,se.browserVersion=Ic,se.deviceDetect=Pe,se.deviceType=Rc,se.engineName=Pc,se.engineVersion=Dc,se.fullBrowserVersion=xc,se.getSelectorsByUserAgent=Xc,se.getUA=Oc,se.isAndroid=Ls,se.isBrowser=Os,se.isChrome=kc,se.isChromium=yc,se.isConsole=En,se.isDesktop=Ac,se.isEdge=Lc,se.isEdgeChromium=Yc,se.isElectron=Gc,se.isEmbedded=wc,se.isFirefox=vc,se.isIE=Ms,se.isIOS=Rs,se.isIOS13=Mc,se.isIPad13=Hc,se.isIPhone13=Wc,se.isIPod13=Vc,se.isLegacyEdge=zc,se.isMIUI=qc,se.isMacOs=jc,se.isMobile=xn,se.isMobileOnly=Ps,se.isMobileSafari=bc,se.isOpera=Cc,se.isSafari=Tc,se.isSamsungBrowser=Qc,se.isSmartTV=Ue,se.isTablet=Ds,se.isWearable=Sn,se.isWinPhone=Us,se.isWindows=Jc,se.isYandex=Uc,se.mobileModel=Fc,se.mobileVendor=Bc,se.osName=Sc,se.osVersion=Ec,se.parseUserAgent=g,se.setUserAgent=Te,se.useDeviceData=Hs,se.useDeviceSelectors=dl,se.useMobileOrientation=ll,se.withOrientationChange=cl,se}var Jt=uc();const fc=void 0,Ns=["AIzaSyCcjTkMquc7DNzqQYOXEFj7qoEypnCdUOs","AIzaSyDWJj9ufkN-39vkT6_qvnAu9s_3BECbdcM","AIzaSyAkSIDm0sT0uenqN6EgznNl7qGHSG3B22Y","AIzaSyCRFoHCgxndYwAELqLjxzzYaTBM_cZr0bU","AIzaSyBgvuw0AhP0eeCF3iw0LLsHHAXSfnBbbHY","AIzaSyAfMPuSqrl14vw1fYkhzC-D5CNf78nXjfU","AIzaSyC0EVYjl81EVo_RwKpDE6jhTbTK-cO1n4U","AIzaSyAmHgpfmkBJVM9dUUXQ81ZCJvTjbdbFP54","AIzaSyDD2tujUZ7FpgJ4-gn8BNzYkVSrrAc4nC8","AIzaSyAQkB8-XZj7IpnWnVWJRrFUontxaWcYts4","AIzaSyCuMsh9tdgwnXkA0VCfGEhOJ9m-PpMTLOI","AIzaSyAEyg3fu64RsyvCoJQPr1ljRxp2tH61mGE","AIzaSyB1lMSRtZGSMUHBblpz8KtNKrmWmmFIWbk","AIzaSyDuEnXlwTsmVVUF2oqcUED-X1SeVWEK0tI","AIzaSyA1urvuv3-QJBno3WdUTMgb_YC3S1Bfd8o","AIzaSyAHrEi0Lj8QskYDf_jJq6Ntgt0tEMT5dCM","AIzaSyDOJISQFLeWkJnu0uqjl82j_EkIbGzuwO0","AIzaSyAopV-1f7330jy9qpMzdIm0rrXEzxhFSHk","AIzaSyAnz8McdnnPR914ecmW1th-FjBD2Ru_W6Y","AIzaSyCxuS7oGGrzIWUZ-VizZdEIWFQRa3RR1XU"],Bs={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:fc,url:"https://generativelanguage.googleapis.com"};class pc extends zt{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(Bs.url)}getApiKey(){let t="";const n=localStorage.getItem("index_api_key_gemini");return n&&(this.indexApiKey=Number(n),this.indexApiKey++),this.indexApiKey>=Ns.length&&(this.indexApiKey=0),t=Ns[this.indexApiKey],localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),t}getUrl(t,n){return`/v1beta/models/${n||"gemini-2.5-flash"}:${t}`}async generateContent(t,n){try{const o=`
405
405
  Below is the system context and conversation history. Use it for context but prioritize the instructions at the end.
406
406
 
407
407
  ---
@@ -445,50 +445,50 @@ The user may ask in their native language, so recognize the MEANING, not just sp
445
445
 
446
446
  If the question is about ANY of the above topics, respond with ONLY the word "yes" (lowercase, nothing else).
447
447
  Otherwise, respond with ONLY the word "no" (lowercase, nothing else).
448
- Do not provide any explanation or additional text.`,s=this.getUrl("generateContent",Bs["model2.0"]),a={contents:[{parts:[{text:o}]}]},r=await this.post(s,a,{headers:{"x-goog-api-key":this.getApiKey()}});return r?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||r?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(o){throw o}}}const Fs=new pc;function ho(e,t){if(!e)return e;const n=e.toLowerCase().trim();if(n==="max"||n==="all")return t||e;const o=n.match(/^(\d+(?:\.\d+)?)%$/);if(o){const s=parseFloat(o[1])/100;return((parseFloat(t)||0)*s).toFixed(8).replace(/\.?0+$/,"")||"0"}return e}const mc=({isOpen:e,onClose:t,onTransaction:n,position:o="bottom-right",modalChatStyle:s={}})=>{const{t:a,ti:r}=Nn(),{messages:i,addMessage:l,updateMessageAction:k,updateMessageText:O,getMessageById:Y,clearMessagesById:g}=Oi(),[A,y]=te.useState(""),[T,B]=te.useState(!1),[ve,N]=te.useState(!0),[W,z]=te.useState(null),he=te.useRef(null),ge=te.useRef(null),xe=te.useRef(null),c=te.useRef(null),d=te.useRef(null),p=te.useRef(!1),E=te.useRef(ve);te.useEffect(()=>{E.current=ve},[ve]);const{account:u,chainData:w,chainType:S,chainTypeMoralis:h,chainId:b,isChainSupported:x}=oo(),{config:I}=Di(),F=b&&I?.rpcUrls?.[b]||void 0,Q=te.useCallback(()=>{const R=Bt.getItem("dataBuyToken");if(R)try{return JSON.parse(R)}catch{return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}}return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}},[]),ae=te.useCallback(R=>{Bt.setItem("dataBuyToken",JSON.stringify(R))},[]),ue=te.useCallback(R=>{const G={...Q(),...R};ae(G)},[Q,ae]),Ce=te.useCallback(R=>{z(R),zt.isDesktop&&xe.current?.focus()},[]),Te=te.useCallback(async(R,X)=>{ue({descTokenAddress:R,descTokenDecimals:X||18});try{B(!0);const G=await Qe({address:u?.address||"",chain:h});if(G?.success&&G?.data?.result){const Z=G.data.result;if(Z?.length>0){const _=Z.map(K=>({id:K.token_address,text:`${K.name}: ${K.balance_formatted} ${K.symbol} ($${ie(K.usd_value||0)?.decimalPlaces(2).toFormat()||"0"})`,value:r("buttonBuyWith",{symbol:K.symbol}),action:"click_balance_item_user_to_buy_button",fullWidth:!0,extraData:{tokenAddress:K.token_address,symbol:K.symbol,balance:K.balance_formatted,usdValue:K.usd_value,decimals:K.decimals}}));l(r("walletBalanceSpendable",{chain:w?.name||"unknown"}),"bot",void 0,_)}else l(r("walletNoTokensFound",{chain:w?.name||"unknown"}),"bot")}else l(a("walletFetchFailed"),"bot")}catch(G){console.error("Error fetching wallet balance:",G),l(a("walletFetchError"),"bot")}finally{B(!1)}},[ue,u?.address,h,l,w?.name,a,r]),q=te.useCallback(async(R,X,G,Z)=>{const _=[25,50,75,100];ue({srcTokenAddress:R,srcTokenDecimals:Z||18});let K=G||"0";if(R===Ve)try{const $=await mo({chainId:b,rpcUrl:F});if($.isGreaterThan(0)){const pe=$.times(1e6),U=new ie(mt(G,Z||18).toString()).minus(pe);U.isGreaterThan(0)?K=ie(Le(BigInt(U.toFixed(0)),18)).toFixed():K="0"}}catch($){console.warn("getGasPrice for swap native fee deduction failed:",$)}const J=_.map($=>({id:`percent-${$}`,text:`${$}%`,value:r("buttonUsePercent",{percent:String($),symbol:X}),action:"select_percent",extraData:{percent:$,tokenAddress:R,tokenSymbol:X,tokenDecimals:Z||18,tokenBalance:K}}));if(ie(K).isZero()){l(r("insufficientFeeToken",{symbol:X}),"bot");return}l(r("selectAmountOf",{symbol:X,balance:K}),"bot",void 0,J)},[l,b,F,ue,r]),Ae=te.useCallback(async(R,X,G,Z)=>{const _={amount:(parseFloat(X)*(R/100)).toFixed(6)};G!==void 0&&(_.srcTokenAddress=G),Z!==void 0&&(_.srcTokenDecimals=Z),ue(_);const K=Q(),J=mt(K.amount,K.srcTokenDecimals||18).toString(),$=await lo({chainId:b,tokenIn:K.srcTokenAddress,tokenInAmount:J,tokenOut:K.descTokenAddress,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if($.success&&$.data){const pe=$.data,re=pe.tokenIn,U=pe.tokenOut,v=ie(Le(BigInt(re.amount||0),re.decimals)).decimalPlaces(6).toFormat(),D=ie(Le(BigInt(U.amount||0),U.decimals)).decimalPlaces(6).toFormat(),ee=K.srcTokenAddress===Ve||K.srcTokenAddress==="";let ne=!1;if(!ee&&u?.address&&pe.tx?.to)try{const we=await po({tokenAddress:K.srcTokenAddress,ownerAddress:u.address,spenderAddress:pe.tx.to,chainId:b,rpcUrl:F});ne=ie(we.toString()).isLessThan(J)}catch(we){console.warn("Allowance check failed:",we),ne=!0}const fe=pe.estimatedTransactionFee?.total?ie(pe.estimatedTransactionFee.total):ie(0);let ce=ie(0);if(ne&&u?.address)try{const we=Tn({tokenAddress:K.srcTokenAddress,spenderAddress:pe.tx?.to||"",fromAddress:u.address,chainId:b});ce=await an({from:u.address,to:we.to,data:we.data,chainId:b,rpcUrl:F})}catch(we){console.warn("Approve fee estimation failed:",we)}const M=fe.plus(ce),j=w?.nativeCurrency?.symbol||"native";let oe="",H=!1;if(u?.address&&M.isGreaterThan(0))try{const we=await Cn({address:u.address,chainId:b,rpcUrl:F});if(we.isLessThan(M)){H=!0;const le=ie(Le(BigInt(we.toFixed(0)),18)).decimalPlaces(6).toFormat(),Se=ie(Le(BigInt(M.toFixed(0)),18)).decimalPlaces(6).toFormat();oe=r("swapFeeWarning",{symbol:j,balance:le,needed:Se})}}catch(we){console.warn("Fee balance check failed:",we)}const be=`From: ${v} ${re.symbol}
448
+ Do not provide any explanation or additional text.`,s=this.getUrl("generateContent",Bs["model2.0"]),a={contents:[{parts:[{text:o}]}]},r=await this.post(s,a,{headers:{"x-goog-api-key":this.getApiKey()}});return r?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||r?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(o){throw o}}}const Fs=new pc;function ho(e,t){if(!e)return e;const n=e.toLowerCase().trim();if(n==="max"||n==="all")return t||e;const o=n.match(/^(\d+(?:\.\d+)?)%$/);if(o){const s=parseFloat(o[1])/100;return((parseFloat(t)||0)*s).toFixed(8).replace(/\.?0+$/,"")||"0"}return e}const mc=({isOpen:e,onClose:t,onTransaction:n,position:o="bottom-right",modalChatStyle:s={}})=>{const{t:a,ti:r}=Nn(),{messages:i,addMessage:l,updateMessageAction:k,updateMessageText:D,getMessageById:Y,clearMessagesById:g}=Di(),[A,y]=te.useState(""),[T,B]=te.useState(!1),[ve,N]=te.useState(!0),[W,J]=te.useState(null),he=te.useRef(null),ge=te.useRef(null),xe=te.useRef(null),c=te.useRef(null),d=te.useRef(null),p=te.useRef(!1),E=te.useRef(ve);te.useEffect(()=>{E.current=ve},[ve]);const{account:u,chainData:w,chainType:S,chainTypeMoralis:h,chainId:b,isChainSupported:x}=oo(),{config:I}=Oi(),F=b&&I?.rpcUrls?.[b]||void 0,Q=te.useCallback(()=>{const R=Bt.getItem("dataBuyToken");if(R)try{return JSON.parse(R)}catch{return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}}return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}},[]),ae=te.useCallback(R=>{Bt.setItem("dataBuyToken",JSON.stringify(R))},[]),ue=te.useCallback(R=>{const G={...Q(),...R};ae(G)},[Q,ae]),Ce=te.useCallback(R=>{J(R),Jt.isDesktop&&xe.current?.focus()},[]),Te=te.useCallback(async(R,X)=>{ue({descTokenAddress:R,descTokenDecimals:X||18});try{B(!0);const G=await Qe({address:u?.address||"",chain:h});if(G?.success&&G?.data?.result){const Z=G.data.result;if(Z?.length>0){const _=Z.map(K=>({id:K.token_address,text:`${K.name}: ${K.balance_formatted} ${K.symbol} ($${ie(K.usd_value||0)?.decimalPlaces(2).toFormat()||"0"})`,value:r("buttonBuyWith",{symbol:K.symbol}),action:"click_balance_item_user_to_buy_button",fullWidth:!0,extraData:{tokenAddress:K.token_address,symbol:K.symbol,balance:K.balance_formatted,usdValue:K.usd_value,decimals:K.decimals}}));l(r("walletBalanceSpendable",{chain:w?.name||"unknown"}),"bot",void 0,_)}else l(r("walletNoTokensFound",{chain:w?.name||"unknown"}),"bot")}else l(a("walletFetchFailed"),"bot")}catch(G){console.error("Error fetching wallet balance:",G),l(a("walletFetchError"),"bot")}finally{B(!1)}},[ue,u?.address,h,l,w?.name,a,r]),q=te.useCallback(async(R,X,G,Z)=>{const _=[25,50,75,100];ue({srcTokenAddress:R,srcTokenDecimals:Z||18});let K=G||"0";if(R===Ve)try{const $=await mo({chainId:b,rpcUrl:F});if($.isGreaterThan(0)){const pe=$.times(1e6),U=new ie(mt(G,Z||18).toString()).minus(pe);U.isGreaterThan(0)?K=ie(Le(BigInt(U.toFixed(0)),18)).toFixed():K="0"}}catch($){console.warn("getGasPrice for swap native fee deduction failed:",$)}const z=_.map($=>({id:`percent-${$}`,text:`${$}%`,value:r("buttonUsePercent",{percent:String($),symbol:X}),action:"select_percent",extraData:{percent:$,tokenAddress:R,tokenSymbol:X,tokenDecimals:Z||18,tokenBalance:K}}));if(ie(K).isZero()){l(r("insufficientFeeToken",{symbol:X}),"bot");return}l(r("selectAmountOf",{symbol:X,balance:K}),"bot",void 0,z)},[l,b,F,ue,r]),Ae=te.useCallback(async(R,X,G,Z)=>{const _={amount:(parseFloat(X)*(R/100)).toFixed(6)};G!==void 0&&(_.srcTokenAddress=G),Z!==void 0&&(_.srcTokenDecimals=Z),ue(_);const K=Q(),z=mt(K.amount,K.srcTokenDecimals||18).toString(),$=await lo({chainId:b,tokenIn:K.srcTokenAddress,tokenInAmount:z,tokenOut:K.descTokenAddress,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if($.success&&$.data){const pe=$.data,re=pe.tokenIn,U=pe.tokenOut,v=ie(Le(BigInt(re.amount||0),re.decimals)).decimalPlaces(6).toFormat(),O=ie(Le(BigInt(U.amount||0),U.decimals)).decimalPlaces(6).toFormat(),ee=K.srcTokenAddress===Ve||K.srcTokenAddress==="";let ne=!1;if(!ee&&u?.address&&pe.tx?.to)try{const we=await po({tokenAddress:K.srcTokenAddress,ownerAddress:u.address,spenderAddress:pe.tx.to,chainId:b,rpcUrl:F});ne=ie(we.toString()).isLessThan(z)}catch(we){console.warn("Allowance check failed:",we),ne=!0}const fe=pe.estimatedTransactionFee?.total?ie(pe.estimatedTransactionFee.total):ie(0);let ce=ie(0);if(ne&&u?.address)try{const we=Tn({tokenAddress:K.srcTokenAddress,spenderAddress:pe.tx?.to||"",fromAddress:u.address,chainId:b});ce=await an({from:u.address,to:we.to,data:we.data,chainId:b,rpcUrl:F})}catch(we){console.warn("Approve fee estimation failed:",we)}const M=fe.plus(ce),j=w?.nativeCurrency?.symbol||"native";let oe="",H=!1;if(u?.address&&M.isGreaterThan(0))try{const we=await Cn({address:u.address,chainId:b,rpcUrl:F});if(we.isLessThan(M)){H=!0;const le=ie(Le(BigInt(we.toFixed(0)),18)).decimalPlaces(6).toFormat(),Se=ie(Le(BigInt(M.toFixed(0)),18)).decimalPlaces(6).toFormat();oe=r("swapFeeWarning",{symbol:j,balance:le,needed:Se})}}catch(we){console.warn("Fee balance check failed:",we)}const be=`From: ${v} ${re.symbol}
449
449
  ⬇️
450
- To: ${D} ${U.symbol}
450
+ To: ${O} ${U.symbol}
451
451
 
452
452
  `+oe+`
453
- `;if(H)l(be,"bot");else if(ne){const we=be+r("swapNeedApprove",{symbol:re.symbol}),le=[{id:"approve-for-swap",text:r("swapApproveButton",{symbol:re.symbol}),value:r("swapApproveValue",{symbol:re.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:K.srcTokenAddress,spenderAddress:pe.tx.to,tokenSymbol:re.symbol,tx:pe.tx}}];l(we,"bot",void 0,le)}else{const we=[{id:"confirm-swap",text:a("swapConfirmButton"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:pe.tx}}];l(be+a("swapReadyToProceed"),"bot",void 0,we)}}else l(r("swapEstimationError",{error:$.errorMessage||$.error||"Unknown error"}),"bot")},[Q,ue,l,b,u?.address,w?.nativeCurrency?.symbol,F,a,r]),Ne=te.useCallback(async(R,X,G)=>{try{if(X==="suggested_action"){c.current=R,y(R);return}if(l(R,"user"),N(!1),B(!0),X)switch(await _e(500),X){case"click_buy_item_token_button":await Te(G?.tokenAddress||"",G?.decimals||18);break;case"click_balance_item_user_to_buy_button":await q(G?.tokenAddress||"",G?.symbol||"",G?.balance||"",G?.decimals||18);break;case"select_percent":await Ae(G?.percent||0,G?.tokenBalance||"",G?.tokenAddress||void 0,G?.tokenDecimals||void 0);break;case"confirm_swap":if(G?.tx&&n){const Z=G.tx,_={from:u?.address||"",to:Z.to,data:Z.data,value:Z.value,chainId:b},K=l(a("txProcessing"),"bot");try{B(!1);const J=await n(_);if(J.status==="success"&&J.transactionHash){const $=w?.blockExplorers?.default?.url,pe=$?`
454
- [View on Explorer](${$}/tx/${J.transactionHash})`:`
455
- Tx: ${J.transactionHash}`;O(K.id,a("txSubmitted")+pe);try{await _e(2e3),(await fo({transactionHash:J.transactionHash,chainId:b||1,rpcUrl:F})).status==="success"?O(K.id,a("txConfirmedSwap")+pe):O(K.id,a("txRevertedSwap")+pe)}catch(re){console.warn("Transaction tracking timeout:",re),O(K.id,a("txTimeout")+pe)}}else if(J.status==="success")O(K.id,a("txSuccessfulSwap"));else{const $=J.error?`
456
- Error: ${J.error}`:"";O(K.id,a("txFailed")+$)}}catch(J){console.error("Transaction error:",J),O(K.id,a("txFailed"))}}else l(a("txDataNotAvailable"),"bot");break;case"approve_for_swap":{const Z=G?.tokenAddress||"",_=G?.spenderAddress||"",K=G?.tokenSymbol||"token",J=G?.tx;if(!Z||!_||!n){l(a("approvalDataNotAvailable"),"bot");break}const $=Tn({tokenAddress:Z,spenderAddress:_,fromAddress:u?.address||"",chainId:b,tokenSymbol:K}),pe={from:$.from,to:$.to,data:$.data,value:$.value,chainId:$.chainId};l(r("approving",{symbol:K}),"bot");try{B(!1);const re=await n(pe);let U=re.status==="success";if(re.status==="success"&&re.transactionHash)try{U=(await fo({transactionHash:re.transactionHash,chainId:b||1,rpcUrl:F})).status==="success"}catch(v){console.warn("Approval tracking timeout:",v),U=!0}if(U){l(r("approvalSuccess",{symbol:K}),"bot");const v=[{id:"confirm-swap-after-approve",text:a("confirmSwapButton"),value:a("swapConfirmValue"),action:"confirm_swap",fullWidth:!0,extraData:{tx:J}}];l(a("approvalConfirmSwap"),"bot",void 0,v)}else{const v=re.error?`
457
- Error: ${re.error}`:"";l(a("approvalFailed")+v,"bot")}}catch(re){console.error("Approval error:",re),l(a("approvalFailed"),"bot")}break}case"click_swap_dest_token":{const Z=G?.tokenAddress||"",_=G?.symbol||"",K=G?.decimals||18;ue({descTokenAddress:Z,descTokenDecimals:K});const J=Q(),$=J.srcTokenAddress||"",pe=$===Ve;try{const re=await Qe({address:u?.address||"",chain:h});if(re?.success&&re?.data?.result){const U=re.data.result;let v="",D="0";if(pe){const ee=U.find(ne=>ne.native_token);v=w?.nativeCurrency?.symbol||"ETH",D=ee?.balance_formatted||"0"}else{const ee=U.find(ne=>ne.token_address.toLowerCase()===$.toLowerCase());ee&&(v=ee.symbol,D=ee.balance_formatted)}if(v&&parseFloat(D)>0){const ee=[25,50,75,100],ne=J.srcTokenDecimals||18,fe=ee.map(ce=>({id:`percent-${ce}`,text:`${ce}%`,value:r("buttonUsePercent",{percent:String(ce),symbol:v}),action:"select_percent",extraData:{percent:ce,tokenAddress:$,tokenSymbol:v,tokenDecimals:ne,tokenBalance:D}}));l(r("swapSelectAmount",{from:v,to:_,balance:D}),"bot",void 0,fe)}else l(a("swapNoSourceToken"),"bot")}else l(a("couldNotFetchBalance"),"bot")}catch(re){console.error("Error in click_swap_dest_token:",re),l(a("couldNotLoadBalance"),"bot")}break}case"select_nft_to_send":{const Z=G?.name||"NFT",_=G?.contractAddress||"",K=G?.tokenId||"",J=G?.tokenStandard||"ERC721",$=G?.amount||"1",pe=G?.image||"",re={contract_address:_,token_id:K,to_address:"",token_standard:J,amount:"1",maxAmount:$,nft_name:Z};l(r("nftSendReview",{name:Z,standard:J,tokenId:K}),"bot",void 0,void 0,{action:"send_nft",parameters:re,status:"pending",nftInfo:{name:Z,image:pe||void 0,tokenId:K,contractAddress:_,tokenStandard:J}});break}default:l(r("actionExecutedFor",{action:X,value:R}),"bot")}else await _e(500),l(r("receivedButtonValue",{value:R}),"bot");B(!1),zt.isDesktop&&xe.current?.focus()}catch(Z){l(a("errorProcessingRequest"),"bot"),B(!1),console.error("Error handling button click:",Z)}},[u?.address,l,O,w?.blockExplorers?.default?.url,w?.nativeCurrency?.symbol,b,h,Q,Te,q,n,Ae,ue,F,a,r]),Ye=te.useCallback(async()=>{try{B(!0);const R=w?.tokenTrendingDefault||[],[X,G]=await Promise.allSettled([st.getTopGainers(S,"24h",5),st.getTokensDetails(R,S)]);let Z=[];X.status==="fulfilled"&&X.value?.data?Z=[...X.value.data]:console.warn("⚠️ Top gainers failed:"),G.status==="fulfilled"&&G.value?.data?Z=[...G.value.data,...Z]:console.warn("⚠️ Default tokens failed:"),Z=Z.filter((J,$,pe)=>$===pe.findIndex(re=>re.address.toLowerCase()===J.address.toLowerCase()));const _=Z.map(J=>({id:J?.symbol,text:J?.symbol,value:r("buttonBuyToken",{name:J.name,symbol:J?.symbol||""}),action:"click_buy_item_token_button",extraData:{tokenAddress:J?.address||"",symbol:J?.symbol||"",decimals:J?.decimals||18}}));await _e(1e3),B(!1),l(r("trendingTokensHeader",{chain:w?.name||"Unknown"}),"bot");const K=Z.map((J,$)=>`${$+1}. ${J.name} (${J?.auditGoplus?.token_symbol||J.symbol||"Unknown"})
458
- $${ie(J?.price||0).decimalPlaces(4).toFormat()} (${J.price_change_percentage_24h||J.priceChange}%)
453
+ `;if(H)l(be,"bot");else if(ne){const we=be+r("swapNeedApprove",{symbol:re.symbol}),le=[{id:"approve-for-swap",text:r("swapApproveButton",{symbol:re.symbol}),value:r("swapApproveValue",{symbol:re.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:K.srcTokenAddress,spenderAddress:pe.tx.to,tokenSymbol:re.symbol,tx:pe.tx}}];l(we,"bot",void 0,le)}else{const we=[{id:"confirm-swap",text:a("swapConfirmButton"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:pe.tx}}];l(be+a("swapReadyToProceed"),"bot",void 0,we)}}else l(r("swapEstimationError",{error:$.errorMessage||$.error||"Unknown error"}),"bot")},[Q,ue,l,b,u?.address,w?.nativeCurrency?.symbol,F,a,r]),Ne=te.useCallback(async(R,X,G)=>{try{if(X==="suggested_action"){c.current=R,y(R);return}if(l(R,"user"),N(!1),B(!0),X)switch(await _e(500),X){case"click_buy_item_token_button":await Te(G?.tokenAddress||"",G?.decimals||18);break;case"click_balance_item_user_to_buy_button":await q(G?.tokenAddress||"",G?.symbol||"",G?.balance||"",G?.decimals||18);break;case"select_percent":await Ae(G?.percent||0,G?.tokenBalance||"",G?.tokenAddress||void 0,G?.tokenDecimals||void 0);break;case"confirm_swap":if(G?.tx&&n){const Z=G.tx,_={from:u?.address||"",to:Z.to,data:Z.data,value:Z.value,chainId:b},K=l(a("txProcessing"),"bot");try{B(!1);const z=await n(_);if(z.status==="success"&&z.transactionHash){const $=w?.blockExplorers?.default?.url,pe=$?`
454
+ [View on Explorer](${$}/tx/${z.transactionHash})`:`
455
+ Tx: ${z.transactionHash}`;D(K.id,a("txSubmitted")+pe);try{await _e(2e3),(await fo({transactionHash:z.transactionHash,chainId:b||1,rpcUrl:F})).status==="success"?D(K.id,a("txConfirmedSwap")+pe):D(K.id,a("txRevertedSwap")+pe)}catch(re){console.warn("Transaction tracking timeout:",re),D(K.id,a("txTimeout")+pe)}}else if(z.status==="success")D(K.id,a("txSuccessfulSwap"));else{const $=z.error?`
456
+ Error: ${z.error}`:"";D(K.id,a("txFailed")+$)}}catch(z){console.error("Transaction error:",z),D(K.id,a("txFailed"))}}else l(a("txDataNotAvailable"),"bot");break;case"approve_for_swap":{const Z=G?.tokenAddress||"",_=G?.spenderAddress||"",K=G?.tokenSymbol||"token",z=G?.tx;if(!Z||!_||!n){l(a("approvalDataNotAvailable"),"bot");break}const $=Tn({tokenAddress:Z,spenderAddress:_,fromAddress:u?.address||"",chainId:b,tokenSymbol:K}),pe={from:$.from,to:$.to,data:$.data,value:$.value,chainId:$.chainId};l(r("approving",{symbol:K}),"bot");try{B(!1);const re=await n(pe);let U=re.status==="success";if(re.status==="success"&&re.transactionHash)try{U=(await fo({transactionHash:re.transactionHash,chainId:b||1,rpcUrl:F})).status==="success"}catch(v){console.warn("Approval tracking timeout:",v),U=!0}if(U){l(r("approvalSuccess",{symbol:K}),"bot");const v=[{id:"confirm-swap-after-approve",text:a("confirmSwapButton"),value:a("swapConfirmValue"),action:"confirm_swap",fullWidth:!0,extraData:{tx:z}}];l(a("approvalConfirmSwap"),"bot",void 0,v)}else{const v=re.error?`
457
+ Error: ${re.error}`:"";l(a("approvalFailed")+v,"bot")}}catch(re){console.error("Approval error:",re),l(a("approvalFailed"),"bot")}break}case"click_swap_dest_token":{const Z=G?.tokenAddress||"",_=G?.symbol||"",K=G?.decimals||18;ue({descTokenAddress:Z,descTokenDecimals:K});const z=Q(),$=z.srcTokenAddress||"",pe=$===Ve;try{const re=await Qe({address:u?.address||"",chain:h});if(re?.success&&re?.data?.result){const U=re.data.result;let v="",O="0";if(pe){const ee=U.find(ne=>ne.native_token);v=w?.nativeCurrency?.symbol||"ETH",O=ee?.balance_formatted||"0"}else{const ee=U.find(ne=>ne.token_address.toLowerCase()===$.toLowerCase());ee&&(v=ee.symbol,O=ee.balance_formatted)}if(v&&parseFloat(O)>0){const ee=[25,50,75,100],ne=z.srcTokenDecimals||18,fe=ee.map(ce=>({id:`percent-${ce}`,text:`${ce}%`,value:r("buttonUsePercent",{percent:String(ce),symbol:v}),action:"select_percent",extraData:{percent:ce,tokenAddress:$,tokenSymbol:v,tokenDecimals:ne,tokenBalance:O}}));l(r("swapSelectAmount",{from:v,to:_,balance:O}),"bot",void 0,fe)}else l(a("swapNoSourceToken"),"bot")}else l(a("couldNotFetchBalance"),"bot")}catch(re){console.error("Error in click_swap_dest_token:",re),l(a("couldNotLoadBalance"),"bot")}break}case"select_nft_to_send":{const Z=G?.name||"NFT",_=G?.contractAddress||"",K=G?.tokenId||"",z=G?.tokenStandard||"ERC721",$=G?.amount||"1",pe=G?.image||"",re={contract_address:_,token_id:K,to_address:"",token_standard:z,amount:"1",maxAmount:$,nft_name:Z};l(r("nftSendReview",{name:Z,standard:z,tokenId:K}),"bot",void 0,void 0,{action:"send_nft",parameters:re,status:"pending",nftInfo:{name:Z,image:pe||void 0,tokenId:K,contractAddress:_,tokenStandard:z}});break}default:l(r("actionExecutedFor",{action:X,value:R}),"bot")}else await _e(500),l(r("receivedButtonValue",{value:R}),"bot");B(!1),Jt.isDesktop&&xe.current?.focus()}catch(Z){l(a("errorProcessingRequest"),"bot"),B(!1),console.error("Error handling button click:",Z)}},[u?.address,l,D,w?.blockExplorers?.default?.url,w?.nativeCurrency?.symbol,b,h,Q,Te,q,n,Ae,ue,F,a,r]),Ye=te.useCallback(async()=>{try{B(!0);const R=w?.tokenTrendingDefault||[],[X,G]=await Promise.allSettled([st.getTopGainers(S,"24h",5),st.getTokensDetails(R,S)]);let Z=[];X.status==="fulfilled"&&X.value?.data?Z=[...X.value.data]:console.warn("⚠️ Top gainers failed:"),G.status==="fulfilled"&&G.value?.data?Z=[...G.value.data,...Z]:console.warn("⚠️ Default tokens failed:"),Z=Z.filter((z,$,pe)=>$===pe.findIndex(re=>re.address.toLowerCase()===z.address.toLowerCase()));const _=Z.map(z=>({id:z?.symbol,text:z?.symbol,value:r("buttonBuyToken",{name:z.name,symbol:z?.symbol||""}),action:"click_buy_item_token_button",extraData:{tokenAddress:z?.address||"",symbol:z?.symbol||"",decimals:z?.decimals||18}}));await _e(1e3),B(!1),l(r("trendingTokensHeader",{chain:w?.name||"Unknown"}),"bot");const K=Z.map((z,$)=>`${$+1}. ${z.name} (${z?.auditGoplus?.token_symbol||z.symbol||"Unknown"})
458
+ $${ie(z?.price||0).decimalPlaces(4).toFormat()} (${z.price_change_percentage_24h||z.priceChange}%)
459
459
 
460
460
  ---
461
461
  `).join(`
462
- `);l(`${K}${a("trendingTokensQuestion")}`,"bot",void 0,_)}catch(R){console.error("Error fetching trending tokens:",R),l(a("trendingTokensError"),"bot")}finally{B(!1)}},[l,w?.name,w?.tokenTrendingDefault,S,a,r]),Xe=te.useCallback(async()=>{try{B(!0);const R=await kn({address:u?.address||"",chain:h,limit:100,exclude_spam:!1});if(R?.success&&R?.data?.result&&R.data.result.length>0){const X=R.data.result,G=X.map(_=>{const K=_.normalized_metadata?.name||_.name||`#${_.token_id}`,J=_.normalized_metadata?.image||_.media?.original_media_url||"";return{id:`${_.token_address}-${_.token_id}`,text:`${K} (${_.symbol||_.contract_type}) - ${_.token_id}`,value:r("buttonSendNft",{name:K}),action:"select_nft_to_send",fullWidth:!0,extraData:{contractAddress:_.token_address,tokenId:_.token_id,tokenStandard:_.contract_type,name:K,symbol:_.symbol,amount:_.amount,image:J}}}),Z=X.map((_,K)=>{const J=_.normalized_metadata?.name||_.name||`#${_.token_id}`,$=_.contract_type==="ERC1155"?` (x${_.amount})`:"",pe=_.normalized_metadata?.image||_.media?.original_media_url||"",re=pe?`![${J}](${pe})
463
- `:"🖼️ ";return`${K+1}. ${re}**${J}**${$}
462
+ `);l(`${K}${a("trendingTokensQuestion")}`,"bot",void 0,_)}catch(R){console.error("Error fetching trending tokens:",R),l(a("trendingTokensError"),"bot")}finally{B(!1)}},[l,w?.name,w?.tokenTrendingDefault,S,a,r]),Xe=te.useCallback(async()=>{try{B(!0);const R=await kn({address:u?.address||"",chain:h,limit:100,exclude_spam:!1});if(R?.success&&R?.data?.result&&R.data.result.length>0){const X=R.data.result,G=X.map(_=>{const K=_.normalized_metadata?.name||_.name||`#${_.token_id}`,z=_.normalized_metadata?.image||_.media?.original_media_url||"";return{id:`${_.token_address}-${_.token_id}`,text:`${K} (${_.symbol||_.contract_type}) - ${_.token_id}`,value:r("buttonSendNft",{name:K}),action:"select_nft_to_send",fullWidth:!0,extraData:{contractAddress:_.token_address,tokenId:_.token_id,tokenStandard:_.contract_type,name:K,symbol:_.symbol,amount:_.amount,image:z}}}),Z=X.map((_,K)=>{const z=_.normalized_metadata?.name||_.name||`#${_.token_id}`,$=_.contract_type==="ERC1155"?` (x${_.amount})`:"",pe=_.normalized_metadata?.image||_.media?.original_media_url||"",re=pe?`![${z}](${pe})
463
+ `:"🖼️ ";return`${K+1}. ${re}**${z}**${$}
464
464
  ${_.symbol||_.contract_type} | Token ID: ${_.token_id}`}).join(`
465
465
 
466
- `);await _e(500),B(!1),l(r("nftCollectionHeader",{count:String(X.length),list:Z}),"bot",void 0,G)}else B(!1),l(a("nftNoCollection"),"bot")}catch(R){console.error("Error fetching NFTs:",R),B(!1),l(a("nftFetchError"),"bot")}},[u?.address,h,l,a,r]),Ke=te.useCallback(async()=>{try{B(!0);const R=await Qe({address:u?.address||"",chain:h});if(R?.success&&R?.data?.result&&R.data.result.length>0){const X=R.data.result,G=X.flatMap(_=>[{id:`send-${_.token_address}`,text:r("buttonSendToken",{symbol:_.symbol}),value:r("buttonSendToken",{symbol:_.symbol}),action:"suggested_action",fullWidth:!!zt.isMobile},{id:`buy-more-${_.token_address}`,text:r("buttonBuyMoreToken",{symbol:_.symbol}),value:r("buttonBuyMoreToken",{symbol:_.symbol}),action:"suggested_action",fullWidth:!!zt.isMobile}]),Z=X.map((_,K)=>{const J=_.usd_value!==void 0?` ≈ $${ie(_.usd_value).decimalPlaces(2).toFormat()}`:"";return`${K+1}. **${_.name}** (${_.symbol})
467
- Balance: ${_.balance_formatted}${J}`}).join(`
466
+ `);await _e(500),B(!1),l(r("nftCollectionHeader",{count:String(X.length),list:Z}),"bot",void 0,G)}else B(!1),l(a("nftNoCollection"),"bot")}catch(R){console.error("Error fetching NFTs:",R),B(!1),l(a("nftFetchError"),"bot")}},[u?.address,h,l,a,r]),Ke=te.useCallback(async()=>{try{B(!0);const R=await Qe({address:u?.address||"",chain:h});if(R?.success&&R?.data?.result&&R.data.result.length>0){const X=R.data.result,G=X.flatMap(_=>[{id:`send-${_.token_address}`,text:r("buttonSendToken",{symbol:_.symbol}),value:r("buttonSendToken",{symbol:_.symbol}),action:"suggested_action",fullWidth:!!Jt.isMobile},{id:`buy-more-${_.token_address}`,text:r("buttonBuyMoreToken",{symbol:_.symbol}),value:r("buttonBuyMoreToken",{symbol:_.symbol}),action:"suggested_action",fullWidth:!!Jt.isMobile}]),Z=X.map((_,K)=>{const z=_.usd_value!==void 0?` ≈ $${ie(_.usd_value).decimalPlaces(2).toFormat()}`:"";return`${K+1}. **${_.name}** (${_.symbol})
467
+ Balance: ${_.balance_formatted}${z}`}).join(`
468
468
 
469
- `);await _e(500),B(!1),l(r("viewBalancesHeader",{chain:w?.name||"this chain",list:Z}),"bot",void 0,G)}else B(!1),l(a("viewBalancesEmpty"),"bot")}catch(R){console.error("Error fetching balances:",R),B(!1),l(a("viewBalancesFetchError"),"bot")}},[u?.address,h,l,w?.name,a,r]),We=te.useMemo(()=>[{id:"ask",icon:"❓",text:a("suggestionAskText"),action:async()=>{N(!1),B(!0),l(a("suggestionAskUserMessage"),"user"),await _e(1e3),B(!1),l(a("suggestionAskBotReply"),"bot")}},{id:"buy",icon:"💰",text:a("suggestionBuyText"),action:async()=>{N(!1),l(a("suggestionBuyText"),"user"),Me(u?.address||"")&&x?await Ye():(B(!0),await _e(1e3),Me(u?.address||"")&&!x?l(a("walletConnectedChainUnsupported"),"bot"):l(a("walletNotConnected"),"bot"),B(!1))}}],[l,u?.address,Ye,a,x]),$e=R=>{if(R===0)return!0;const X=i[R],G=i[R-1],Z=new Date(X.timestamp),_=new Date(G.timestamp);return Z.setHours(0,0,0,0),_.setHours(0,0,0,0),Z.getTime()!==_.getTime()};te.useEffect(()=>{he.current?.scrollIntoView({behavior:"smooth"})},[i]),te.useEffect(()=>{e?(xe.current&&zt.isDesktop&&xe.current.focus(),he.current?.scrollIntoView({behavior:"instant"}),p.current&&d.current?Date.now()-d.current>5e3&&N(!0):N(!0),d.current=null,p.current=!1,setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},50)):(d.current=Date.now(),p.current=!E.current)},[e]),te.useEffect(()=>{const R=X=>{X.key==="Escape"&&e&&t()};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[e,t]);const Fe=te.useCallback(async()=>{if(A?.trim()===""||T)return;const R=W,X=l(A?.trim(),"user",W?.id);y(""),z(null),B(!0),N(!1),B(!0);try{let G,Z;const _=i.slice(-20);let K="";if(_.length>0){K=`
469
+ `);await _e(500),B(!1),l(r("viewBalancesHeader",{chain:w?.name||"this chain",list:Z}),"bot",void 0,G)}else B(!1),l(a("viewBalancesEmpty"),"bot")}catch(R){console.error("Error fetching balances:",R),B(!1),l(a("viewBalancesFetchError"),"bot")}},[u?.address,h,l,w?.name,a,r]),We=te.useMemo(()=>[{id:"ask",icon:"❓",text:a("suggestionAskText"),action:async()=>{N(!1),B(!0),l(a("suggestionAskUserMessage"),"user"),await _e(1e3),B(!1),l(a("suggestionAskBotReply"),"bot")}},{id:"buy",icon:"💰",text:a("suggestionBuyText"),action:async()=>{N(!1),l(a("suggestionBuyText"),"user"),Me(u?.address||"")&&x?await Ye():(B(!0),await _e(1e3),Me(u?.address||"")&&!x?l(a("walletConnectedChainUnsupported"),"bot"):l(a("walletNotConnected"),"bot"),B(!1))}}],[l,u?.address,Ye,a,x]),$e=R=>{if(R===0)return!0;const X=i[R],G=i[R-1],Z=new Date(X.timestamp),_=new Date(G.timestamp);return Z.setHours(0,0,0,0),_.setHours(0,0,0,0),Z.getTime()!==_.getTime()};te.useEffect(()=>{he.current?.scrollIntoView({behavior:"smooth"})},[i]),te.useEffect(()=>{e?(xe.current&&Jt.isDesktop&&xe.current.focus(),he.current?.scrollIntoView({behavior:"instant"}),p.current&&d.current?Date.now()-d.current>5e3&&N(!0):N(!0),d.current=null,p.current=!1,setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},50)):(d.current=Date.now(),p.current=!E.current)},[e]),te.useEffect(()=>{const R=X=>{X.key==="Escape"&&e&&t()};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[e,t]);const Fe=te.useCallback(async()=>{if(A?.trim()===""||T)return;const R=W,X=l(A?.trim(),"user",W?.id);y(""),J(null),B(!0),N(!1),B(!0);try{let G,Z;const _=i.slice(-20);let K="";if(_.length>0){K=`
470
470
 
471
471
  ## CONVERSATION HISTORY:
472
472
  `;for(const re of _)if(re.sender==="user")K+=`User: ${re.text}
473
473
  `;else{const U=re.text.length>400?re.text.substring(0,400)+"...":re.text;K+=`Assistant: ${U}
474
474
  `}K+=`
475
475
  ---
476
- `}let J=A?.trim();R&&(J=`[Replying to ${R.sender==="user"?"my previous":"your"} message: "${R.text}"]
476
+ `}let z=A?.trim();R&&(z=`[Replying to ${R.sender==="user"?"my previous":"your"} message: "${R.text}"]
477
477
 
478
- ${J}`);try{if((await Fs.checkTypeQuestion(J,K))?.startsWith("no")){const U=await Fs.generateContent(J,K);let v=null;try{let D=U?.trim();D.startsWith("```json")?D=D.replace(/^```json\s*/,"").replace(/\s*```$/,""):D.startsWith("```")&&(D=D.replace(/^```\s*/,"").replace(/\s*```$/,"")),v=JSON.parse(D)}catch{v=null}B(!1),l(v?.message||U,"bot");return}}catch(re){console.warn("Error checking question type with Gemini:",re)}if(u?.address&&x)try{const[re,U]=await Promise.allSettled([Qe({address:u.address,chain:h}),kn({address:u.address,chain:h,limit:100,exclude_spam:!0})]);re.status==="fulfilled"&&re.value?.success&&re.value?.data?.result&&(G=re.value.data.result.map(v=>({symbol:v.symbol,name:v.name,balance_formatted:v.balance_formatted,usd_value:v.usd_value,native_token:v.native_token,token_address:v.token_address}))),U.status==="fulfilled"&&U.value?.success&&U.value?.data?.result&&(Z=U.value.data.result.map(v=>({name:v.normalized_metadata?.name||v.name||`#${v.token_id}`,token_address:v.token_address,token_id:v.token_id,contract_type:v.contract_type||"",amount:v.amount||"1"})))}catch{}const $=_i({walletAddress:u?.address||void 0,chainName:w?.name||void 0,chainId:b||void 0,nativeSymbol:w?.nativeCurrency?.symbol||void 0,walletTokens:G,walletNfts:Z}),pe=await Hi({prompt:J,model:"gpt-4.1-mini",stream:!1,systemPrompt:$+K});if(pe.success&&pe.data){const re=pe.data.text||"";let U=null;try{let v=re?.trim();v.startsWith("```json")?v=v.replace(/^```json\s*/,"").replace(/\s*```$/,""):v.startsWith("```")&&(v=v.replace(/^```\s*/,"").replace(/\s*```$/,"")),U=JSON.parse(v)}catch{U=null}if(U&&U.action&&U.action!=="chat")if(U.action==="buy_token"){const v=U.parameters?.token_symbol||"";let D=U.parameters?.contract_address||"",ee=18;if(D.toLowerCase()==="native"&&(D=Ve),D&&D!==Ve)try{const ne=await st.getTokensDetails([D],S);ne?.data?.[0]&&(ee=ne.data[0].decimals||18)}catch(ne){console.warn("getTokensDetails for buy_token failed:",ne)}if(!D&&v&&u?.address)try{const ne=await Qe({address:u.address,chain:h});if(ne?.success&&ne?.data?.result){const fe=ne.data.result,ce=fe.find(M=>M.token_address.toLowerCase()===D.toLowerCase())||fe.find(M=>M.symbol.toUpperCase()===v.toUpperCase());ce&&(D=ce.token_address,ee=ce.decimals)}if(!D){const fe=w.tokenTrendingDefault||[],[ce,M]=await Promise.allSettled([st.getTopGainers(S,"24h",10),st.getTokensDetails(fe,S)]),j=[];ce.status==="fulfilled"&&ce.value?.data&&j.push(...ce.value.data),M.status==="fulfilled"&&M.value?.data&&j.push(...M.value.data);const oe=j.find(H=>H.address?.toLowerCase()===D.toLowerCase())||j.find(H=>H.symbol?.toUpperCase()===v.toUpperCase());oe&&(D=oe.address,ee=oe.decimals||18)}}catch(ne){console.warn("Token lookup for buy failed:",ne)}D?(l(U.message||r("buyTokenHelp",{symbol:v}),"bot",X.id),await Te(D,ee)):(l(U.message||r("tokenNotFoundOnChain",{symbol:v}),"bot",X.id),await Ye())}else if(U.action==="swap_token"){const v={...U.parameters||{}},D=v.token_in==="native"||v.token_in_symbol?.toUpperCase()===w?.nativeCurrency?.symbol?.toUpperCase(),ee=v.token_out==="native"||v.token_out_symbol?.toUpperCase()===w?.nativeCurrency?.symbol?.toUpperCase();if(ee&&(v.token_out=Ve),!D&&(v.token_in||v.token_in_symbol)&&u?.address)try{const M=await Qe({address:u.address,chain:h});if(M?.success&&M?.data?.result){const j=M.data.result,oe=v.token_in?j.find(H=>H.token_address.toLowerCase()===v.token_in.toLowerCase()):j.find(H=>H.symbol.toUpperCase()===v.token_in_symbol.toUpperCase());oe&&(v.token_in=oe.token_address,v.token_in_decimals=String(oe.decimals))}}catch(M){console.warn("Resolve token_in failed:",M)}if(!ee&&(v.token_out||v.token_out_symbol)&&u?.address)try{const M=await Qe({address:u.address,chain:h});if(M?.success&&M?.data?.result){const j=M.data.result,oe=v.token_out?j.find(H=>H.token_address.toLowerCase()===v.token_out.toLowerCase()):j.find(H=>H.symbol.toUpperCase()===v.token_out_symbol.toUpperCase());oe&&(v.token_out=oe.token_address,v.token_out_decimals=String(oe.decimals))}}catch(M){console.warn("Resolve token_out failed:",M)}const ne=!!(v.token_in||D),fe=!!v.token_out,ce=!!v.amount;if(ne&&fe&&ce){l(U.message||a("swapPreparing"),"bot",X.id);try{const M=[];v.token_out&&M.push(v.token_out),v.token_in&&!D&&M.push(v.token_in);let j=18,oe=18;if(M.length>0)try{const le=await st.getTokensDetails(M,S);if(le?.data)for(const Se of le.data)!D&&Se.address.toLowerCase()===v.token_in?.toLowerCase()&&(j=Se.decimals||18),Se.address.toLowerCase()===v.token_out?.toLowerCase()&&(oe=Se.decimals||18)}catch(le){console.warn("getTokensDetails failed, using default decimals:",le)}if(u?.address)try{const le=await Qe({address:u.address,chain:h});if(le?.success&&le?.data?.result){const Se=le.data.result;if(D){const Oe=Se.find(Je=>Je.native_token);let Ie=Oe?.balance_formatted||"0";try{const Je=await mo({chainId:b,rpcUrl:F});if(Je.isGreaterThan(0)){const dt=Je.times(1e6),Dt=new ie(Oe?.balance||"0").minus(dt);Dt.isGreaterThan(0)?Ie=ie(Le(BigInt(Dt.toFixed(0)),Oe?.decimals||18)).toFixed():Ie="0"}}catch(Je){console.warn("getGasPrice for swap native fee deduction failed:",Je)}v.amount=ho(v.amount,Ie);const De=parseFloat(Ie),et=parseFloat(v.amount);if(ie(De).lte(0)){l(r("formInsufficientBalance",{balance:ie(De).decimalPlaces(6).toFixed(),symbol:w?.nativeCurrency?.symbol||"native"}),"bot"),B(!1);return}if(ie(De).lt(et)){l(r("swapInsufficientNativeBalance",{balance:ie(De).decimalPlaces(6).toFixed(),symbol:w?.nativeCurrency?.symbol||"native",amount:v.amount}),"bot"),B(!1);return}}else{const Oe=Se.find(et=>et.token_address.toLowerCase()===v.token_in?.toLowerCase());if(!Oe){l(r("swapTokenNotInWallet",{symbol:v.token_in_symbol||v.token_in}),"bot"),B(!1);return}v.amount=ho(v.amount,Oe.balance_formatted||"0");const Ie=parseFloat(Oe.balance_formatted||"0"),De=parseFloat(v.amount);if(ie(Ie).lt(De)){l(r("swapInsufficientTokenBalance",{balance:ie(Ie).decimalPlaces(6).toFixed(),symbol:Oe.symbol,amount:v.amount}),"bot"),B(!1);return}}}}catch(le){console.warn("Balance check failed:",le)}const H=D?Ve:v.token_in;ue({srcTokenAddress:H,descTokenAddress:v.token_out,amount:v.amount,srcTokenDecimals:j,descTokenDecimals:oe});const be=mt(v.amount,j).toString(),we=await lo({chainId:b,tokenIn:H,tokenInAmount:be,tokenOut:v.token_out,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(we.success&&we.data){const le=we.data,Se=le.tokenIn,Oe=le.tokenOut,Ie=ie(Le(BigInt(Se.amount||0),Se.decimals)).decimalPlaces(6).toFormat(),De=ie(Le(BigInt(Oe.amount||0),Oe.decimals)).decimalPlaces(6).toFormat();let et=!1;if(!D&&u?.address&&le.tx?.to)try{const Ue=await po({tokenAddress:H,ownerAddress:u.address,spenderAddress:le.tx.to,chainId:b,rpcUrl:F});et=ie(Ue.toString()).isLessThan(be)}catch(Ue){console.warn("Allowance check failed (CASE 1):",Ue),et=!0}const Je=le.estimatedTransactionFee?.total?ie(le.estimatedTransactionFee.total):ie(0);let dt=ie(0);if(et&&u?.address)try{const Ue=Tn({tokenAddress:H,spenderAddress:le.tx?.to||"",fromAddress:u.address,chainId:b});dt=await an({from:u.address,to:Ue.to,data:Ue.data,chainId:b,rpcUrl:F})}catch(Ue){console.warn("Approve fee estimation failed:",Ue)}const ze=Je.plus(dt),Dt=w?.nativeCurrency?.symbol||"native";let cn="",ln=!1;if(u?.address&&ze.isGreaterThan(0))try{const Ue=await Cn({address:u.address,chainId:b,rpcUrl:F});if(Ue.isLessThan(ze)){ln=!0;const En=ie(Le(BigInt(Ue.toFixed(0)),18)).decimalPlaces(6).toFormat(),Sn=ie(Le(BigInt(ze.toFixed(0)),18)).decimalPlaces(6).toFormat();cn=r("swapFeeWarning",{symbol:Dt,balance:En,needed:Sn})}}catch(Ue){console.warn("Fee balance check failed:",Ue)}const jt=`From: ${Ie} ${Se.symbol}
478
+ ${z}`);try{if((await Fs.checkTypeQuestion(z,K))?.startsWith("no")){const U=await Fs.generateContent(z,K);let v=null;try{let O=U?.trim();O.startsWith("```json")?O=O.replace(/^```json\s*/,"").replace(/\s*```$/,""):O.startsWith("```")&&(O=O.replace(/^```\s*/,"").replace(/\s*```$/,"")),v=JSON.parse(O)}catch{v=null}B(!1),l(v?.message||U,"bot");return}}catch(re){console.warn("Error checking question type with Gemini:",re)}if(u?.address&&x)try{const[re,U]=await Promise.allSettled([Qe({address:u.address,chain:h}),kn({address:u.address,chain:h,limit:100,exclude_spam:!0})]);re.status==="fulfilled"&&re.value?.success&&re.value?.data?.result&&(G=re.value.data.result.map(v=>({symbol:v.symbol,name:v.name,balance_formatted:v.balance_formatted,usd_value:v.usd_value,native_token:v.native_token,token_address:v.token_address}))),U.status==="fulfilled"&&U.value?.success&&U.value?.data?.result&&(Z=U.value.data.result.map(v=>({name:v.normalized_metadata?.name||v.name||`#${v.token_id}`,token_address:v.token_address,token_id:v.token_id,contract_type:v.contract_type||"",amount:v.amount||"1"})))}catch{}const $=_i({walletAddress:u?.address||void 0,chainName:w?.name||void 0,chainId:b||void 0,nativeSymbol:w?.nativeCurrency?.symbol||void 0,walletTokens:G,walletNfts:Z}),pe=await Hi({prompt:z,model:"gpt-4.1-mini",stream:!1,systemPrompt:$+K});if(pe.success&&pe.data){const re=pe.data.text||"";let U=null;try{let v=re?.trim();v.startsWith("```json")?v=v.replace(/^```json\s*/,"").replace(/\s*```$/,""):v.startsWith("```")&&(v=v.replace(/^```\s*/,"").replace(/\s*```$/,"")),U=JSON.parse(v)}catch{U=null}if(U&&U.action&&U.action!=="chat")if(U.action==="buy_token"){const v=U.parameters?.token_symbol||"";let O=U.parameters?.contract_address||"",ee=18;if(O.toLowerCase()==="native"&&(O=Ve),O&&O!==Ve)try{const ne=await st.getTokensDetails([O],S);ne?.data?.[0]&&(ee=ne.data[0].decimals||18)}catch(ne){console.warn("getTokensDetails for buy_token failed:",ne)}if(!O&&v&&u?.address)try{const ne=await Qe({address:u.address,chain:h});if(ne?.success&&ne?.data?.result){const fe=ne.data.result,ce=fe.find(M=>M.token_address.toLowerCase()===O.toLowerCase())||fe.find(M=>M.symbol.toUpperCase()===v.toUpperCase());ce&&(O=ce.token_address,ee=ce.decimals)}if(!O){const fe=w.tokenTrendingDefault||[],[ce,M]=await Promise.allSettled([st.getTopGainers(S,"24h",10),st.getTokensDetails(fe,S)]),j=[];ce.status==="fulfilled"&&ce.value?.data&&j.push(...ce.value.data),M.status==="fulfilled"&&M.value?.data&&j.push(...M.value.data);const oe=j.find(H=>H.address?.toLowerCase()===O.toLowerCase())||j.find(H=>H.symbol?.toUpperCase()===v.toUpperCase());oe&&(O=oe.address,ee=oe.decimals||18)}}catch(ne){console.warn("Token lookup for buy failed:",ne)}O?(l(U.message||r("buyTokenHelp",{symbol:v}),"bot",X.id),await Te(O,ee)):(l(U.message||r("tokenNotFoundOnChain",{symbol:v}),"bot",X.id),await Ye())}else if(U.action==="swap_token"){const v={...U.parameters||{}},O=v.token_in==="native"||v.token_in_symbol?.toUpperCase()===w?.nativeCurrency?.symbol?.toUpperCase(),ee=v.token_out==="native"||v.token_out_symbol?.toUpperCase()===w?.nativeCurrency?.symbol?.toUpperCase();if(ee&&(v.token_out=Ve),!O&&(v.token_in||v.token_in_symbol)&&u?.address)try{const M=await Qe({address:u.address,chain:h});if(M?.success&&M?.data?.result){const j=M.data.result,oe=v.token_in?j.find(H=>H.token_address.toLowerCase()===v.token_in.toLowerCase()):j.find(H=>H.symbol.toUpperCase()===v.token_in_symbol.toUpperCase());oe&&(v.token_in=oe.token_address,v.token_in_decimals=String(oe.decimals))}}catch(M){console.warn("Resolve token_in failed:",M)}if(!ee&&(v.token_out||v.token_out_symbol)&&u?.address)try{const M=await Qe({address:u.address,chain:h});if(M?.success&&M?.data?.result){const j=M.data.result,oe=v.token_out?j.find(H=>H.token_address.toLowerCase()===v.token_out.toLowerCase()):j.find(H=>H.symbol.toUpperCase()===v.token_out_symbol.toUpperCase());oe&&(v.token_out=oe.token_address,v.token_out_decimals=String(oe.decimals))}}catch(M){console.warn("Resolve token_out failed:",M)}const ne=!!(v.token_in||O),fe=!!v.token_out,ce=!!v.amount;if(ne&&fe&&ce){l(U.message||a("swapPreparing"),"bot",X.id);try{const M=[];v.token_out&&M.push(v.token_out),v.token_in&&!O&&M.push(v.token_in);let j=18,oe=18;if(M.length>0)try{const le=await st.getTokensDetails(M,S);if(le?.data)for(const Se of le.data)!O&&Se.address.toLowerCase()===v.token_in?.toLowerCase()&&(j=Se.decimals||18),Se.address.toLowerCase()===v.token_out?.toLowerCase()&&(oe=Se.decimals||18)}catch(le){console.warn("getTokensDetails failed, using default decimals:",le)}if(u?.address)try{const le=await Qe({address:u.address,chain:h});if(le?.success&&le?.data?.result){const Se=le.data.result;if(O){const De=Se.find(ze=>ze.native_token);let Ie=De?.balance_formatted||"0";try{const ze=await mo({chainId:b,rpcUrl:F});if(ze.isGreaterThan(0)){const dt=ze.times(1e6),Ot=new ie(De?.balance||"0").minus(dt);Ot.isGreaterThan(0)?Ie=ie(Le(BigInt(Ot.toFixed(0)),De?.decimals||18)).toFixed():Ie="0"}}catch(ze){console.warn("getGasPrice for swap native fee deduction failed:",ze)}v.amount=ho(v.amount,Ie);const Oe=parseFloat(Ie),et=parseFloat(v.amount);if(ie(Oe).lte(0)){l(r("formInsufficientBalance",{balance:ie(Oe).decimalPlaces(6).toFixed(),symbol:w?.nativeCurrency?.symbol||"native"}),"bot"),B(!1);return}if(ie(Oe).lt(et)){l(r("swapInsufficientNativeBalance",{balance:ie(Oe).decimalPlaces(6).toFixed(),symbol:w?.nativeCurrency?.symbol||"native",amount:v.amount}),"bot"),B(!1);return}}else{const De=Se.find(et=>et.token_address.toLowerCase()===v.token_in?.toLowerCase());if(!De){l(r("swapTokenNotInWallet",{symbol:v.token_in_symbol||v.token_in}),"bot"),B(!1);return}v.amount=ho(v.amount,De.balance_formatted||"0");const Ie=parseFloat(De.balance_formatted||"0"),Oe=parseFloat(v.amount);if(ie(Ie).lt(Oe)){l(r("swapInsufficientTokenBalance",{balance:ie(Ie).decimalPlaces(6).toFixed(),symbol:De.symbol,amount:v.amount}),"bot"),B(!1);return}}}}catch(le){console.warn("Balance check failed:",le)}const H=O?Ve:v.token_in;ue({srcTokenAddress:H,descTokenAddress:v.token_out,amount:v.amount,srcTokenDecimals:j,descTokenDecimals:oe});const be=mt(v.amount,j).toString(),we=await lo({chainId:b,tokenIn:H,tokenInAmount:be,tokenOut:v.token_out,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(we.success&&we.data){const le=we.data,Se=le.tokenIn,De=le.tokenOut,Ie=ie(Le(BigInt(Se.amount||0),Se.decimals)).decimalPlaces(6).toFormat(),Oe=ie(Le(BigInt(De.amount||0),De.decimals)).decimalPlaces(6).toFormat();let et=!1;if(!O&&u?.address&&le.tx?.to)try{const Ue=await po({tokenAddress:H,ownerAddress:u.address,spenderAddress:le.tx.to,chainId:b,rpcUrl:F});et=ie(Ue.toString()).isLessThan(be)}catch(Ue){console.warn("Allowance check failed (CASE 1):",Ue),et=!0}const ze=le.estimatedTransactionFee?.total?ie(le.estimatedTransactionFee.total):ie(0);let dt=ie(0);if(et&&u?.address)try{const Ue=Tn({tokenAddress:H,spenderAddress:le.tx?.to||"",fromAddress:u.address,chainId:b});dt=await an({from:u.address,to:Ue.to,data:Ue.data,chainId:b,rpcUrl:F})}catch(Ue){console.warn("Approve fee estimation failed:",Ue)}const Je=ze.plus(dt),Ot=w?.nativeCurrency?.symbol||"native";let cn="",ln=!1;if(u?.address&&Je.isGreaterThan(0))try{const Ue=await Cn({address:u.address,chainId:b,rpcUrl:F});if(Ue.isLessThan(Je)){ln=!0;const En=ie(Le(BigInt(Ue.toFixed(0)),18)).decimalPlaces(6).toFormat(),Sn=ie(Le(BigInt(Je.toFixed(0)),18)).decimalPlaces(6).toFormat();cn=r("swapFeeWarning",{symbol:Ot,balance:En,needed:Sn})}}catch(Ue){console.warn("Fee balance check failed:",Ue)}const jt=`From: ${Ie} ${Se.symbol}
479
479
  ⬇️
480
- To: ${De} ${Oe.symbol}
480
+ To: ${Oe} ${De.symbol}
481
481
 
482
482
  `+cn+`
483
- `;if(ln)l(jt,"bot");else if(et){const Ue=[{id:"approve-for-swap",text:r("swapApproveButton",{symbol:Se.symbol}),value:r("swapApproveValue",{symbol:Se.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:H,spenderAddress:le.tx.to,tokenSymbol:Se.symbol,tx:le.tx}}];l(jt+r("swapNeedApprove",{symbol:Se.symbol}),"bot",void 0,Ue)}else{const Ue=[{id:"confirm-swap",text:a("swapConfirmYes"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:le.tx}}];l(jt+a("swapReadyToProceed"),"bot",void 0,Ue)}}else l(r("swapEstimationError",{error:we.errorMessage||we.error||"Unknown error"}),"bot")}catch(M){console.error("Swap estimation error:",M),l(a("swapEstimationFailed"),"bot")}}else if(ne&&fe&&!ce){let M=D?18:parseInt(v.token_in_decimals||"18",10),j=parseInt(v.token_out_decimals||"18",10);const oe=[];if(v.token_out&&oe.push(v.token_out),v.token_in&&!D&&oe.push(v.token_in),oe.length>0)try{const H=await st.getTokensDetails(oe,S);if(H?.data)for(const be of H.data)!D&&be.address.toLowerCase()===v.token_in?.toLowerCase()&&(M=be.decimals||M),be.address.toLowerCase()===v.token_out?.toLowerCase()&&(j=be.decimals||j)}catch(H){console.warn("getTokensDetails failed in CASE 2, using fallback decimals:",H)}if(ue({descTokenAddress:v.token_out,descTokenDecimals:j}),D)try{const H=await Qe({address:u?.address||"",chain:h});if(H?.success&&H?.data?.result){const we=H.data.result.find(De=>De.native_token),le=w?.nativeCurrency?.symbol||"ETH";let Se=we?.balance_formatted||"0";try{const De=await mo({chainId:b,rpcUrl:F});if(De.isGreaterThan(0)){const et=De.times(1e6),dt=new ie(we?.balance||"0").minus(et);dt.isGreaterThan(0)?Se=ie(Le(BigInt(dt.toFixed(0)),we?.decimals||18)).toFixed():Se="0"}}catch(De){console.warn("getGasPrice for swap native fee deduction (CASE 2) failed:",De)}ue({srcTokenAddress:Ve,srcTokenDecimals:M});const Ie=[25,50,75,100].map(De=>({id:`percent-${De}`,text:`${De}%`,value:r("buttonUsePercent",{percent:String(De),symbol:le}),action:"select_percent",extraData:{percent:De,tokenAddress:Ve,tokenSymbol:le,tokenDecimals:M,tokenBalance:Se}}));l(r("selectAmountToSwap",{symbol:le,balance:Se}),"bot",X.id,Ie)}else l(a("couldNotFetchBalance"),"bot")}catch(H){console.warn("Native balance fetch failed:",H),l(a("couldNotFetchBalanceRetry"),"bot")}else{const H=v.token_in_symbol||"Token";ue({srcTokenAddress:v.token_in,srcTokenDecimals:M});try{const be=await Qe({address:u?.address||"",chain:h});if(be?.success&&be?.data?.result){const le=be.data.result.find(Ie=>Ie.token_address.toLowerCase()===v.token_in?.toLowerCase());if(!le){l(r("swapTokenNotInWallet",{symbol:H}),"bot"),B(!1);return}const Oe=[25,50,75,100].map(Ie=>({id:`percent-${Ie}`,text:`${Ie}%`,value:r("buttonUsePercent",{percent:String(Ie),symbol:le.symbol}),action:"select_percent",extraData:{percent:Ie,tokenAddress:le.token_address,tokenSymbol:le.symbol,tokenDecimals:le.decimals||18,tokenBalance:le.balance_formatted}}));l(r("selectAmountToSwap",{symbol:le.symbol,balance:`${le.balance_formatted} (~$${le.usd_value?.toFixed(2)||"0"})`}),"bot",X.id,Oe)}else l(a("couldNotFetchBalance"),"bot")}catch(be){console.warn("Token balance fetch failed:",be),l(a("couldNotFetchBalanceRetry"),"bot")}}}else if(!ne&&fe){l(U.message||a("swapChooseFrom"),"bot",X.id);let M=parseInt(v.token_out_decimals||"18",10);if(v.token_out)try{const j=await st.getTokensDetails([v.token_out],S);j?.data?.[0]&&(M=j.data[0].decimals||M)}catch(j){console.warn("getTokensDetails failed in CASE 3, using fallback:",j)}await Te(v.token_out,M)}else if(ne&&!fe){let M=D?18:parseInt(v.token_in_decimals||"18",10);if(v.token_in&&!D)try{const j=await st.getTokensDetails([v.token_in],S);j?.data?.[0]&&(M=j.data[0].decimals||M)}catch(j){console.warn("getTokensDetails failed in CASE 4, using fallback:",j)}ue(D?{srcTokenAddress:Ve,srcTokenDecimals:18}:{srcTokenAddress:v.token_in,srcTokenDecimals:M}),l(U.message||r("swapChooseTo",{symbol:v.token_in_symbol||"your token"}),"bot",X.id);try{B(!0);const j=w?.tokenTrendingDefault||[],[oe,H]=await Promise.allSettled([st.getTopGainers(S,"24h",5),st.getTokensDetails(j,S)]);let be=[];oe.status==="fulfilled"&&oe.value?.data&&(be=[...oe.value.data]),H.status==="fulfilled"&&H.value?.data&&(be=[...H.value.data,...be]),be=be.filter((le,Se,Oe)=>Se===Oe.findIndex(Ie=>Ie.address.toLowerCase()===le.address.toLowerCase()));const we=be.map(le=>({id:le?.symbol,text:le?.symbol,value:r("buttonSwapTo",{name:le.name,symbol:le?.symbol||""}),action:"click_swap_dest_token",extraData:{tokenAddress:le?.address||"",symbol:le?.symbol||"",decimals:le?.decimals||18}}));l(r("trendingTokensForReceive",{chain:w?.name||"Unknown"}),"bot",void 0,we)}catch(j){console.error("Error fetching trending tokens for swap:",j),l(a("couldNotLoadTokenList"),"bot")}finally{B(!1)}}else if(l(U.message||a("swapChooseToken"),"bot",X.id),u?.address)try{B(!0);const M=await Qe({address:u.address,chain:h});if(M?.success&&M?.data?.result&&M.data.result.length>0){const oe=M.data.result.map(H=>({id:`swap-select-${H.token_address}`,text:`${H.name}: ${H.balance_formatted} ${H.symbol} ($${ie(H?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Swap ${H.symbol}`,action:"suggested_action",fullWidth:!0}));await _e(500),B(!1),l(r("walletBalanceSpendable",{chain:w?.name||"this chain"}),"bot",void 0,oe)}else B(!1),l(r("walletNoTokensFound",{chain:w?.name||"this chain"}),"bot")}catch(M){console.warn("Failed to fetch balance for swap picker:",M),B(!1),l(a("walletFetchError"),"bot")}}else if(U.action==="view_balances")l(U.message||a("viewBalancesLoading"),"bot",X.id),await Ke();else if(U.action==="view_nfts")l(U.message||a("viewNftsLoading"),"bot",X.id),await Xe();else if(U.action==="send_token"&&!U.parameters?.contract_address&&!U.parameters?.token_symbol&&u?.address)try{const v=await Qe({address:u.address,chain:h});if(v?.success&&v?.data?.result&&v.data.result.length>0){l(a("sendTokenChoose"),"bot",X.id),B(!0),await _e(500);const ee=v.data.result.map(ne=>({id:`send-select-${ne.token_address}`,text:`${ne.name}: ${ne.balance_formatted} ${ne.symbol} ($${ie(ne?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Send ${ne.name} (${ne.symbol})`,action:"suggested_action",fullWidth:!0}));await _e(500),B(!1),l(r("walletBalanceSpendable",{chain:w?.name||"this chain"}),"bot",void 0,ee)}else B(!1),l(r("walletNoTokensFound",{chain:w?.name||"this chain"}),"bot")}catch(v){console.warn("Failed to fetch balance for send_token picker:",v),B(!1),l(a("walletFetchError"),"bot")}else if(U.action==="send_nft"&&!U.parameters?.contract_address&&!U.parameters?.token_id&&!U.parameters?.nft_name&&u?.address)l(a("sendNftChoose"),"bot",X.id),await Xe();else if(U.action==="send_nft"&&!Me(U.parameters?.contract_address||"")&&(U.parameters?.nft_name||U.parameters?.token_id)&&u?.address)try{B(!0);const v=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(v?.success&&v?.data?.result){const D=v.data.result,ee=(U.parameters?.nft_name||"").toLowerCase(),ne=U.parameters?.token_id||"",fe=D.find(ce=>{const M=(ce.normalized_metadata?.name||ce.name||"").toLowerCase(),j=(ce.name||"").toLowerCase(),oe=ee&&(M.includes(ee)||j.includes(ee)),H=ne&&ce.token_id===ne;return ee&&ne?oe&&H:ee?oe:H});if(fe){const ce=fe.normalized_metadata?.name||fe.name||`#${fe.token_id}`,M=fe.normalized_metadata?.image||fe.media?.original_media_url||"",j={contract_address:fe.token_address,token_id:fe.token_id,to_address:U.parameters?.to_address||"",token_standard:fe.contract_type||"",amount:"1",maxAmount:fe.amount||"1",nft_name:ce};l(U.message||r("nftSendReview",{name:ce,standard:fe.contract_type||"NFT",tokenId:fe.token_id}),"bot",X.id,void 0,{action:"send_nft",parameters:j,status:"pending",nftInfo:{name:ce,image:M||void 0,tokenId:fe.token_id,contractAddress:fe.token_address,tokenStandard:fe.contract_type||void 0}})}else l(U.message||r("nftNotFoundInWallet",{name:ee||ne}),"bot",X.id),await Xe()}else l(a("nftNoCollection"),"bot",X.id)}catch(v){console.error("NFT lookup by name failed:",v),l(a("nftFetchError"),"bot",X.id)}finally{B(!1)}else{const v=ic(U.action);let D={...U.parameters||{}},ee,ne;const fe=["send_token","approve_token"].includes(U.action)&&(D.contract_address||D.token_symbol),ce=U.action==="send_native",M=U.action==="send_nft"&&D.contract_address;if(fe&&u?.address)try{const j=await Qe({address:u.address,chain:h});if(j?.success&&j?.data?.result){const oe=j.data.result,H=D.contract_address?oe.find(be=>be.token_address.toLowerCase()===D.contract_address.toLowerCase()):oe.find(be=>be.symbol.toUpperCase()===D.token_symbol.toUpperCase());H&&(D={...D,contract_address:H.token_address,decimals:String(H.decimals)},ee={symbol:H.symbol,name:H.name,balance:H.balance,balanceFormatted:H.balance_formatted,usdValue:H.usd_value,usdPrice:H.usd_price,decimals:H.decimals,logo:H.logo||H.thumbnail,contractAddress:H.token_address})}}catch(j){console.warn("Token enrichment failed:",j)}if(fe&&!ee&&D.contract_address)try{const j=await Cs({address:D.contract_address,chain:h});if(j?.success&&j?.data){const oe=j.data;ee={symbol:oe.symbol,name:oe.name,balance:"0",balanceFormatted:"0",usdPrice:oe.usd_price,decimals:oe.decimals,logo:oe.logo,contractAddress:D.contract_address},D={...D,decimals:String(oe.decimals)}}}catch(j){console.warn("Token metadata fallback failed:",j)}if(ce&&u?.address)try{const j=await Qe({address:u.address,chain:h});if(j?.success&&j?.data?.result){const H=j.data.result.find(be=>be.native_token);if(H){let be=H.balance_formatted,we=H.balance;try{const le=new ie(H.balance),Se="0x"+BigInt(le.toFixed(0)).toString(16),Oe=await an({from:u.address,to:u.address,data:"0x",value:Se,chainId:b,rpcUrl:F});if(Oe.isGreaterThan(0)){const Ie=le.minus(Oe);Ie.isGreaterThan(0)?(we=Ie.toFixed(0),be=ie(Le(BigInt(Ie.toFixed(0)),H.decimals)).toFixed()):(we="0",be="0")}}catch(le){console.warn("Estimate send fee for send_native failed:",le)}ee={symbol:H.symbol,name:H.name,balance:we,balanceFormatted:be,usdValue:H.usd_value,usdPrice:H.usd_price,decimals:H.decimals,logo:H.logo||H.thumbnail,contractAddress:Ve}}else{const be=await Cs({address:Ve,chain:h});if(be?.success&&be?.data){const we=be.data;ee={symbol:we.symbol,name:we.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:we.usd_price,decimals:we.decimals,logo:we.logo||we.thumbnail,contractAddress:Ve}}}}}catch(j){console.warn("Native token balance fetch failed:",j)}if(M){try{const j=await Wi({address:D.contract_address,chain:h});if(j?.success&&j?.data){const oe=j.data;oe.contract_type&&(D={...D,token_standard:oe.contract_type}),!D.nft_name&&oe.name&&(D={...D,nft_name:oe.name})}}catch(j){console.warn("NFT contract metadata fetch failed:",j)}if(u?.address)try{const j=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(j?.success&&j?.data?.result){const oe=j.data.result.find(H=>H.token_address.toLowerCase()===D.contract_address.toLowerCase()&&H.token_id===D.token_id);if(oe){D={...D,amount:"1",maxAmount:oe.amount||"1"};const H=oe.normalized_metadata?.image||oe.media?.original_media_url||"";ne={name:oe.normalized_metadata?.name||oe.name||D.nft_name||`#${oe.token_id}`,image:H||void 0,tokenId:oe.token_id,contractAddress:oe.token_address,tokenStandard:oe.contract_type||D.token_standard||void 0}}}}catch(j){console.warn("NFT ownership lookup failed:",j)}}if(D.amount&&ee?.balanceFormatted&&(U.action==="send_token"||U.action==="send_native")&&(D.amount=ho(D.amount,ee.balanceFormatted)),v){const j=U.message||"Please review and complete the form below.";l(j,"bot",X.id,void 0,{action:U.action,parameters:D,status:"pending",tokenInfo:ee,nftInfo:ne})}else l(U.message||re,"bot",X.id)}else if(U&&U.action==="chat"){const v=U.token_mentions||[],D=U.suggested_actions||[],ee=[];v.length>0&&v.forEach(ne=>{ee.push({id:`buy-${ne.symbol}`,text:`💰 Buy ${ne.symbol}`,value:r("buttonBuySymbol",{symbol:ne.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:ne.contract_address||"",symbol:ne.symbol,decimals:ne.decimals||18},fullWidth:!0})}),D.length>0&&D.forEach((ne,fe)=>{ee.push({id:`suggested-${fe}-${ne.label}`,text:ne.label,value:ne.prompt,action:"suggested_action",fullWidth:!0})}),ee.length>0?l(U.message||re,"bot",X.id,ee):l(U.message||re,"bot",X.id)}else l(re,"bot",X.id)}else l(a("errorProcessingRequest"),"bot",X.id)}catch(G){console.error("Error getting AI response:",G),l(a("errorProcessingRequest"),"bot",X.id)}B(!1),await _e(50),zt.isDesktop&&xe.current?.focus()},[A,T,i,l,W,u?.address,w?.name,w?.nativeCurrency?.symbol,w?.tokenTrendingDefault,b,S,h,x,Te,Ye,Xe,Ke,ue,F,a,r]);te.useEffect(()=>{c.current&&A===c.current&&(c.current=null,Fe())},[A,Fe]);const Pe=te.useCallback(async(R,X,G)=>{try{if(N(!1),k(G,"submitted"),R==="swap_token"){let Z=18;if(X.token_in&&X.token_in!==Ve)try{const J=await st.getTokensDetails([X.token_in],S);J?.data?.[0]&&(Z=J.data[0].decimals||18)}catch(J){console.warn("getTokensDetails failed in ActionForm swap, using default 18:",J)}const _=mt(X.amount||"0",Z).toString(),K=await lo({chainId:b,tokenIn:X.token_in||"",tokenInAmount:_,tokenOut:X.token_out||"",tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(K.success&&K.data){const J=K.data,$=J.tokenIn,pe=J.tokenOut,re=ie(Le(BigInt($.amount||0),$.decimals)).decimalPlaces(6).toFormat(),U=ie(Le(BigInt(pe.amount||0),pe.decimals)).decimalPlaces(6).toFormat(),v=!X.token_in||X.token_in===Ve;let D=!1;if(!v&&u?.address&&J.tx?.to)try{const H=await po({tokenAddress:X.token_in,ownerAddress:u.address,spenderAddress:J.tx.to,chainId:b,rpcUrl:F});D=ie(H.toString()).isLessThan(_)}catch(H){console.warn("Allowance check failed in ActionForm swap:",H)}const ee=J.estimatedTransactionFee?.total?ie(J.estimatedTransactionFee.total):ie(0);let ne=ie(0);if(D&&u?.address)try{const H=Tn({tokenAddress:X.token_in,spenderAddress:J.tx?.to||"",fromAddress:u.address,chainId:b});ne=await an({from:u.address,to:H.to,data:H.data,chainId:b,rpcUrl:F})}catch(H){console.warn("Approve fee estimation failed:",H)}const fe=ee.plus(ne),ce=w?.nativeCurrency?.symbol||"native";let M="",j=!1;if(u?.address&&fe.isGreaterThan(0))try{const H=await Cn({address:u.address,chainId:b,rpcUrl:F});if(H.isLessThan(fe)){j=!0;const be=ie(Le(BigInt(H.toFixed(0)),18)).decimalPlaces(6).toFormat(),we=ie(Le(BigInt(fe.toFixed(0)),18)).decimalPlaces(6).toFormat();M=r("swapFeeWarning",{symbol:ce,balance:be,needed:we})}}catch(H){console.warn("Fee balance check failed:",H)}const oe=`From: ${re} ${$.symbol}
483
+ `;if(ln)l(jt,"bot");else if(et){const Ue=[{id:"approve-for-swap",text:r("swapApproveButton",{symbol:Se.symbol}),value:r("swapApproveValue",{symbol:Se.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:H,spenderAddress:le.tx.to,tokenSymbol:Se.symbol,tx:le.tx}}];l(jt+r("swapNeedApprove",{symbol:Se.symbol}),"bot",void 0,Ue)}else{const Ue=[{id:"confirm-swap",text:a("swapConfirmYes"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:le.tx}}];l(jt+a("swapReadyToProceed"),"bot",void 0,Ue)}}else l(r("swapEstimationError",{error:we.errorMessage||we.error||"Unknown error"}),"bot")}catch(M){console.error("Swap estimation error:",M),l(a("swapEstimationFailed"),"bot")}}else if(ne&&fe&&!ce){let M=O?18:parseInt(v.token_in_decimals||"18",10),j=parseInt(v.token_out_decimals||"18",10);const oe=[];if(v.token_out&&oe.push(v.token_out),v.token_in&&!O&&oe.push(v.token_in),oe.length>0)try{const H=await st.getTokensDetails(oe,S);if(H?.data)for(const be of H.data)!O&&be.address.toLowerCase()===v.token_in?.toLowerCase()&&(M=be.decimals||M),be.address.toLowerCase()===v.token_out?.toLowerCase()&&(j=be.decimals||j)}catch(H){console.warn("getTokensDetails failed in CASE 2, using fallback decimals:",H)}if(ue({descTokenAddress:v.token_out,descTokenDecimals:j}),O)try{const H=await Qe({address:u?.address||"",chain:h});if(H?.success&&H?.data?.result){const we=H.data.result.find(Oe=>Oe.native_token),le=w?.nativeCurrency?.symbol||"ETH";let Se=we?.balance_formatted||"0";try{const Oe=await mo({chainId:b,rpcUrl:F});if(Oe.isGreaterThan(0)){const et=Oe.times(1e6),dt=new ie(we?.balance||"0").minus(et);dt.isGreaterThan(0)?Se=ie(Le(BigInt(dt.toFixed(0)),we?.decimals||18)).toFixed():Se="0"}}catch(Oe){console.warn("getGasPrice for swap native fee deduction (CASE 2) failed:",Oe)}ue({srcTokenAddress:Ve,srcTokenDecimals:M});const Ie=[25,50,75,100].map(Oe=>({id:`percent-${Oe}`,text:`${Oe}%`,value:r("buttonUsePercent",{percent:String(Oe),symbol:le}),action:"select_percent",extraData:{percent:Oe,tokenAddress:Ve,tokenSymbol:le,tokenDecimals:M,tokenBalance:Se}}));l(r("selectAmountToSwap",{symbol:le,balance:Se}),"bot",X.id,Ie)}else l(a("couldNotFetchBalance"),"bot")}catch(H){console.warn("Native balance fetch failed:",H),l(a("couldNotFetchBalanceRetry"),"bot")}else{const H=v.token_in_symbol||"Token";ue({srcTokenAddress:v.token_in,srcTokenDecimals:M});try{const be=await Qe({address:u?.address||"",chain:h});if(be?.success&&be?.data?.result){const le=be.data.result.find(Ie=>Ie.token_address.toLowerCase()===v.token_in?.toLowerCase());if(!le){l(r("swapTokenNotInWallet",{symbol:H}),"bot"),B(!1);return}const De=[25,50,75,100].map(Ie=>({id:`percent-${Ie}`,text:`${Ie}%`,value:r("buttonUsePercent",{percent:String(Ie),symbol:le.symbol}),action:"select_percent",extraData:{percent:Ie,tokenAddress:le.token_address,tokenSymbol:le.symbol,tokenDecimals:le.decimals||18,tokenBalance:le.balance_formatted}}));l(r("selectAmountToSwap",{symbol:le.symbol,balance:`${le.balance_formatted} (~$${le.usd_value?.toFixed(2)||"0"})`}),"bot",X.id,De)}else l(a("couldNotFetchBalance"),"bot")}catch(be){console.warn("Token balance fetch failed:",be),l(a("couldNotFetchBalanceRetry"),"bot")}}}else if(!ne&&fe){l(U.message||a("swapChooseFrom"),"bot",X.id);let M=parseInt(v.token_out_decimals||"18",10);if(v.token_out)try{const j=await st.getTokensDetails([v.token_out],S);j?.data?.[0]&&(M=j.data[0].decimals||M)}catch(j){console.warn("getTokensDetails failed in CASE 3, using fallback:",j)}await Te(v.token_out,M)}else if(ne&&!fe){let M=O?18:parseInt(v.token_in_decimals||"18",10);if(v.token_in&&!O)try{const j=await st.getTokensDetails([v.token_in],S);j?.data?.[0]&&(M=j.data[0].decimals||M)}catch(j){console.warn("getTokensDetails failed in CASE 4, using fallback:",j)}ue(O?{srcTokenAddress:Ve,srcTokenDecimals:18}:{srcTokenAddress:v.token_in,srcTokenDecimals:M}),l(U.message||r("swapChooseTo",{symbol:v.token_in_symbol||"your token"}),"bot",X.id);try{B(!0);const j=w?.tokenTrendingDefault||[],[oe,H]=await Promise.allSettled([st.getTopGainers(S,"24h",5),st.getTokensDetails(j,S)]);let be=[];oe.status==="fulfilled"&&oe.value?.data&&(be=[...oe.value.data]),H.status==="fulfilled"&&H.value?.data&&(be=[...H.value.data,...be]),be=be.filter((le,Se,De)=>Se===De.findIndex(Ie=>Ie.address.toLowerCase()===le.address.toLowerCase()));const we=be.map(le=>({id:le?.symbol,text:le?.symbol,value:r("buttonSwapTo",{name:le.name,symbol:le?.symbol||""}),action:"click_swap_dest_token",extraData:{tokenAddress:le?.address||"",symbol:le?.symbol||"",decimals:le?.decimals||18}}));l(r("trendingTokensForReceive",{chain:w?.name||"Unknown"}),"bot",void 0,we)}catch(j){console.error("Error fetching trending tokens for swap:",j),l(a("couldNotLoadTokenList"),"bot")}finally{B(!1)}}else if(l(U.message||a("swapChooseToken"),"bot",X.id),u?.address)try{B(!0);const M=await Qe({address:u.address,chain:h});if(M?.success&&M?.data?.result&&M.data.result.length>0){const oe=M.data.result.map(H=>({id:`swap-select-${H.token_address}`,text:`${H.name}: ${H.balance_formatted} ${H.symbol} ($${ie(H?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Swap ${H.symbol}`,action:"suggested_action",fullWidth:!0}));await _e(500),B(!1),l(r("walletBalanceSpendable",{chain:w?.name||"this chain"}),"bot",void 0,oe)}else B(!1),l(r("walletNoTokensFound",{chain:w?.name||"this chain"}),"bot")}catch(M){console.warn("Failed to fetch balance for swap picker:",M),B(!1),l(a("walletFetchError"),"bot")}}else if(U.action==="view_balances")l(U.message||a("viewBalancesLoading"),"bot",X.id),await Ke();else if(U.action==="view_nfts")l(U.message||a("viewNftsLoading"),"bot",X.id),await Xe();else if(U.action==="send_token"&&!U.parameters?.contract_address&&!U.parameters?.token_symbol&&u?.address)try{const v=await Qe({address:u.address,chain:h});if(v?.success&&v?.data?.result&&v.data.result.length>0){l(a("sendTokenChoose"),"bot",X.id),B(!0),await _e(500);const ee=v.data.result.map(ne=>({id:`send-select-${ne.token_address}`,text:`${ne.name}: ${ne.balance_formatted} ${ne.symbol} ($${ie(ne?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Send ${ne.name} (${ne.symbol})`,action:"suggested_action",fullWidth:!0}));await _e(500),B(!1),l(r("walletBalanceSpendable",{chain:w?.name||"this chain"}),"bot",void 0,ee)}else B(!1),l(r("walletNoTokensFound",{chain:w?.name||"this chain"}),"bot")}catch(v){console.warn("Failed to fetch balance for send_token picker:",v),B(!1),l(a("walletFetchError"),"bot")}else if(U.action==="send_nft"&&!U.parameters?.contract_address&&!U.parameters?.token_id&&!U.parameters?.nft_name&&u?.address)l(a("sendNftChoose"),"bot",X.id),await Xe();else if(U.action==="send_nft"&&!Me(U.parameters?.contract_address||"")&&(U.parameters?.nft_name||U.parameters?.token_id)&&u?.address)try{B(!0);const v=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(v?.success&&v?.data?.result){const O=v.data.result,ee=(U.parameters?.nft_name||"").toLowerCase(),ne=U.parameters?.token_id||"",fe=O.find(ce=>{const M=(ce.normalized_metadata?.name||ce.name||"").toLowerCase(),j=(ce.name||"").toLowerCase(),oe=ee&&(M.includes(ee)||j.includes(ee)),H=ne&&ce.token_id===ne;return ee&&ne?oe&&H:ee?oe:H});if(fe){const ce=fe.normalized_metadata?.name||fe.name||`#${fe.token_id}`,M=fe.normalized_metadata?.image||fe.media?.original_media_url||"",j={contract_address:fe.token_address,token_id:fe.token_id,to_address:U.parameters?.to_address||"",token_standard:fe.contract_type||"",amount:"1",maxAmount:fe.amount||"1",nft_name:ce};l(U.message||r("nftSendReview",{name:ce,standard:fe.contract_type||"NFT",tokenId:fe.token_id}),"bot",X.id,void 0,{action:"send_nft",parameters:j,status:"pending",nftInfo:{name:ce,image:M||void 0,tokenId:fe.token_id,contractAddress:fe.token_address,tokenStandard:fe.contract_type||void 0}})}else l(U.message||r("nftNotFoundInWallet",{name:ee||ne}),"bot",X.id),await Xe()}else l(a("nftNoCollection"),"bot",X.id)}catch(v){console.error("NFT lookup by name failed:",v),l(a("nftFetchError"),"bot",X.id)}finally{B(!1)}else{const v=ic(U.action);let O={...U.parameters||{}},ee,ne;const fe=["send_token","approve_token"].includes(U.action)&&(O.contract_address||O.token_symbol),ce=U.action==="send_native",M=U.action==="send_nft"&&O.contract_address;if(fe&&u?.address)try{const j=await Qe({address:u.address,chain:h});if(j?.success&&j?.data?.result){const oe=j.data.result,H=O.contract_address?oe.find(be=>be.token_address.toLowerCase()===O.contract_address.toLowerCase()):oe.find(be=>be.symbol.toUpperCase()===O.token_symbol.toUpperCase());H&&(O={...O,contract_address:H.token_address,decimals:String(H.decimals)},ee={symbol:H.symbol,name:H.name,balance:H.balance,balanceFormatted:H.balance_formatted,usdValue:H.usd_value,usdPrice:H.usd_price,decimals:H.decimals,logo:H.logo||H.thumbnail,contractAddress:H.token_address})}}catch(j){console.warn("Token enrichment failed:",j)}if(fe&&!ee&&O.contract_address)try{const j=await Cs({address:O.contract_address,chain:h});if(j?.success&&j?.data){const oe=j.data;ee={symbol:oe.symbol,name:oe.name,balance:"0",balanceFormatted:"0",usdPrice:oe.usd_price,decimals:oe.decimals,logo:oe.logo,contractAddress:O.contract_address},O={...O,decimals:String(oe.decimals)}}}catch(j){console.warn("Token metadata fallback failed:",j)}if(ce&&u?.address)try{const j=await Qe({address:u.address,chain:h});if(j?.success&&j?.data?.result){const H=j.data.result.find(be=>be.native_token);if(H){let be=H.balance_formatted,we=H.balance;try{const le=new ie(H.balance),Se="0x"+BigInt(le.toFixed(0)).toString(16),De=await an({from:u.address,to:u.address,data:"0x",value:Se,chainId:b,rpcUrl:F});if(De.isGreaterThan(0)){const Ie=le.minus(De);Ie.isGreaterThan(0)?(we=Ie.toFixed(0),be=ie(Le(BigInt(Ie.toFixed(0)),H.decimals)).toFixed()):(we="0",be="0")}}catch(le){console.warn("Estimate send fee for send_native failed:",le)}ee={symbol:H.symbol,name:H.name,balance:we,balanceFormatted:be,usdValue:H.usd_value,usdPrice:H.usd_price,decimals:H.decimals,logo:H.logo||H.thumbnail,contractAddress:Ve}}else{const be=await Cs({address:Ve,chain:h});if(be?.success&&be?.data){const we=be.data;ee={symbol:we.symbol,name:we.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:we.usd_price,decimals:we.decimals,logo:we.logo||we.thumbnail,contractAddress:Ve}}}}}catch(j){console.warn("Native token balance fetch failed:",j)}if(M){try{const j=await Wi({address:O.contract_address,chain:h});if(j?.success&&j?.data){const oe=j.data;oe.contract_type&&(O={...O,token_standard:oe.contract_type}),!O.nft_name&&oe.name&&(O={...O,nft_name:oe.name})}}catch(j){console.warn("NFT contract metadata fetch failed:",j)}if(u?.address)try{const j=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(j?.success&&j?.data?.result){const oe=j.data.result.find(H=>H.token_address.toLowerCase()===O.contract_address.toLowerCase()&&H.token_id===O.token_id);if(oe){O={...O,amount:"1",maxAmount:oe.amount||"1"};const H=oe.normalized_metadata?.image||oe.media?.original_media_url||"";ne={name:oe.normalized_metadata?.name||oe.name||O.nft_name||`#${oe.token_id}`,image:H||void 0,tokenId:oe.token_id,contractAddress:oe.token_address,tokenStandard:oe.contract_type||O.token_standard||void 0}}}}catch(j){console.warn("NFT ownership lookup failed:",j)}}if(O.amount&&ee?.balanceFormatted&&(U.action==="send_token"||U.action==="send_native")&&(O.amount=ho(O.amount,ee.balanceFormatted)),v){const j=U.message||"Please review and complete the form below.";l(j,"bot",X.id,void 0,{action:U.action,parameters:O,status:"pending",tokenInfo:ee,nftInfo:ne})}else l(U.message||re,"bot",X.id)}else if(U&&U.action==="chat"){const v=U.token_mentions||[],O=U.suggested_actions||[],ee=[];v.length>0&&v.forEach(ne=>{ee.push({id:`buy-${ne.symbol}`,text:`💰 Buy ${ne.symbol}`,value:r("buttonBuySymbol",{symbol:ne.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:ne.contract_address||"",symbol:ne.symbol,decimals:ne.decimals||18},fullWidth:!0})}),O.length>0&&O.forEach((ne,fe)=>{ee.push({id:`suggested-${fe}-${ne.label}`,text:ne.label,value:ne.prompt,action:"suggested_action",fullWidth:!0})}),ee.length>0?l(U.message||re,"bot",X.id,ee):l(U.message||re,"bot",X.id)}else l(re,"bot",X.id)}else l(a("errorProcessingRequest"),"bot",X.id)}catch(G){console.error("Error getting AI response:",G),l(a("errorProcessingRequest"),"bot",X.id)}B(!1),await _e(50),Jt.isDesktop&&xe.current?.focus()},[A,T,i,l,W,u?.address,w?.name,w?.nativeCurrency?.symbol,w?.tokenTrendingDefault,b,S,h,x,Te,Ye,Xe,Ke,ue,F,a,r]);te.useEffect(()=>{c.current&&A===c.current&&(c.current=null,Fe())},[A,Fe]);const Pe=te.useCallback(async(R,X,G)=>{try{if(N(!1),k(G,"submitted"),R==="swap_token"){let Z=18;if(X.token_in&&X.token_in!==Ve)try{const z=await st.getTokensDetails([X.token_in],S);z?.data?.[0]&&(Z=z.data[0].decimals||18)}catch(z){console.warn("getTokensDetails failed in ActionForm swap, using default 18:",z)}const _=mt(X.amount||"0",Z).toString(),K=await lo({chainId:b,tokenIn:X.token_in||"",tokenInAmount:_,tokenOut:X.token_out||"",tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(K.success&&K.data){const z=K.data,$=z.tokenIn,pe=z.tokenOut,re=ie(Le(BigInt($.amount||0),$.decimals)).decimalPlaces(6).toFormat(),U=ie(Le(BigInt(pe.amount||0),pe.decimals)).decimalPlaces(6).toFormat(),v=!X.token_in||X.token_in===Ve;let O=!1;if(!v&&u?.address&&z.tx?.to)try{const H=await po({tokenAddress:X.token_in,ownerAddress:u.address,spenderAddress:z.tx.to,chainId:b,rpcUrl:F});O=ie(H.toString()).isLessThan(_)}catch(H){console.warn("Allowance check failed in ActionForm swap:",H)}const ee=z.estimatedTransactionFee?.total?ie(z.estimatedTransactionFee.total):ie(0);let ne=ie(0);if(O&&u?.address)try{const H=Tn({tokenAddress:X.token_in,spenderAddress:z.tx?.to||"",fromAddress:u.address,chainId:b});ne=await an({from:u.address,to:H.to,data:H.data,chainId:b,rpcUrl:F})}catch(H){console.warn("Approve fee estimation failed:",H)}const fe=ee.plus(ne),ce=w?.nativeCurrency?.symbol||"native";let M="",j=!1;if(u?.address&&fe.isGreaterThan(0))try{const H=await Cn({address:u.address,chainId:b,rpcUrl:F});if(H.isLessThan(fe)){j=!0;const be=ie(Le(BigInt(H.toFixed(0)),18)).decimalPlaces(6).toFormat(),we=ie(Le(BigInt(fe.toFixed(0)),18)).decimalPlaces(6).toFormat();M=r("swapFeeWarning",{symbol:ce,balance:be,needed:we})}}catch(H){console.warn("Fee balance check failed:",H)}const oe=`From: ${re} ${$.symbol}
484
484
  ⬇️
485
485
  To: ${U} ${pe.symbol}
486
486
 
487
487
  `+M+`
488
- `;if(j)k(G,"pending"),l(oe,"bot");else if(D){const H=[{id:"approve-swap-actionform",text:r("swapApproveButton",{symbol:$.symbol}),value:r("swapApproveValue",{symbol:$.symbol}),action:"approve_for_swap",extraData:{tokenAddress:X.token_in,spenderAddress:J.tx.to,tokenSymbol:$.symbol,tx:J.tx},fullWidth:!0}];k(G,"success"),l(oe+r("swapApprovalRequired",{symbol:$.symbol}),"bot",void 0,H)}else{const H=[{id:"confirm-swap-actionform",text:a("swapConfirmYes"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:J.tx}}];k(G,"success"),l(oe+a("swapReadyToProceed"),"bot",void 0,H)}}else k(G,"pending"),l(r("swapEstimationError",{error:K.errorMessage||K.error||"Unknown error"}),"bot")}else{const Z=tc({action:R,parameters:X,fromAddress:u?.address||"",chainId:b||1}),_={from:Z.from,to:Z.to,data:Z.data,value:Z.value,chainId:Z.chainId};if((R==="send_token"||R==="send_native"||R==="send_nft")&&u?.address)try{const J=w?.nativeCurrency?.symbol||"native",$=await an({from:Z.from,to:Z.to,data:Z.data,value:Z.value&&Z.value!=="0"?`0x${BigInt(Z.value).toString(16)}`:void 0,chainId:b,rpcUrl:F});if($.isGreaterThan(0)){const pe=await Cn({address:u.address,chainId:b,rpcUrl:F});if(pe.isLessThan($)){const re=ie(Le(BigInt(pe.toFixed(0)),18)).decimalPlaces(6).toFormat(),U=ie(Le(BigInt($.toFixed(0)),18)).decimalPlaces(6).toFormat();k(G,"pending"),l(r("txInsufficientGas",{symbol:J,balance:re,fee:U}),"bot");return}}}catch(J){console.warn("Pre-execution fee check failed:",J)}const K=Y(G);if(n){B(!1);const J=await n(_);if(J.status==="success"&&J.transactionHash){const $=w?.blockExplorers?.default?.url,pe=$?`
489
- [View on Explorer](${$}/tx/${J.transactionHash})`:`
490
- Tx: ${J.transactionHash}`;try{await _e(2e3),(await fo({transactionHash:J.transactionHash,chainId:b||1,rpcUrl:F})).status==="success"?(k(G,"success"),O(G,K?.text+`
488
+ `;if(j)k(G,"pending"),l(oe,"bot");else if(O){const H=[{id:"approve-swap-actionform",text:r("swapApproveButton",{symbol:$.symbol}),value:r("swapApproveValue",{symbol:$.symbol}),action:"approve_for_swap",extraData:{tokenAddress:X.token_in,spenderAddress:z.tx.to,tokenSymbol:$.symbol,tx:z.tx},fullWidth:!0}];k(G,"success"),l(oe+r("swapApprovalRequired",{symbol:$.symbol}),"bot",void 0,H)}else{const H=[{id:"confirm-swap-actionform",text:a("swapConfirmYes"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:z.tx}}];k(G,"success"),l(oe+a("swapReadyToProceed"),"bot",void 0,H)}}else k(G,"pending"),l(r("swapEstimationError",{error:K.errorMessage||K.error||"Unknown error"}),"bot")}else{const Z=tc({action:R,parameters:X,fromAddress:u?.address||"",chainId:b||1}),_={from:Z.from,to:Z.to,data:Z.data,value:Z.value,chainId:Z.chainId};if((R==="send_token"||R==="send_native"||R==="send_nft")&&u?.address)try{const z=w?.nativeCurrency?.symbol||"native",$=await an({from:Z.from,to:Z.to,data:Z.data,value:Z.value&&Z.value!=="0"?`0x${BigInt(Z.value).toString(16)}`:void 0,chainId:b,rpcUrl:F});if($.isGreaterThan(0)){const pe=await Cn({address:u.address,chainId:b,rpcUrl:F});if(pe.isLessThan($)){const re=ie(Le(BigInt(pe.toFixed(0)),18)).decimalPlaces(6).toFormat(),U=ie(Le(BigInt($.toFixed(0)),18)).decimalPlaces(6).toFormat();k(G,"pending"),l(r("txInsufficientGas",{symbol:z,balance:re,fee:U}),"bot");return}}}catch(z){console.warn("Pre-execution fee check failed:",z)}const K=Y(G);if(n){B(!1);const z=await n(_);if(z.status==="success"&&z.transactionHash){const $=w?.blockExplorers?.default?.url,pe=$?`
489
+ [View on Explorer](${$}/tx/${z.transactionHash})`:`
490
+ Tx: ${z.transactionHash}`;try{await _e(2e3),(await fo({transactionHash:z.transactionHash,chainId:b||1,rpcUrl:F})).status==="success"?(k(G,"success"),D(G,K?.text+`
491
491
  `+pe)):(k(G,"pending"),l(a("txReverted")+`
492
492
  `+pe,"bot"))}catch(re){console.warn("Transaction tracking timeout:",re),k(G,"success"),l(a("txTimeout")+`
493
- `+pe,"bot")}}else if(J.status==="success")k(G,"success");else{k(G,"pending");const $=J.error?`
494
- Error: ${J.error}`:"";l(a("txFailed")+$,"bot")}}else k(G,"pending"),l(a("txNoHandler"),"bot")}}catch(Z){console.error("Action form submit error:",Z),k(G,"pending"),l(r("txError",{message:Z instanceof Error?Z.message:"Unknown error"}),"bot")}},[k,b,u?.address,S,w?.nativeCurrency?.symbol,w?.blockExplorers?.default?.url,F,r,l,a,Y,n,O]),Ee=te.useCallback(R=>{g([R])},[g]),[Pt,Ot]=te.useState({}),gt=te.useCallback(async(R,X,G)=>{Ot(Z=>({...Z,[G]:!0}));try{await Pe(R,X,G)}finally{Ot(Z=>({...Z,[G]:!1}))}},[Pe]),wt=te.useCallback(R=>{R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),Fe())},[Fe]),lt=te.useCallback(()=>{const R=window.getSelection();R&&R.toString().length>0||t()},[t]);return e?P.jsx("div",{className:`chat-modal-overlay${o==="bottom-left"?" chat-modal-overlay--left":""}`,onClick:lt,role:"dialog","aria-modal":"true","aria-labelledby":"chat-modal-title",children:P.jsxs("div",{className:"chat-modal",style:s,onClick:R=>R.stopPropagation(),children:[P.jsxs("div",{className:"chat-modal-header",children:[P.jsxs("div",{className:"chat-modal-header-left",children:[P.jsx("div",{className:"keyring-logo",children:P.jsx("img",{src:Vi,alt:"Keyring Logo",width:40,height:40})}),P.jsx("h3",{id:"chat-modal-title",children:a("chatTitle")})]}),P.jsx("button",{className:"close-button",onClick:t,"aria-label":a("closeChat"),type:"button",children:P.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:P.jsx("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]}),P.jsx(xi,{address:u?.address,chainId:w?.chainId}),P.jsxs("div",{className:"chat-modal-messages-wrapper",children:[P.jsxs("div",{className:"chat-modal-messages",ref:ge,role:"log","aria-live":"polite",children:[i.map((R,X)=>P.jsxs("div",{children:[$e(X)&&P.jsx("div",{className:"date-separator",children:Ai(R.timestamp)}),P.jsxs("div",{className:`message ${R.sender==="user"?"message-user":"message-bot"}`,role:"article",children:[P.jsx("button",{className:"message-reply-button",onClick:()=>Ce(R),"aria-label":a("replyToMessage"),type:"button",children:P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M3.5 8.5L1 6L3.5 3.5M1.5 6H10C12.2091 6 14 7.79086 14 10V13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),P.jsxs("div",{className:"message-bubble",children:[R.replyTo&&P.jsxs("div",{className:"message-reply-to",children:[P.jsxs("div",{className:"message-reply-to-label",children:[a("replyingTo")," ",R.replyTo.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),P.jsx("div",{className:"message-reply-to-text",children:R.replyTo.text})]}),P.jsx("div",{className:"message-text",children:P.jsx(qi,{content:R.text})}),R.buttons&&R.buttons.length>0&&P.jsx("div",{className:"message-buttons",children:R.buttons.map(G=>P.jsx("button",{className:`message-button ${G.fullWidth?"full-width":""} ${G.action==="suggested_action"?"suggested-action":""}`,onClick:()=>Ne(G.value,G.action,G?.extraData),type:"button",children:G.text},G.id))}),R.actionData&&R.actionData.status==="pending"&&P.jsx(Ki,{action:R.actionData.action,initialValues:R.actionData.parameters,onSubmit:(G,Z)=>{gt(G,Z,R.id),setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},100)},onCancel:()=>Ee(R.id),isSubmitting:Pt[R.id]||!1,tokenInfo:R.actionData.tokenInfo,nftInfo:R.actionData.nftInfo}),R.actionData&&R.actionData.status==="submitted"&&P.jsx("div",{className:"action-status action-status-submitted",children:a("txProcessing")}),R.actionData&&R.actionData.status==="success"&&P.jsx("div",{className:"action-status action-status-success",children:a("actionSuccess")}),R.actionData&&R.actionData.status==="fail"&&P.jsx("div",{className:"action-status action-status-fail",children:a("actionFail")}),P.jsxs("div",{className:"message-timestamp",children:[R.timestamp.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),R.sender==="user"&&P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:"check-icon",children:P.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]},R.id)),T&&P.jsx("div",{className:"message message-bot typing-indicator",role:"status","aria-label":a("botIsTyping"),children:P.jsxs("div",{className:"message-bubble",children:[P.jsx("span",{className:"typing-dot"}),P.jsx("span",{className:"typing-dot"}),P.jsx("span",{className:"typing-dot"})]})}),(ve||i.length===1)&&P.jsxs(P.Fragment,{children:[P.jsx("div",{className:"message message-bot",role:"article",children:P.jsx("div",{className:"message-bubble",children:P.jsx("div",{className:"message-text",children:a("canIHelpYou")})})}),P.jsx("div",{className:"suggestions-container",children:We.map(R=>P.jsxs("button",{className:"suggestion-button",onClick:R.action,type:"button",children:[P.jsx("span",{className:"suggestion-icon",children:R.icon}),P.jsx("span",{className:"suggestion-text",children:R.text})]},R.id))})]}),P.jsx("div",{ref:he})]}),P.jsx(Zi,{scrollContainerRef:ge})]}),P.jsxs("div",{className:"chat-modal-input",children:[W&&P.jsxs("div",{className:"reply-preview",children:[P.jsxs("div",{className:"reply-preview-content",children:[P.jsxs("div",{className:"reply-preview-label",children:[a("replyingTo")," ",W.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),P.jsx("div",{className:"reply-preview-text",children:W.text})]}),P.jsx("button",{className:"reply-preview-close",onClick:()=>z(null),"aria-label":a("cancelReply"),type:"button",children:P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),P.jsxs("div",{className:"chat-modal-input-row",children:[P.jsx("input",{ref:xe,type:"text",placeholder:a("messagePlaceholder"),value:A,onChange:R=>y(R.target.value),onKeyPress:wt,disabled:T,"aria-label":"Message input"}),P.jsx("button",{className:"send-button",onClick:Fe,"aria-label":a("sendMessage"),disabled:T||A?.trim()==="",type:"button",children:P.jsx("img",{src:Gi,alt:"Send",width:44,height:44})})]})]})]})}):null},hc=({position:e,theme:t,defaultOpen:n,onOpen:o,onClose:s,onTransaction:a})=>{const[r,i]=te.useState(n);te.useEffect(()=>{n&&o&&o()},[]),te.useEffect(()=>{if(typeof window>"u")return;const g=document.body,A=document.documentElement,y=g.style.overscrollBehavior,T=A.style.overscrollBehavior,B=g.style.overflow;return r&&(g.style.overscrollBehavior="none",A.style.overscrollBehavior="none",g.style.overflow="hidden"),()=>{g.style.overscrollBehavior=y,A.style.overscrollBehavior=T,g.style.overflow=B}},[r]);const l=te.useCallback(()=>{i(!0),o?.()},[o]),k=te.useCallback(()=>{i(!1),s?.()},[s]),O=te.useCallback(()=>{r?k():l()},[r,l,k]),Y={position:"fixed",[e==="bottom-right"?"right":"left"]:t.offset?.x??20,bottom:t.offset?.y??20,zIndex:t.zIndex??9999};return P.jsxs("div",{style:Y,role:"complementary","aria-label":"Chat widget",children:[P.jsx(qs,{buttonSize:t.buttonSize,onClick:O}),P.jsx(mc,{isOpen:r,onClose:k,onTransaction:a,position:e,modalChatStyle:t.modalChatStyle})]})},gc=({position:e="bottom-right",theme:t={},defaultOpen:n=!1,onOpen:o,onClose:s,account:a,onTransaction:r,language:i="en",rpcUrls:l})=>{const k={position:e,theme:t,rpcUrls:l};return typeof window>"u"?null:P.jsx(Li,{initialConfig:k,children:P.jsx(Si,{initialAccount:a,children:P.jsx(js,{initialLanguage:i,children:P.jsx(hc,{position:e,theme:t,defaultOpen:n,onOpen:o,onClose:s,onTransaction:r})})})})};bt.ChatWidget=gc,Object.defineProperty(bt,Symbol.toStringTag,{value:"Module"})}));
493
+ `+pe,"bot")}}else if(z.status==="success")k(G,"success");else{k(G,"pending");const $=z.error?`
494
+ Error: ${z.error}`:"";l(a("txFailed")+$,"bot")}}else k(G,"pending"),l(a("txNoHandler"),"bot")}}catch(Z){console.error("Action form submit error:",Z),k(G,"pending"),l(r("txError",{message:Z instanceof Error?Z.message:"Unknown error"}),"bot")}},[k,b,u?.address,S,w?.nativeCurrency?.symbol,w?.blockExplorers?.default?.url,F,r,l,a,Y,n,D]),Ee=te.useCallback(R=>{g([R])},[g]),[Pt,Dt]=te.useState({}),gt=te.useCallback(async(R,X,G)=>{Dt(Z=>({...Z,[G]:!0}));try{await Pe(R,X,G)}finally{Dt(Z=>({...Z,[G]:!1}))}},[Pe]),wt=te.useCallback(R=>{R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),Fe())},[Fe]),lt=te.useCallback(()=>{const R=window.getSelection();R&&R.toString().length>0||t()},[t]);return e?P.jsx("div",{className:`chat-modal-overlay${o==="bottom-left"?" chat-modal-overlay--left":""}`,onClick:lt,role:"dialog","aria-modal":"true","aria-labelledby":"chat-modal-title",children:P.jsxs("div",{className:"chat-modal",style:s,onClick:R=>R.stopPropagation(),children:[P.jsxs("div",{className:"chat-modal-header",children:[P.jsxs("div",{className:"chat-modal-header-left",children:[P.jsx("div",{className:"keyring-logo",children:P.jsx("img",{src:Vi,alt:"Keyring Logo",width:40,height:40})}),P.jsx("h3",{id:"chat-modal-title",children:a("chatTitle")})]}),P.jsx("button",{className:"close-button",onClick:t,"aria-label":a("closeChat"),type:"button",children:P.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:P.jsx("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]}),P.jsx(xi,{address:u?.address,chainId:w?.chainId}),P.jsxs("div",{className:"chat-modal-messages-wrapper",children:[P.jsxs("div",{className:"chat-modal-messages",ref:ge,role:"log","aria-live":"polite",children:[i.map((R,X)=>P.jsxs("div",{children:[$e(X)&&P.jsx("div",{className:"date-separator",children:Ai(R.timestamp)}),P.jsxs("div",{className:`message ${R.sender==="user"?"message-user":"message-bot"}`,role:"article",children:[P.jsx("button",{className:"message-reply-button",onClick:()=>Ce(R),"aria-label":a("replyToMessage"),type:"button",children:P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M3.5 8.5L1 6L3.5 3.5M1.5 6H10C12.2091 6 14 7.79086 14 10V13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),P.jsxs("div",{className:"message-bubble",children:[R.replyTo&&P.jsxs("div",{className:"message-reply-to",children:[P.jsxs("div",{className:"message-reply-to-label",children:[a("replyingTo")," ",R.replyTo.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),P.jsx("div",{className:"message-reply-to-text",children:R.replyTo.text})]}),P.jsx("div",{className:"message-text",children:P.jsx(qi,{content:R.text})}),R.buttons&&R.buttons.length>0&&P.jsx("div",{className:"message-buttons",children:R.buttons.map(G=>P.jsx("button",{className:`message-button ${G.fullWidth?"full-width":""} ${G.action==="suggested_action"?"suggested-action":""}`,onClick:()=>Ne(G.value,G.action,G?.extraData),type:"button",children:G.text},G.id))}),R.actionData&&R.actionData.status==="pending"&&P.jsx(Ki,{action:R.actionData.action,initialValues:R.actionData.parameters,onSubmit:(G,Z)=>{gt(G,Z,R.id),setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},100)},onCancel:()=>Ee(R.id),isSubmitting:Pt[R.id]||!1,tokenInfo:R.actionData.tokenInfo,nftInfo:R.actionData.nftInfo}),R.actionData&&R.actionData.status==="submitted"&&P.jsx("div",{className:"action-status action-status-submitted",children:a("txProcessing")}),R.actionData&&R.actionData.status==="success"&&P.jsx("div",{className:"action-status action-status-success",children:a("actionSuccess")}),R.actionData&&R.actionData.status==="fail"&&P.jsx("div",{className:"action-status action-status-fail",children:a("actionFail")}),P.jsxs("div",{className:"message-timestamp",children:[R.timestamp.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),R.sender==="user"&&P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:"check-icon",children:P.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]},R.id)),T&&P.jsx("div",{className:"message message-bot typing-indicator",role:"status","aria-label":a("botIsTyping"),children:P.jsxs("div",{className:"message-bubble",children:[P.jsx("span",{className:"typing-dot"}),P.jsx("span",{className:"typing-dot"}),P.jsx("span",{className:"typing-dot"})]})}),(ve||i.length===1)&&P.jsxs(P.Fragment,{children:[P.jsx("div",{className:"message message-bot",role:"article",children:P.jsx("div",{className:"message-bubble",children:P.jsx("div",{className:"message-text",children:a("canIHelpYou")})})}),P.jsx("div",{className:"suggestions-container",children:We.map(R=>P.jsxs("button",{className:"suggestion-button",onClick:R.action,type:"button",children:[P.jsx("span",{className:"suggestion-icon",children:R.icon}),P.jsx("span",{className:"suggestion-text",children:R.text})]},R.id))})]}),P.jsx("div",{ref:he})]}),P.jsx(Zi,{scrollContainerRef:ge})]}),P.jsxs("div",{className:"chat-modal-input",children:[W&&P.jsxs("div",{className:"reply-preview",children:[P.jsxs("div",{className:"reply-preview-content",children:[P.jsxs("div",{className:"reply-preview-label",children:[a("replyingTo")," ",W.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),P.jsx("div",{className:"reply-preview-text",children:W.text})]}),P.jsx("button",{className:"reply-preview-close",onClick:()=>J(null),"aria-label":a("cancelReply"),type:"button",children:P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),P.jsxs("div",{className:"chat-modal-input-row",children:[P.jsx("input",{ref:xe,type:"text",placeholder:a("messagePlaceholder"),value:A,onChange:R=>y(R.target.value),onKeyPress:wt,disabled:T,"aria-label":"Message input"}),P.jsx("button",{className:"send-button",onClick:Fe,"aria-label":a("sendMessage"),disabled:T||A?.trim()==="",type:"button",children:P.jsx("img",{src:Gi,alt:"Send",width:44,height:44})})]})]})]})}):null},hc=({position:e,theme:t,defaultOpen:n,onOpen:o,onClose:s,onTransaction:a})=>{const[r,i]=te.useState(n);te.useEffect(()=>{n&&o&&o()},[]),te.useEffect(()=>{if(typeof window>"u")return;const g=document.body,A=document.documentElement,y=g.style.overscrollBehavior,T=A.style.overscrollBehavior,B=g.style.overflow;return r&&(g.style.overscrollBehavior="none",A.style.overscrollBehavior="none",g.style.overflow="hidden"),()=>{g.style.overscrollBehavior=y,A.style.overscrollBehavior=T,g.style.overflow=B}},[r]);const l=te.useCallback(()=>{i(!0),o?.()},[o]),k=te.useCallback(()=>{i(!1),s?.()},[s]),D=te.useCallback(()=>{r?k():l()},[r,l,k]),Y={position:"fixed",[e==="bottom-right"?"right":"left"]:t.offset?.x??20,bottom:t.offset?.y??20,zIndex:t.zIndex??9999};return P.jsxs("div",{style:Y,role:"complementary","aria-label":"Chat widget",children:[P.jsx(qs,{buttonSize:t.buttonSize,onClick:D}),P.jsx(mc,{isOpen:r,onClose:k,onTransaction:a,position:e,modalChatStyle:t.modalChatStyle})]})},gc=({position:e="bottom-right",theme:t={},defaultOpen:n=!1,onOpen:o,onClose:s,account:a,onTransaction:r,language:i="en",rpcUrls:l})=>{const k={position:e,theme:t,rpcUrls:l};return typeof window>"u"?null:P.jsx(Li,{initialConfig:k,children:P.jsx(Si,{initialAccount:a,children:P.jsx(js,{initialLanguage:i,children:P.jsx(hc,{position:e,theme:t,defaultOpen:n,onOpen:o,onClose:s,onTransaction:r})})})})};bt.ChatWidget=gc,Object.defineProperty(bt,Symbol.toStringTag,{value:"Module"})}));