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,7 +1,7 @@
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
2
  import { jsx as W, Fragment as as, jsxs as ve } from "react/jsx-runtime";
3
- import za, { useState as _e, useEffect as ct, useCallback as Ie, createContext as oo, useContext as so, memo as ja, useRef as Bt, useMemo as Qa } from "react";
4
- const Xa = "data:image/png;base64,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", Ka = "Keyring Agent", Za = "Close chat", _a = "Message ....", $a = "Send message", er = "Bot is typing", tr = "Can I help you with anything?", nr = "Reply to message", or = "Replying to", sr = "You", ar = "Keyring Agent", rr = "Cancel reply", ir = "Ask a question", cr = "I have a question", lr = "Ask me anything", dr = "Buy trending token", ur = "Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.", fr = "Please connect your wallet to see trending tokens.", pr = "⏳ Processing transaction...", mr = "✅ Transaction completed", hr = "❌ Action cancelled or failed", gr = "⏳ Transaction submitted. Waiting for confirmation...", wr = "✅ Transaction confirmed!", br = "❌ Transaction reverted on-chain.", yr = "⚠️ Transaction submitted but confirmation timed out. Please check manually.", Ar = "✅ Transaction successful!", vr = "❌ Transaction failed. Please try again.", kr = "⚠️ No transaction handler configured.", Tr = "⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.", Cr = "❌ Error: {message}", Er = "Confirm", xr = "Confirm swap", Sr = "Ready to proceed with the swap?", Ir = "⚠️ Unable to get swap estimation. Error: {error}", Nr = "Cancel", Br = "Execute", Fr = "⏳ Processing...", Rr = "Balance:", Or = "Token not found in your wallet.", Pr = "You have no {symbol} balance in your wallet.", Dr = "Insufficient balance. Spendable: {balance} {symbol}", Lr = "{field} is required", Ur = "Invalid address (0x + 40 hex chars)", Mr = "Must be a positive number", Hr = "Must be a valid number", Wr = "Open chat", Vr = "Open chat support", Gr = "This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.", Yr = "Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.", Jr = "Sorry, I could not fetch your wallet balance. Please try again.", qr = "Sorry, I encountered an error fetching your wallet balance.", zr = "Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.", jr = `Select the amount of {symbol} to use:
3
+ import qa, { useState as _e, useEffect as ct, useCallback as Ie, createContext as oo, useContext as so, memo as ja, useRef as Bt, useMemo as Qa } from "react";
4
+ const Xa = "data:image/png;base64,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", Ka = "Keyring Agent", Za = "Close chat", _a = "Message ....", $a = "Send message", er = "Bot is typing", tr = "Can I help you with anything?", nr = "Reply to message", or = "Replying to", sr = "You", ar = "Keyring Agent", rr = "Cancel reply", ir = "Ask a question", cr = "I have a question", lr = "Ask me anything", dr = "Buy trending token", ur = "Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.", fr = "Please connect your wallet to see trending tokens.", pr = "⏳ Processing transaction...", mr = "✅ Transaction completed", hr = "❌ Action cancelled or failed", gr = "⏳ Transaction submitted. Waiting for confirmation...", wr = "✅ Transaction confirmed!", br = "❌ Transaction reverted on-chain.", yr = "⚠️ Transaction submitted but confirmation timed out. Please check manually.", Ar = "✅ Transaction successful!", vr = "❌ Transaction failed. Please try again.", kr = "⚠️ No transaction handler configured.", Tr = "⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.", Cr = "❌ Error: {message}", Er = "Confirm", xr = "Confirm swap", Sr = "Ready to proceed with the swap?", Ir = "⚠️ Unable to get swap estimation. Error: {error}", Nr = "Cancel", Br = "Execute", Fr = "⏳ Processing...", Rr = "Balance:", Or = "Token not found in your wallet.", Pr = "You have no {symbol} balance in your wallet.", Dr = "Insufficient balance. Spendable: {balance} {symbol}", Lr = "{field} is required", Ur = "Invalid address (0x + 40 hex chars)", Mr = "Must be a positive number", Hr = "Must be a valid number", Wr = "Open chat", Vr = "Open chat support", Gr = "This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.", Yr = "Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.", zr = "Sorry, I could not fetch your wallet balance. Please try again.", Jr = "Sorry, I encountered an error fetching your wallet balance.", qr = "Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.", jr = `Select the amount of {symbol} to use:
5
5
 
6
6
  Spendable: {balance} {symbol}`, Qr = `
7
7
  ⚠️ **Insufficient {symbol} for fees!**
@@ -26,7 +26,7 @@ Is there any token you want to buy?`, Ni = "Sorry, I encountered an error fetchi
26
26
 
27
27
  {list}
28
28
 
29
- Select a token to interact with:`, Hi = "You don't have any tokens in your wallet on this chain.", Wi = "Sorry, I encountered an error fetching your balances.", Vi = "Send {symbol}", Gi = "Swap {symbol}", Yi = "Buy more {symbol}", Ji = "Send Native Token", qi = "Send native token (ETH, BNB, MATIC, etc.) to an address", zi = "Send Token (ERC20)", ji = "Send an ERC20 token to an address", Qi = "Swap Token", Xi = "Swap one token for another", Ki = "Approve Token", Zi = "Approve a spender to use your tokens", _i = "Wrap Native Token", $i = "Wrap native token (ETH → WETH)", ec = "Unwrap Native Token", tc = "Unwrap native token (WETH → ETH)", nc = "Send NFT", oc = "Transfer an ERC721 or ERC1155 NFT to another address", sc = "Recipient Address", ac = "Amount", rc = "Token Contract", ic = "Token Symbol", cc = "Decimals", lc = "From Token", dc = "From Symbol", uc = "To Token", fc = "To Symbol", pc = "From Decimals", mc = "To Decimals", hc = "Spender Address", gc = "Amount (empty = unlimited)", wc = "NFT Contract", bc = "Token ID", yc = "Token Standard", Ac = "NFT Name", vc = "Must be a positive integer", kc = "Amount cannot exceed available balance {max}", Tc = "Received: {value}", Cc = 'Action "{action}" executed for: {value}', Ec = "I'll help you buy {symbol}. Let me show your available tokens to trade with.", xc = `I couldn't find the token "{symbol}" on this chain. Here are the trending tokens you can buy:`, Sc = "Preparing your swap...", Ic = "Yes", Nc = "Please choose which token you want to swap from:", Bc = "You want to swap {symbol}. Please choose which token you want to receive:", Fc = 'I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").', Rc = "Let me show you your NFT collection!", Oc = "Which token would you like to send?", Pc = "Which NFT would you like to send?", Dc = "Which token would you like to swap? Here are your current balances:", Lc = "Spendable", Uc = {
29
+ Select a token to interact with:`, Hi = "You don't have any tokens in your wallet on this chain.", Wi = "Sorry, I encountered an error fetching your balances.", Vi = "Send {symbol}", Gi = "Swap {symbol}", Yi = "Buy more {symbol}", zi = "Send Native Token", Ji = "Send native token (ETH, BNB, MATIC, etc.) to an address", qi = "Send Token (ERC20)", ji = "Send an ERC20 token to an address", Qi = "Swap Token", Xi = "Swap one token for another", Ki = "Approve Token", Zi = "Approve a spender to use your tokens", _i = "Wrap Native Token", $i = "Wrap native token (ETH → WETH)", ec = "Unwrap Native Token", tc = "Unwrap native token (WETH → ETH)", nc = "Send NFT", oc = "Transfer an ERC721 or ERC1155 NFT to another address", sc = "Recipient Address", ac = "Amount", rc = "Token Contract", ic = "Token Symbol", cc = "Decimals", lc = "From Token", dc = "From Symbol", uc = "To Token", fc = "To Symbol", pc = "From Decimals", mc = "To Decimals", hc = "Spender Address", gc = "Amount (empty = unlimited)", wc = "NFT Contract", bc = "Token ID", yc = "Token Standard", Ac = "NFT Name", vc = "Must be a positive integer", kc = "Amount cannot exceed available balance {max}", Tc = "Received: {value}", Cc = 'Action "{action}" executed for: {value}', Ec = "I'll help you buy {symbol}. Let me show your available tokens to trade with.", xc = `I couldn't find the token "{symbol}" on this chain. Here are the trending tokens you can buy:`, Sc = "Preparing your swap...", Ic = "Yes", Nc = "Please choose which token you want to swap from:", Bc = "You want to swap {symbol}. Please choose which token you want to receive:", Fc = 'I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").', Rc = "Let me show you your NFT collection!", Oc = "Which token would you like to send?", Pc = "Which NFT would you like to send?", Dc = "Which token would you like to swap? Here are your current balances:", Lc = "Spendable", Uc = {
30
30
  chatTitle: Ka,
31
31
  closeChat: Za,
32
32
  messagePlaceholder: _a,
@@ -75,9 +75,9 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
75
75
  openChatTitle: Vr,
76
76
  walletBalanceSpendable: Gr,
77
77
  walletNoTokensFound: Yr,
78
- walletFetchFailed: Jr,
79
- walletFetchError: qr,
80
- insufficientFeeToken: zr,
78
+ walletFetchFailed: zr,
79
+ walletFetchError: Jr,
80
+ insufficientFeeToken: qr,
81
81
  selectAmountOf: jr,
82
82
  swapFeeWarning: Qr,
83
83
  swapNeedApprove: Xr,
@@ -129,9 +129,9 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
129
129
  buttonSendToken: Vi,
130
130
  buttonSwapToken: Gi,
131
131
  buttonBuyMoreToken: Yi,
132
- actionSendNativeLabel: Ji,
133
- actionSendNativeDesc: qi,
134
- actionSendTokenLabel: zi,
132
+ actionSendNativeLabel: zi,
133
+ actionSendNativeDesc: Ji,
134
+ actionSendTokenLabel: qi,
135
135
  actionSendTokenDesc: ji,
136
136
  actionSwapTokenLabel: Qi,
137
137
  actionSwapTokenDesc: Xi,
@@ -176,7 +176,7 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
176
176
  sendNftChoose: Pc,
177
177
  swapChooseToken: Dc,
178
178
  spendable: Lc
179
- }, Mc = "Keyringエージェント", Hc = "チャットを閉じる", Wc = "メッセージ....", Vc = "メッセージを送信", Gc = "ボットが入力中", Yc = "何かお手伝いできますか?", Jc = "メッセージに返信", qc = "返信先:", zc = "あなた", jc = "Keyringエージェント", Qc = "返信をキャンセル", Xc = "質問する", Kc = "質問があります", Zc = "何でも聞いてください", _c = "トレンドトークンを購入", $c = "ウォレットは接続されていますが、このチェーンは取引に対応していません。対応チェーンに切り替えてトレンドトークンを確認してください。", el = "トレンドトークンを確認するにはウォレットを接続してください。", tl = "⏳ トランザクション処理中...", nl = "✅ トランザクション完了", ol = "❌ アクションがキャンセルまたは失敗しました", sl = "⏳ トランザクションを送信しました。確認をお待ちください...", al = "✅ トランザクションが確認されました!", rl = "❌ トランザクションはオンチェーンでリバートされました。", il = "⚠️ トランザクションは送信されましたが、確認がタイムアウトしました。手動で確認してください。", cl = "✅ トランザクションが成功しました!", ll = "トランザクションが失敗しました。もう一度お試しください。", dl = "⚠️ トランザクションハンドラが設定されていません。", ul = "⚠️ **ガス代の{symbol}が不足しています!** {symbol}の残高は{balance}ですが、取引手数料として約{fee} {symbol}が必要です。ウォレットをチャージして再試行してください。", fl = "❌ エラー:{message}", pl = "確認", ml = "スワップを確認", hl = "スワップを実行する準備ができていますか?", gl = "⚠️ スワップの見積もりを取得できませんでした。エラー:{error}", wl = "キャンセル", bl = "🚀 実行", yl = "⏳ 処理中...", Al = "残高:", vl = "ウォレットにトークンが見つかりませんでした。", kl = "ウォレットに{symbol}の残高がありません。", Tl = "残高が不足しています。利用可能:{balance} {symbol}", Cl = "{field}は必須です", El = "無効なアドレス(0x + 40桁の16進数)", xl = "正の数値を入力してください", Sl = "有効な数値を入力してください", Il = "チャットを開く", Nl = "チャットサポートを開く", Bl = "{chain}チェーンのウォレットの利用可能残高です。この取引に使用するコインを選択してください。", Fl = "申し訳ありませんが、{chain}チェーンのウォレットにトークンが見つかりませんでした。取引用のトークンがあることをご確認ください。", Rl = "ウォレット残高を取得できませんでした。もう一度お試しください。", Ol = "ウォレット残高の取得中にエラーが発生しました。", Pl = "手数料が不足しています。{symbol}が取引手数料をカバーするのに十分であることを確認するか、別のトークンを選択してください。", Dl = `使用する{symbol}の量を選択:
179
+ }, Mc = "Keyringエージェント", Hc = "チャットを閉じる", Wc = "メッセージ....", Vc = "メッセージを送信", Gc = "ボットが入力中", Yc = "何かお手伝いできますか?", zc = "メッセージに返信", Jc = "返信先:", qc = "あなた", jc = "Keyringエージェント", Qc = "返信をキャンセル", Xc = "質問する", Kc = "質問があります", Zc = "何でも聞いてください", _c = "トレンドトークンを購入", $c = "ウォレットは接続されていますが、このチェーンは取引に対応していません。対応チェーンに切り替えてトレンドトークンを確認してください。", el = "トレンドトークンを確認するにはウォレットを接続してください。", tl = "⏳ トランザクション処理中...", nl = "✅ トランザクション完了", ol = "❌ アクションがキャンセルまたは失敗しました", sl = "⏳ トランザクションを送信しました。確認をお待ちください...", al = "✅ トランザクションが確認されました!", rl = "❌ トランザクションはオンチェーンでリバートされました。", il = "⚠️ トランザクションは送信されましたが、確認がタイムアウトしました。手動で確認してください。", cl = "✅ トランザクションが成功しました!", ll = "トランザクションが失敗しました。もう一度お試しください。", dl = "⚠️ トランザクションハンドラが設定されていません。", ul = "⚠️ **ガス代の{symbol}が不足しています!** {symbol}の残高は{balance}ですが、取引手数料として約{fee} {symbol}が必要です。ウォレットをチャージして再試行してください。", fl = "❌ エラー:{message}", pl = "確認", ml = "スワップを確認", hl = "スワップを実行する準備ができていますか?", gl = "⚠️ スワップの見積もりを取得できませんでした。エラー:{error}", wl = "キャンセル", bl = "🚀 実行", yl = "⏳ 処理中...", Al = "残高:", vl = "ウォレットにトークンが見つかりませんでした。", kl = "ウォレットに{symbol}の残高がありません。", Tl = "残高が不足しています。利用可能:{balance} {symbol}", Cl = "{field}は必須です", El = "無効なアドレス(0x + 40桁の16進数)", xl = "正の数値を入力してください", Sl = "有効な数値を入力してください", Il = "チャットを開く", Nl = "チャットサポートを開く", Bl = "{chain}チェーンのウォレットの利用可能残高です。この取引に使用するコインを選択してください。", Fl = "申し訳ありませんが、{chain}チェーンのウォレットにトークンが見つかりませんでした。取引用のトークンがあることをご確認ください。", Rl = "ウォレット残高を取得できませんでした。もう一度お試しください。", Ol = "ウォレット残高の取得中にエラーが発生しました。", Pl = "手数料が不足しています。{symbol}が取引手数料をカバーするのに十分であることを確認するか、別のトークンを選択してください。", Dl = `使用する{symbol}の量を選択:
180
180
 
181
181
  利用可能: {balance} {symbol}`, Ll = `
182
182
  ⚠️ **手数料の{symbol}が不足しています!**
@@ -188,7 +188,7 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
188
188
  利用可能: {balance} {from}`, Gl = `⚠️ スワップ前にトークンの承認が必要です。
189
189
 
190
190
  ステップ1: {symbol}を承認
191
- ステップ2: スワップを確認`, Yl = "⚠️ スワップの見積もりを取得できませんでした。もう一度お試しください。", Jl = "⚠️ 残高不足!{symbol}の残高は{balance}ですが、{amount}が必要です。ウォレットをチャージするか、金額を減らしてください。", ql = "⚠️ ウォレットに{symbol}がありません。スワップ前に取得してください。", zl = "⚠️ 残高不足!{balance} {symbol}しかありませんが、{amount}が必要です。金額を減らすかトークンを追加してください。", jl = `スワップする{symbol}の量を選択:
191
+ ステップ2: スワップを確認`, Yl = "⚠️ スワップの見積もりを取得できませんでした。もう一度お試しください。", zl = "⚠️ 残高不足!{symbol}の残高は{balance}ですが、{amount}が必要です。ウォレットをチャージするか、金額を減らしてください。", Jl = "⚠️ ウォレットに{symbol}がありません。スワップ前に取得してください。", ql = "⚠️ 残高不足!{balance} {symbol}しかありませんが、{amount}が必要です。金額を減らすかトークンを追加してください。", jl = `スワップする{symbol}の量を選択:
192
192
 
193
193
  利用可能: {balance} {symbol}`, Ql = "⚠️ トークンリストを読み込めませんでした。宛先トークンを指定してください。", Xl = "📈 {chain}チェーンのトレンドトークン。受け取りたいトークンを選択してください:", Kl = "トランザクション処理中... お待ちください。", Zl = "✅ トランザクションが確認されました!スワップが完了しました。", _l = "❌ トランザクションはオンチェーンでリバートされました。もう一度お試しください。", $l = "✅ トランザクションが成功しました!スワップが完了しました。", e0 = "⚠️ トランザクションデータが利用できません。", t0 = "⚠️ 承認データが利用できません。", n0 = "{symbol}を承認中... ウォレットで確認してください。", o0 = "✅ {symbol}が正常に承認されました!", s0 = "スワップを実行できるようになりました。", a0 = "スワップを確認", r0 = "❌ 承認に失敗しました。もう一度お試しください。", i0 = "⚠️ ウォレット残高を取得できませんでした。", c0 = "⚠️ 残高を読み込めませんでした。もう一度お試しください。", l0 = "⚠️ 残高を取得できませんでした。もう一度お試しください。", d0 = `📤 **{name}**を送信 ({standard} #{tokenId})
194
194
 
@@ -201,16 +201,16 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
201
201
 
202
202
  {list}
203
203
 
204
- インタラクトするトークンを選択:`, S0 = "このチェーンのウォレットにトークンがありません。", I0 = "残高の取得中にエラーが発生しました。", N0 = "{symbol}を送る", B0 = "{symbol}をスワップ", F0 = "{symbol}をもっと買う", R0 = "ネイティブトークンを送る", O0 = "ネイティブトークン(ETH、BNB、MATICなど)をアドレスに送る", P0 = "トークンを送る(ERC20)", D0 = "ERC20トークンをアドレスに送る", L0 = "トークンをスワップ", U0 = "あるトークンを別のトークンに交換する", M0 = "トークンを承認", H0 = "指定したアドレスがトークンを使用することを承認する", W0 = "ネイティブトークンをラップ", V0 = "ネイティブトークンをラップする(ETH → WETH)", G0 = "ネイティブトークンをアンラップ", Y0 = "ネイティブトークンをアンラップする(WETH → ETH)", J0 = "NFTを送る", q0 = "ERC721またはERC1155のNFTを別のアドレスに転送する", z0 = "受取アドレス", j0 = "数量", Q0 = "トークンコントラクト", X0 = "トークンシンボル", K0 = "小数桁数", Z0 = "送信元トークン", _0 = "送信元シンボル", $0 = "送信先トークン", ed = "送信先シンボル", td = "送信元小数桁数", nd = "送信先小数桁数", od = "承認先アドレス", sd = "数量(空欄 = 無制限)", ad = "NFTコントラクト", rd = "Token ID", id = "トークン規格", cd = "NFT名", ld = "正の整数でなければなりません", dd = "数量は利用可能な残高 {max} を超えられません", ud = "受信しました:{value}", fd = 'アクション "{action}" を {value} に対して実行しました', pd = "{symbol}の購入をお手伝いします。取引に使えるトークンを表示します。", md = 'このチェーンでトークン "{symbol}" が見つかりませんでした。購入できるトレンドトークンをご紹介します:', hd = "スワップを準備中...", gd = "はい", wd = "スワップ元のトークンを選択してください:", bd = "{symbol}をスワップしたいですね。受け取りたいトークンを選択してください:", yd = 'スワップの詳細が必要です。スワップするトークンを指定してください(例:"1 ETH を USDC にスワップ")。', Ad = "あなたのNFTコレクションをお見せします!", vd = "どのトークンを送りますか?", kd = "どのNFTを送りますか?", Td = "どのトークンをスワップしますか?現在の残高はこちらです:", Cd = "利用可能", Ed = {
204
+ インタラクトするトークンを選択:`, S0 = "このチェーンのウォレットにトークンがありません。", I0 = "残高の取得中にエラーが発生しました。", N0 = "{symbol}を送る", B0 = "{symbol}をスワップ", F0 = "{symbol}をもっと買う", R0 = "ネイティブトークンを送る", O0 = "ネイティブトークン(ETH、BNB、MATICなど)をアドレスに送る", P0 = "トークンを送る(ERC20)", D0 = "ERC20トークンをアドレスに送る", L0 = "トークンをスワップ", U0 = "あるトークンを別のトークンに交換する", M0 = "トークンを承認", H0 = "指定したアドレスがトークンを使用することを承認する", W0 = "ネイティブトークンをラップ", V0 = "ネイティブトークンをラップする(ETH → WETH)", G0 = "ネイティブトークンをアンラップ", Y0 = "ネイティブトークンをアンラップする(WETH → ETH)", z0 = "NFTを送る", J0 = "ERC721またはERC1155のNFTを別のアドレスに転送する", q0 = "受取アドレス", j0 = "数量", Q0 = "トークンコントラクト", X0 = "トークンシンボル", K0 = "小数桁数", Z0 = "送信元トークン", _0 = "送信元シンボル", $0 = "送信先トークン", ed = "送信先シンボル", td = "送信元小数桁数", nd = "送信先小数桁数", od = "承認先アドレス", sd = "数量(空欄 = 無制限)", ad = "NFTコントラクト", rd = "Token ID", id = "トークン規格", cd = "NFT名", ld = "正の整数でなければなりません", dd = "数量は利用可能な残高 {max} を超えられません", ud = "受信しました:{value}", fd = 'アクション "{action}" を {value} に対して実行しました', pd = "{symbol}の購入をお手伝いします。取引に使えるトークンを表示します。", md = 'このチェーンでトークン "{symbol}" が見つかりませんでした。購入できるトレンドトークンをご紹介します:', hd = "スワップを準備中...", gd = "はい", wd = "スワップ元のトークンを選択してください:", bd = "{symbol}をスワップしたいですね。受け取りたいトークンを選択してください:", yd = 'スワップの詳細が必要です。スワップするトークンを指定してください(例:"1 ETH を USDC にスワップ")。', Ad = "あなたのNFTコレクションをお見せします!", vd = "どのトークンを送りますか?", kd = "どのNFTを送りますか?", Td = "どのトークンをスワップしますか?現在の残高はこちらです:", Cd = "利用可能", Ed = {
205
205
  chatTitle: Mc,
206
206
  closeChat: Hc,
207
207
  messagePlaceholder: Wc,
208
208
  sendMessage: Vc,
209
209
  botIsTyping: Gc,
210
210
  canIHelpYou: Yc,
211
- replyToMessage: Jc,
212
- replyingTo: qc,
213
- replyingToYou: zc,
211
+ replyToMessage: zc,
212
+ replyingTo: Jc,
213
+ replyingToYou: qc,
214
214
  replyingToAgent: jc,
215
215
  cancelReply: Qc,
216
216
  suggestionAskText: Xc,
@@ -262,9 +262,9 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
262
262
  swapSelectAmount: Vl,
263
263
  swapApprovalRequired: Gl,
264
264
  swapEstimationFailed: Yl,
265
- swapInsufficientNativeBalance: Jl,
266
- swapTokenNotInWallet: ql,
267
- swapInsufficientTokenBalance: zl,
265
+ swapInsufficientNativeBalance: zl,
266
+ swapTokenNotInWallet: Jl,
267
+ swapInsufficientTokenBalance: ql,
268
268
  selectAmountToSwap: jl,
269
269
  couldNotLoadTokenList: Ql,
270
270
  trendingTokensForReceive: Xl,
@@ -316,9 +316,9 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
316
316
  actionWrapNativeDesc: V0,
317
317
  actionUnwrapNativeLabel: G0,
318
318
  actionUnwrapNativeDesc: Y0,
319
- actionSendNftLabel: J0,
320
- actionSendNftDesc: q0,
321
- fieldToAddress: z0,
319
+ actionSendNftLabel: z0,
320
+ actionSendNftDesc: J0,
321
+ fieldToAddress: q0,
322
322
  fieldAmount: j0,
323
323
  fieldTokenContract: Q0,
324
324
  fieldTokenSymbol: X0,
@@ -351,7 +351,7 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
351
351
  sendNftChoose: kd,
352
352
  swapChooseToken: Td,
353
353
  spendable: Cd
354
- }, xd = "Keyring 助手", Sd = "关闭聊天", Id = "消息....", Nd = "发送消息", Bd = "机器人正在输入", Fd = "有什么可以帮您的吗?", Rd = "回复消息", Od = "回复", Pd = "你", Dd = "Keyring 助手", Ld = "取消回复", Ud = "提问", Md = "我有一个问题", Hd = "请随时提问", Wd = "购买热门代币", Vd = "您的钱包已连接,但该链不支持交易。请切换到受支持的链以查看热门代币。", Gd = "请连接钱包以查看热门代币。", Yd = "⏳ 交易处理中...", Jd = "✅ 交易完成", qd = "❌ 操作已取消或失败", zd = "⏳ 交易已提交,等待确认...", jd = "✅ 交易已确认!", Qd = "❌ 交易在链上已回滚。", Xd = "⚠️ 交易已提交,但确认超时,请手动检查。", Kd = "✅ 交易成功!", Zd = "交易失败,请重试。", _d = "⚠️ 未配置交易处理程序。", $d = "⚠️ **{symbol}不足以支付Gas费!** 您有 {balance} {symbol},但需要约 {fee} {symbol} 作为交易费用。请充值钱包后重试。", eu = "❌ 错误:{message}", tu = "确认", nu = "确认兑换", ou = "准备好进行兑换了吗?", su = "⚠️ 无法获取兑换估算。错误:{error}", au = "取消", ru = "🚀 执行", iu = "⏳ 处理中...", cu = "余额:", lu = "您的钱包中未找到该代币。", du = "您的钱包中没有 {symbol} 余额。", uu = "余额不足。可用:{balance} {symbol}", fu = "{field}为必填项", pu = "无效地址(0x + 40个十六进制字符)", mu = "必须为正数", hu = "必须为有效数字", gu = "打开聊天", wu = "打开聊天支持", bu = "这是您在{chain}链上钱包的可用余额。请选择您要用于此交易的代币。", yu = "抱歉,在{chain}链上您的钱包中找不到任何代币。请确保您有一些代币可以交易。", Au = "无法获取钱包余额,请重试。", vu = "获取钱包余额时遇到错误。", ku = "手续费不足。请确保您有足够的 {symbol} 支付交易手续费,或选择其他代币。", Tu = `选择要使用的 {symbol} 数量:
354
+ }, xd = "Keyring 助手", Sd = "关闭聊天", Id = "消息....", Nd = "发送消息", Bd = "机器人正在输入", Fd = "有什么可以帮您的吗?", Rd = "回复消息", Od = "回复", Pd = "你", Dd = "Keyring 助手", Ld = "取消回复", Ud = "提问", Md = "我有一个问题", Hd = "请随时提问", Wd = "购买热门代币", Vd = "您的钱包已连接,但该链不支持交易。请切换到受支持的链以查看热门代币。", Gd = "请连接钱包以查看热门代币。", Yd = "⏳ 交易处理中...", zd = "✅ 交易完成", Jd = "❌ 操作已取消或失败", qd = "⏳ 交易已提交,等待确认...", jd = "✅ 交易已确认!", Qd = "❌ 交易在链上已回滚。", Xd = "⚠️ 交易已提交,但确认超时,请手动检查。", Kd = "✅ 交易成功!", Zd = "交易失败,请重试。", _d = "⚠️ 未配置交易处理程序。", $d = "⚠️ **{symbol}不足以支付Gas费!** 您有 {balance} {symbol},但需要约 {fee} {symbol} 作为交易费用。请充值钱包后重试。", eu = "❌ 错误:{message}", tu = "确认", nu = "确认兑换", ou = "准备好进行兑换了吗?", su = "⚠️ 无法获取兑换估算。错误:{error}", au = "取消", ru = "🚀 执行", iu = "⏳ 处理中...", cu = "余额:", lu = "您的钱包中未找到该代币。", du = "您的钱包中没有 {symbol} 余额。", uu = "余额不足。可用:{balance} {symbol}", fu = "{field}为必填项", pu = "无效地址(0x + 40个十六进制字符)", mu = "必须为正数", hu = "必须为有效数字", gu = "打开聊天", wu = "打开聊天支持", bu = "这是您在{chain}链上钱包的可用余额。请选择您要用于此交易的代币。", yu = "抱歉,在{chain}链上您的钱包中找不到任何代币。请确保您有一些代币可以交易。", Au = "无法获取钱包余额,请重试。", vu = "获取钱包余额时遇到错误。", ku = "手续费不足。请确保您有足够的 {symbol} 支付交易手续费,或选择其他代币。", Tu = `选择要使用的 {symbol} 数量:
355
355
 
356
356
  可用: {balance} {symbol}`, Cu = `
357
357
  ⚠️ **{symbol}不足以支付手续费!**
@@ -365,7 +365,7 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
365
365
  第1步:授权 {symbol}
366
366
  第2步:确认兑换`, Fu = "⚠️ 获取兑换估算失败,请重试。", Ru = "⚠️ 余额不足!您有 {balance} {symbol},但需要 {amount}。请充值钱包或减少金额。", Ou = "⚠️ 您的钱包中没有 {symbol}。请先获取一些再进行兑换。", Pu = "⚠️ 余额不足!您有 {balance} {symbol},但需要 {amount}。请减少金额或添加更多代币。", Du = `选择要兑换的 {symbol} 数量:
367
367
 
368
- 可用: {balance} {symbol}`, Lu = "⚠️ 无法加载代币列表。请指定目标代币。", Uu = "📈 {chain}链上的热门代币。请选择您想接收的代币:", Mu = "交易处理中... 请稍候。", Hu = "✅ 交易已确认!您的兑换已完成。", Wu = "❌ 交易在链上已回滚,请重试。", Vu = "✅ 交易成功!您的兑换已完成。", Gu = "⚠️ 交易数据不可用。", Yu = "⚠️ 授权数据不可用。", Ju = "正在授权 {symbol}... 请在钱包中确认。", qu = "✅ {symbol} 授权成功!", zu = "现在您可以执行兑换了。", ju = "确认兑换", Qu = "❌ 授权失败,请重试。", Xu = "⚠️ 无法获取钱包余额。", Ku = "⚠️ 无法加载余额,请重试。", Zu = "⚠️ 无法获取余额,请重试。", _u = `📤 发送 **{name}** ({standard} #{tokenId})
368
+ 可用: {balance} {symbol}`, Lu = "⚠️ 无法加载代币列表。请指定目标代币。", Uu = "📈 {chain}链上的热门代币。请选择您想接收的代币:", Mu = "交易处理中... 请稍候。", Hu = "✅ 交易已确认!您的兑换已完成。", Wu = "❌ 交易在链上已回滚,请重试。", Vu = "✅ 交易成功!您的兑换已完成。", Gu = "⚠️ 交易数据不可用。", Yu = "⚠️ 授权数据不可用。", zu = "正在授权 {symbol}... 请在钱包中确认。", Ju = "✅ {symbol} 授权成功!", qu = "现在您可以执行兑换了。", ju = "确认兑换", Qu = "❌ 授权失败,请重试。", Xu = "⚠️ 无法获取钱包余额。", Ku = "⚠️ 无法加载余额,请重试。", Zu = "⚠️ 无法获取余额,请重试。", _u = `📤 发送 **{name}** ({standard} #{tokenId})
369
369
 
370
370
  请检查并填写收件人地址:`, $u = `您的NFT收藏({count}件):
371
371
 
@@ -376,7 +376,7 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
376
376
 
377
377
  {list}
378
378
 
379
- 选择要操作的代币:`, h2 = "您的钱包在此链上没有任何代币。", g2 = "获取余额时遇到错误,请重试。", w2 = "发送{symbol}", b2 = "兑换{symbol}", y2 = "购买更多{symbol}", A2 = "发送原生代币", v2 = "发送原生代币(ETH、BNB、MATIC 等)到某个地址", k2 = "发送代币(ERC20)", T2 = "将 ERC20 代币发送到某个地址", C2 = "兑换代币", E2 = "将一种代币兑换为另一种代币", x2 = "授权代币", S2 = "授权某地址使用您的代币", I2 = "包装原生代币", N2 = "包装原生代币(ETH → WETH)", B2 = "解包原生代币", F2 = "解包原生代币(WETH → ETH)", R2 = "发送 NFT", O2 = "将 ERC721 或 ERC1155 NFT 转移到另一个地址", P2 = "收款地址", D2 = "数量", L2 = "代币合约", U2 = "代币符号", M2 = "小数位数", H2 = "源代币", W2 = "源代币符号", V2 = "目标代币", G2 = "目标代币符号", Y2 = "源代币小数位", J2 = "目标代币小数位", q2 = "授权地址", z2 = "数量(留空 = 无限授权)", j2 = "NFT 合约", Q2 = "Token ID", X2 = "代币标准", K2 = "NFT 名称", Z2 = "必须是正整数", _2 = "数量不能超过可用余额 {max}", $2 = "已收到:{value}", e1 = '操作 "{action}" 已为 {value} 执行', t1 = "我来帮您购买 {symbol}。让我展示您可用于交易的代币。", n1 = '在此链上找不到代币 "{symbol}"。以下是您可以购买的热门代币:', o1 = "正在准备您的兑换...", s1 = "是", a1 = "请选择您要兑换的源代币:", r1 = "您要兑换 {symbol}。请选择您想要接收的代币:", i1 = '我需要更多兑换详情。请指定您要兑换的代币(例如:"兑换 1 ETH 到 USDC")。', c1 = "让我展示您的 NFT 收藏!", l1 = "您想发送哪种代币?", d1 = "您想发送哪个 NFT?", u1 = "您想兑换哪种代币?以下是您当前的余额:", f1 = "可用", p1 = {
379
+ 选择要操作的代币:`, h2 = "您的钱包在此链上没有任何代币。", g2 = "获取余额时遇到错误,请重试。", w2 = "发送{symbol}", b2 = "兑换{symbol}", y2 = "购买更多{symbol}", A2 = "发送原生代币", v2 = "发送原生代币(ETH、BNB、MATIC 等)到某个地址", k2 = "发送代币(ERC20)", T2 = "将 ERC20 代币发送到某个地址", C2 = "兑换代币", E2 = "将一种代币兑换为另一种代币", x2 = "授权代币", S2 = "授权某地址使用您的代币", I2 = "包装原生代币", N2 = "包装原生代币(ETH → WETH)", B2 = "解包原生代币", F2 = "解包原生代币(WETH → ETH)", R2 = "发送 NFT", O2 = "将 ERC721 或 ERC1155 NFT 转移到另一个地址", P2 = "收款地址", D2 = "数量", L2 = "代币合约", U2 = "代币符号", M2 = "小数位数", H2 = "源代币", W2 = "源代币符号", V2 = "目标代币", G2 = "目标代币符号", Y2 = "源代币小数位", z2 = "目标代币小数位", J2 = "授权地址", q2 = "数量(留空 = 无限授权)", j2 = "NFT 合约", Q2 = "Token ID", X2 = "代币标准", K2 = "NFT 名称", Z2 = "必须是正整数", _2 = "数量不能超过可用余额 {max}", $2 = "已收到:{value}", e1 = '操作 "{action}" 已为 {value} 执行', t1 = "我来帮您购买 {symbol}。让我展示您可用于交易的代币。", n1 = '在此链上找不到代币 "{symbol}"。以下是您可以购买的热门代币:', o1 = "正在准备您的兑换...", s1 = "是", a1 = "请选择您要兑换的源代币:", r1 = "您要兑换 {symbol}。请选择您想要接收的代币:", i1 = '我需要更多兑换详情。请指定您要兑换的代币(例如:"兑换 1 ETH 到 USDC")。', c1 = "让我展示您的 NFT 收藏!", l1 = "您想发送哪种代币?", d1 = "您想发送哪个 NFT?", u1 = "您想兑换哪种代币?以下是您当前的余额:", f1 = "可用", p1 = {
380
380
  chatTitle: xd,
381
381
  closeChat: Sd,
382
382
  messagePlaceholder: Id,
@@ -395,9 +395,9 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
395
395
  walletConnectedChainUnsupported: Vd,
396
396
  walletNotConnected: Gd,
397
397
  actionProcessing: Yd,
398
- actionSuccess: Jd,
399
- actionFail: qd,
400
- txSubmitted: zd,
398
+ actionSuccess: zd,
399
+ actionFail: Jd,
400
+ txSubmitted: qd,
401
401
  txConfirmed: jd,
402
402
  txReverted: Qd,
403
403
  txTimeout: Xd,
@@ -449,9 +449,9 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
449
449
  txSuccessfulSwap: Vu,
450
450
  txDataNotAvailable: Gu,
451
451
  approvalDataNotAvailable: Yu,
452
- approving: Ju,
453
- approvalSuccess: qu,
454
- approvalConfirmSwap: zu,
452
+ approving: zu,
453
+ approvalSuccess: Ju,
454
+ approvalConfirmSwap: qu,
455
455
  confirmSwapButton: ju,
456
456
  approvalFailed: Qu,
457
457
  couldNotFetchBalance: Xu,
@@ -503,9 +503,9 @@ Select a token to interact with:`, Hi = "You don't have any tokens in your walle
503
503
  fieldTokenOut: V2,
504
504
  fieldTokenOutSymbol: G2,
505
505
  fieldTokenInDecimals: Y2,
506
- fieldTokenOutDecimals: J2,
507
- fieldSpenderAddress: q2,
508
- fieldAmountUnlimited: z2,
506
+ fieldTokenOutDecimals: z2,
507
+ fieldSpenderAddress: J2,
508
+ fieldAmountUnlimited: q2,
509
509
  fieldNftContract: j2,
510
510
  fieldTokenId: Q2,
511
511
  fieldTokenStandard: X2,
@@ -669,11 +669,11 @@ class w1 extends pe {
669
669
  super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`, { name: "SizeOverflowError" });
670
670
  }
671
671
  }
672
- function qt(e, { strict: t = !0 } = {}) {
672
+ function Jt(e, { strict: t = !0 } = {}) {
673
673
  return !e || typeof e != "string" ? !1 : t ? /^0x[0-9a-fA-F]*$/.test(e) : e.startsWith("0x");
674
674
  }
675
675
  function $e(e) {
676
- return qt(e, { strict: !1 }) ? Math.ceil((e.length - 2) / 2) : e.length;
676
+ return Jt(e, { strict: !1 }) ? Math.ceil((e.length - 2) / 2) : e.length;
677
677
  }
678
678
  function En(e, { dir: t = "left" } = {}) {
679
679
  let n = typeof e == "string" ? e.replace("0x", "") : e, o = 0;
@@ -691,7 +691,7 @@ class ds extends pe {
691
691
  super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`, { name: "SizeExceedsPaddingSizeError" });
692
692
  }
693
693
  }
694
- function zt(e, { dir: t, size: n = 32 } = {}) {
694
+ function qt(e, { dir: t, size: n = 32 } = {}) {
695
695
  return typeof e == "string" ? Et(e, { dir: t, size: n }) : b1(e, { dir: t, size: n });
696
696
  }
697
697
  function Et(e, { dir: t, size: n = 32 } = {}) {
@@ -728,14 +728,14 @@ function Yt(e, t = {}) {
728
728
  }
729
729
  function us(e, t = {}) {
730
730
  const n = `0x${Number(e)}`;
731
- return typeof t.size == "number" ? (jt(n, { size: t.size }), zt(n, { size: t.size })) : n;
731
+ return typeof t.size == "number" ? (jt(n, { size: t.size }), qt(n, { size: t.size })) : n;
732
732
  }
733
733
  function At(e, t = {}) {
734
734
  let n = "";
735
735
  for (let s = 0; s < e.length; s++)
736
736
  n += y1[e[s]];
737
737
  const o = `0x${n}`;
738
- return typeof t.size == "number" ? (jt(o, { size: t.size }), zt(o, { dir: "right", size: t.size })) : o;
738
+ return typeof t.size == "number" ? (jt(o, { size: t.size }), qt(o, { dir: "right", size: t.size })) : o;
739
739
  }
740
740
  function ue(e, t = {}) {
741
741
  const { signed: n, size: o } = t, s = BigInt(e);
@@ -753,7 +753,7 @@ function ue(e, t = {}) {
753
753
  });
754
754
  }
755
755
  const i = `0x${(n && s < 0 ? (1n << BigInt(o * 8)) + BigInt(s) : s).toString(16)}`;
756
- return o ? zt(i, { size: o }) : i;
756
+ return o ? qt(i, { size: o }) : i;
757
757
  }
758
758
  const A1 = /* @__PURE__ */ new TextEncoder();
759
759
  function fs(e, t = {}) {
@@ -762,11 +762,11 @@ function fs(e, t = {}) {
762
762
  }
763
763
  const v1 = /* @__PURE__ */ new TextEncoder();
764
764
  function io(e, t = {}) {
765
- return typeof e == "number" || typeof e == "bigint" ? T1(e, t) : typeof e == "boolean" ? k1(e, t) : qt(e) ? Pt(e, t) : ps(e, t);
765
+ return typeof e == "number" || typeof e == "bigint" ? T1(e, t) : typeof e == "boolean" ? k1(e, t) : Jt(e) ? Pt(e, t) : ps(e, t);
766
766
  }
767
767
  function k1(e, t = {}) {
768
768
  const n = new Uint8Array(1);
769
- return n[0] = Number(e), typeof t.size == "number" ? (jt(n, { size: t.size }), zt(n, { size: t.size })) : n;
769
+ return n[0] = Number(e), typeof t.size == "number" ? (jt(n, { size: t.size }), qt(n, { size: t.size })) : n;
770
770
  }
771
771
  const gt = {
772
772
  zero: 48,
@@ -786,7 +786,7 @@ function Do(e) {
786
786
  }
787
787
  function Pt(e, t = {}) {
788
788
  let n = e;
789
- t.size && (jt(n, { size: t.size }), n = zt(n, { dir: "right", size: t.size }));
789
+ t.size && (jt(n, { size: t.size }), n = qt(n, { dir: "right", size: t.size }));
790
790
  let o = n.slice(2);
791
791
  o.length % 2 && (o = `0${o}`);
792
792
  const s = o.length / 2, a = new Uint8Array(s);
@@ -804,7 +804,7 @@ function T1(e, t) {
804
804
  }
805
805
  function ps(e, t = {}) {
806
806
  const n = v1.encode(e);
807
- return typeof t.size == "number" ? (jt(n, { size: t.size }), zt(n, { dir: "right", size: t.size })) : n;
807
+ return typeof t.size == "number" ? (jt(n, { size: t.size }), qt(n, { dir: "right", size: t.size })) : n;
808
808
  }
809
809
  function jt(e, { size: t }) {
810
810
  if ($e(e) > t)
@@ -976,7 +976,7 @@ function P1(e) {
976
976
  }));
977
977
  }
978
978
  const Qt = 2n ** 256n - 1n;
979
- function Jt(e) {
979
+ function zt(e) {
980
980
  return typeof e[0] == "string" ? Ut(e) : D1(e);
981
981
  }
982
982
  function D1(e) {
@@ -1201,14 +1201,14 @@ function bs(e) {
1201
1201
  return t.map(([o, s]) => ` ${`${o}:`.padEnd(n + 1)} ${s}`).join(`
1202
1202
  `);
1203
1203
  }
1204
- class J1 extends pe {
1204
+ class z1 extends pe {
1205
1205
  constructor({ v: t }) {
1206
1206
  super(`Invalid \`v\` value "${t}". Expected 27 or 28.`, {
1207
1207
  name: "InvalidLegacyVError"
1208
1208
  });
1209
1209
  }
1210
1210
  }
1211
- class q1 extends pe {
1211
+ class J1 extends pe {
1212
1212
  constructor({ transaction: t }) {
1213
1213
  super("Cannot infer a transaction type from provided transaction.", {
1214
1214
  metaMessages: [
@@ -1229,7 +1229,7 @@ class q1 extends pe {
1229
1229
  });
1230
1230
  }
1231
1231
  }
1232
- class z1 extends pe {
1232
+ class q1 extends pe {
1233
1233
  constructor({ storageKey: t }) {
1234
1234
  super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length - 2) / 2)} bytes.`, { name: "InvalidStorageKeySizeError" });
1235
1235
  }
@@ -1511,7 +1511,7 @@ class ff extends of {
1511
1511
  }
1512
1512
  const pf = /* @__PURE__ */ Ts(() => new ff()), mf = pf;
1513
1513
  function hf(e, t) {
1514
- return mf(qt(e, { strict: !1 }) ? io(e) : e);
1514
+ return mf(Jt(e, { strict: !1 }) ? io(e) : e);
1515
1515
  }
1516
1516
  function gf(e) {
1517
1517
  const { commitment: t, version: n = 1 } = e, o = e.to ?? (typeof t == "string" ? "hex" : "bytes"), s = hf(t);
@@ -1649,7 +1649,7 @@ Object.defineProperty(Lt, "nodeMessage", {
1649
1649
  writable: !0,
1650
1650
  value: /max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/
1651
1651
  });
1652
- class zn extends pe {
1652
+ class qn extends pe {
1653
1653
  constructor({ cause: t, maxFeePerGas: n } = {}) {
1654
1654
  super(`The fee cap (\`maxFeePerGas\`${n ? ` = ${Rt(n)}` : ""} gwei) cannot be lower than the block base fee.`, {
1655
1655
  cause: t,
@@ -1657,7 +1657,7 @@ class zn extends pe {
1657
1657
  });
1658
1658
  }
1659
1659
  }
1660
- Object.defineProperty(zn, "nodeMessage", {
1660
+ Object.defineProperty(qn, "nodeMessage", {
1661
1661
  enumerable: !0,
1662
1662
  configurable: !0,
1663
1663
  writable: !0,
@@ -1916,7 +1916,7 @@ class po extends ks {
1916
1916
  }
1917
1917
  const Ff = (e, t, n) => Ts(() => new po(t, e, n)), Rf = Ff(1, 136, 256 / 8);
1918
1918
  function Ps(e, t) {
1919
- const n = t || "hex", o = Rf(qt(e, { strict: !1 }) ? io(e) : e);
1919
+ const n = t || "hex", o = Rf(Jt(e, { strict: !1 }) ? io(e) : e);
1920
1920
  return n === "bytes" ? o : Yt(o);
1921
1921
  }
1922
1922
  const Pn = /* @__PURE__ */ new Ns(8192);
@@ -1938,7 +1938,7 @@ function Ve(e, t) {
1938
1938
  return Dn.set(o, s), s;
1939
1939
  }
1940
1940
  function mo(e, t, n, { strict: o } = {}) {
1941
- return qt(e, { strict: !1 }) ? Lf(e, t, n, {
1941
+ return Jt(e, { strict: !1 }) ? Lf(e, t, n, {
1942
1942
  strict: o
1943
1943
  }) : Df(e, t, n, {
1944
1944
  strict: o
@@ -2044,7 +2044,7 @@ function Vf(e) {
2044
2044
  return "eip1559";
2045
2045
  if (typeof e.gasPrice < "u")
2046
2046
  return typeof e.accessList < "u" ? "eip2930" : "legacy";
2047
- throw new q1({ transaction: e });
2047
+ throw new J1({ transaction: e });
2048
2048
  }
2049
2049
  function Bn(e) {
2050
2050
  if (!e || e.length === 0)
@@ -2054,7 +2054,7 @@ function Bn(e) {
2054
2054
  const { address: o, storageKeys: s } = e[n];
2055
2055
  for (let a = 0; a < s.length; a++)
2056
2056
  if (s[a].length - 2 !== 64)
2057
- throw new z1({ storageKey: s[a] });
2057
+ throw new q1({ storageKey: s[a] });
2058
2058
  if (!Ve(o, { strict: !1 }))
2059
2059
  throw new pt({ address: o });
2060
2060
  t.push([o, s]);
@@ -2063,7 +2063,7 @@ function Bn(e) {
2063
2063
  }
2064
2064
  function Gf(e, t) {
2065
2065
  const n = Vf(e);
2066
- return n === "eip1559" ? qf(e, t) : n === "eip2930" ? zf(e, t) : n === "eip4844" ? Jf(e, t) : n === "eip7702" ? Yf(e, t) : jf(e, t);
2066
+ return n === "eip1559" ? Jf(e, t) : n === "eip2930" ? qf(e, t) : n === "eip4844" ? zf(e, t) : n === "eip7702" ? Yf(e, t) : jf(e, t);
2067
2067
  }
2068
2068
  function Yf(e, t) {
2069
2069
  const { authorizationList: n, chainId: o, gas: s, nonce: a, to: r, value: i, maxFeePerGas: l, maxPriorityFeePerGas: v, accessList: R, data: Y } = e;
@@ -2086,19 +2086,19 @@ function Yf(e, t) {
2086
2086
  ])
2087
2087
  ]);
2088
2088
  }
2089
- function Jf(e, t) {
2089
+ function zf(e, t) {
2090
2090
  const { chainId: n, gas: o, nonce: s, to: a, value: r, maxFeePerBlobGas: i, maxFeePerGas: l, maxPriorityFeePerGas: v, accessList: R, data: Y } = e;
2091
2091
  Mf(e);
2092
2092
  let g = e.blobVersionedHashes, A = e.sidecars;
2093
2093
  if (e.blobs && (typeof g > "u" || typeof A > "u")) {
2094
- const H = typeof e.blobs[0] == "string" ? e.blobs : e.blobs.map((he) => At(he)), q = e.kzg, me = ys({
2094
+ const H = typeof e.blobs[0] == "string" ? e.blobs : e.blobs.map((he) => At(he)), J = e.kzg, me = ys({
2095
2095
  blobs: H,
2096
- kzg: q
2096
+ kzg: J
2097
2097
  });
2098
2098
  if (typeof g > "u" && (g = wf({
2099
2099
  commitments: me
2100
2100
  })), typeof A > "u") {
2101
- const he = As({ blobs: H, commitments: me, kzg: q });
2101
+ const he = As({ blobs: H, commitments: me, kzg: J });
2102
2102
  A = kf({ blobs: H, commitments: me, proofs: he });
2103
2103
  }
2104
2104
  }
@@ -2118,8 +2118,8 @@ function Jf(e, t) {
2118
2118
  ], B = [], ke = [], N = [];
2119
2119
  if (A)
2120
2120
  for (let H = 0; H < A.length; H++) {
2121
- const { blob: q, commitment: me, proof: he } = A[H];
2122
- B.push(q), ke.push(me), N.push(he);
2121
+ const { blob: J, commitment: me, proof: he } = A[H];
2122
+ B.push(J), ke.push(me), N.push(he);
2123
2123
  }
2124
2124
  return Ut([
2125
2125
  "0x03",
@@ -2127,7 +2127,7 @@ function Jf(e, t) {
2127
2127
  Dt(A ? [T, B, ke, N] : T)
2128
2128
  ]);
2129
2129
  }
2130
- function qf(e, t) {
2130
+ function Jf(e, t) {
2131
2131
  const { chainId: n, gas: o, nonce: s, to: a, value: r, maxFeePerGas: i, maxPriorityFeePerGas: l, accessList: v, data: R } = e;
2132
2132
  ho(e);
2133
2133
  const Y = Bn(v), g = [
@@ -2147,7 +2147,7 @@ function qf(e, t) {
2147
2147
  Dt(g)
2148
2148
  ]);
2149
2149
  }
2150
- function zf(e, t) {
2150
+ function qf(e, t) {
2151
2151
  const { chainId: n, gas: o, data: s, nonce: a, to: r, value: i, accessList: l, gasPrice: v } = e;
2152
2152
  Hf(e);
2153
2153
  const R = Bn(l), Y = [
@@ -2185,7 +2185,7 @@ function jf(e, t) {
2185
2185
  return BigInt(n * 2) + BigInt(35n + t.v - 27n);
2186
2186
  const A = 27n + (t.v === 27n ? 0n : 1n);
2187
2187
  if (t.v !== A)
2188
- throw new J1({ v: t.v });
2188
+ throw new z1({ v: t.v });
2189
2189
  return A;
2190
2190
  })(), Y = En(t.r), g = En(t.s);
2191
2191
  v = [
@@ -2470,7 +2470,7 @@ class cp extends pe {
2470
2470
  `), { name: "AbiEncodingLengthMismatchError" });
2471
2471
  }
2472
2472
  }
2473
- class Jo extends pe {
2473
+ class zo extends pe {
2474
2474
  constructor(t, { docsPath: n } = {}) {
2475
2475
  super([
2476
2476
  `Function ${t ? `"${t}" ` : ""}not found on ABI.`,
@@ -2529,17 +2529,17 @@ function mp(e) {
2529
2529
  function hp(e, t) {
2530
2530
  return e.exec(t)?.groups;
2531
2531
  }
2532
- const qo = /^tuple(?<array>(\[(\d*)\])*)$/;
2532
+ const Jo = /^tuple(?<array>(\[(\d*)\])*)$/;
2533
2533
  function to(e) {
2534
2534
  let t = e.type;
2535
- if (qo.test(e.type) && "components" in e) {
2535
+ if (Jo.test(e.type) && "components" in e) {
2536
2536
  t = "(";
2537
2537
  const n = e.components.length;
2538
2538
  for (let s = 0; s < n; s++) {
2539
2539
  const a = e.components[s];
2540
2540
  t += to(a), s < n - 1 && (t += ", ");
2541
2541
  }
2542
- const o = hp(qo, e.type);
2542
+ const o = hp(Jo, e.type);
2543
2543
  return t += `)${o?.array || ""}`, to({
2544
2544
  ...e,
2545
2545
  type: t
@@ -2651,7 +2651,7 @@ function bo(e) {
2651
2651
  const { dynamic: r, encoded: i } = e[a];
2652
2652
  r ? (n.push(ue(t + s, { size: 32 })), o.push(i), s += $e(i)) : n.push(i);
2653
2653
  }
2654
- return Jt([...n, ...o]);
2654
+ return zt([...n, ...o]);
2655
2655
  }
2656
2656
  function kp(e) {
2657
2657
  if (!Ve(e))
@@ -2680,7 +2680,7 @@ function Tp(e, { length: t, param: n }) {
2680
2680
  const i = ue(a.length, { size: 32 });
2681
2681
  return {
2682
2682
  dynamic: !0,
2683
- encoded: a.length > 0 ? Jt([i, r]) : i
2683
+ encoded: a.length > 0 ? zt([i, r]) : i
2684
2684
  };
2685
2685
  }
2686
2686
  if (s)
@@ -2688,7 +2688,7 @@ function Tp(e, { length: t, param: n }) {
2688
2688
  }
2689
2689
  return {
2690
2690
  dynamic: !1,
2691
- encoded: Jt(a.map(({ encoded: r }) => r))
2691
+ encoded: zt(a.map(({ encoded: r }) => r))
2692
2692
  };
2693
2693
  }
2694
2694
  function Cp(e, { param: t }) {
@@ -2700,7 +2700,7 @@ function Cp(e, { param: t }) {
2700
2700
  size: Math.ceil((e.length - 2) / 2 / 32) * 32
2701
2701
  })), {
2702
2702
  dynamic: !0,
2703
- encoded: Jt([Et(ue(o, { size: 32 })), s])
2703
+ encoded: zt([Et(ue(o, { size: 32 })), s])
2704
2704
  };
2705
2705
  }
2706
2706
  if (o !== Number.parseInt(n, 10))
@@ -2743,7 +2743,7 @@ function Sp(e) {
2743
2743
  }));
2744
2744
  return {
2745
2745
  dynamic: !0,
2746
- encoded: Jt([
2746
+ encoded: zt([
2747
2747
  Et(ue($e(t), { size: 32 })),
2748
2748
  ...o
2749
2749
  ])
@@ -2761,7 +2761,7 @@ function Ip(e, { param: t }) {
2761
2761
  }
2762
2762
  return {
2763
2763
  dynamic: n,
2764
- encoded: n ? bo(o) : Jt(o.map(({ encoded: s }) => s))
2764
+ encoded: n ? bo(o) : zt(o.map(({ encoded: s }) => s))
2765
2765
  };
2766
2766
  }
2767
2767
  function Np(e) {
@@ -2773,7 +2773,7 @@ function Np(e) {
2773
2773
  }
2774
2774
  const Bp = Hs;
2775
2775
  function Fp(e) {
2776
- const { abi: t, args: n = [], name: o } = e, s = qt(o, { strict: !1 }), a = t.filter((i) => s ? i.type === "function" ? Ws(i) === o : i.type === "event" ? Bp(i) === o : !1 : "name" in i && i.name === o);
2776
+ const { abi: t, args: n = [], name: o } = e, s = Jt(o, { strict: !1 }), a = t.filter((i) => s ? i.type === "function" ? Ws(i) === o : i.type === "event" ? Bp(i) === o : !1 : "name" in i && i.name === o);
2777
2777
  if (a.length === 0)
2778
2778
  return;
2779
2779
  if (a.length === 1)
@@ -2838,7 +2838,7 @@ function Vs(e, t, n) {
2838
2838
  return r;
2839
2839
  }
2840
2840
  }
2841
- function zo(e) {
2841
+ function qo(e) {
2842
2842
  return e.reduce((t, { slot: n, value: o }) => `${t} ${n}: ${o}
2843
2843
  `, "");
2844
2844
  }
@@ -2850,8 +2850,8 @@ function Rp(e) {
2850
2850
  `), o.balance && (s += ` balance: ${o.balance}
2851
2851
  `), o.code && (s += ` code: ${o.code}
2852
2852
  `), o.state && (s += ` state:
2853
- `, s += zo(o.state)), o.stateDiff && (s += ` stateDiff:
2854
- `, s += zo(o.stateDiff)), s;
2853
+ `, s += qo(o.state)), o.stateDiff && (s += ` stateDiff:
2854
+ `, s += qo(o.stateDiff)), s;
2855
2855
  }, ` State Override:
2856
2856
  `).slice(0, -1);
2857
2857
  }
@@ -2898,7 +2898,7 @@ function Pp(e, t) {
2898
2898
  }) : Lt.nodeMessage.test(n) ? new Lt({
2899
2899
  cause: e,
2900
2900
  maxFeePerGas: t?.maxFeePerGas
2901
- }) : zn.nodeMessage.test(n) ? new zn({
2901
+ }) : qn.nodeMessage.test(n) ? new qn({
2902
2902
  cause: e,
2903
2903
  maxFeePerGas: t?.maxFeePerGas
2904
2904
  }) : jn.nodeMessage.test(n) ? new jn({ cause: e, nonce: t?.nonce }) : Qn.nodeMessage.test(n) ? new Qn({ cause: e, nonce: t?.nonce }) : Xn.nodeMessage.test(n) ? new Xn({ cause: e, nonce: t?.nonce }) : Kn.nodeMessage.test(n) ? new Kn({ cause: e }) : Zn.nodeMessage.test(n) ? new Zn({ cause: e, gas: t?.gas }) : _n.nodeMessage.test(n) ? new _n({ cause: e, gas: t?.gas }) : $n.nodeMessage.test(n) ? new $n({ cause: e }) : rn.nodeMessage.test(n) ? new rn({
@@ -2950,7 +2950,7 @@ async function Mp(e, t) {
2950
2950
  try {
2951
2951
  const { accessList: s, blockNumber: a, blockTag: r, data: i, gas: l, gasPrice: v, maxFeePerGas: R, maxPriorityFeePerGas: Y, nonce: g, to: A, value: y, ...T } = t, ke = (typeof a == "bigint" ? ue(a) : void 0) || r;
2952
2952
  Up(t);
2953
- const N = e.chain?.formatters?.transactionRequest?.format, q = (N || O1)({
2953
+ const N = e.chain?.formatters?.transactionRequest?.format, J = (N || O1)({
2954
2954
  // Pick out extra data that might exist on the chain's transaction request type.
2955
2955
  ...Lp(T, { format: N }),
2956
2956
  account: o,
@@ -2965,7 +2965,7 @@ async function Mp(e, t) {
2965
2965
  value: y
2966
2966
  }, "estimateGas"), { baseFeePerGas: me, gasLimit: he, priorityFeePerGas: Se } = await e.request({
2967
2967
  method: "linea_estimateGas",
2968
- params: ke ? [q, ke] : [q]
2968
+ params: ke ? [J, ke] : [J]
2969
2969
  });
2970
2970
  return {
2971
2971
  baseFeePerGas: BigInt(me),
@@ -3140,7 +3140,7 @@ const Wp = /* @__PURE__ */ yt({
3140
3140
  }
3141
3141
  }
3142
3142
  }), Qo = "/docs/contract/encodeFunctionData";
3143
- function Jp(e) {
3143
+ function zp(e) {
3144
3144
  const { abi: t, args: n, functionName: o } = e;
3145
3145
  let s = t[0];
3146
3146
  if (o) {
@@ -3150,24 +3150,24 @@ function Jp(e) {
3150
3150
  name: o
3151
3151
  });
3152
3152
  if (!a)
3153
- throw new Jo(o, { docsPath: Qo });
3153
+ throw new zo(o, { docsPath: Qo });
3154
3154
  s = a;
3155
3155
  }
3156
3156
  if (s.type !== "function")
3157
- throw new Jo(void 0, { docsPath: Qo });
3157
+ throw new zo(void 0, { docsPath: Qo });
3158
3158
  return {
3159
3159
  abi: [s],
3160
3160
  functionName: Ws(eo(s))
3161
3161
  };
3162
3162
  }
3163
3163
  function xt(e) {
3164
- const { args: t } = e, { abi: n, functionName: o } = e.abi.length === 1 && e.functionName?.startsWith("0x") ? e : Jp(e), s = n[0], a = o, r = "inputs" in s && s.inputs ? Ap(s.inputs, t ?? []) : void 0;
3164
+ const { args: t } = e, { abi: n, functionName: o } = e.abi.length === 1 && e.functionName?.startsWith("0x") ? e : zp(e), s = n[0], a = o, r = "inputs" in s && s.inputs ? Ap(s.inputs, t ?? []) : void 0;
3165
3165
  return Ut([a, r ?? "0x"]);
3166
3166
  }
3167
- const qp = "data:image/png;base64,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", zp = "data:image/png;base64,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", jp = "data:image/png;base64,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", Qp = "data:image/png;base64,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", Xp = "data:image/png;base64,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", Kp = "data:image/png;base64,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", Zp = "data:image/png;base64,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", _p = "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=", ft = {
3167
+ const Jp = "data:image/png;base64,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", qp = "data:image/png;base64,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", jp = "data:image/png;base64,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", Qp = "data:image/png;base64,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", Xp = "data:image/png;base64,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", Kp = "data:image/png;base64,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", Zp = "data:image/png;base64,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", _p = "data:image/png;base64,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", ft = {
3168
3168
  1: {
3169
3169
  ...Vp,
3170
- logo: qp,
3170
+ logo: Jp,
3171
3171
  chainId: 1,
3172
3172
  chainType: "ether",
3173
3173
  chainTypeMoralis: "eth",
@@ -3180,7 +3180,7 @@ const qp = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAYAAAAdHLWhAA
3180
3180
  },
3181
3181
  10: {
3182
3182
  ...Gp,
3183
- logo: zp,
3183
+ logo: qp,
3184
3184
  chainId: 10,
3185
3185
  chainType: "optimism",
3186
3186
  chainTypeMoralis: "optimism",
@@ -3372,7 +3372,7 @@ function bt(e, t) {
3372
3372
  o = o.padEnd(t, "0");
3373
3373
  return BigInt(`${s ? "-" : ""}${n}${o}`);
3374
3374
  }
3375
- const sm = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", Je = "0x0000000000000000000000000000000000000000", Ys = oo(
3375
+ const sm = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", ze = "0x0000000000000000000000000000000000000000", Ys = oo(
3376
3376
  void 0
3377
3377
  ), yo = () => {
3378
3378
  const e = so(Ys);
@@ -3490,12 +3490,12 @@ function um(e, t, n) {
3490
3490
  throw new Error("Random bytes length must be >= 16");
3491
3491
  return o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, im(o);
3492
3492
  }
3493
- function Js(e, t, n) {
3493
+ function zs(e, t, n) {
3494
3494
  return Xo.randomUUID && !e ? Xo.randomUUID() : um(e);
3495
3495
  }
3496
3496
  const fm = "chat_widget_messages", Ao = fm, bn = 200, Ht = [
3497
3497
  {
3498
- id: Js(),
3498
+ id: zs(),
3499
3499
  text: `**Welcome! 🚀**
3500
3500
  You're connected and ready to explore DeFi! I can help you trade, check prices, and analyze your portfolio when you need it.`,
3501
3501
  sender: "bot",
@@ -3551,7 +3551,7 @@ function mm() {
3551
3551
  }, []);
3552
3552
  const r = (g, A, y, T, B) => {
3553
3553
  const ke = y ? s.find((H) => H.id === y) : void 0, N = {
3554
- id: Js(),
3554
+ id: zs(),
3555
3555
  text: g,
3556
3556
  sender: A,
3557
3557
  timestamp: /* @__PURE__ */ new Date(),
@@ -3566,8 +3566,8 @@ function mm() {
3566
3566
  ...B && { actionData: B }
3567
3567
  };
3568
3568
  return a((H) => {
3569
- const q = [...H, N];
3570
- return q.length > bn ? q.slice(q.length - bn) : q;
3569
+ const J = [...H, N];
3570
+ return J.length > bn ? J.slice(J.length - bn) : J;
3571
3571
  }), N;
3572
3572
  }, i = (g, A) => {
3573
3573
  a(
@@ -3598,17 +3598,17 @@ function mm() {
3598
3598
  clearMessagesById: Y
3599
3599
  };
3600
3600
  }
3601
- const qs = oo(void 0), hm = () => {
3602
- const e = so(qs);
3601
+ const Js = oo(void 0), hm = () => {
3602
+ const e = so(Js);
3603
3603
  if (!e)
3604
3604
  throw new Error("useConfig must be used within ConfigProvider");
3605
3605
  return e;
3606
3606
  }, gm = ({
3607
3607
  children: e,
3608
3608
  initialConfig: t
3609
- }) => /* @__PURE__ */ W(qs.Provider, { value: { config: t || null }, children: e });
3609
+ }) => /* @__PURE__ */ W(Js.Provider, { value: { config: t || null }, children: e });
3610
3610
  var wm = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, Un = Math.ceil, at = Math.floor, Ze = "[BigNumber Error] ", _o = Ze + "Number primitive has more than 15 significant digits: ", it = 1e14, be = 14, Mn = 9007199254740991, Hn = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13], Tt = 1e7, We = 1e9;
3611
- function zs(e) {
3611
+ function qs(e) {
3612
3612
  var t, n, o, s = N.prototype = { constructor: N, toString: null, valueOf: null }, a = new N(1), r = 20, i = 4, l = -7, v = 21, R = -1e7, Y = 1e7, g = !1, A = 1, y = 0, T = {
3613
3613
  prefix: "",
3614
3614
  groupSize: 3,
@@ -3686,7 +3686,7 @@ function zs(e) {
3686
3686
  } else
3687
3687
  I.c = [I.e = 0];
3688
3688
  }
3689
- N.clone = zs, 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) {
3689
+ N.clone = qs, 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) {
3690
3690
  var d, p;
3691
3691
  if (c != null)
3692
3692
  if (typeof c == "object") {
@@ -3749,9 +3749,9 @@ function zs(e) {
3749
3749
  return !0;
3750
3750
  throw Error(Ze + "Invalid BigNumber: " + c);
3751
3751
  }, N.maximum = N.max = function() {
3752
- return q(arguments, -1);
3752
+ return J(arguments, -1);
3753
3753
  }, N.minimum = N.min = function() {
3754
- return q(arguments, 1);
3754
+ return J(arguments, 1);
3755
3755
  }, N.random = (function() {
3756
3756
  var c = 9007199254740992, d = Math.random() * c & 2097151 ? function() {
3757
3757
  return at(Math.random() * c);
@@ -3895,7 +3895,7 @@ function zs(e) {
3895
3895
  for (w + 1 == h && (b += "."); d--; b += "0") ;
3896
3896
  return c.s < 0 && u ? "-" + b : b;
3897
3897
  }
3898
- function q(c, d) {
3898
+ function J(c, d) {
3899
3899
  for (var p, E, u = 1, w = new N(c[0]); u < c.length; u++)
3900
3900
  E = new N(c[u]), (!E.s || (p = Ft(w, E)) === d || p === 0 && w.s === d) && (w = E);
3901
3901
  return w;
@@ -4224,7 +4224,7 @@ function wt(e, t, n) {
4224
4224
  } else t < o && (e = e.slice(0, t) + "." + e.slice(t));
4225
4225
  return e;
4226
4226
  }
4227
- var ie = zs();
4227
+ var ie = qs();
4228
4228
  class Xt {
4229
4229
  baseUrl;
4230
4230
  constructor(t) {
@@ -4327,7 +4327,7 @@ async function Ke(e) {
4327
4327
  (R) => new ie(R?.balance || 0).gt(0)
4328
4328
  ), v.result = v.result.map((R) => ({
4329
4329
  ...R,
4330
- token_address: R.token_address === sm ? Je : R.token_address
4330
+ token_address: R.token_address === sm ? ze : R.token_address
4331
4331
  }));
4332
4332
  try {
4333
4333
  if (v.result.length > 0) {
@@ -4382,7 +4382,7 @@ async function $o(e) {
4382
4382
  const o = Gs(n) ?? n, s = await js.get(
4383
4383
  `/keyrings/tokens/${o}/v2`,
4384
4384
  { query: { addresses: t } }
4385
- ), a = t === Je, i = (Array.isArray(s.data) ? s.data : []).find((y) => y.address?.toLowerCase() === t.toLowerCase() || a && y.address === "") ?? null;
4385
+ ), a = t === ze, i = (Array.isArray(s.data) ? s.data : []).find((y) => y.address?.toLowerCase() === t.toLowerCase() || a && y.address === "") ?? null;
4386
4386
  if (i)
4387
4387
  return {
4388
4388
  success: !0,
@@ -5085,14 +5085,14 @@ const Fm = ({
5085
5085
  if (["send_native", "send_token", "swap_token"].includes(
5086
5086
  e
5087
5087
  ) && a) {
5088
- const q = parseFloat(a.balanceFormatted || "0");
5089
- if (q <= 0)
5088
+ const J = parseFloat(a.balanceFormatted || "0");
5089
+ if (J <= 0)
5090
5090
  N.amount = l("formNoBalance", {
5091
5091
  symbol: a.symbol ?? ""
5092
5092
  });
5093
5093
  else {
5094
5094
  const me = t.amount?.trim();
5095
- me && Vn(me) && parseFloat(me) > q && (N.amount = l("formInsufficientBalance", {
5095
+ me && Vn(me) && parseFloat(me) > J && (N.amount = l("formInsufficientBalance", {
5096
5096
  balance: a.balanceFormatted,
5097
5097
  symbol: a.symbol ?? ""
5098
5098
  }));
@@ -5101,8 +5101,8 @@ const Fm = ({
5101
5101
  return N;
5102
5102
  }), T = Ie(
5103
5103
  (N, H) => {
5104
- Y((q) => ({ ...q, [N]: H })), A[N] && y((q) => {
5105
- const me = { ...q };
5104
+ Y((J) => ({ ...J, [N]: H })), A[N] && y((J) => {
5105
+ const me = { ...J };
5106
5106
  return delete me[N], me;
5107
5107
  });
5108
5108
  },
@@ -5111,22 +5111,22 @@ const Fm = ({
5111
5111
  if (!v) return !1;
5112
5112
  const N = {};
5113
5113
  if (v.fields.forEach((H) => {
5114
- const q = R[H.key]?.trim() || "";
5115
- if (H.required && !q && !(e === "send_nft" && H.key === "amount")) {
5114
+ const J = R[H.key]?.trim() || "";
5115
+ if (H.required && !J && !(e === "send_nft" && H.key === "amount")) {
5116
5116
  N[H.key] = l("formFieldRequired", {
5117
5117
  field: i(H.label)
5118
5118
  });
5119
5119
  return;
5120
5120
  }
5121
- if (q) {
5122
- if (H.validation === "address" && !Bm(q) && (N[H.key] = i("formInvalidAddress")), H.validation === "amount" && !Vn(q) && (N[H.key] = i("formMustBePositive")), H.key === "amount" && q && Vn(q) && a?.balanceFormatted) {
5123
- const me = parseFloat(q), he = parseFloat(a.balanceFormatted);
5121
+ if (J) {
5122
+ if (H.validation === "address" && !Bm(J) && (N[H.key] = i("formInvalidAddress")), H.validation === "amount" && !Vn(J) && (N[H.key] = i("formMustBePositive")), H.key === "amount" && J && Vn(J) && a?.balanceFormatted) {
5123
+ const me = parseFloat(J), he = parseFloat(a.balanceFormatted);
5124
5124
  me > he && (N[H.key] = l("formInsufficientBalance", {
5125
5125
  balance: a.balanceFormatted,
5126
5126
  symbol: a.symbol ?? ""
5127
5127
  }));
5128
5128
  }
5129
- H.validation === "positive_number" && (isNaN(Number(q)) || Number(q) < 0) && (N[H.key] = i("formMustBeValidNumber"));
5129
+ H.validation === "positive_number" && (isNaN(Number(J)) || Number(J) < 0) && (N[H.key] = i("formMustBeValidNumber"));
5130
5130
  }
5131
5131
  }), e === "send_nft" && R.token_standard?.toUpperCase() === "ERC1155") {
5132
5132
  const H = R.amount?.trim();
@@ -5137,9 +5137,9 @@ const Fm = ({
5137
5137
  else if (!/^\d+$/.test(H) || parseInt(H, 10) < 1)
5138
5138
  N.amount = i("formMustBePositiveInteger");
5139
5139
  else {
5140
- const q = parseInt(t.maxAmount || "0", 10);
5141
- q > 0 && parseInt(H, 10) > q && (N.amount = l("formAmountExceedsNft", {
5142
- max: String(q)
5140
+ const J = parseInt(t.maxAmount || "0", 10);
5141
+ J > 0 && parseInt(H, 10) > J && (N.amount = l("formAmountExceedsNft", {
5142
+ max: String(J)
5143
5143
  }));
5144
5144
  }
5145
5145
  }
@@ -5233,7 +5233,7 @@ const Fm = ({
5233
5233
  ] })
5234
5234
  ] }),
5235
5235
  (() => {
5236
- const H = N.editable === !1 && !!t[N.key], q = s || H, me = [
5236
+ const H = N.editable === !1 && !!t[N.key], J = s || H, me = [
5237
5237
  A[N.key] ? "error" : "",
5238
5238
  H ? "readonly" : ""
5239
5239
  ].filter(Boolean).join(" ");
@@ -5245,7 +5245,7 @@ const Fm = ({
5245
5245
  value: R[N.key] || "",
5246
5246
  onChange: (he) => T(N.key, he.target.value),
5247
5247
  className: me,
5248
- disabled: q
5248
+ disabled: J
5249
5249
  }
5250
5250
  ) : /* @__PURE__ */ W(
5251
5251
  "input",
@@ -5255,7 +5255,7 @@ const Fm = ({
5255
5255
  value: R[N.key] || "",
5256
5256
  onChange: (he) => T(N.key, he.target.value),
5257
5257
  className: me,
5258
- disabled: q
5258
+ disabled: J
5259
5259
  }
5260
5260
  );
5261
5261
  })(),
@@ -6046,7 +6046,7 @@ async function nn(e) {
6046
6046
  return console.warn("estimateTransactionFee failed:", l), new ie(0);
6047
6047
  }
6048
6048
  }
6049
- async function Jn(e) {
6049
+ async function zn(e) {
6050
6050
  const { chainId: t, rpcUrl: n } = e, o = fn(t, n);
6051
6051
  if (!o)
6052
6052
  return console.warn(`No RPC endpoint for chain ${t}`), new ie(0);
@@ -6066,11 +6066,11 @@ async function Jn(e) {
6066
6066
  return console.warn("getGasPrice failed:", s), new ie(0);
6067
6067
  }
6068
6068
  }
6069
- var se = {}, on = { exports: {} }, Jm = on.exports, es;
6070
- function qm() {
6069
+ var se = {}, on = { exports: {} }, zm = on.exports, es;
6070
+ function Jm() {
6071
6071
  return es || (es = 1, (function(e, t) {
6072
6072
  (function(n, o) {
6073
- var s = "1.0.41", a = "", r = "?", i = "function", l = "undefined", v = "object", R = "string", Y = "major", g = "model", A = "name", y = "type", T = "vendor", B = "version", ke = "architecture", N = "console", H = "mobile", q = "tablet", me = "smarttv", he = "wearable", Se = "embedded", c = 500, d = "Amazon", p = "Apple", E = "ASUS", u = "BlackBerry", w = "Browser", x = "Chrome", h = "Edge", b = "Firefox", S = "Google", I = "Honor", F = "Huawei", Q = "Lenovo", oe = "LG", le = "Microsoft", Ce = "Motorola", Te = "Nvidia", j = "OnePlus", ye = "Opera", Be = "OPPO", Ge = "Samsung", je = "Sharp", Qe = "Sony", He = "Xiaomi", et = "Zebra", Fe = "Facebook", Re = "Chromium OS", Ee = "Mac OS", St = " Browser", It = function(D, k) {
6073
+ var s = "1.0.41", a = "", r = "?", i = "function", l = "undefined", v = "object", R = "string", Y = "major", g = "model", A = "name", y = "type", T = "vendor", B = "version", ke = "architecture", N = "console", H = "mobile", J = "tablet", me = "smarttv", he = "wearable", Se = "embedded", c = 500, d = "Amazon", p = "Apple", E = "ASUS", u = "BlackBerry", w = "Browser", x = "Chrome", h = "Edge", b = "Firefox", S = "Google", I = "Honor", F = "Huawei", Q = "Lenovo", oe = "LG", le = "Microsoft", Ce = "Motorola", Te = "Nvidia", j = "OnePlus", ye = "Opera", Be = "OPPO", Ge = "Samsung", je = "Sharp", Qe = "Sony", He = "Xiaomi", et = "Zebra", Fe = "Facebook", Re = "Chromium OS", Ee = "Mac OS", St = " Browser", It = function(D, k) {
6074
6074
  var O = {};
6075
6075
  for (var ee in D)
6076
6076
  k[ee] && k[ee].length % 2 === 0 ? O[ee] = k[ee].concat(D[ee]) : O[ee] = D[ee];
@@ -6089,12 +6089,12 @@ function qm() {
6089
6089
  if (typeof D === R)
6090
6090
  return D = D.replace(/^\s\s*/, a), typeof k === l ? D : D.substring(0, c);
6091
6091
  }, G = function(D, k) {
6092
- for (var O = 0, ee, te, de, re, U, z; O < k.length && !U; ) {
6092
+ for (var O = 0, ee, te, de, re, U, q; O < k.length && !U; ) {
6093
6093
  var ne = k[O], M = k[O + 1];
6094
6094
  for (ee = te = 0; ee < ne.length && !U && ne[ee]; )
6095
6095
  if (U = ne[ee++].exec(D), U)
6096
6096
  for (de = 0; de < M.length; de++)
6097
- z = U[++te], re = M[de], typeof re === v && re.length > 0 ? re.length === 2 ? typeof re[1] == i ? this[re[0]] = re[1].call(this, z) : this[re[0]] = re[1] : re.length === 3 ? typeof re[1] === i && !(re[1].exec && re[1].test) ? this[re[0]] = z ? re[1].call(this, z, re[2]) : o : this[re[0]] = z ? z.replace(re[1], re[2]) : o : re.length === 4 && (this[re[0]] = z ? re[3].call(this, z.replace(re[1], re[2])) : o) : this[re] = z || o;
6097
+ q = U[++te], re = M[de], typeof re === v && re.length > 0 ? re.length === 2 ? typeof re[1] == i ? this[re[0]] = re[1].call(this, q) : this[re[0]] = re[1] : re.length === 3 ? typeof re[1] === i && !(re[1].exec && re[1].test) ? this[re[0]] = q ? re[1].call(this, q, re[2]) : o : this[re[0]] = q ? q.replace(re[1], re[2]) : o : re.length === 4 && (this[re[0]] = q ? re[3].call(this, q.replace(re[1], re[2])) : o) : this[re] = q || o;
6098
6098
  O += 2;
6099
6099
  }
6100
6100
  }, Z = function(D, k) {
@@ -6106,10 +6106,10 @@ function qm() {
6106
6106
  } else if (ht(k[O], D))
6107
6107
  return O === r ? o : O;
6108
6108
  return k.hasOwnProperty("*") ? k["*"] : D;
6109
- }, _ = { "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, ye + " Mini"]], [/\bop(?:rg)?x\/([\w\.]+)/i], [B, [A, ye + " GX"]], [/\bopr\/([\w\.]+)/i], [B, [A, ye]], [/\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, ye + " Touch"]], [/coc_coc\w+\/([\w\.]+)/i], [B, [A, "Coc Coc"]], [/dolfin\/([\w\.]+)/i], [B, [A, "Dolphin"]], [/coast\/([\w\.]+)/i], [B, [A, ye + " Coast"]], [/miuibrowser\/([\w\.]+)/i], [B, [A, "MIUI" + St]], [/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" + St], B], [/samsungbrowser\/([\w\.]+)/i], [B, [A, Ge + " 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, x + " Headless"]], [/ wv\).+(chrome)\/([\w\.]+)/i], [[A, x + " 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], [[ke, "amd64"]], [/(ia32(?=;))/i, /\b((i[346]|x)86)(pc)?\b/i], [[ke, "ia32"]], [/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i], [[ke, "arm64"]], [/\b(arm(v[67])?ht?n?[fl]p?)\b/i], [[ke, "armhf"]], [/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i], [[ke, "arm"]], [/((ppc|powerpc)(64)?)( mac|;|\))/i], [[ke, /ower/, a, lt]], [/ sun4\w[;\)]/i], [[ke, "sparc"]], [/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i], [[ke, 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, Ge], [y, q]], [/\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, Ge], [y, H]], [/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i], [g, [T, p], [y, H]], [/\((ipad);[-\w\),; ]+apple/i, /applecoremedia\/[\w\.]+ \((ipad)/i, /\b(ipad)\d\d?,\d\d?[;\]].+ios/i], [g, [T, p], [y, q]], [/(macintosh);/i], [g, [T, p]], [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i], [g, [T, je], [y, H]], [/\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, q]], [/honor([-\w ]+)[;\)]/i], [g, [T, I], [y, H]], [/\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, q]], [/(?:huawei)([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i], [g, [T, F], [y, H]], [/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i, /\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i], [[g, /_/g, " "], [T, He], [y, q]], [/\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, He], [y, H]], [/; (\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, Be], [y, H]], [/\b(opd2(\d{3}a?))(?: bui|\))/i], [g, [T, Z, { OnePlus: ["304", "403", "203"], "*": Be }], [y, q]], [/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i], [g, [T, "Vivo"], [y, H]], [/\b(rmx[1-3]\d{3})(?: bui|;|\))/i], [g, [T, "Realme"], [y, H]], [/\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, H]], [/\b(mz60\d|xoom[2 ]{0,2}) build\//i], [g, [T, Ce], [y, q]], [/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i], [g, [T, oe], [y, q]], [/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, /\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i, /\blg-?([\d\w]+) bui/i], [g, [T, oe], [y, H]], [/(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, q]], [/(nokia) (t[12][01])/i], [T, g, [y, q]], [/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i, /nokia[-_ ]?(([-\w\. ]*))/i], [[g, /_/g, " "], [y, H], [T, "Nokia"]], [/(pixel (c|tablet))\b/i], [g, [T, S], [y, q]], [/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i], [g, [T, S], [y, H]], [/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, Qe], [y, H]], [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i], [[g, "Xperia Tablet"], [T, Qe], [y, q]], [/ (kb2005|in20[12]5|be20[12][59])\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i], [g, [T, j], [y, H]], [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i, /(kf[a-z]+)( bui|\)).+silk\//i], [g, [T, d], [y, q]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i], [[g, /(.+)/g, "Fire Phone $1"], [T, d], [y, H]], [/(playbook);[-\w\),; ]+(rim)/i], [g, T, [y, q]], [/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i], [g, [T, u], [y, H]], [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i], [g, [T, E], [y, q]], [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i], [g, [T, E], [y, H]], [/(nexus 9)/i], [g, [T, "HTC"], [y, q]], [/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i], [T, [g, /_/g, " "], [y, H]], [/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, q]], [/(itel) ((\w+))/i], [[T, lt], g, [y, Z, { tablet: ["p10001l", "w7001"], "*": "mobile" }]], [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i], [g, [T, "Acer"], [y, q]], [/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i], [g, [T, "Meizu"], [y, H]], [/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i], [g, [T, "Ulefone"], [y, H]], [/; (energy ?\w+)(?: bui|\))/i, /; energizer ([\w ]+)(?: bui|\))/i], [g, [T, "Energizer"], [y, H]], [/; cat (b35);/i, /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i], [g, [T, "Cat"], [y, H]], [/((?:new )?andromax[\w- ]+)(?: bui|\))/i], [g, [T, "Smartfren"], [y, H]], [/droid.+; (a(?:015|06[35]|142p?))/i], [g, [T, "Nothing"], [y, H]], [/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i, /archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i], [g, [T, "Archos"], [y, q]], [/archos ([\w ]+)( b|\))/i, /; (ac[3-6]\d\w{2,8})( b|\))/i], [g, [T, "Archos"], [y, H]], [/(imo) (tab \w+)/i, /(infinix) (x1101b?)/i], [T, g, [y, q]], [/(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, H]], [/(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, q]], [/(surface duo)/i], [g, [T, le], [y, q]], [/droid [\d\.]+; (fp\du?)(?: b|\))/i], [g, [T, "Fairphone"], [y, H]], [/(u304aa)/i], [g, [T, "AT&T"], [y, H]], [/\bsie-(\w*)/i], [g, [T, "Siemens"], [y, H]], [/\b(rct\w+) b/i], [g, [T, "RCA"], [y, q]], [/\b(venue[\d ]{2,7}) b/i], [g, [T, "Dell"], [y, q]], [/\b(q(?:mv|ta)\w+) b/i], [g, [T, "Verizon"], [y, q]], [/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i], [g, [T, "Barnes & Noble"], [y, q]], [/\b(tm\d{3}\w+) b/i], [g, [T, "NuVision"], [y, q]], [/\b(k88) b/i], [g, [T, "ZTE"], [y, q]], [/\b(nx\d{3}j) b/i], [g, [T, "ZTE"], [y, H]], [/\b(gen\d{3}) b.+49h/i], [g, [T, "Swiss"], [y, H]], [/\b(zur\d{3}) b/i], [g, [T, "Swiss"], [y, q]], [/\b((zeki)?tb.*\b) b/i], [g, [T, "Zeki"], [y, q]], [/\b([yr]\d{2}) b/i, /\b(dragon[- ]+touch |dt)(\w{5}) b/i], [[T, "Dragon Touch"], g, [y, q]], [/\b(ns-?\w{0,9}) b/i], [g, [T, "Insignia"], [y, q]], [/\b((nxa|next)-?\w{0,9}) b/i], [g, [T, "NextBook"], [y, q]], [/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[T, "Voice"], g, [y, H]], [/\b(lvtel\-)?(v1[12]) b/i], [[T, "LvTel"], g, [y, H]], [/\b(ph-1) /i], [g, [T, "Essential"], [y, H]], [/\b(v(100md|700na|7011|917g).*\b) b/i], [g, [T, "Envizen"], [y, q]], [/\b(trio[-\w\. ]+) b/i], [g, [T, "MachSpeed"], [y, q]], [/\btu_(1491) b/i], [g, [T, "Rotor"], [y, q]], [/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i], [g, [T, Te], [y, q]], [/(sprint) (\w+)/i], [T, g, [y, H]], [/(kin\.[onetw]{3})/i], [[g, /\./g, " "], [T, le], [y, H]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], [g, [T, et], [y, q]], [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], [g, [T, et], [y, H]], [/smart-tv.+(samsung)/i], [T, [y, me]], [/hbbtv.+maple;(\d+)/i], [[g, /^/, "SmartTV"], [T, Ge], [y, me]], [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], [[T, oe], [y, me]], [/(apple) ?tv/i], [T, [g, p + " TV"], [y, me]], [/crkey/i], [[g, x + "cast"], [T, S], [y, me]], [/droid.+aft(\w+)( bui|\))/i], [g, [T, d], [y, me]], [/(shield \w+ tv)/i], [g, [T, Te], [y, me]], [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], [g, [T, je], [y, me]], [/(bravia[\w ]+)( bui|\))/i], [g, [T, Qe], [y, me]], [/(mi(tv|box)-?\w+) bui/i], [g, [T, He], [y, me]], [/Hbbtv.*(technisat) (.*);/i], [T, g, [y, me]], [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i], [[T, X], [g, X], [y, me]], [/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i], [g, [y, me]], [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], [[y, me]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [T, g, [y, N]], [/droid.+; (shield)( bui|\))/i], [g, [T, Te], [y, N]], [/(playstation \w+)/i], [g, [T, Qe], [y, N]], [/\b(xbox(?: one)?(?!; xbox))[\); ]/i], [g, [T, le], [y, N]], [/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i], [g, [T, Ge], [y, he]], [/((pebble))app/i, /(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i], [T, g, [y, he]], [/(ow(?:19|20)?we?[1-3]{1,3})/i], [g, [T, Be], [y, he]], [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i], [g, [T, p], [y, he]], [/(opwwe\d{3})/i], [g, [T, j], [y, he]], [/(moto 360)/i], [g, [T, Ce], [y, he]], [/(smartwatch 3)/i], [g, [T, Qe], [y, he]], [/(g watch r)/i], [g, [T, oe], [y, he]], [/droid.+; (wt63?0{2,3})\)/i], [g, [T, et], [y, he]], [/droid.+; (glass) \d/i], [g, [T, S], [y, he]], [/(pico) (4|neo3(?: link|pro)?)/i], [T, g, [y, he]], [/; (quest( \d| pro)?)/i], [g, [T, Fe], [y, he]], [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i], [T, [y, Se]], [/(aeobc)\b/i], [g, [T, d], [y, Se]], [/(homepod).+mac os/i], [g, [T, p], [y, Se]], [/windows iot/i], [[y, Se]], [/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i], [g, [y, H]], [/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i], [g, [y, q]], [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i], [[y, q]], [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i], [[y, H]], [/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, x + "cast"]], [/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i], [[A, Re], 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(D, k) {
6109
+ }, _ = { "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, ye + " Mini"]], [/\bop(?:rg)?x\/([\w\.]+)/i], [B, [A, ye + " GX"]], [/\bopr\/([\w\.]+)/i], [B, [A, ye]], [/\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, ye + " Touch"]], [/coc_coc\w+\/([\w\.]+)/i], [B, [A, "Coc Coc"]], [/dolfin\/([\w\.]+)/i], [B, [A, "Dolphin"]], [/coast\/([\w\.]+)/i], [B, [A, ye + " Coast"]], [/miuibrowser\/([\w\.]+)/i], [B, [A, "MIUI" + St]], [/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" + St], B], [/samsungbrowser\/([\w\.]+)/i], [B, [A, Ge + " 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, x + " Headless"]], [/ wv\).+(chrome)\/([\w\.]+)/i], [[A, x + " 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], [[ke, "amd64"]], [/(ia32(?=;))/i, /\b((i[346]|x)86)(pc)?\b/i], [[ke, "ia32"]], [/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i], [[ke, "arm64"]], [/\b(arm(v[67])?ht?n?[fl]p?)\b/i], [[ke, "armhf"]], [/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i], [[ke, "arm"]], [/((ppc|powerpc)(64)?)( mac|;|\))/i], [[ke, /ower/, a, lt]], [/ sun4\w[;\)]/i], [[ke, "sparc"]], [/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i], [[ke, 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, Ge], [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, Ge], [y, H]], [/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i], [g, [T, p], [y, H]], [/\((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, je], [y, H]], [/\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, H]], [/\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, H]], [/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i, /\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i], [[g, /_/g, " "], [T, He], [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, He], [y, H]], [/; (\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, Be], [y, H]], [/\b(opd2(\d{3}a?))(?: bui|\))/i], [g, [T, Z, { OnePlus: ["304", "403", "203"], "*": Be }], [y, J]], [/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i], [g, [T, "Vivo"], [y, H]], [/\b(rmx[1-3]\d{3})(?: bui|;|\))/i], [g, [T, "Realme"], [y, H]], [/\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, H]], [/\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, oe], [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, oe], [y, H]], [/(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, H], [T, "Nokia"]], [/(pixel (c|tablet))\b/i], [g, [T, S], [y, J]], [/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i], [g, [T, S], [y, H]], [/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, Qe], [y, H]], [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i], [[g, "Xperia Tablet"], [T, Qe], [y, J]], [/ (kb2005|in20[12]5|be20[12][59])\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i], [g, [T, j], [y, H]], [/(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, H]], [/(playbook);[-\w\),; ]+(rim)/i], [g, T, [y, J]], [/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i], [g, [T, u], [y, H]], [/(?:\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, H]], [/(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, H]], [/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, H]], [/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i], [g, [T, "Ulefone"], [y, H]], [/; (energy ?\w+)(?: bui|\))/i, /; energizer ([\w ]+)(?: bui|\))/i], [g, [T, "Energizer"], [y, H]], [/; cat (b35);/i, /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i], [g, [T, "Cat"], [y, H]], [/((?:new )?andromax[\w- ]+)(?: bui|\))/i], [g, [T, "Smartfren"], [y, H]], [/droid.+; (a(?:015|06[35]|142p?))/i], [g, [T, "Nothing"], [y, H]], [/; (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, H]], [/(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, H]], [/(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, le], [y, J]], [/droid [\d\.]+; (fp\du?)(?: b|\))/i], [g, [T, "Fairphone"], [y, H]], [/(u304aa)/i], [g, [T, "AT&T"], [y, H]], [/\bsie-(\w*)/i], [g, [T, "Siemens"], [y, H]], [/\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, H]], [/\b(gen\d{3}) b.+49h/i], [g, [T, "Swiss"], [y, H]], [/\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, H]], [/\b(lvtel\-)?(v1[12]) b/i], [[T, "LvTel"], g, [y, H]], [/\b(ph-1) /i], [g, [T, "Essential"], [y, H]], [/\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, H]], [/(kin\.[onetw]{3})/i], [[g, /\./g, " "], [T, le], [y, H]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], [g, [T, et], [y, J]], [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], [g, [T, et], [y, H]], [/smart-tv.+(samsung)/i], [T, [y, me]], [/hbbtv.+maple;(\d+)/i], [[g, /^/, "SmartTV"], [T, Ge], [y, me]], [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], [[T, oe], [y, me]], [/(apple) ?tv/i], [T, [g, p + " TV"], [y, me]], [/crkey/i], [[g, x + "cast"], [T, S], [y, me]], [/droid.+aft(\w+)( bui|\))/i], [g, [T, d], [y, me]], [/(shield \w+ tv)/i], [g, [T, Te], [y, me]], [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], [g, [T, je], [y, me]], [/(bravia[\w ]+)( bui|\))/i], [g, [T, Qe], [y, me]], [/(mi(tv|box)-?\w+) bui/i], [g, [T, He], [y, me]], [/Hbbtv.*(technisat) (.*);/i], [T, g, [y, me]], [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i], [[T, X], [g, X], [y, me]], [/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i], [g, [y, me]], [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], [[y, me]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [T, g, [y, N]], [/droid.+; (shield)( bui|\))/i], [g, [T, Te], [y, N]], [/(playstation \w+)/i], [g, [T, Qe], [y, N]], [/\b(xbox(?: one)?(?!; xbox))[\); ]/i], [g, [T, le], [y, N]], [/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i], [g, [T, Ge], [y, he]], [/((pebble))app/i, /(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i], [T, g, [y, he]], [/(ow(?:19|20)?we?[1-3]{1,3})/i], [g, [T, Be], [y, he]], [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i], [g, [T, p], [y, he]], [/(opwwe\d{3})/i], [g, [T, j], [y, he]], [/(moto 360)/i], [g, [T, Ce], [y, he]], [/(smartwatch 3)/i], [g, [T, Qe], [y, he]], [/(g watch r)/i], [g, [T, oe], [y, he]], [/droid.+; (wt63?0{2,3})\)/i], [g, [T, et], [y, he]], [/droid.+; (glass) \d/i], [g, [T, S], [y, he]], [/(pico) (4|neo3(?: link|pro)?)/i], [T, g, [y, he]], [/; (quest( \d| pro)?)/i], [g, [T, Fe], [y, he]], [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i], [T, [y, Se]], [/(aeobc)\b/i], [g, [T, d], [y, Se]], [/(homepod).+mac os/i], [g, [T, p], [y, Se]], [/windows iot/i], [[y, Se]], [/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i], [g, [y, H]], [/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, H]], [/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, x + "cast"]], [/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i], [[A, Re], 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(D, k) {
6110
6110
  if (typeof D === v && (k = D, D = o), !(this instanceof $))
6111
6111
  return new $(D, k).getResult();
6112
- var O = typeof n !== l && n.navigator ? n.navigator : o, ee = D || (O && O.userAgent ? O.userAgent : a), te = O && O.userAgentData ? O.userAgentData : o, de = k ? It(J, k) : J, re = O && O.userAgent == ee;
6112
+ var O = typeof n !== l && n.navigator ? n.navigator : o, ee = D || (O && O.userAgent ? O.userAgent : a), te = O && O.userAgentData ? O.userAgentData : o, de = k ? It(z, k) : z, re = O && O.userAgent == ee;
6113
6113
  return this.getBrowser = function() {
6114
6114
  var U = {};
6115
6115
  return U[A] = o, U[B] = o, G.call(U, ee, de.browser), U[Y] = L(U[B]), re && O && O.brave && typeof O.brave.isBrave == i && (U[A] = "Brave"), U;
@@ -6118,7 +6118,7 @@ function qm() {
6118
6118
  return U[ke] = o, G.call(U, ee, de.cpu), U;
6119
6119
  }, this.getDevice = function() {
6120
6120
  var U = {};
6121
- return U[T] = o, U[g] = o, U[y] = o, G.call(U, ee, de.device), re && !U[y] && te && te.mobile && (U[y] = H), re && U[g] == "Macintosh" && O && typeof O.standalone !== l && O.maxTouchPoints && O.maxTouchPoints > 2 && (U[g] = "iPad", U[y] = q), U;
6121
+ return U[T] = o, U[g] = o, U[y] = o, G.call(U, ee, de.device), re && !U[y] && te && te.mobile && (U[y] = H), re && U[g] == "Macintosh" && O && typeof O.standalone !== l && O.maxTouchPoints && O.maxTouchPoints > 2 && (U[g] = "iPad", U[y] = J), U;
6122
6122
  }, this.getEngine = function() {
6123
6123
  var U = {};
6124
6124
  return U[A] = o, U[B] = o, G.call(U, ee, de.engine), U;
@@ -6133,7 +6133,7 @@ function qm() {
6133
6133
  return ee = typeof U === R && U.length > c ? X(U, c) : U, this;
6134
6134
  }, this.setUA(ee), this;
6135
6135
  };
6136
- $.VERSION = s, $.BROWSER = mt([A, B, Y]), $.CPU = mt([ke]), $.DEVICE = mt([g, T, y, N, H, me, q, he, Se]), $.ENGINE = $.OS = mt([A, B]), e.exports && (t = e.exports = $), t.UAParser = $;
6136
+ $.VERSION = s, $.BROWSER = mt([A, B, Y]), $.CPU = mt([ke]), $.DEVICE = mt([g, T, y, N, H, me, J, he, Se]), $.ENGINE = $.OS = mt([A, B]), e.exports && (t = e.exports = $), t.UAParser = $;
6137
6137
  var fe = typeof n !== l && (n.jQuery || n.Zepto);
6138
6138
  if (fe && !fe.ua) {
6139
6139
  var ae = new $();
@@ -6146,17 +6146,17 @@ function qm() {
6146
6146
  fe.ua[O] = k[O];
6147
6147
  };
6148
6148
  }
6149
- })(typeof window == "object" ? window : Jm);
6149
+ })(typeof window == "object" ? window : zm);
6150
6150
  })(on, on.exports)), on.exports;
6151
6151
  }
6152
6152
  var ts;
6153
- function zm() {
6153
+ function qm() {
6154
6154
  if (ts) return se;
6155
6155
  ts = 1, Object.defineProperty(se, "__esModule", { value: !0 });
6156
6156
  function e(C) {
6157
6157
  return C && typeof C == "object" && "default" in C ? C.default : C;
6158
6158
  }
6159
- var t = za, n = e(t), o = qm(), s = new o(), a = s.getBrowser(), r = s.getCPU(), i = s.getDevice(), l = s.getEngine(), v = s.getOS(), R = s.getUA(), Y = function(f) {
6159
+ var t = qa, n = e(t), o = Jm(), s = new o(), a = s.getBrowser(), r = s.getCPU(), i = s.getDevice(), l = s.getEngine(), v = s.getOS(), R = s.getUA(), Y = function(f) {
6160
6160
  return s.setUA(f);
6161
6161
  }, g = function(f) {
6162
6162
  if (!f) {
@@ -6201,7 +6201,7 @@ function zm() {
6201
6201
  for (var f = 1; f < arguments.length; f++) {
6202
6202
  var m = arguments[f] != null ? arguments[f] : {};
6203
6203
  f % 2 ? y(Object(m), !0).forEach(function(P) {
6204
- q(C, P, m[P]);
6204
+ J(C, P, m[P]);
6205
6205
  }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(C, Object.getOwnPropertyDescriptors(m)) : y(Object(m)).forEach(function(P) {
6206
6206
  Object.defineProperty(C, P, Object.getOwnPropertyDescriptor(m, P));
6207
6207
  });
@@ -6229,7 +6229,7 @@ function zm() {
6229
6229
  function H(C, f, m) {
6230
6230
  return f && N(C.prototype, f), C;
6231
6231
  }
6232
- function q(C, f, m) {
6232
+ function J(C, f, m) {
6233
6233
  return f in C ? Object.defineProperty(C, f, {
6234
6234
  value: m,
6235
6235
  enumerable: !0,
@@ -6477,14 +6477,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6477
6477
  };
6478
6478
  };
6479
6479
  function Re(C) {
6480
- var f = C ? g(C) : A, m = f.device, P = f.browser, V = f.engine, Ae = f.os, Ue = f.ua, Xe = Ce(m.type), gn = Xe.isBrowser, Ja = Xe.isMobile, qa = Xe.isTablet, No = Xe.isSmartTV, Bo = Xe.isConsole, Fo = Xe.isWearable, Ro = Xe.isEmbedded;
6480
+ var f = C ? g(C) : A, m = f.device, P = f.browser, V = f.engine, Ae = f.os, Ue = f.ua, Xe = Ce(m.type), gn = Xe.isBrowser, za = Xe.isMobile, Ja = Xe.isTablet, No = Xe.isSmartTV, Bo = Xe.isConsole, Fo = Xe.isWearable, Ro = Xe.isEmbedded;
6481
6481
  if (gn)
6482
6482
  return Ge(gn, P, V, Ae, Ue);
6483
6483
  if (No)
6484
6484
  return Qe(No, V, Ae, Ue);
6485
6485
  if (Bo)
6486
6486
  return He(Bo, V, Ae, Ue);
6487
- if (Ja || qa)
6487
+ if (za || Ja)
6488
6488
  return je(Xe, m, Ae, Ue);
6489
6489
  if (Fo)
6490
6490
  return et(Fo, V, Ae, Ue);
@@ -6527,7 +6527,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6527
6527
  }, K = function(f) {
6528
6528
  var m = f.name;
6529
6529
  return m === oe.Android;
6530
- }, J = function(f) {
6530
+ }, z = function(f) {
6531
6531
  var m = f.name;
6532
6532
  return m === oe.Windows;
6533
6533
  }, $ = function(f) {
@@ -6563,7 +6563,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6563
6563
  }, U = function(f) {
6564
6564
  var m = f.name;
6565
6565
  return m === Q.Safari || m === Q.MobileSafari;
6566
- }, z = function(f) {
6566
+ }, q = function(f) {
6567
6567
  var m = f.name;
6568
6568
  return m === Q.MobileSafari;
6569
6569
  }, ne = function(f) {
@@ -6596,12 +6596,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6596
6596
  }, tt = function() {
6597
6597
  var f = ye(), m = f && f.userAgent && f.userAgent.toLowerCase();
6598
6598
  return typeof m == "string" ? /electron/.test(m) : !1;
6599
- }, qe = function(f) {
6599
+ }, Je = function(f) {
6600
6600
  return typeof f == "string" && f.indexOf("Edg/") !== -1;
6601
6601
  }, dt = function() {
6602
6602
  var f = ye();
6603
6603
  return f && (/iPad|iPhone|iPod/.test(f.platform) || f.platform === "MacIntel" && f.maxTouchPoints > 1) && !window.MSStream;
6604
- }, ze = function() {
6604
+ }, qe = function() {
6605
6605
  return Be("iPad");
6606
6606
  }, Nt = function() {
6607
6607
  return Be("iPhone");
@@ -6617,16 +6617,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6617
6617
  isConsole: L(m),
6618
6618
  isWearable: lt(m),
6619
6619
  isEmbedded: X(m),
6620
- isMobileSafari: z(P) || ze(),
6620
+ isMobileSafari: q(P) || qe(),
6621
6621
  isChromium: te(P),
6622
- isMobile: It(m) || ze(),
6622
+ isMobile: It(m) || qe(),
6623
6623
  isMobileOnly: Ee(m),
6624
- isTablet: St(m) || ze(),
6624
+ isTablet: St(m) || qe(),
6625
6625
  isBrowser: ht(m),
6626
6626
  isDesktop: ht(m),
6627
6627
  isAndroid: K(V),
6628
6628
  isWinPhone: fe(V),
6629
- isIOS: ae(V) || ze(),
6629
+ isIOS: ae(V) || qe(),
6630
6630
  isChrome: O(P),
6631
6631
  isFirefox: ee(P),
6632
6632
  isSafari: U(P),
@@ -6642,23 +6642,23 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6642
6642
  engineName: Ne(Ae),
6643
6643
  engineVersion: Pe(Ae),
6644
6644
  getUA: Zt(Ue),
6645
- isEdge: de(P) || qe(Ue),
6645
+ isEdge: de(P) || Je(Ue),
6646
6646
  isYandex: re(P),
6647
6647
  deviceType: _(m),
6648
6648
  isIOS13: dt(),
6649
- isIPad13: ze(),
6649
+ isIPad13: qe(),
6650
6650
  isIPhone13: Nt(),
6651
6651
  isIPod13: Kt(),
6652
6652
  isElectron: tt(),
6653
- isEdgeChromium: qe(Ue),
6654
- isLegacyEdge: de(P) && !qe(Ue),
6655
- isWindows: J(V),
6653
+ isEdgeChromium: Je(Ue),
6654
+ isLegacyEdge: de(P) && !Je(Ue),
6655
+ isWindows: z(V),
6656
6656
  isMacOs: $(V),
6657
6657
  isMIUI: we(P),
6658
6658
  isSamsungBrowser: ge(P)
6659
6659
  };
6660
6660
  }
6661
- var Le = mt(i), pn = L(i), mn = lt(i), Ks = X(i), Zs = z(a) || ze(), _s = te(a), hn = It(i) || ze(), vo = Ee(i), ko = St(i) || ze(), To = ht(i), $s = ht(i), Co = K(v), Eo = fe(v), xo = ae(v) || ze(), ea = O(a), ta = ee(a), na = U(a), oa = ne(a), So = M(a), sa = D(v), aa = k(v), ra = ce(a), ia = xe(a), ca = Oe(a), la = G(i), da = Z(i), ua = Ne(l), fa = Pe(l), pa = Zt(R), ma = de(a) || qe(R), ha = re(a), ga = _(i), wa = dt(), ba = ze(), ya = Nt(), Aa = Kt(), va = tt(), ka = qe(R), Ta = de(a) && !qe(R), Ca = J(v), Ea = $(v), xa = we(a), Sa = ge(a), Ia = function(f) {
6661
+ var Le = mt(i), pn = L(i), mn = lt(i), Ks = X(i), Zs = q(a) || qe(), _s = te(a), hn = It(i) || qe(), vo = Ee(i), ko = St(i) || qe(), To = ht(i), $s = ht(i), Co = K(v), Eo = fe(v), xo = ae(v) || qe(), ea = O(a), ta = ee(a), na = U(a), oa = ne(a), So = M(a), sa = D(v), aa = k(v), ra = ce(a), ia = xe(a), ca = Oe(a), la = G(i), da = Z(i), ua = Ne(l), fa = Pe(l), pa = Zt(R), ma = de(a) || Je(R), ha = re(a), ga = _(i), wa = dt(), ba = qe(), ya = Nt(), Aa = Kt(), va = tt(), ka = Je(R), Ta = de(a) && !Je(R), Ca = z(v), Ea = $(v), xa = we(a), Sa = ge(a), Ia = function(f) {
6662
6662
  if (!f || typeof f != "string") {
6663
6663
  console.error("No valid user agent string was provided");
6664
6664
  return;
@@ -6795,7 +6795,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
6795
6795
  }
6796
6796
  return se.AndroidView = Na, se.BrowserTypes = Q, se.BrowserView = Ba, se.ConsoleView = Ma, se.CustomView = Wa, se.IEView = Fa, se.IOSView = Ra, se.MobileOnlyView = La, se.MobileView = Oa, se.OsTypes = oe, se.SmartTVView = Ua, se.TabletView = Pa, se.WearableView = Ha, se.WinPhoneView = Da, se.browserName = ca, se.browserVersion = ia, se.deviceDetect = Re, se.deviceType = ga, se.engineName = ua, se.engineVersion = fa, se.fullBrowserVersion = ra, se.getSelectorsByUserAgent = Ia, se.getUA = pa, se.isAndroid = Co, se.isBrowser = To, se.isChrome = ea, se.isChromium = _s, se.isConsole = pn, se.isDesktop = $s, se.isEdge = ma, se.isEdgeChromium = ka, se.isElectron = va, se.isEmbedded = Ks, se.isFirefox = ta, se.isIE = So, se.isIOS = xo, se.isIOS13 = wa, se.isIPad13 = ba, se.isIPhone13 = ya, se.isIPod13 = Aa, se.isLegacyEdge = Ta, se.isMIUI = xa, se.isMacOs = Ea, se.isMobile = hn, se.isMobileOnly = vo, se.isMobileSafari = Zs, se.isOpera = oa, se.isSafari = na, se.isSamsungBrowser = Sa, se.isSmartTV = Le, se.isTablet = ko, se.isWearable = mn, se.isWinPhone = Eo, se.isWindows = Ca, se.isYandex = ha, se.mobileModel = da, se.mobileVendor = la, se.osName = aa, se.osVersion = sa, se.parseUserAgent = g, se.setUserAgent = Te, se.useDeviceData = Io, se.useDeviceSelectors = Ya, se.useMobileOrientation = Ga, se.withOrientationChange = Va, se;
6797
6797
  }
6798
- var Wt = zm();
6798
+ var Wt = qm();
6799
6799
  const jm = void 0, ns = [
6800
6800
  "AIzaSyCcjTkMquc7DNzqQYOXEFj7qoEypnCdUOs",
6801
6801
  "AIzaSyDWJj9ufkN-39vkT6_qvnAu9s_3BECbdcM",
@@ -6806,7 +6806,17 @@ const jm = void 0, ns = [
6806
6806
  "AIzaSyC0EVYjl81EVo_RwKpDE6jhTbTK-cO1n4U",
6807
6807
  "AIzaSyAmHgpfmkBJVM9dUUXQ81ZCJvTjbdbFP54",
6808
6808
  "AIzaSyDD2tujUZ7FpgJ4-gn8BNzYkVSrrAc4nC8",
6809
- "AIzaSyAQkB8-XZj7IpnWnVWJRrFUontxaWcYts4"
6809
+ "AIzaSyAQkB8-XZj7IpnWnVWJRrFUontxaWcYts4",
6810
+ "AIzaSyCuMsh9tdgwnXkA0VCfGEhOJ9m-PpMTLOI",
6811
+ "AIzaSyAEyg3fu64RsyvCoJQPr1ljRxp2tH61mGE",
6812
+ "AIzaSyB1lMSRtZGSMUHBblpz8KtNKrmWmmFIWbk",
6813
+ "AIzaSyDuEnXlwTsmVVUF2oqcUED-X1SeVWEK0tI",
6814
+ "AIzaSyA1urvuv3-QJBno3WdUTMgb_YC3S1Bfd8o",
6815
+ "AIzaSyAHrEi0Lj8QskYDf_jJq6Ntgt0tEMT5dCM",
6816
+ "AIzaSyDOJISQFLeWkJnu0uqjl82j_EkIbGzuwO0",
6817
+ "AIzaSyAopV-1f7330jy9qpMzdIm0rrXEzxhFSHk",
6818
+ "AIzaSyAnz8McdnnPR914ecmW1th-FjBD2Ru_W6Y",
6819
+ "AIzaSyCxuS7oGGrzIWUZ-VizZdEIWFQRa3RR1XU"
6810
6820
  ], os = {
6811
6821
  model: "gemini-2.5-flash",
6812
6822
  "model2.0": "gemini-2.5-flash",
@@ -6918,7 +6928,7 @@ Do not provide any explanation or additional text.`, s = this.getUrl("generateCo
6918
6928
  }
6919
6929
  }
6920
6930
  const ss = new Qm();
6921
- function qn(e, t) {
6931
+ function Jn(e, t) {
6922
6932
  if (!e) return e;
6923
6933
  const n = e.toLowerCase().trim();
6924
6934
  if (n === "max" || n === "all")
@@ -6944,7 +6954,7 @@ const Xm = ({
6944
6954
  updateMessageText: R,
6945
6955
  getMessageById: Y,
6946
6956
  clearMessagesById: g
6947
- } = mm(), [A, y] = _e(""), [T, B] = _e(!1), [ke, N] = _e(!0), [H, q] = _e(null), me = Bt(null), he = Bt(null), Se = Bt(null), c = Bt(null), d = Bt(null), p = Bt(!1), E = Bt(ke);
6957
+ } = mm(), [A, y] = _e(""), [T, B] = _e(!1), [ke, N] = _e(!0), [H, J] = _e(null), me = Bt(null), he = Bt(null), Se = Bt(null), c = Bt(null), d = Bt(null), p = Bt(!1), E = Bt(ke);
6948
6958
  ct(() => {
6949
6959
  E.current = ke;
6950
6960
  }, [ke]);
@@ -6988,7 +6998,7 @@ const Xm = ({
6988
6998
  },
6989
6999
  [Q, oe]
6990
7000
  ), Ce = Ie((L) => {
6991
- q(L), Wt.isDesktop && Se.current?.focus();
7001
+ J(L), Wt.isDesktop && Se.current?.focus();
6992
7002
  }, []), Te = Ie(
6993
7003
  async (L, X) => {
6994
7004
  le({
@@ -7060,9 +7070,9 @@ const Xm = ({
7060
7070
  srcTokenDecimals: Z || 18
7061
7071
  });
7062
7072
  let K = G || "0";
7063
- if (L === Je)
7073
+ if (L === ze)
7064
7074
  try {
7065
- const $ = await Jn({
7075
+ const $ = await zn({
7066
7076
  chainId: b,
7067
7077
  rpcUrl: F
7068
7078
  });
@@ -7080,7 +7090,7 @@ const Xm = ({
7080
7090
  $
7081
7091
  );
7082
7092
  }
7083
- const J = _.map(
7093
+ const z = _.map(
7084
7094
  ($) => ({
7085
7095
  id: `percent-${$}`,
7086
7096
  text: `${$}%`,
@@ -7109,7 +7119,7 @@ const Xm = ({
7109
7119
  }),
7110
7120
  "bot",
7111
7121
  void 0,
7112
- J
7122
+ z
7113
7123
  );
7114
7124
  },
7115
7125
  [l, b, F, le, r]
@@ -7119,13 +7129,13 @@ const Xm = ({
7119
7129
  amount: (parseFloat(X) * (L / 100)).toFixed(6)
7120
7130
  };
7121
7131
  G !== void 0 && (_.srcTokenAddress = G), Z !== void 0 && (_.srcTokenDecimals = Z), le(_);
7122
- const K = Q(), J = bt(
7132
+ const K = Q(), z = bt(
7123
7133
  K.amount,
7124
7134
  K.srcTokenDecimals || 18
7125
7135
  ).toString(), $ = await Wn({
7126
7136
  chainId: b,
7127
7137
  tokenIn: K.srcTokenAddress,
7128
- tokenInAmount: J,
7138
+ tokenInAmount: z,
7129
7139
  tokenOut: K.descTokenAddress,
7130
7140
  tokenOutRecipient: u?.address || "",
7131
7141
  slippage: "auto",
@@ -7136,7 +7146,7 @@ const Xm = ({
7136
7146
  Me(BigInt(ae.amount || 0), ae.decimals)
7137
7147
  ).decimalPlaces(6).toFormat(), O = ie(
7138
7148
  Me(BigInt(D.amount || 0), D.decimals)
7139
- ).decimalPlaces(6).toFormat(), ee = K.srcTokenAddress === Je || K.srcTokenAddress === "";
7149
+ ).decimalPlaces(6).toFormat(), ee = K.srcTokenAddress === ze || K.srcTokenAddress === "";
7140
7150
  let te = !1;
7141
7151
  if (!ee && u?.address && fe.tx?.to)
7142
7152
  try {
@@ -7148,7 +7158,7 @@ const Xm = ({
7148
7158
  rpcUrl: F
7149
7159
  });
7150
7160
  te = ie(ge.toString()).isLessThan(
7151
- J
7161
+ z
7152
7162
  );
7153
7163
  } catch (ge) {
7154
7164
  console.warn("Allowance check failed:", ge), te = !0;
@@ -7173,7 +7183,7 @@ const Xm = ({
7173
7183
  } catch (ge) {
7174
7184
  console.warn("Approve fee estimation failed:", ge);
7175
7185
  }
7176
- const U = de.plus(re), z = w?.nativeCurrency?.symbol || "native";
7186
+ const U = de.plus(re), q = w?.nativeCurrency?.symbol || "native";
7177
7187
  let ne = "", M = !1;
7178
7188
  if (u?.address && U.isGreaterThan(0))
7179
7189
  try {
@@ -7190,7 +7200,7 @@ const Xm = ({
7190
7200
  Me(BigInt(U.toFixed(0)), 18)
7191
7201
  ).decimalPlaces(6).toFormat();
7192
7202
  ne = r("swapFeeWarning", {
7193
- symbol: z,
7203
+ symbol: q,
7194
7204
  balance: ce,
7195
7205
  needed: xe
7196
7206
  });
@@ -7303,18 +7313,18 @@ To: ${O} ${D.symbol}
7303
7313
  }, K = l(a("txProcessing"), "bot");
7304
7314
  try {
7305
7315
  B(!1);
7306
- const J = await n(_);
7307
- if (J.status === "success" && J.transactionHash) {
7316
+ const z = await n(_);
7317
+ if (z.status === "success" && z.transactionHash) {
7308
7318
  const $ = w?.blockExplorers?.default?.url, fe = $ ? `
7309
- [View on Explorer](${$}/tx/${J.transactionHash})` : `
7310
- Tx: ${J.transactionHash}`;
7319
+ [View on Explorer](${$}/tx/${z.transactionHash})` : `
7320
+ Tx: ${z.transactionHash}`;
7311
7321
  R(
7312
7322
  K.id,
7313
7323
  a("txSubmitted") + fe
7314
7324
  );
7315
7325
  try {
7316
7326
  await nt(2e3), (await Gn({
7317
- transactionHash: J.transactionHash,
7327
+ transactionHash: z.transactionHash,
7318
7328
  chainId: b || 1,
7319
7329
  rpcUrl: F
7320
7330
  })).status === "success" ? R(
@@ -7330,24 +7340,24 @@ Tx: ${J.transactionHash}`;
7330
7340
  a("txTimeout") + fe
7331
7341
  );
7332
7342
  }
7333
- } else if (J.status === "success")
7343
+ } else if (z.status === "success")
7334
7344
  R(K.id, a("txSuccessfulSwap"));
7335
7345
  else {
7336
- const $ = J.error ? `
7337
- Error: ${J.error}` : "";
7346
+ const $ = z.error ? `
7347
+ Error: ${z.error}` : "";
7338
7348
  R(
7339
7349
  K.id,
7340
7350
  a("txFailed") + $
7341
7351
  );
7342
7352
  }
7343
- } catch (J) {
7344
- console.error("Transaction error:", J), R(K.id, a("txFailed"));
7353
+ } catch (z) {
7354
+ console.error("Transaction error:", z), R(K.id, a("txFailed"));
7345
7355
  }
7346
7356
  } else
7347
7357
  l(a("txDataNotAvailable"), "bot");
7348
7358
  break;
7349
7359
  case "approve_for_swap": {
7350
- const Z = G?.tokenAddress || "", _ = G?.spenderAddress || "", K = G?.tokenSymbol || "token", J = G?.tx;
7360
+ const Z = G?.tokenAddress || "", _ = G?.spenderAddress || "", K = G?.tokenSymbol || "token", z = G?.tx;
7351
7361
  if (!Z || !_ || !n) {
7352
7362
  l(a("approvalDataNotAvailable"), "bot");
7353
7363
  break;
@@ -7392,7 +7402,7 @@ Error: ${J.error}` : "";
7392
7402
  value: a("swapConfirmValue"),
7393
7403
  action: "confirm_swap",
7394
7404
  fullWidth: !0,
7395
- extraData: { tx: J }
7405
+ extraData: { tx: z }
7396
7406
  }
7397
7407
  ];
7398
7408
  l(
@@ -7417,7 +7427,7 @@ Error: ${ae.error}` : "";
7417
7427
  descTokenAddress: Z,
7418
7428
  descTokenDecimals: K
7419
7429
  });
7420
- const J = Q(), $ = J.srcTokenAddress || "", fe = $ === Je;
7430
+ const z = Q(), $ = z.srcTokenAddress || "", fe = $ === ze;
7421
7431
  try {
7422
7432
  const ae = await Ke({
7423
7433
  address: u?.address || "",
@@ -7438,7 +7448,7 @@ Error: ${ae.error}` : "";
7438
7448
  ee && (k = ee.symbol, O = ee.balance_formatted);
7439
7449
  }
7440
7450
  if (k && parseFloat(O) > 0) {
7441
- const ee = [25, 50, 75, 100], te = J.srcTokenDecimals || 18, de = ee.map((re) => ({
7451
+ const ee = [25, 50, 75, 100], te = z.srcTokenDecimals || 18, de = ee.map((re) => ({
7442
7452
  id: `percent-${re}`,
7443
7453
  text: `${re}%`,
7444
7454
  value: r("buttonUsePercent", {
@@ -7474,11 +7484,11 @@ Error: ${ae.error}` : "";
7474
7484
  break;
7475
7485
  }
7476
7486
  case "select_nft_to_send": {
7477
- const Z = G?.name || "NFT", _ = G?.contractAddress || "", K = G?.tokenId || "", J = G?.tokenStandard || "ERC721", $ = G?.amount || "1", fe = G?.image || "", ae = {
7487
+ const Z = G?.name || "NFT", _ = G?.contractAddress || "", K = G?.tokenId || "", z = G?.tokenStandard || "ERC721", $ = G?.amount || "1", fe = G?.image || "", ae = {
7478
7488
  contract_address: _,
7479
7489
  token_id: K,
7480
7490
  to_address: "",
7481
- token_standard: J,
7491
+ token_standard: z,
7482
7492
  amount: "1",
7483
7493
  maxAmount: $,
7484
7494
  nft_name: Z
@@ -7486,7 +7496,7 @@ Error: ${ae.error}` : "";
7486
7496
  l(
7487
7497
  r("nftSendReview", {
7488
7498
  name: Z,
7489
- standard: J,
7499
+ standard: z,
7490
7500
  tokenId: K
7491
7501
  }),
7492
7502
  "bot",
@@ -7501,7 +7511,7 @@ Error: ${ae.error}` : "";
7501
7511
  image: fe || void 0,
7502
7512
  tokenId: K,
7503
7513
  contractAddress: _,
7504
- tokenStandard: J
7514
+ tokenStandard: z
7505
7515
  }
7506
7516
  }
7507
7517
  );
@@ -7547,22 +7557,22 @@ Error: ${ae.error}` : "";
7547
7557
  ]);
7548
7558
  let Z = [];
7549
7559
  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(
7550
- (J, $, fe) => $ === fe.findIndex(
7551
- (ae) => ae.address.toLowerCase() === J.address.toLowerCase()
7560
+ (z, $, fe) => $ === fe.findIndex(
7561
+ (ae) => ae.address.toLowerCase() === z.address.toLowerCase()
7552
7562
  )
7553
7563
  );
7554
- const _ = Z.map((J) => ({
7555
- id: J?.symbol,
7556
- text: J?.symbol,
7564
+ const _ = Z.map((z) => ({
7565
+ id: z?.symbol,
7566
+ text: z?.symbol,
7557
7567
  value: r("buttonBuyToken", {
7558
- name: J.name,
7559
- symbol: J?.symbol || ""
7568
+ name: z.name,
7569
+ symbol: z?.symbol || ""
7560
7570
  }),
7561
7571
  action: "click_buy_item_token_button",
7562
7572
  extraData: {
7563
- tokenAddress: J?.address || "",
7564
- symbol: J?.symbol || "",
7565
- decimals: J?.decimals || 18
7573
+ tokenAddress: z?.address || "",
7574
+ symbol: z?.symbol || "",
7575
+ decimals: z?.decimals || 18
7566
7576
  }
7567
7577
  }));
7568
7578
  await nt(1e3), B(!1), l(
@@ -7570,10 +7580,10 @@ Error: ${ae.error}` : "";
7570
7580
  "bot"
7571
7581
  );
7572
7582
  const K = Z.map(
7573
- (J, $) => `${$ + 1}. ${J.name} (${J?.auditGoplus?.token_symbol || J.symbol || "Unknown"})
7583
+ (z, $) => `${$ + 1}. ${z.name} (${z?.auditGoplus?.token_symbol || z.symbol || "Unknown"})
7574
7584
  $${ie(
7575
- J?.price || 0
7576
- ).decimalPlaces(4).toFormat()} (${J.price_change_percentage_24h || J.priceChange}%)
7585
+ z?.price || 0
7586
+ ).decimalPlaces(4).toFormat()} (${z.price_change_percentage_24h || z.priceChange}%)
7577
7587
 
7578
7588
  ---
7579
7589
  `
@@ -7608,7 +7618,7 @@ $${ie(
7608
7618
  });
7609
7619
  if (L?.success && L?.data?.result && L.data.result.length > 0) {
7610
7620
  const X = L.data.result, G = X.map((_) => {
7611
- const K = _.normalized_metadata?.name || _.name || `#${_.token_id}`, J = _.normalized_metadata?.image || _.media?.original_media_url || "";
7621
+ const K = _.normalized_metadata?.name || _.name || `#${_.token_id}`, z = _.normalized_metadata?.image || _.media?.original_media_url || "";
7612
7622
  return {
7613
7623
  id: `${_.token_address}-${_.token_id}`,
7614
7624
  text: `${K} (${_.symbol || _.contract_type}) - ${_.token_id}`,
@@ -7622,13 +7632,13 @@ $${ie(
7622
7632
  name: K,
7623
7633
  symbol: _.symbol,
7624
7634
  amount: _.amount,
7625
- image: J
7635
+ image: z
7626
7636
  }
7627
7637
  };
7628
7638
  }), Z = X.map((_, K) => {
7629
- const J = _.normalized_metadata?.name || _.name || `#${_.token_id}`, $ = _.contract_type === "ERC1155" ? ` (x${_.amount})` : "", fe = _.normalized_metadata?.image || _.media?.original_media_url || "", ae = fe ? `![${J}](${fe})
7639
+ const z = _.normalized_metadata?.name || _.name || `#${_.token_id}`, $ = _.contract_type === "ERC1155" ? ` (x${_.amount})` : "", fe = _.normalized_metadata?.image || _.media?.original_media_url || "", ae = fe ? `![${z}](${fe})
7630
7640
  ` : "🖼️ ";
7631
- return `${K + 1}. ${ae}**${J}**${$}
7641
+ return `${K + 1}. ${ae}**${z}**${$}
7632
7642
  ${_.symbol || _.contract_type} | Token ID: ${_.token_id}`;
7633
7643
  }).join(`
7634
7644
 
@@ -7680,9 +7690,9 @@ $${ie(
7680
7690
  }
7681
7691
  ]
7682
7692
  ), Z = X.map((_, K) => {
7683
- const J = _.usd_value !== void 0 ? ` ≈ $${ie(_.usd_value).decimalPlaces(2).toFormat()}` : "";
7693
+ const z = _.usd_value !== void 0 ? ` ≈ $${ie(_.usd_value).decimalPlaces(2).toFormat()}` : "";
7684
7694
  return `${K + 1}. **${_.name}** (${_.symbol})
7685
- Balance: ${_.balance_formatted}${J}`;
7695
+ Balance: ${_.balance_formatted}${z}`;
7686
7696
  }).join(`
7687
7697
 
7688
7698
  `);
@@ -7744,7 +7754,7 @@ $${ie(
7744
7754
  "user",
7745
7755
  H?.id
7746
7756
  );
7747
- y(""), q(null), B(!0), N(!1), B(!0);
7757
+ y(""), J(null), B(!0), N(!1), B(!0);
7748
7758
  try {
7749
7759
  let G, Z;
7750
7760
  const _ = i.slice(-20);
@@ -7767,17 +7777,17 @@ $${ie(
7767
7777
  ---
7768
7778
  `;
7769
7779
  }
7770
- let J = A?.trim();
7771
- L && (J = `[Replying to ${L.sender === "user" ? "my previous" : "your"} message: "${L.text}"]
7780
+ let z = A?.trim();
7781
+ L && (z = `[Replying to ${L.sender === "user" ? "my previous" : "your"} message: "${L.text}"]
7772
7782
 
7773
- ${J}`);
7783
+ ${z}`);
7774
7784
  try {
7775
7785
  if ((await ss.checkTypeQuestion(
7776
- J,
7786
+ z,
7777
7787
  K
7778
7788
  ))?.startsWith("no")) {
7779
7789
  const D = await ss.generateContent(
7780
- J,
7790
+ z,
7781
7791
  K
7782
7792
  );
7783
7793
  let k = null;
@@ -7833,7 +7843,7 @@ ${J}`);
7833
7843
  walletTokens: G,
7834
7844
  walletNfts: Z
7835
7845
  }), fe = await Am({
7836
- prompt: J,
7846
+ prompt: z,
7837
7847
  model: "gpt-4.1-mini",
7838
7848
  stream: !1,
7839
7849
  systemPrompt: $ + K
@@ -7851,7 +7861,7 @@ ${J}`);
7851
7861
  if (D.action === "buy_token") {
7852
7862
  const k = D.parameters?.token_symbol || "";
7853
7863
  let O = D.parameters?.contract_address || "", ee = 18;
7854
- if (O.toLowerCase() === "native" && (O = Je), O && O !== Je)
7864
+ if (O.toLowerCase() === "native" && (O = ze), O && O !== ze)
7855
7865
  try {
7856
7866
  const te = await st.getTokensDetails(
7857
7867
  [O],
@@ -7882,11 +7892,11 @@ ${J}`);
7882
7892
  de,
7883
7893
  x
7884
7894
  )
7885
- ]), z = [];
7886
- re.status === "fulfilled" && re.value?.data && z.push(...re.value.data), U.status === "fulfilled" && U.value?.data && z.push(...U.value.data);
7887
- const ne = z.find(
7895
+ ]), q = [];
7896
+ re.status === "fulfilled" && re.value?.data && q.push(...re.value.data), U.status === "fulfilled" && U.value?.data && q.push(...U.value.data);
7897
+ const ne = q.find(
7888
7898
  (M) => M.address?.toLowerCase() === O.toLowerCase()
7889
- ) || z.find(
7899
+ ) || q.find(
7890
7900
  (M) => M.symbol?.toUpperCase() === k.toUpperCase()
7891
7901
  );
7892
7902
  ne && (O = ne.address, ee = ne.decimals || 18);
@@ -7905,16 +7915,16 @@ ${J}`);
7905
7915
  ), await Ge());
7906
7916
  } else if (D.action === "swap_token") {
7907
7917
  const k = { ...D.parameters || {} }, O = k.token_in === "native" || k.token_in_symbol?.toUpperCase() === w?.nativeCurrency?.symbol?.toUpperCase(), ee = k.token_out === "native" || k.token_out_symbol?.toUpperCase() === w?.nativeCurrency?.symbol?.toUpperCase();
7908
- if (ee && (k.token_out = Je), !O && (k.token_in || k.token_in_symbol) && u?.address)
7918
+ if (ee && (k.token_out = ze), !O && (k.token_in || k.token_in_symbol) && u?.address)
7909
7919
  try {
7910
7920
  const U = await Ke({
7911
7921
  address: u.address,
7912
7922
  chain: h
7913
7923
  });
7914
7924
  if (U?.success && U?.data?.result) {
7915
- const z = U.data.result, ne = k.token_in ? z.find(
7925
+ const q = U.data.result, ne = k.token_in ? q.find(
7916
7926
  (M) => M.token_address.toLowerCase() === k.token_in.toLowerCase()
7917
- ) : z.find(
7927
+ ) : q.find(
7918
7928
  (M) => M.symbol.toUpperCase() === k.token_in_symbol.toUpperCase()
7919
7929
  );
7920
7930
  ne && (k.token_in = ne.token_address, k.token_in_decimals = String(ne.decimals));
@@ -7929,9 +7939,9 @@ ${J}`);
7929
7939
  chain: h
7930
7940
  });
7931
7941
  if (U?.success && U?.data?.result) {
7932
- const z = U.data.result, ne = k.token_out ? z.find(
7942
+ const q = U.data.result, ne = k.token_out ? q.find(
7933
7943
  (M) => M.token_address.toLowerCase() === k.token_out.toLowerCase()
7934
- ) : z.find(
7944
+ ) : q.find(
7935
7945
  (M) => M.symbol.toUpperCase() === k.token_out_symbol.toUpperCase()
7936
7946
  );
7937
7947
  ne && (k.token_out = ne.token_address, k.token_out_decimals = String(ne.decimals));
@@ -7949,7 +7959,7 @@ ${J}`);
7949
7959
  try {
7950
7960
  const U = [];
7951
7961
  k.token_out && U.push(k.token_out), k.token_in && !O && U.push(k.token_in);
7952
- let z = 18, ne = 18;
7962
+ let q = 18, ne = 18;
7953
7963
  if (U.length > 0)
7954
7964
  try {
7955
7965
  const ce = await st.getTokensDetails(
@@ -7958,7 +7968,7 @@ ${J}`);
7958
7968
  );
7959
7969
  if (ce?.data)
7960
7970
  for (const xe of ce.data)
7961
- !O && xe.address.toLowerCase() === k.token_in?.toLowerCase() && (z = xe.decimals || 18), xe.address.toLowerCase() === k.token_out?.toLowerCase() && (ne = xe.decimals || 18);
7971
+ !O && xe.address.toLowerCase() === k.token_in?.toLowerCase() && (q = xe.decimals || 18), xe.address.toLowerCase() === k.token_out?.toLowerCase() && (ne = xe.decimals || 18);
7962
7972
  } catch (ce) {
7963
7973
  console.warn(
7964
7974
  "getTokensDetails failed, using default decimals:",
@@ -7975,16 +7985,16 @@ ${J}`);
7975
7985
  const xe = ce.data.result;
7976
7986
  if (O) {
7977
7987
  const Oe = xe.find(
7978
- (qe) => qe.native_token
7988
+ (Je) => Je.native_token
7979
7989
  );
7980
7990
  let Ne = Oe?.balance_formatted || "0";
7981
7991
  try {
7982
- const qe = await Jn({
7992
+ const Je = await zn({
7983
7993
  chainId: b,
7984
7994
  rpcUrl: F
7985
7995
  });
7986
- if (qe.isGreaterThan(0)) {
7987
- const dt = qe.times(1e6), Nt = new ie(
7996
+ if (Je.isGreaterThan(0)) {
7997
+ const dt = Je.times(1e6), Nt = new ie(
7988
7998
  Oe?.balance || "0"
7989
7999
  ).minus(dt);
7990
8000
  Nt.isGreaterThan(0) ? Ne = ie(
@@ -7994,13 +8004,13 @@ ${J}`);
7994
8004
  )
7995
8005
  ).toFixed() : Ne = "0";
7996
8006
  }
7997
- } catch (qe) {
8007
+ } catch (Je) {
7998
8008
  console.warn(
7999
8009
  "getGasPrice for swap native fee deduction failed:",
8000
- qe
8010
+ Je
8001
8011
  );
8002
8012
  }
8003
- k.amount = qn(
8013
+ k.amount = Jn(
8004
8014
  k.amount,
8005
8015
  Ne
8006
8016
  );
@@ -8043,7 +8053,7 @@ ${J}`);
8043
8053
  ), B(!1);
8044
8054
  return;
8045
8055
  }
8046
- k.amount = qn(
8056
+ k.amount = Jn(
8047
8057
  k.amount,
8048
8058
  Oe.balance_formatted || "0"
8049
8059
  );
@@ -8068,17 +8078,17 @@ ${J}`);
8068
8078
  } catch (ce) {
8069
8079
  console.warn("Balance check failed:", ce);
8070
8080
  }
8071
- const M = O ? Je : k.token_in;
8081
+ const M = O ? ze : k.token_in;
8072
8082
  le({
8073
8083
  srcTokenAddress: M,
8074
8084
  descTokenAddress: k.token_out,
8075
8085
  amount: k.amount,
8076
- srcTokenDecimals: z,
8086
+ srcTokenDecimals: q,
8077
8087
  descTokenDecimals: ne
8078
8088
  });
8079
8089
  const we = bt(
8080
8090
  k.amount,
8081
- z
8091
+ q
8082
8092
  ).toString(), ge = await Wn({
8083
8093
  chainId: b,
8084
8094
  tokenIn: M,
@@ -8110,7 +8120,7 @@ ${J}`);
8110
8120
  } catch (Le) {
8111
8121
  console.warn("Allowance check failed (CASE 1):", Le), tt = !0;
8112
8122
  }
8113
- const qe = ce.estimatedTransactionFee?.total ? ie(ce.estimatedTransactionFee.total) : ie(0);
8123
+ const Je = ce.estimatedTransactionFee?.total ? ie(ce.estimatedTransactionFee.total) : ie(0);
8114
8124
  let dt = ie(0);
8115
8125
  if (tt && u?.address)
8116
8126
  try {
@@ -8130,21 +8140,21 @@ ${J}`);
8130
8140
  } catch (Le) {
8131
8141
  console.warn("Approve fee estimation failed:", Le);
8132
8142
  }
8133
- const ze = qe.plus(dt), Nt = w?.nativeCurrency?.symbol || "native";
8143
+ const qe = Je.plus(dt), Nt = w?.nativeCurrency?.symbol || "native";
8134
8144
  let Kt = "", Zt = !1;
8135
- if (u?.address && ze.isGreaterThan(0))
8145
+ if (u?.address && qe.isGreaterThan(0))
8136
8146
  try {
8137
8147
  const Le = await Cn({
8138
8148
  address: u.address,
8139
8149
  chainId: b,
8140
8150
  rpcUrl: F
8141
8151
  });
8142
- if (Le.isLessThan(ze)) {
8152
+ if (Le.isLessThan(qe)) {
8143
8153
  Zt = !0;
8144
8154
  const pn = ie(
8145
8155
  Me(BigInt(Le.toFixed(0)), 18)
8146
8156
  ).decimalPlaces(6).toFormat(), mn = ie(
8147
- Me(BigInt(ze.toFixed(0)), 18)
8157
+ Me(BigInt(qe.toFixed(0)), 18)
8148
8158
  ).decimalPlaces(6).toFormat();
8149
8159
  Kt = r("swapFeeWarning", {
8150
8160
  symbol: Nt,
@@ -8217,7 +8227,7 @@ To: ${Pe} ${Oe.symbol}
8217
8227
  console.error("Swap estimation error:", U), l(a("swapEstimationFailed"), "bot");
8218
8228
  }
8219
8229
  } else if (te && de && !re) {
8220
- let U = O ? 18 : parseInt(k.token_in_decimals || "18", 10), z = parseInt(
8230
+ let U = O ? 18 : parseInt(k.token_in_decimals || "18", 10), q = parseInt(
8221
8231
  k.token_out_decimals || "18",
8222
8232
  10
8223
8233
  );
@@ -8230,7 +8240,7 @@ To: ${Pe} ${Oe.symbol}
8230
8240
  );
8231
8241
  if (M?.data)
8232
8242
  for (const we of M.data)
8233
- !O && we.address.toLowerCase() === k.token_in?.toLowerCase() && (U = we.decimals || U), we.address.toLowerCase() === k.token_out?.toLowerCase() && (z = we.decimals || z);
8243
+ !O && we.address.toLowerCase() === k.token_in?.toLowerCase() && (U = we.decimals || U), we.address.toLowerCase() === k.token_out?.toLowerCase() && (q = we.decimals || q);
8234
8244
  } catch (M) {
8235
8245
  console.warn(
8236
8246
  "getTokensDetails failed in CASE 2, using fallback decimals:",
@@ -8239,7 +8249,7 @@ To: ${Pe} ${Oe.symbol}
8239
8249
  }
8240
8250
  if (le({
8241
8251
  descTokenAddress: k.token_out,
8242
- descTokenDecimals: z
8252
+ descTokenDecimals: q
8243
8253
  }), O)
8244
8254
  try {
8245
8255
  const M = await Ke({
@@ -8252,7 +8262,7 @@ To: ${Pe} ${Oe.symbol}
8252
8262
  ), ce = w?.nativeCurrency?.symbol || "ETH";
8253
8263
  let xe = ge?.balance_formatted || "0";
8254
8264
  try {
8255
- const Pe = await Jn({
8265
+ const Pe = await zn({
8256
8266
  chainId: b,
8257
8267
  rpcUrl: F
8258
8268
  });
@@ -8274,7 +8284,7 @@ To: ${Pe} ${Oe.symbol}
8274
8284
  );
8275
8285
  }
8276
8286
  le({
8277
- srcTokenAddress: Je,
8287
+ srcTokenAddress: ze,
8278
8288
  srcTokenDecimals: U
8279
8289
  });
8280
8290
  const Ne = [25, 50, 75, 100].map((Pe) => ({
@@ -8287,7 +8297,7 @@ To: ${Pe} ${Oe.symbol}
8287
8297
  action: "select_percent",
8288
8298
  extraData: {
8289
8299
  percent: Pe,
8290
- tokenAddress: Je,
8300
+ tokenAddress: ze,
8291
8301
  tokenSymbol: ce,
8292
8302
  tokenDecimals: U,
8293
8303
  tokenBalance: xe
@@ -8372,15 +8382,15 @@ To: ${Pe} ${Oe.symbol}
8372
8382
  );
8373
8383
  if (k.token_out)
8374
8384
  try {
8375
- const z = await st.getTokensDetails(
8385
+ const q = await st.getTokensDetails(
8376
8386
  [k.token_out],
8377
8387
  x
8378
8388
  );
8379
- z?.data?.[0] && (U = z.data[0].decimals || U);
8380
- } catch (z) {
8389
+ q?.data?.[0] && (U = q.data[0].decimals || U);
8390
+ } catch (q) {
8381
8391
  console.warn(
8382
8392
  "getTokensDetails failed in CASE 3, using fallback:",
8383
- z
8393
+ q
8384
8394
  );
8385
8395
  }
8386
8396
  await Te(
@@ -8391,19 +8401,19 @@ To: ${Pe} ${Oe.symbol}
8391
8401
  let U = O ? 18 : parseInt(k.token_in_decimals || "18", 10);
8392
8402
  if (k.token_in && !O)
8393
8403
  try {
8394
- const z = await st.getTokensDetails(
8404
+ const q = await st.getTokensDetails(
8395
8405
  [k.token_in],
8396
8406
  x
8397
8407
  );
8398
- z?.data?.[0] && (U = z.data[0].decimals || U);
8399
- } catch (z) {
8408
+ q?.data?.[0] && (U = q.data[0].decimals || U);
8409
+ } catch (q) {
8400
8410
  console.warn(
8401
8411
  "getTokensDetails failed in CASE 4, using fallback:",
8402
- z
8412
+ q
8403
8413
  );
8404
8414
  }
8405
8415
  le(O ? {
8406
- srcTokenAddress: Je,
8416
+ srcTokenAddress: ze,
8407
8417
  srcTokenDecimals: 18
8408
8418
  } : {
8409
8419
  srcTokenAddress: k.token_in,
@@ -8417,9 +8427,9 @@ To: ${Pe} ${Oe.symbol}
8417
8427
  );
8418
8428
  try {
8419
8429
  B(!0);
8420
- const z = w?.tokenTrendingDefault || [], [ne, M] = await Promise.allSettled([
8430
+ const q = w?.tokenTrendingDefault || [], [ne, M] = await Promise.allSettled([
8421
8431
  st.getTopGainers(x, "24h", 5),
8422
- st.getTokensDetails(z, x)
8432
+ st.getTokensDetails(q, x)
8423
8433
  ]);
8424
8434
  let we = [];
8425
8435
  ne.status === "fulfilled" && ne.value?.data && (we = [...ne.value.data]), M.status === "fulfilled" && M.value?.data && (we = [...M.value.data, ...we]), we = we.filter(
@@ -8449,8 +8459,8 @@ To: ${Pe} ${Oe.symbol}
8449
8459
  void 0,
8450
8460
  ge
8451
8461
  );
8452
- } catch (z) {
8453
- console.error("Error fetching trending tokens for swap:", z), l(a("couldNotLoadTokenList"), "bot");
8462
+ } catch (q) {
8463
+ console.error("Error fetching trending tokens for swap:", q), l(a("couldNotLoadTokenList"), "bot");
8454
8464
  } finally {
8455
8465
  B(!1);
8456
8466
  }
@@ -8556,11 +8566,11 @@ To: ${Pe} ${Oe.symbol}
8556
8566
  });
8557
8567
  if (k?.success && k?.data?.result) {
8558
8568
  const O = k.data.result, ee = (D.parameters?.nft_name || "").toLowerCase(), te = D.parameters?.token_id || "", de = O.find((re) => {
8559
- const U = (re.normalized_metadata?.name || re.name || "").toLowerCase(), z = (re.name || "").toLowerCase(), ne = ee && (U.includes(ee) || z.includes(ee)), M = te && re.token_id === te;
8569
+ const U = (re.normalized_metadata?.name || re.name || "").toLowerCase(), q = (re.name || "").toLowerCase(), ne = ee && (U.includes(ee) || q.includes(ee)), M = te && re.token_id === te;
8560
8570
  return ee && te ? ne && M : ee ? ne : M;
8561
8571
  });
8562
8572
  if (de) {
8563
- const re = de.normalized_metadata?.name || de.name || `#${de.token_id}`, U = de.normalized_metadata?.image || de.media?.original_media_url || "", z = {
8573
+ const re = de.normalized_metadata?.name || de.name || `#${de.token_id}`, U = de.normalized_metadata?.image || de.media?.original_media_url || "", q = {
8564
8574
  contract_address: de.token_address,
8565
8575
  token_id: de.token_id,
8566
8576
  to_address: D.parameters?.to_address || "",
@@ -8580,7 +8590,7 @@ To: ${Pe} ${Oe.symbol}
8580
8590
  void 0,
8581
8591
  {
8582
8592
  action: "send_nft",
8583
- parameters: z,
8593
+ parameters: q,
8584
8594
  status: "pending",
8585
8595
  nftInfo: {
8586
8596
  name: re,
@@ -8614,12 +8624,12 @@ To: ${Pe} ${Oe.symbol}
8614
8624
  const de = ["send_token", "approve_token"].includes(D.action) && (O.contract_address || O.token_symbol), re = D.action === "send_native", U = D.action === "send_nft" && O.contract_address;
8615
8625
  if (de && u?.address)
8616
8626
  try {
8617
- const z = await Ke({
8627
+ const q = await Ke({
8618
8628
  address: u.address,
8619
8629
  chain: h
8620
8630
  });
8621
- if (z?.success && z?.data?.result) {
8622
- const ne = z.data.result, M = O.contract_address ? ne.find(
8631
+ if (q?.success && q?.data?.result) {
8632
+ const ne = q.data.result, M = O.contract_address ? ne.find(
8623
8633
  (we) => we.token_address.toLowerCase() === O.contract_address.toLowerCase()
8624
8634
  ) : ne.find(
8625
8635
  (we) => we.symbol.toUpperCase() === O.token_symbol.toUpperCase()
@@ -8640,17 +8650,17 @@ To: ${Pe} ${Oe.symbol}
8640
8650
  contractAddress: M.token_address
8641
8651
  });
8642
8652
  }
8643
- } catch (z) {
8644
- console.warn("Token enrichment failed:", z);
8653
+ } catch (q) {
8654
+ console.warn("Token enrichment failed:", q);
8645
8655
  }
8646
8656
  if (de && !ee && O.contract_address)
8647
8657
  try {
8648
- const z = await $o({
8658
+ const q = await $o({
8649
8659
  address: O.contract_address,
8650
8660
  chain: h
8651
8661
  });
8652
- if (z?.success && z?.data) {
8653
- const ne = z.data;
8662
+ if (q?.success && q?.data) {
8663
+ const ne = q.data;
8654
8664
  ee = {
8655
8665
  symbol: ne.symbol,
8656
8666
  name: ne.name,
@@ -8665,17 +8675,17 @@ To: ${Pe} ${Oe.symbol}
8665
8675
  decimals: String(ne.decimals)
8666
8676
  };
8667
8677
  }
8668
- } catch (z) {
8669
- console.warn("Token metadata fallback failed:", z);
8678
+ } catch (q) {
8679
+ console.warn("Token metadata fallback failed:", q);
8670
8680
  }
8671
8681
  if (re && u?.address)
8672
8682
  try {
8673
- const z = await Ke({
8683
+ const q = await Ke({
8674
8684
  address: u.address,
8675
8685
  chain: h
8676
8686
  });
8677
- if (z?.success && z?.data?.result) {
8678
- const M = z.data.result.find(
8687
+ if (q?.success && q?.data?.result) {
8688
+ const M = q.data.result.find(
8679
8689
  (we) => we.native_token
8680
8690
  );
8681
8691
  if (M) {
@@ -8715,11 +8725,11 @@ To: ${Pe} ${Oe.symbol}
8715
8725
  usdPrice: M.usd_price,
8716
8726
  decimals: M.decimals,
8717
8727
  logo: M.logo || M.thumbnail,
8718
- contractAddress: Je
8728
+ contractAddress: ze
8719
8729
  };
8720
8730
  } else {
8721
8731
  const we = await $o({
8722
- address: Je,
8732
+ address: ze,
8723
8733
  chain: h
8724
8734
  });
8725
8735
  if (we?.success && we?.data) {
@@ -8733,22 +8743,22 @@ To: ${Pe} ${Oe.symbol}
8733
8743
  usdPrice: ge.usd_price,
8734
8744
  decimals: ge.decimals,
8735
8745
  logo: ge.logo || ge.thumbnail,
8736
- contractAddress: Je
8746
+ contractAddress: ze
8737
8747
  };
8738
8748
  }
8739
8749
  }
8740
8750
  }
8741
- } catch (z) {
8742
- console.warn("Native token balance fetch failed:", z);
8751
+ } catch (q) {
8752
+ console.warn("Native token balance fetch failed:", q);
8743
8753
  }
8744
8754
  if (U) {
8745
8755
  try {
8746
- const z = await vm({
8756
+ const q = await vm({
8747
8757
  address: O.contract_address,
8748
8758
  chain: h
8749
8759
  });
8750
- if (z?.success && z?.data) {
8751
- const ne = z.data;
8760
+ if (q?.success && q?.data) {
8761
+ const ne = q.data;
8752
8762
  ne.contract_type && (O = {
8753
8763
  ...O,
8754
8764
  token_standard: ne.contract_type
@@ -8757,19 +8767,19 @@ To: ${Pe} ${Oe.symbol}
8757
8767
  nft_name: ne.name
8758
8768
  });
8759
8769
  }
8760
- } catch (z) {
8761
- console.warn("NFT contract metadata fetch failed:", z);
8770
+ } catch (q) {
8771
+ console.warn("NFT contract metadata fetch failed:", q);
8762
8772
  }
8763
8773
  if (u?.address)
8764
8774
  try {
8765
- const z = await kn({
8775
+ const q = await kn({
8766
8776
  address: u.address,
8767
8777
  chain: h,
8768
8778
  limit: 100,
8769
8779
  exclude_spam: !1
8770
8780
  });
8771
- if (z?.success && z?.data?.result) {
8772
- const ne = z.data.result.find(
8781
+ if (q?.success && q?.data?.result) {
8782
+ const ne = q.data.result.find(
8773
8783
  (M) => M.token_address.toLowerCase() === O.contract_address.toLowerCase() && M.token_id === O.token_id
8774
8784
  );
8775
8785
  if (ne) {
@@ -8788,17 +8798,17 @@ To: ${Pe} ${Oe.symbol}
8788
8798
  };
8789
8799
  }
8790
8800
  }
8791
- } catch (z) {
8792
- console.warn("NFT ownership lookup failed:", z);
8801
+ } catch (q) {
8802
+ console.warn("NFT ownership lookup failed:", q);
8793
8803
  }
8794
8804
  }
8795
- if (O.amount && ee?.balanceFormatted && (D.action === "send_token" || D.action === "send_native") && (O.amount = qn(
8805
+ if (O.amount && ee?.balanceFormatted && (D.action === "send_token" || D.action === "send_native") && (O.amount = Jn(
8796
8806
  O.amount,
8797
8807
  ee.balanceFormatted
8798
8808
  )), k) {
8799
- const z = D.message || "Please review and complete the form below.";
8809
+ const q = D.message || "Please review and complete the form below.";
8800
8810
  l(
8801
- z,
8811
+ q,
8802
8812
  "bot",
8803
8813
  X.id,
8804
8814
  void 0,
@@ -8881,17 +8891,17 @@ To: ${Pe} ${Oe.symbol}
8881
8891
  try {
8882
8892
  if (N(!1), v(G, "submitted"), L === "swap_token") {
8883
8893
  let Z = 18;
8884
- if (X.token_in && X.token_in !== Je)
8894
+ if (X.token_in && X.token_in !== ze)
8885
8895
  try {
8886
- const J = await st.getTokensDetails(
8896
+ const z = await st.getTokensDetails(
8887
8897
  [X.token_in],
8888
8898
  x
8889
8899
  );
8890
- J?.data?.[0] && (Z = J.data[0].decimals || 18);
8891
- } catch (J) {
8900
+ z?.data?.[0] && (Z = z.data[0].decimals || 18);
8901
+ } catch (z) {
8892
8902
  console.warn(
8893
8903
  "getTokensDetails failed in ActionForm swap, using default 18:",
8894
- J
8904
+ z
8895
8905
  );
8896
8906
  }
8897
8907
  const _ = bt(
@@ -8907,18 +8917,18 @@ To: ${Pe} ${Oe.symbol}
8907
8917
  accesstoken: "d6c45897b8f6"
8908
8918
  });
8909
8919
  if (K.success && K.data) {
8910
- const J = K.data, $ = J.tokenIn, fe = J.tokenOut, ae = ie(
8920
+ const z = K.data, $ = z.tokenIn, fe = z.tokenOut, ae = ie(
8911
8921
  Me(BigInt($.amount || 0), $.decimals)
8912
8922
  ).decimalPlaces(6).toFormat(), D = ie(
8913
8923
  Me(BigInt(fe.amount || 0), fe.decimals)
8914
- ).decimalPlaces(6).toFormat(), k = !X.token_in || X.token_in === Je;
8924
+ ).decimalPlaces(6).toFormat(), k = !X.token_in || X.token_in === ze;
8915
8925
  let O = !1;
8916
- if (!k && u?.address && J.tx?.to)
8926
+ if (!k && u?.address && z.tx?.to)
8917
8927
  try {
8918
8928
  const M = await Yn({
8919
8929
  tokenAddress: X.token_in,
8920
8930
  ownerAddress: u.address,
8921
- spenderAddress: J.tx.to,
8931
+ spenderAddress: z.tx.to,
8922
8932
  chainId: b,
8923
8933
  rpcUrl: F
8924
8934
  });
@@ -8928,13 +8938,13 @@ To: ${Pe} ${Oe.symbol}
8928
8938
  } catch (M) {
8929
8939
  console.warn("Allowance check failed in ActionForm swap:", M);
8930
8940
  }
8931
- const ee = J.estimatedTransactionFee?.total ? ie(J.estimatedTransactionFee.total) : ie(0);
8941
+ const ee = z.estimatedTransactionFee?.total ? ie(z.estimatedTransactionFee.total) : ie(0);
8932
8942
  let te = ie(0);
8933
8943
  if (O && u?.address)
8934
8944
  try {
8935
8945
  const M = Tn({
8936
8946
  tokenAddress: X.token_in,
8937
- spenderAddress: J.tx?.to || "",
8947
+ spenderAddress: z.tx?.to || "",
8938
8948
  fromAddress: u.address,
8939
8949
  chainId: b
8940
8950
  });
@@ -8949,7 +8959,7 @@ To: ${Pe} ${Oe.symbol}
8949
8959
  console.warn("Approve fee estimation failed:", M);
8950
8960
  }
8951
8961
  const de = ee.plus(te), re = w?.nativeCurrency?.symbol || "native";
8952
- let U = "", z = !1;
8962
+ let U = "", q = !1;
8953
8963
  if (u?.address && de.isGreaterThan(0))
8954
8964
  try {
8955
8965
  const M = await Cn({
@@ -8958,7 +8968,7 @@ To: ${Pe} ${Oe.symbol}
8958
8968
  rpcUrl: F
8959
8969
  });
8960
8970
  if (M.isLessThan(de)) {
8961
- z = !0;
8971
+ q = !0;
8962
8972
  const we = ie(
8963
8973
  Me(BigInt(M.toFixed(0)), 18)
8964
8974
  ).decimalPlaces(6).toFormat(), ge = ie(
@@ -8979,7 +8989,7 @@ To: ${D} ${fe.symbol}
8979
8989
 
8980
8990
  ` + U + `
8981
8991
  `;
8982
- if (z)
8992
+ if (q)
8983
8993
  v(G, "pending"), l(ne, "bot");
8984
8994
  else if (O) {
8985
8995
  const M = [
@@ -8990,9 +9000,9 @@ To: ${D} ${fe.symbol}
8990
9000
  action: "approve_for_swap",
8991
9001
  extraData: {
8992
9002
  tokenAddress: X.token_in,
8993
- spenderAddress: J.tx.to,
9003
+ spenderAddress: z.tx.to,
8994
9004
  tokenSymbol: $.symbol,
8995
- tx: J.tx
9005
+ tx: z.tx
8996
9006
  },
8997
9007
  fullWidth: !0
8998
9008
  }
@@ -9010,7 +9020,7 @@ To: ${D} ${fe.symbol}
9010
9020
  text: a("swapConfirmYes"),
9011
9021
  value: a("swapConfirmValue"),
9012
9022
  action: "confirm_swap",
9013
- extraData: { tx: J.tx }
9023
+ extraData: { tx: z.tx }
9014
9024
  }
9015
9025
  ];
9016
9026
  v(G, "success"), l(
@@ -9042,7 +9052,7 @@ To: ${D} ${fe.symbol}
9042
9052
  };
9043
9053
  if ((L === "send_token" || L === "send_native" || L === "send_nft") && u?.address)
9044
9054
  try {
9045
- const J = w?.nativeCurrency?.symbol || "native", $ = await nn({
9055
+ const z = w?.nativeCurrency?.symbol || "native", $ = await nn({
9046
9056
  from: Z.from,
9047
9057
  to: Z.to,
9048
9058
  data: Z.data,
@@ -9064,7 +9074,7 @@ To: ${D} ${fe.symbol}
9064
9074
  ).decimalPlaces(6).toFormat();
9065
9075
  v(G, "pending"), l(
9066
9076
  r("txInsufficientGas", {
9067
- symbol: J,
9077
+ symbol: z,
9068
9078
  balance: ae,
9069
9079
  fee: D
9070
9080
  }),
@@ -9073,20 +9083,20 @@ To: ${D} ${fe.symbol}
9073
9083
  return;
9074
9084
  }
9075
9085
  }
9076
- } catch (J) {
9077
- console.warn("Pre-execution fee check failed:", J);
9086
+ } catch (z) {
9087
+ console.warn("Pre-execution fee check failed:", z);
9078
9088
  }
9079
9089
  const K = Y(G);
9080
9090
  if (n) {
9081
9091
  B(!1);
9082
- const J = await n(_);
9083
- if (J.status === "success" && J.transactionHash) {
9092
+ const z = await n(_);
9093
+ if (z.status === "success" && z.transactionHash) {
9084
9094
  const $ = w?.blockExplorers?.default?.url, fe = $ ? `
9085
- [View on Explorer](${$}/tx/${J.transactionHash})` : `
9086
- Tx: ${J.transactionHash}`;
9095
+ [View on Explorer](${$}/tx/${z.transactionHash})` : `
9096
+ Tx: ${z.transactionHash}`;
9087
9097
  try {
9088
9098
  await nt(2e3), (await Gn({
9089
- transactionHash: J.transactionHash,
9099
+ transactionHash: z.transactionHash,
9090
9100
  chainId: b || 1,
9091
9101
  rpcUrl: F
9092
9102
  })).status === "success" ? (v(G, "success"), R(
@@ -9099,12 +9109,12 @@ Tx: ${J.transactionHash}`;
9099
9109
  console.warn("Transaction tracking timeout:", ae), v(G, "success"), l(a("txTimeout") + `
9100
9110
  ` + fe, "bot");
9101
9111
  }
9102
- } else if (J.status === "success")
9112
+ } else if (z.status === "success")
9103
9113
  v(G, "success");
9104
9114
  else {
9105
9115
  v(G, "pending");
9106
- const $ = J.error ? `
9107
- Error: ${J.error}` : "";
9116
+ const $ = z.error ? `
9117
+ Error: ${z.error}` : "";
9108
9118
  l(a("txFailed") + $, "bot");
9109
9119
  }
9110
9120
  } else
@@ -9374,7 +9384,7 @@ Error: ${J.error}` : "";
9374
9384
  "button",
9375
9385
  {
9376
9386
  className: "reply-preview-close",
9377
- onClick: () => q(null),
9387
+ onClick: () => J(null),
9378
9388
  "aria-label": a("cancelReply"),
9379
9389
  type: "button",
9380
9390
  children: /* @__PURE__ */ W("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ W(